版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、論文題目論文題目 基于單片機的 rs485 總線采樣節(jié)點設(shè)計與實現(xiàn) 姓姓 名名 學(xué)學(xué) 院院 東北大學(xué)東軟信息學(xué)院東北大學(xué)東軟信息學(xué)院 專專 業(yè)業(yè) 電子信息工程(嵌入式系統(tǒng)工程方向)電子信息工程(嵌入式系統(tǒng)工程方向) 指導(dǎo)教師指導(dǎo)教師 備備 注注 2011 年年 5 月月 基于單片機的 rs485 總線采樣節(jié)點設(shè)計與實現(xiàn) design and realization of the rs485 node sampling based on mcu 摘要 本論文介紹了基于 rs485 串行總線標(biāo)準(zhǔn)的溫度采集系統(tǒng)的硬件和軟件設(shè)計。溫度 數(shù)據(jù)的采集由以 at89s52 單片機為核心的系統(tǒng)完成,采集的數(shù)據(jù)
2、經(jīng) rs485 串行總線上 傳給 arm 微處理器進(jìn)行存儲和處理。系統(tǒng)的軟件包括單片機程序和計算機程序,分別 應(yīng)用 c 語言編寫。相應(yīng)的硬件和軟件抗干擾措施保證了系統(tǒng)的穩(wěn)定性和可靠性。本文 介紹了一種基于 rs-485 的單片機與 arm 之間文件傳輸?shù)膶崿F(xiàn)方案。給出了 rs-485 驅(qū)動程序的設(shè)計方法 ,詳細(xì)闡述了自定義通信協(xié)和實現(xiàn)程序。 在傳統(tǒng)模式下的溫度測量采用熱電偶或熱敏電阻,其輸出是模擬信號,必須轉(zhuǎn)換 成數(shù)字信號,然后與單片機進(jìn)行傳輸。因此,它是相當(dāng)復(fù)雜而且成本高。近年來,美 國生產(chǎn)的 ds18b20,作為一種新的單總線數(shù)字溫度傳感器被廣泛使用。在前臺實時溫 度數(shù)據(jù)采集和轉(zhuǎn)換,通過傳
3、感器 ds18b20 的數(shù)字式分為單片機發(fā)送給 led 顯示模塊。 此外,接收溫度數(shù)據(jù)通過 rs - 485 接口傳送到后端的 arm 中顯示。 關(guān)鍵詞:關(guān)鍵詞:at98s52, rs485,溫度采集,串行通信 design and realization of the rs485 node sampling based on mcu abstract the hardware and software design of the temperature acquisition system based on rs485 serial communication criterion is in
4、troduced. the acquisition of temperature data is finished by the system taking at89s52 mcu as core. collected data can be sent up to arm through rs485 serial bus, stored and processed in it. the software of this system includes mcu and arm pro-grams, programmed with c language. some corresponding so
5、ftware. and hardware anti -disturbance measures assure this systems stability and reliability. the implement of the file transfer between mcu and arm based on rs-485 are introduced in this paper. the design method of the rs-485 driver is given. the user- defined communication protocol and the progra
6、m are discussed in detail. under the traditional model of the traditional temperature measurement using thermocouples or thermistor, the output is an analog signal, must be converted into a digital signal and then transmitted with the microcontroller. therefore, it is quite complicated and costly. i
7、n recent years, u.s. production of ds18b20, as a new single-bus digital temperature sensors are widely used. real-time temperature data collection in the foreground and conversion, through the sensor into digital ds18b20 send microcontroller led display modules.in addition, the temperature data rece
8、ived through the rs - 485 interface transfer to the rear of the arm in the display. key words: at89s52,rs-485,temperature acquisition, serial communication 目錄 任務(wù)書i 摘要ii abstractiii 第 1 章緒論1 1.1國內(nèi)外現(xiàn)狀1 1.2應(yīng)用范圍1 第 2 章關(guān)鍵技術(shù)介紹2 2.1關(guān)鍵性開發(fā)技術(shù)的介紹2 2.1.1rs-485 總線介紹2 2.1.2max485 芯片原理3 2.1.3ds18b20 溫度傳感器原理3 第 3 章
9、系統(tǒng)分析4 3.1構(gòu)架概述4 3.1.1系統(tǒng)構(gòu)架4 3.1.2數(shù)據(jù)采集模塊構(gòu)架4 3.2系統(tǒng)開發(fā)環(huán)境5 3.3系統(tǒng)任務(wù)的可行性分析5 第 4 章系統(tǒng)設(shè)計7 4.1設(shè)計指導(dǎo)思想和原則7 4.1.1指導(dǎo)思想7 4.1.2硬件設(shè)計原則7 4.2系統(tǒng)概述7 4.3系統(tǒng)的功能結(jié)構(gòu)設(shè)計7 4.3.1ds18b20 接口電路7 4.3.2led 數(shù)碼管的電路設(shè)計8 4.3.3max485 串行接口電路設(shè)計9 4.3.4rs232 串口通信電路9 4.3.5主控制模塊電路設(shè)計10 4.3.6電源監(jiān)測電路11 4.4ds18b20 硬件設(shè)計11 4.5rs485 串口通信模塊設(shè)計15 第 5 章系統(tǒng)實現(xiàn)17 5
10、.1主程序流程17 5.2rs-485 串口通信主要程序17 5.3ds18b20 模塊程序設(shè)計19 5.3.1ds18b20 的工作過程19 5.3.2ds18b20 溫度傳感器主要程序20 第 6 章系統(tǒng)測試24 6.1測試方案及測試用例24 6.1.1電源監(jiān)測24 6.1.2led 檢測24 6.1.3通過 rs485 連接 arm 共同檢測24 第 7 章結(jié)論25 附錄26 參考文獻(xiàn)28 致謝29 第第 1 章章緒緒論論 本篇論文介紹將通過一個單片機系統(tǒng)作為溫度采集的一個節(jié)點,單片機系統(tǒng)內(nèi)通 過溫度傳感器 ds18b20 采集溫度,并將溫度數(shù)據(jù)顯示到 led 數(shù)碼管,同時將采集來 的數(shù)
11、據(jù)通過 rs-485 總線傳送到 arm 級進(jìn)行顯示。 用美國 dallas 公司生產(chǎn)的 ds18b20 溫度傳感器采集溫度和 a/d 轉(zhuǎn)換合為一體, 然后輸出的數(shù)字量,硬件設(shè)計電路時結(jié)構(gòu)不復(fù)雜,與單片機接口很少需要其他的元件。 廣泛運用在距離遠(yuǎn)、節(jié)點分布多的地方,可以廣泛的應(yīng)用。 因為當(dāng)今數(shù)字技術(shù)的發(fā)展和計算機的應(yīng)用非常廣泛,很多生產(chǎn)技術(shù)和工藝都需要 計算機的控制。廣泛使用的 rs-485 是因為他的傳輸距離非常遠(yuǎn)。并且通過 rs485 總線 構(gòu)成的分部數(shù)據(jù)采集與設(shè)備設(shè)計簡單,同時具有成本低,系統(tǒng)不復(fù)雜,具有能夠遠(yuǎn)距 離通訊等特點。 1.1國內(nèi)外現(xiàn)狀國內(nèi)外現(xiàn)狀 當(dāng)今世界 rs-485 串口被
12、廣泛運用于生活生產(chǎn)中。隨著 80 年代初單片機技術(shù)的成 熟而發(fā)展起來的,現(xiàn)在世界儀表市場基本被智能儀表所壟斷。究其原因就是企業(yè)信息 化的需要,企業(yè)在儀表選型時其中的一個必要條件就是要具有聯(lián)網(wǎng)通信接口。 1.2應(yīng)用范圍應(yīng)用范圍 儀器儀表:醫(yī)療器械、色譜儀、智能儀器、示波器。 工業(yè):過程控制、工業(yè)機器人、電機控制、數(shù)字控制。 民用:高級電視游戲機、電子玩具、錄像機、激光盤驅(qū)動。 導(dǎo)航與控制:導(dǎo)彈控制、魚雷制導(dǎo)控制、智能武器裝置、航天導(dǎo)航系統(tǒng)。 第第 2 章章關(guān)鍵技術(shù)介紹關(guān)鍵技術(shù)介紹 2.1關(guān)鍵性開發(fā)技術(shù)的介紹關(guān)鍵性開發(fā)技術(shù)的介紹 2.1.1rs-485 總線介紹總線介紹 rs-485 就是電氣接口
13、規(guī)范,屬于 7 層開放系統(tǒng)互連(open sysyeminterconnection,osi) 模型物理層的協(xié)議標(biāo)準(zhǔn)。他只需要在平衡驅(qū)動器和接收 器的電氣特性,不需要連接插件、輸電線路和通信協(xié)議。他支持半雙工或全雙工模式, 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)通常用終端匹配的總線型,不支持環(huán)形或星形網(wǎng)絡(luò)。由于 rs - 485 接口 是 rs 422 基礎(chǔ)發(fā)展而來的, rs 485 總線采用平衡傳輸?shù)姆绞?,需要接到傳輸線路 終端電阻等。rs - 485 接口可與四線線使用時,同時可以實現(xiàn)真正意義的兩線多點雙 向通信。而四線連接時,只能實現(xiàn)多點通信,這只能有一個主設(shè)備和多個從設(shè)備上。 無論二線四線總線連接可以收到多達(dá)
14、32 個設(shè)備。的 rs - 485 共模之間-7 至+12 v 輸出 電壓的 rs - 485 接收器最小輸入阻抗為 12k 的 rs - 485 約 1219m 的最大傳輸速率為 10mb/s 最大傳輸平衡雙絞線的傳輸速率是成反比的,在 100kb/s 速率以下的長度,它 可能使用的固定最長長度的電纜長度。只有在很短的距離,獲得最高的傳輸速率。 100m 長的雙絞線一般最高只能是 1mb / s 的傳輸速率。rs - 485 需要兩個終端電阻, 電阻值要求等于傳輸電纜的特性阻抗。在一定時間沒有終端電阻時,傳輸距離,一般 在 300m 以下的無阻力,終止電阻端接在傳輸總線的兩端。的 rs-48
15、5 通常用于平衡傳 輸和差分接收方式實現(xiàn)通信。使用兩種常用的雙絞線傳輸線路,所以一般的模式具有 很強的抗干擾能力。接收靈敏度非常高,可檢測電壓可低為 200mv,有些芯片已經(jīng)能 夠探測到的電壓低至 50mv 的(如 max485 等) 。在同一時間,最大傳輸速率,最大 傳輸距離也大大提高。rs-485 特點: 1. rs-485 電氣特性:邏輯“1”兩條線之間的電壓差為+(2-6)v 表示,邏輯“0”兩 條線之間的電壓差為 -(2-6)v 表示。接口比 rs-232 的信號水平降低,就不容易損壞 接口電路芯片,水平和 ttl 電平電路兼容,可方便地連接; 2. .rs-485 最大數(shù)據(jù)傳輸速率
16、是 10mbps; 3. rs-485 接口是由平衡差分接收器和驅(qū)動程序組合,抗干擾能力增強,即良好的 噪聲抑制性。 4. rs-485 的接口標(biāo)準(zhǔn),最大傳輸距離為 4000 米,實際上可以高達(dá) 3000 米另外他 rs-232 接口總線只允許連接一個收發(fā)器,就是單站能力。在 rs -485 接口總線可以連 接多達(dá) 128 個收發(fā)器。具有多站能力,這樣用戶可以利用單一的 rs -485 網(wǎng)絡(luò)接口的 優(yōu)勢,易于安裝設(shè)備。 2.1.2max485 芯片原理芯片原理 采用單一+5 v 電源供應(yīng)工作,額定 300a 電流,半雙工通信。它完成了 ttl 電 平的 rs - 485 功能轉(zhuǎn)換。max485
17、 芯片和引腳結(jié)構(gòu)非常簡單,包含一個內(nèi)置驅(qū)動器和 接收器。ro 端和 di 端,分別是接收器和驅(qū)動器的輸入輸出,僅與單片機可以連接到 rxd 和 txd;re 為 0 時,啟用了接收和發(fā)送端,當(dāng) de 邏輯 0 時,該設(shè)備是接收狀態(tài), 當(dāng) de 為邏輯 1,設(shè)備正在發(fā)送的狀態(tài),因為在半雙工狀態(tài) max485 的工作,所以只 使用一個腳微控制器來控制這兩個引腳,a 端跟 b 端分別接收和發(fā)送的差分輸出端, 當(dāng) b 端比 a 端高,代表發(fā)送的數(shù)據(jù)為 1;當(dāng) a 低于 b 端水平,代表發(fā)送的數(shù)據(jù)為 0。在 單片機的接線非常簡單。max485 只有一個信號控制就可以接收和發(fā)送。而在 a 和 b 之間的加
18、上匹配電阻,通??梢允?100 電阻。 2.1.3ds18b20 溫度傳感器原理溫度傳感器原理 以前的模擬信號遠(yuǎn)距離溫度測量系統(tǒng)中,必須很好解決引線誤差補償技術(shù)、多點 測量切換誤差問題和放大電路零點漂移誤差問題等技術(shù)問題,才能夠達(dá)到較高的測量 精度。另外一般監(jiān)控現(xiàn)場的電磁環(huán)境都比較嚴(yán)重,每個干擾信號都非常強,模擬溫度 信號容易受到干擾而產(chǎn)生測量誤差,影響測量精度。因此,在溫度測量系統(tǒng)中,采用 抗干擾能力強的新型數(shù)字溫度傳感器是解決這些問題的最有效方案,新型數(shù)字溫度傳 感器 ds18b20 具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu) 點,在實際應(yīng)用中取得了良好的測溫效果。 第
19、第 3 章章系統(tǒng)分析系統(tǒng)分析 3.1構(gòu)架概述構(gòu)架概述 3.1.1系統(tǒng)構(gòu)架系統(tǒng)構(gòu)架 溫度采集及顯示系統(tǒng)如圖 3.1 所示,整個系統(tǒng)由數(shù)據(jù)采集(采集溫度)模塊、rs- 485 通信、基于 arm 顯示模塊和基于 arm 溫度報警模塊所構(gòu)成。采用 rs-485 通信 方式,通過 rs-485 總線能提高通信距離,提高可靠性,抗干擾性強。本文重點研究的 是以數(shù)據(jù)采集模塊為核心的,通過 rs-485 總線傳輸?shù)脑O(shè)計。 溫度采集模塊溫度 arm顯示模塊 rs-485傳輸 圖 3.1 系統(tǒng)的功能構(gòu)架 數(shù)據(jù)采集模塊由單片機系統(tǒng)和 rs-485 傳輸設(shè)備組成,數(shù)據(jù)采集模傳輸是通過 rs- 485 傳輸設(shè)備來完成
20、信息的發(fā)送與接收,最終用數(shù)據(jù)采集模塊將數(shù)據(jù)采集后,通過 rs- 485 傳輸設(shè)備發(fā)送出去,然后 arm 的 rs-485 傳輸設(shè)備負(fù)責(zé)接收,最終在 arm 的顯 示屏上顯示出來,達(dá)到我們對數(shù)據(jù)的讀取的目的。本設(shè)計采用的是宇泰科技生產(chǎn)的 rs-485 傳輸設(shè)備。 3.1.2核心模塊構(gòu)架核心模塊構(gòu)架 根據(jù)需求調(diào)研結(jié)果確定本系統(tǒng)主要包括以下功能模塊,傳感器模塊、單片機模塊、 led 數(shù)碼管模塊、串口 rs-485 模塊,如圖 3.2 所示。微控制器 at89s52,利用 max813l 進(jìn)行電源的檢測,溫度采集部分使用的是溫度傳感器 ds18b20,這種傳感 器是獨特的是單口接線方式傳輸技術(shù),在與單
21、片機連接時只需要一條口線即可實現(xiàn)單 片機與 ds18b20 的雙向通訊,不需要其他任何的器件。傳輸通信利用 rs-485 傳輸設(shè) 備,rs485 總線為多機通信的在實際生活中有著十分重要的地位,他的其在傳輸速率、 通信速率、傳輸距離、多機連接等方面都有著非常大的改善。使用 max7219 驅(qū)動 8 位 led 數(shù)碼管顯示,經(jīng)濟(jì)高效。 溫度采集 模塊 單片機模塊 led顯示模塊 rs-485傳輸 模塊 arm顯示模塊 核心控制 圖 3.2 核心模塊構(gòu)架圖 3.2系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)環(huán)境 硬件配置:硬盤:120gb 內(nèi)存:2gb 操作系統(tǒng):windowsxp 開發(fā)工具:microsoft visu
22、al studio 2008 altium designer 6.9 keil c51 3.3系統(tǒng)任務(wù)的可行性分析系統(tǒng)任務(wù)的可行性分析 由于 rs-485 總線運用了差分電平傳輸數(shù)據(jù),所以傳輸?shù)木嚯x比 rs-232 長許多, 最長可以達(dá)到 3000 m,所以很適合在工業(yè)上得到應(yīng)用。不過與 can 總線等更為優(yōu)秀 的工業(yè)總線對比,rs-485 的修改的能力還有一定差距,因此在軟件設(shè)計的部分還行進(jìn) 步的注意,盡量避免錯誤的發(fā)生否則會很難實現(xiàn)預(yù)期目標(biāo)。另外,假如系統(tǒng)的數(shù)據(jù)比 較多需要很大的運算量,需要對其作立即反應(yīng)的應(yīng)用場所不適合用 rs-485 總線進(jìn)行傳 輸。盡管 rs-485 總線存在一些小毛
23、病,不過因為它的價格相對便宜、線路設(shè)計簡單、 易操作,只要處理好各個細(xì)小漏洞,在某些工程應(yīng)用中還是可以得到廣泛的應(yīng)用。 由 ds18b20 溫度傳感器和單片機 at89s52 組成的溫度實時檢測裝備,可以直接 傳輸溫度的數(shù)字信號。因此這樣系統(tǒng)的結(jié)構(gòu)相對容易,體積很小,方便移動。使用單 片機控制,軟件編程的自由得當(dāng),所以本次設(shè)計采用 ds18b20 傳感器測量溫度,輸 出信號的全部數(shù)字化。節(jié)省了一起的測溫時的需要很多外圍設(shè)備,電路方便單片機控 制及處理。ds18b20 的特點在于采用了單總線的數(shù)據(jù)傳輸。 1一致性 本次項目設(shè)計將會與所做項目的實現(xiàn)各項功能要求相一致。 2合理性 本項目設(shè)計所提出的
24、設(shè)計方法和標(biāo)準(zhǔn)將是合理的、恰當(dāng)?shù)摹?3可追蹤性 對項目設(shè)計所提出的各項要求將可以得到它的清晰的源流。 第第 4 章章系統(tǒng)設(shè)計系統(tǒng)設(shè)計 4.1設(shè)計指導(dǎo)思想和原則設(shè)計指導(dǎo)思想和原則 4.1.1指導(dǎo)思想指導(dǎo)思想 (1)堅持統(tǒng)一規(guī)劃、科學(xué)管理、服務(wù)應(yīng)用的指導(dǎo)方針; (2)充分利用現(xiàn)有工作基礎(chǔ)和成果,進(jìn)行改進(jìn)、提升和整合,避免重復(fù)建設(shè)。 4.1.2硬件設(shè)計原則硬件設(shè)計原則 (1)標(biāo)準(zhǔn)化和規(guī)范化原則 (2)安全性原則 (3)完備性原則 4.2系統(tǒng)概述系統(tǒng)概述 at89s52 單片機是本次設(shè)計的主要部分,獲得溫度的參數(shù)繼而轉(zhuǎn)化為十進(jìn)制和與 之相應(yīng)的 ascii 值然后在顯示在數(shù)碼管的溫度值,同時通過 rs-
25、485 總線傳到 arm 微處理器進(jìn)行下一步應(yīng)用。他的工作過程是先初始化各個器件達(dá)到合適環(huán)境進(jìn)行工作, 然后初始化 ds18b20 跟數(shù)碼管,然后讀取檢測的溫度數(shù)據(jù),同時把采集數(shù)據(jù)進(jìn)行傳送 到數(shù)碼管上進(jìn)行顯示。并且通過 rs485 總線傳送。 4.3系統(tǒng)的功能結(jié)構(gòu)設(shè)計系統(tǒng)的功能結(jié)構(gòu)設(shè)計 4.3.1ds18b20 接口電路接口電路 圖 4.1 ds18b20 接口電路 ds18b20 的是本次設(shè)計的溫度檢測部分,它使用獨特的單口傳輸模式,只需要一 個端口線可 ds18b20 的雙向通信,而不需要用其他設(shè)備,所有的傳感器和轉(zhuǎn)換電路都 是如集成電路就一個 3 極管,外部電源電壓范圍 3.05.5v
26、的范圍,從-55到+125 溫度范圍內(nèi)可編程溫度傳感器 ds18b20,它可以模擬溫度傳感器和信號處理電路的通 訊手段與單片機來完成數(shù)據(jù)收集和處理。其最大的特點是單總線數(shù)據(jù)傳輸模式中,i/o 來完成相同的數(shù)據(jù)。電源 ds18b20 的 2 種方式為:外部電源和寄生電源模式。當(dāng)寄生 供電模式,vdd 和 gnd 接地,它需要一個遠(yuǎn)程溫度探頭,而且空間小。但寄生方法 需要一個強大的上拉電源電路,軟件控制變得非常復(fù)雜,其性能這種芯片也有所下降。 因為作業(yè)前 ds18b20 的電流已經(jīng)為 1 ma 達(dá)到,所以 4.7k 上拉電阻不能單獨提供電源 工作的時候,許多 ds18b20 的只有一個 i/o 線
27、,同時對溫度的轉(zhuǎn)換,這個問題就顯得 非常的嚴(yán)重。在這種設(shè)計的考慮只是一個單點溫度測量,因此采用外部電源供電。 4.3.2led 數(shù)碼管的電路設(shè)計數(shù)碼管的電路設(shè)計 圖 4.2 max7219 驅(qū)動數(shù)碼管電路 圖 4.2 為 max7219 芯片驅(qū)動數(shù)碼管電路是一種集成化的串行輸入/輸出共陰極顯 示的驅(qū)動器,它連接微處理器與 8 位數(shù)字的 7 段數(shù)字 led 顯示。 圖 4.3 8 個 7 段數(shù)碼顯示管 圖 4.3 為 8 個數(shù)碼管顯示電路,其利用 max7219 驅(qū)動數(shù)碼管顯示,為數(shù)碼管鏈接 電路,利用 8 個三極管提供顯示的驅(qū)動電流。 4.3.3max485 串行接口電路設(shè)計串行接口電路設(shè)計
28、圖 4.4 max485 電路設(shè)計 圖 4.4 為芯片 max485 電路設(shè)計,max485 的驅(qū)動器不受任何限制,最大時可 以達(dá)到 2.5mbps 的傳輸速度。這種收發(fā)器在驅(qū)動器 是禁用的滿載或者空載的形式 下,需要的電源電流是 120a 到 500a 內(nèi)。所有元件都是工作在 5v 單電源下。 max485 實用于 rs-485 與 rs-422 通信等低功耗的收發(fā)器上。驅(qū)動器起到短路電 流限制的作用,而且可以通過關(guān)斷電路 讓他驅(qū)動器一直輸出高阻抗 的狀態(tài)。接收 器輸入具有對 失去保護(hù)特性,當(dāng)輸入 開路時,以確保邏輯高電平 的輸出。具備很 好的抗干擾的能力。 4.3.4rs232 串口通信電
29、路串口通信電路 圖 4.5 rs232 串口通信電路 圖 4.5 為串行通信電路,rs - 232 接口與 pc 機作為串行接口使用最廣泛應(yīng)用的通 信應(yīng)用,rs - 232 串行數(shù)據(jù)標(biāo)準(zhǔn)協(xié)議 020000bit/ s 的范圍之間的數(shù)據(jù)通信,傳輸速率 和現(xiàn)在的 dte 數(shù)據(jù)終端設(shè)備已經(jīng)成為計算機和數(shù)據(jù)通信設(shè)備 dce 接口標(biāo)準(zhǔn)。相關(guān)數(shù) 據(jù):控制信號:信號接通狀態(tài),比有效電平大于+3 v。斷開狀態(tài)時,信號無效的要小 于 3v,在實際應(yīng)用中應(yīng)保證在(315)v,邏輯“1”的電平低于-3v,邏輯“0” 的電平高于+3v。 4.3.5主控制模塊電路設(shè)計主控制模塊電路設(shè)計 圖 4.6 主控制電路 圖 4.
30、6 為 at89s52 單片機一種擁有 40 引腳的雙列直插式芯片,at89s52 單片機 微控制器,四個 8 位 i / o 端口(為 p0,p1,p2 和 p3)的,每個 i / o 線可以作為一個 單獨的輸入或輸出使用,是整個電路的核心部分。他的的主控制電路如圖 4.6 所示, rst 終端是單片機復(fù)位輸入端,接上電容,電阻和開關(guān)后,可形成上電復(fù)位電路。他 xtal1 xtal2 端的結(jié)束,也可用來連接帶微調(diào)外部晶振跟電容,然后是他在單片機 內(nèi)部振蕩器反相放大器是輸入,外部晶振器連接的另一端 xtal2 上,在這是芯片里振 蕩器反相放大器的輸出。 4.3.6看門狗定時電路看門狗定時電路
31、圖 4.7 電源檢測電路 圖 4.7 為本次設(shè)計的電源檢測電路,電源監(jiān)測采用的是 max813l,他是專門用來 實現(xiàn)電源電壓監(jiān)測的芯片,它不僅可以對+5v 電源電壓進(jìn)行檢測,還能對別的電源電 壓(如 12v)進(jìn)行實現(xiàn)檢測,另外它他內(nèi)部還帶有看門狗定時電路,適用于單片機的系統(tǒng)。 在這個系統(tǒng)中,在周期 1.6 秒內(nèi)單片機為 max813l 一直提供喂狗信號,每當(dāng)信號中斷, 芯片自動產(chǎn)生復(fù)位信號,使單片機復(fù)位。 4.4ds18b20 硬件設(shè)計硬件設(shè)計 一ds18b20 溫度傳感器的特性: (1) 可編程的分辨率為 9 至 12 四個位,相應(yīng)的溫度分別為的 0.5,0.25,0.125 和 0.062
32、5,能夠?qū)崿F(xiàn)高精度溫度測量; (2)獨特的單線接口,即能通過其它 i/o 口線與微機接口,也可以通過串行口線,無需 變換別的電路,直接輸出被測溫度值; (3)ds18b20 不需要備份電源,既可用外部電源供電,也可采用數(shù)據(jù)線供電; (4)溫度值會直接輸出數(shù)字溫度的信號,可以運用一個線串行傳給單片機,并且也可傳 送 crc 校驗碼,具有非常好的抗干擾的能力同時找出錯誤; (5)測量范圍是-55+125之間,固有測溫分辨率為 0.5; (6)ds18b20 溫度傳感器能夠?qū)崿F(xiàn)多個組網(wǎng),多個 ds18b20 可以共通掛在唯一的總線 上,以實現(xiàn)本地區(qū)的多點溫度; (7)ds18b20 在設(shè)計中不需要別
33、圍元件,全部的傳感元件跟轉(zhuǎn)換電路都集成到在于一只 三極管的集成電路中; (8) ds18b20 的負(fù)特點:電源極性反向,該芯片將不會因為過熱而報廢,但不能繼續(xù) 工作。 (9)警告溫度搜索的指令可以依靠識別尋址溫度在修訂的極限之外的器件; (10)適用的電壓范圍非常大,電壓范圍在 3.05.5v; (11)應(yīng)用范圍包括消費類的產(chǎn)品、工業(yè)系統(tǒng)中溫度計或任何熱敏系統(tǒng)。 二.ds18b20 溫度傳感器的內(nèi)部結(jié)構(gòu) 他的內(nèi)部結(jié)構(gòu)如圖 4.8 所示。它是用一個 64 位光刻溫度傳感器、一個 rom、非 揮發(fā)性溫度警報觸發(fā)器 tl 和 th、跟配置寄存器一起組成的。 圖 4.8 ds18b20 內(nèi)部結(jié)構(gòu)圖 引
34、腳說明:ds18b20 的 3 引腳封裝,如圖 4.9 所示。其中,gnd 為電源接地用的;dq 為數(shù)字信號輸入/輸出端;vdd 到一個外接電源輸入。 圖 4.9 ds18b20 封裝 三ds18b20 控制接口介紹 1溫度傳感器 ds18b20 通上電以后,處于空閑的狀態(tài),要啟動模板和溫度檢測,處理器準(zhǔn)備向 他輸出 convert t44h 命令,轉(zhuǎn)換后返回到空閑狀態(tài) ds18b20 的溫度數(shù)據(jù)為 16 位補 碼的形式存儲到溫度寄存器中,如表 4,1 所示。 表 4.1 溫度寄存器的格式 264 位光刻 rom 在出品前,光刻 rom 中的 64 位的序列碼就已經(jīng)被光刻好的,可以把他可以當(dāng)做
35、 這個 ds18b20 的地址序列碼。rom 中 64 位序列碼的排列分別是:前面的 8 個是產(chǎn)品 樣品的標(biāo)記,然后下來的 48 位是 ds18b20 自己的序列號,最后面的 8 個數(shù)是之前 56 位的循環(huán)的驗證碼。光刻 rom 是為了使每個 ds18b20 都不一樣,正因為這樣所以一 個總線上才可以掛多個 ds18b20 溫度傳感器。 表 4.2 中符號位表面溫度是負(fù)值或是正值,負(fù)值時 s=1,正值時 s=2,表 4.2 舉例 了數(shù)據(jù)輸出數(shù)據(jù)與對應(yīng)溫度。就以 14 位轉(zhuǎn)化為例:12 位符號擴(kuò)展的讀數(shù) 0.0625 /lsb 的表達(dá)情況,其中 s 為符號位補碼形式。如果輸出數(shù)值是 125轉(zhuǎn)化
36、07doh,- 0.5 的數(shù)字輸出是 0191h,ff6fh 是-25.0625的數(shù)字輸出,在-55為 fc9oh 數(shù)字輸 出。如下表所示 表 4.2 ds18b20 中的傳感器的溫度的測量值 3配置寄存器 配置寄存器是 r1 跟 r0 組成。這個字節(jié)的意義如表 4.3 所示,是低五位的都是 1,而 tm 是測試模式位,用于設(shè)置在測試模式或工作模式 ds18b20 的。在 ds18b20 生產(chǎn)的時候這位被默認(rèn)設(shè)置成 0,不可以用別的辦法更改這個設(shè)置。r=1 和 r=0 用來 設(shè)置分辨率。 表 4.3 配置寄存器結(jié)構(gòu) 表 4.4 溫度分辨率設(shè)置表 4非揮發(fā)的溫度報警觸發(fā)器 th 和 tl 當(dāng)完成
37、 ds18b20 的溫度變化,它將會把測得的溫度值和 tl,th(tl 和 th 的最 低和最高溫度檢查)作比較。如果 tth,那么系統(tǒng)將會允許的報警標(biāo)志位的 值,同時警告搜索主機傳輸命令作出反應(yīng)。所以,你可以使用多個 ds18b20 的在同一 時間同時檢測報警溫度的探索與搜索。如果溫度超過這個極限溫度點,報警主機可以 使用搜索命令被確認(rèn)的報警裝置。高低溫報警觸發(fā)器 tl 和 th,配置寄存器是一個字 節(jié)的 eeprom 的組合,只要記憶功能命令連接到的 tl,th,或配置寄存器的寫入。 5高速暫存存儲器 高速緩沖存儲器它是用 9 個字節(jié)組成的,功能分配如表 4.5 所示。1,2 字節(jié),包括
38、開始測量溫度的數(shù)字信息,字節(jié)是 3,4,5th 和 tl,配置寄存器的臨時任務(wù),在每一個 上電復(fù)位將重置所有;前 6 個字節(jié)不使用,整個邏輯 1 的表現(xiàn),剩余的字節(jié)數(shù)是 7、8 分 別是技術(shù)剩余值跟每度得計數(shù)值,前 9 個字節(jié)用來讀取應(yīng)所有 8 個字節(jié)的 cerc 代碼, 以便使用它以確保通信是正確的性。 表 4.5 ds18b20 暫存寄存器分布 ds18b20 的通信協(xié)議,單片機的 ds18b20 溫度傳感器的轉(zhuǎn)換,將通過三個步驟完 成,首先是要讀寫之前必須進(jìn)行復(fù)位操作后對 ds18b20 的成功發(fā)送一個復(fù)位指令,最 后送到 ram 的命令,只有這樣的溫度傳感器才能做出提前的操作。復(fù)位應(yīng)該
39、主 cpu 將數(shù)據(jù)線下拉到 500s,之后釋放當(dāng)傳感器收到信號后等到 1660s 左右時,立即 發(fā)出一個 60240s 的快速的低脈沖信號,單片機收到此信號后表示復(fù)位成功。下表 為 rom 指令表。 表 4.6 rom 指令表 4.5rs485 串口通信模塊設(shè)計串口通信模塊設(shè)計 單片機與 arm 平臺通過 rs-485 串行通信,采用 rs-485 最大的好處是它可以一 對多點總線互相連接的功能 ,它可以連接一臺主機和多臺終端同步進(jìn)行通信,由于它 是半雙工的工作模式,同時只能有一方進(jìn)行發(fā)送,一方負(fù)責(zé)接收,并且 rs-485 串口所 采用差動電平接收的方法用于提高抗干擾的能力 ,比較適合在稍惡劣
40、的環(huán)境下正常工 作,因為在一樣的電纜中受到的干擾都是差不多一樣的,所以采用差動方法就可以有 效的抵消一大部分的干擾。 由于 rs - 485 串行端口是半雙工的工作模式,因此每當(dāng)用戶當(dāng)處理和發(fā)送一起使 用物理信道的時候。在任意時刻只能將數(shù)據(jù)發(fā)送到一臺機器。因此,必須在收到應(yīng)答 機的 rs - 485 串行端口發(fā)送和接收信號,而且在其他機器時發(fā)出指令是才能答復(fù)。半 雙工的傳輸時間的接受和傳輸有著非常嚴(yán)格的要求。如果時間不匹配,那么就會有一 點于總線沖突,讓整個系統(tǒng)變得無法使用 ,停止正常的工作。如果想要讓總線上的設(shè) 備的正常工作。那么,一定需要以下幾點。 (1) 上發(fā)送獨立的傳輸控制信號的時序控
41、制信號的各種單片機連接時序要求是完全 分開的。發(fā)送和接收信號時為了確保信息的完整性和正確,以避免總線上的信號碰撞, 總線使用權(quán)必須分配,以避免競爭,連接到總線的單機,并發(fā)送控制信號完全隔離時 間??傊?,發(fā)送和接收控制信號應(yīng)該足夠?qū)?,以確保數(shù)據(jù)的完整性得到一幀數(shù)據(jù),任 何兩個獨立機器的發(fā)送信號是完全分開的,以避免總線爭端。 (2) 電路復(fù)位時,主機必須處于接收的狀態(tài) de 和 re 端相連為低電平的時候 ,從機應(yīng)該處于接收的狀態(tài) ,在接受上電復(fù)位的時候 ,因為硬件電路穩(wěn)定需要一點 時間 ,而且單片機的各個端口復(fù)位后應(yīng)該處于高電平的狀態(tài) ,因此就會使總線上每 個分機都處于發(fā)送狀態(tài) ,再加上電時各個
42、電路的不穩(wěn)定 ,就可能向總線發(fā)送信號。 所以說,假如用一條線作發(fā)送和接收的控制信號,就要把口線反向的后接到 max485 的控制端 ,這樣就可以使上電時 max485 始終處于接收狀態(tài)。 (3)在 rs-485 半雙工通信工程中,因 max485 的發(fā)送和接收都是用同一個器件完 成的,而且發(fā)送和接收使用的是同一個物理連路,要對控制信號進(jìn)行切換??刂菩盘?什么時候是高電平,什么時候是低電平 ,一般以單片機的 ti 信號作為參考。在發(fā)送 時檢測是否建立 ti,如果 ti 為高電平時關(guān)閉發(fā)送的功能變?yōu)榻邮展δ?在接收時檢測 是否建立 ri,當(dāng) ri 為高電平之后,接收結(jié)束,之后可以轉(zhuǎn)為發(fā)送。 第第
43、5 章章系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) 5.1主程序流程主程序流程 流程如圖 5.1 所示,開始工作,首先系統(tǒng)初始化各個模塊,當(dāng)系統(tǒng)接收到檢測信號, 從傳感器接收數(shù)據(jù),處理數(shù)據(jù)后輸出數(shù)據(jù),將數(shù)據(jù)從 led 數(shù)碼管上顯示,并同時將數(shù) 據(jù)發(fā)動到 rs-485 串行接口,由 rs-485 串口最后發(fā)送到上位機。 開始 rs485通信 ds18b20初始化 數(shù)據(jù)采集 led顯示 rs485通信 退出 n y y n 圖 5.1 系統(tǒng)流程圖 5.2rs-485 串口通信主要程序串口通信主要程序 rs-485 通信節(jié)點的程序大致可歸類為六個重要部分,他們分別是預(yù)定義部分、初 始部分、設(shè)備狀態(tài)檢測部分、主程序部分、幀接收
44、部分和發(fā)送部分。預(yù)定義的部分主 要是用來定義通信中使用握手信號,它用于保存本節(jié)點的設(shè)備號和設(shè)備信息的緩沖區(qū) 的變量。主程序部分可以接收命令幀,同時根據(jù)命令的內(nèi)容發(fā)出相應(yīng)的回應(yīng)。而設(shè)備 狀態(tài)檢測部分要放在程序初始化后,如果件發(fā)生故障時,再做出相應(yīng)的反應(yīng)。 開始 設(shè)置各項參數(shù) 等待接受溫度命令 是否接到溫度數(shù)據(jù) 溫度數(shù)據(jù) 數(shù)據(jù)傳送 是否接到溫度數(shù)據(jù) n y 終止 y n 圖 5.2 串口部分流程圖 為縮減不必要的篇幅,在這只給出主程序部分一些代碼。 /* rs485 通信主程序的流程*/ while(1) /主循環(huán) if(recv_cmd( switch(type) case _active_:/
45、主機問從機是否接受 send_data(_ok_, 0,dbuf);/發(fā)送應(yīng)答信息 break; case _getdata_: len = strlen(dbuf); send_data(_status_, len,dbuf);/發(fā)送狀態(tài)信息 break; default: break;/命令的類型錯誤,丟棄當(dāng)前幀然后返回 5.3ds18b20 模塊程序設(shè)計模塊程序設(shè)計 5.3.1ds18b20 的工作過程的工作過程 單片機 ds18b20 溫度傳感器在溫度轉(zhuǎn)換過程中需要三個過程,第一,初始化,然 后是 rom 操作命令的,最后是存儲器操作命令、 一.初始化 總線上的所有操作都必須先初始化,
46、第一個提出了復(fù)位信號,然后從機器的線路 信號發(fā)送,并通知主機 ds18b20 總線,然后讓他等待接受其指令。 二. rom 操作命令 在這個畢業(yè)設(shè)計中我們跳過 rom 序列號檢測命令。skip rom 命令,就是跳過 rom 操作的命令,是因為只有一個測溫芯時以節(jié)約時間;但是要是多個從機的時候不 能這樣用了,這會使總線上的數(shù)據(jù)造成沖突。所以在就有一個溫度傳感器的情況下, 在每次輸入指令之前都可以使用這個命令來節(jié)約運算時間。 三存儲器操作命令 首先,寫(4eh)命令,使用此命令寫入數(shù)據(jù)存儲第 2 至 4 個字節(jié),從第 2 個字 節(jié)(th)運行的。復(fù)位信號發(fā)出前,完成這三個字節(jié)。然后讀出(beh)
47、 ,使用這個 命令讀出寄存器內(nèi)的第一個字節(jié)的內(nèi)容,一直完成第九個字節(jié)時,如果有需要注冊的 一些內(nèi)容,那樣的話主機可以在適當(dāng)?shù)陌l(fā)送時間復(fù)位命令結(jié)束該進(jìn)程。其次是復(fù)制 (48h) ,使用這個命令來注冊的內(nèi)存溫度 2 至 4 個字節(jié)傳感器設(shè)計 eerom,當(dāng)主機 發(fā)出命令后實施溫度轉(zhuǎn)換,如果在進(jìn)程轉(zhuǎn)儲則結(jié)果為 0 如果轉(zhuǎn)儲結(jié)束,結(jié)果是 1。最后, 啟動轉(zhuǎn)換(44h)和溫度傳感器接收此命令立即啟動溫度轉(zhuǎn)換的實施,沒有其他的其他 數(shù)據(jù)。這時 ds18b20 的空閑狀態(tài)。如果溫度轉(zhuǎn)換運行時,主機將接收讀取總線 0,轉(zhuǎn) 換完畢接收到的是 1。 5.3.2ds18b20 溫度傳感器主要程序溫度傳感器主要程序
48、ds18b20 使用的關(guān)鍵是首先清楚總線的讀寫的時序。ds18b20 是單總線的雙向通 訊,他的外接電路非常簡單,可是在軟件編程上,就非常嚴(yán)格按照他的要求時序進(jìn)行 讀寫的操作。具體的操作如下:對溫度傳感器操作時,首先要把他復(fù)位。讓 dq 線拉 低 480 到 960s 之間,再將數(shù)據(jù)線拉高 15 到 60s 之間,再把 ds18b20 發(fā)出的 60 到 240s 的低電平信號作為應(yīng)答的信號,這時單片機才能對它進(jìn)行別的的操作。 圖 5.3 ds18b20 初始化時序 bit ds18b20_reset(void) unsigned char x=1; dq = 1; /dq 先置高 ds18b2
49、0_delay(15); /稍延時 dq = 0; /發(fā)送復(fù)位脈沖 ds18b20_delay(500); /延時480us dq = 1; /拉高數(shù)據(jù)線 ds18b20_delay(70);/等待 1560us x=dq; /x=0 初始化成功 x=1 失敗 ds18b20_delay(15); return x; 在溫度傳感器中,寫操作是指把數(shù)據(jù)線要從高電平拉到低電平,產(chǎn)生寫起始的信號。 從 dq 線的下降沿起開始計時,在 15s 到 60s 之間這段時間里對數(shù)據(jù)線進(jìn)行檢測, 假如數(shù)據(jù)線為高電平時就寫 1,若為低電平時就寫 0,如果完成了一個就寫周期。然后 再開始另一個寫周期前,必須在 1
50、s 以上的高電平恢復(fù)期。每個寫周期必須需要 60s 以上的持續(xù)期。 圖 5.4 ds18b20 寫時序 void ds18b20_write(unsigned char command) unsigned char i; for(i=8;i0;i-) dq=0; if(command dq=1; ds18b20_delay(20); else dq=1; ds18b20_delay(20); command=_cror_(command,1); 在溫度傳感器中,讀操作是指主機將數(shù)據(jù)線從高電平拉至低電平 1s 以上時,使數(shù)據(jù) 線升為高電平,從而產(chǎn)生讀起始的信號。從主機將數(shù)據(jù)線從高電平拉至低電平起
51、 15s 到 60s 之間,主機讀取數(shù)據(jù)。每個讀周期最短的持續(xù)期為 60s。周期之間必須有 1s 以上的高電平恢復(fù)期。 圖 5.5 ds18b20 讀時序 unsigned char ds18b20_read(void) unsigned char i; unsigned char temp; temp=0; for(i=8;i0;i-) temp=_cror_(temp,1); dq=0; _nop_(); _nop_(); dq=1; _nop_(); _nop_(); if(dq=1) temp=temp | 0 x80; else temp=temp | 0 x00; ds18b20_delay(8); return(temp); 第第 6 章章系統(tǒng)測試系統(tǒng)測試 軟件測試是一項十分復(fù)雜多樣化的工作。它在軟件的整個生存期中占據(jù)重要的位 置,對軟件可靠性保證具有極其重要的意義。下面將結(jié)合本系統(tǒng)軟件開發(fā)并配合仿真 器對系統(tǒng)進(jìn)行了如下測試。 6.1測試方案及測試用例測試方案及測試用例 6.1.1電源監(jiān)測電源監(jiān)測 方案:將電源通電,在系統(tǒng)中單片機在 1.6s 周期內(nèi)為芯片提供正脈沖,芯片輸出 信號保持高電平,整個系統(tǒng)工作正常。當(dāng)單片機在超過 1.6s 未向芯片提供脈沖信號時, 芯片內(nèi)部電路觸發(fā)復(fù)位信號,使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何拉近與客戶的關(guān)系
- 2024高中地理第六章人類與地理環(huán)境的協(xié)調(diào)發(fā)展第一節(jié)人地關(guān)系思想的演變課時演練含解析新人教版必修2
- 2024高中生物第1章人體的內(nèi)環(huán)境與穩(wěn)態(tài)第2節(jié)內(nèi)環(huán)境穩(wěn)態(tài)的重要性課堂演練含解析新人教版必修3
- 2024高考地理一輪復(fù)習(xí)第十四單元地理環(huán)境與區(qū)域發(fā)展練習(xí)含解析
- 2024高考?xì)v史一輪復(fù)習(xí)方案專題一古代中國的政治制度專題整合備考提能教學(xué)案+練習(xí)人民版
- 2024高考地理一輪復(fù)習(xí)特色篇四地理實踐力練習(xí)含解析
- 頸部骨折患者的固定與搬運考核試題
- 管網(wǎng)工程質(zhì)量管理措施
- 2024年湖北交通職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 消防安全評估質(zhì)量控制體系之歐陽道創(chuàng)編
- GB/T 45076-2024再生資源交易平臺建設(shè)規(guī)范
- 節(jié)前安全教育部署會
- 《化工安全技術(shù)》教學(xué)設(shè)計(教學(xué)教案)
- 三年級上冊三位數(shù)減法豎式計算題200道及答案
- 幕墻工程售后服務(wù)流程及保修維修措施方案
- 數(shù) 學(xué)2024-2025學(xué)年人教版七年級數(shù)學(xué)上冊有理數(shù)混合運算100題
- 安橋功放機TX-NR3010說明書
- 服裝企業(yè)員工手冊模板范文
- 《生物安全培訓(xùn)》課件-2024鮮版
- 印度尼西亞發(fā)展熱帶經(jīng)濟(jì)作物的氣候條件評價-以爪哇和蘇門答臘島為例
- 親子酒店客房設(shè)計方案及流程
評論
0/150
提交評論