溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
溫濕度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘 要本文設(shè)計(jì)了一個(gè)計(jì)算機(jī)控制的溫度、濕度實(shí)時(shí)監(jiān)測(cè)與報(bào)警系統(tǒng),可應(yīng)用于多種需要采集溫濕度數(shù)據(jù)的場(chǎng)合。數(shù)據(jù)采集器的核心部件為單片機(jī),主要完成對(duì)其所連接傳感器件的測(cè)量與控制以及與主機(jī)的通信等功能。各采集器以網(wǎng)絡(luò)結(jié)點(diǎn)的方式掛接到 RS485 傳輸網(wǎng)絡(luò)上,傳輸距離遠(yuǎn),還可有效的抑制共模干擾。設(shè)計(jì)中的 RS232/RS458 轉(zhuǎn)換器用來(lái)實(shí)現(xiàn) RS485 總線網(wǎng)絡(luò)與主機(jī) RS232 串口通信的相互轉(zhuǎn)換。本設(shè)計(jì)實(shí)現(xiàn)了溫度、濕度的實(shí)時(shí)監(jiān)測(cè)系統(tǒng),該系統(tǒng)不僅能實(shí)時(shí)采集各抽樣點(diǎn)的溫度值與濕度值,而且能夠迅速處理,并存儲(chǔ)結(jié)果以方便以后的對(duì)比研究。關(guān)鍵詞: 單總線 DS18B20 HIH3610 RS232/RS485

2、AbstractA kind of real-time monitoring system for temperature and humidity controlled by computer is introduced in this paper, which is can be used for many applications. The kernel of data collector is MCU, which takes charge of measurement, control and communication with the host controller. The R

3、S485 transmission net is made up of the data collection station, which can transmit for remote distance and restrain common mode interference. The RS232/RS485 converter is used for conversion between RS485 and RS232, which is used by the host controller. Design of the temperature and humidity of rea

4、l-time monitoring system, The system can not only real-time acquisition of the sampling point temperature and humidity values, but also dealt with expeditiously, and store the results to facilitate future comparison. Key words:1-Wire DS18B20 HIH3610 RS232/RS485I目 錄第一章 緒論11.1 引言11.2 溫濕度檢測(cè)發(fā)展方向11.3 本文主

5、要研究?jī)?nèi)容2第二章 系統(tǒng)的總體設(shè)計(jì)32.1 系統(tǒng)的總體結(jié)構(gòu)32.2 系統(tǒng)的工作過(guò)程32.3 溫度、濕度監(jiān)測(cè)的組成42.4 溫濕度測(cè)量芯片42.5 測(cè)量數(shù)據(jù)的傳輸5第三章 溫度、濕度傳感電路設(shè)計(jì)63.1 溫度傳感器電路設(shè)計(jì)63.2 濕度傳感器電路設(shè)計(jì)93.3 單總線系統(tǒng)13第四章 溫濕度數(shù)據(jù)采集電路設(shè)計(jì)154.1 AT89C52單片機(jī)154.2 數(shù)據(jù)采集器的結(jié)構(gòu)與電路設(shè)計(jì)154.3 數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)184.4 RS232/RS485 轉(zhuǎn)換器21結(jié) 論24參考文獻(xiàn)25致 謝26附 錄2730第一章 緒論1.1 引言溫度、濕度監(jiān)測(cè)在人們現(xiàn)實(shí)生活生產(chǎn)中應(yīng)用已日漸廣泛,在發(fā)電廠、紡織、食品、醫(yī)藥、

6、倉(cāng)庫(kù)、農(nóng)業(yè)大棚等眾多的應(yīng)用場(chǎng)所,對(duì)溫度、濕度參量的要求都非常嚴(yán)格,因此能否有效對(duì)這些領(lǐng)域的溫、濕度數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測(cè)和控制是一個(gè)必須解決的重要前提。在現(xiàn)代工業(yè)現(xiàn)場(chǎng),隨著科技的進(jìn)步和自動(dòng)化水平的提高,電纜的用量越來(lái)越大,電纜的安全保護(hù)已成為不可忽視的問(wèn)題。從國(guó)內(nèi)外有關(guān)電纜火災(zāi)的統(tǒng)計(jì)資料看,許多電纜火災(zāi)是由電纜頭擊穿絕緣引起的。因此為電纜配置線溫度監(jiān)測(cè)系統(tǒng), 對(duì)于電纜接頭多,電纜密集的場(chǎng)所,就顯得尤為重要。糧食是人類生存的必需品,溫度與濕度是保存好糧食的先決條件,我國(guó)的公糧現(xiàn)均集中存放在國(guó)家或地方的倉(cāng)庫(kù)中,最大糧庫(kù)方圓幾公里,倉(cāng)庫(kù)庫(kù)房數(shù)為數(shù)十個(gè),測(cè)點(diǎn)可達(dá)數(shù)千個(gè)。按照國(guó)家糧食保護(hù)法則,必須定期抽樣檢查

7、各點(diǎn)的糧食溫度與濕度,以確保糧食的存儲(chǔ)質(zhì)量。檔案館中的檔案資料同樣會(huì)受到外界空氣溫濕度變化的影響,紙張纖維熱脹冷縮,使強(qiáng)度降低,濕度過(guò)大會(huì)使霉菌和害蟲滋長(zhǎng),以致造成資料質(zhì)變。本設(shè)計(jì)以上述問(wèn)題為出發(fā)點(diǎn),設(shè)計(jì)實(shí)現(xiàn)了溫度、濕度的實(shí)時(shí)監(jiān)測(cè)系統(tǒng),該系統(tǒng)不僅能實(shí)時(shí)采集各抽樣點(diǎn)的溫度值與濕度值,而且能夠迅速處理,將數(shù)據(jù)結(jié)果方便的顯示給用戶,并存儲(chǔ)結(jié)果以方便以后的對(duì)比研究。1.2 溫濕度檢測(cè)發(fā)展方向溫度傳感器的種類很多,測(cè)溫范圍也很寬,高可以測(cè)量高達(dá)幾千度,低也可以測(cè)量接近絕對(duì)零度,但在測(cè)量精度、穩(wěn)定性、抗干擾等方面仍存在很多問(wèn)題。如鉑電阻溫度計(jì),雖然其測(cè)量范圍寬,精度高但抗震動(dòng)能力差;熱敏電阻溫度計(jì)靈敏度高

8、、體積小、響應(yīng)速度快但穩(wěn)定性較差;熱電偶溫度傳感器缺點(diǎn)是靈敏度低;因此進(jìn)一步改進(jìn)敏感元件的制作工藝及結(jié)構(gòu),充分利用微處理技術(shù)發(fā)展數(shù)字化、集成化和自動(dòng)化的溫度傳感器,同時(shí)探索新的敏感機(jī)理,尋求新型溫度敏感元件也是溫度傳感器的發(fā)展方向之一。濕敏傳感器在工業(yè)、農(nóng)業(yè)、氣象、醫(yī)療以及日常生活等方面都得到了廣泛的應(yīng)用,特別是隨著科學(xué)技術(shù)的發(fā)展,對(duì)于濕度的檢測(cè)和控制越來(lái)越受到人們的重視并進(jìn)行了大量的研制工作。通常,理想的濕敏傳感器的特性要求是:適合于在寬溫、濕范圍內(nèi)使用,測(cè)量精度要高;使用壽命長(zhǎng),穩(wěn)定性好;響應(yīng)速度快,濕滯回差小,重現(xiàn)性好;靈敏度高,線性好,溫度系數(shù)?。恢圃旃に嚭?jiǎn)單,易于批量生產(chǎn);轉(zhuǎn)換電路簡(jiǎn)

9、單,成本低;抗腐蝕,耐低溫和高溫6特性等回。濕敏傳感器正從簡(jiǎn)單的濕敏元件向集成化、智能化、多參數(shù)檢測(cè)的方向迅速發(fā)展,為開(kāi)發(fā)新一代濕度測(cè)控系統(tǒng)創(chuàng)造了有利條件,也將濕度測(cè)量技術(shù)提高到新的水平。1.3 本文主要研究?jī)?nèi)容 本論文的研究對(duì)象是計(jì)算機(jī)控制的溫度、濕度實(shí)時(shí)監(jiān)測(cè)與報(bào)警系統(tǒng)的軟硬件設(shè)計(jì),它可應(yīng)用于多種需要采集溫濕度數(shù)據(jù)的場(chǎng)合。系統(tǒng)的技術(shù)指標(biāo):1)一臺(tái)主機(jī)可最多管理 32 臺(tái)數(shù)據(jù)采集器,若增設(shè)中繼器,可使系統(tǒng)擴(kuò)展大于 32臺(tái)采集器;2)各溫濕度測(cè)試點(diǎn)與其所屬采集器的最遠(yuǎn)距離不超過(guò) 150 米;3)溫度測(cè)量:(1)測(cè)量范圍:-55 +125 ;(2)測(cè)量精度:0.5(-10 +85 ); 2.0(-

10、55 +125 );(3)分辨率: 0.1;4)濕度測(cè)量:(1)測(cè)量范圍:199RH;(2)測(cè)量精度:5RH(25);第二章 系統(tǒng)的總體設(shè)計(jì)2.1 系統(tǒng)的總體結(jié)構(gòu) 如圖 2.1 所示,整個(gè)監(jiān)測(cè)系統(tǒng)從結(jié)構(gòu)上分為三層:第一層是由工控機(jī)等組成的用戶監(jiān)測(cè)層作為上位機(jī);第二層是由單片機(jī) AT89C52 構(gòu)成溫濕度采集器作為下位機(jī);最底層是由 DS18B20 構(gòu)成的溫度傳感器結(jié)點(diǎn)和 DS2438 與 HIH3610 構(gòu)成的濕度傳感器結(jié)點(diǎn)。其中溫度結(jié)點(diǎn)和濕度結(jié)點(diǎn)均為滿足 1-Wire 通信規(guī)則。上位機(jī)與下位機(jī)之間的通信為總線結(jié)構(gòu)的 RS485 通信網(wǎng),下位機(jī)與數(shù)字化結(jié)點(diǎn)之間的通信由 1-Wire 網(wǎng)絡(luò)完成。

11、 圖2.1系統(tǒng)組成結(jié)構(gòu)圖2.2 系統(tǒng)的工作過(guò)程系統(tǒng)中每臺(tái)采集器都有一個(gè)唯一且固定的地址編碼。由于系統(tǒng)的主機(jī)與下位機(jī)之間采用半雙工的 RS485 通信標(biāo)準(zhǔn),所以主機(jī)采用問(wèn)答式的通信方式,通過(guò)不同的地址編碼逐一同下層的采集器通信。采集器統(tǒng)一管理的命令包括:采集器搜索底層傳感器的 64 位 ROM 序列碼,采集器啟動(dòng)溫度傳感器和濕度傳感器的數(shù)據(jù)轉(zhuǎn)換,采集器上傳采集到的溫濕度數(shù)據(jù),主機(jī)與各采集器之間的通信通道校驗(yàn)等。當(dāng)采集回來(lái)的溫濕度值超過(guò)其對(duì)應(yīng)測(cè)試點(diǎn)的報(bào)警上下限時(shí),系統(tǒng)給出報(bào)警信號(hào)。2.3 溫度、濕度監(jiān)測(cè)的組成該系統(tǒng)的構(gòu)成大體上可以分為三部分:一是溫濕度參數(shù)的測(cè)量轉(zhuǎn)換,二是測(cè)量數(shù)據(jù)的傳輸,三是數(shù)據(jù)的

12、處理。其系統(tǒng)框圖如圖 2.2 所示。圖2.2 系統(tǒng)組成原理圖2.4 溫濕度測(cè)量芯片該部分是系統(tǒng)的主要環(huán)節(jié),由原理圖中溫濕度采集模塊來(lái)完成數(shù)據(jù)的獲取與處理,在系統(tǒng)中將各溫濕度采集模塊稱為數(shù)據(jù)采集器。溫度傳感器的種類很多,根據(jù)其輸出方式及接口方式的不同,大體可以分為模擬溫度傳感器和數(shù)字溫度傳感器。模擬溫度傳感器輸出的模擬信號(hào),必須經(jīng)過(guò)專門的接口電路轉(zhuǎn)換成數(shù)字信號(hào)后才能由微處理器進(jìn)行處理。數(shù)字溫度傳感器輸出的數(shù)字信號(hào),一般只需少量外部元器件就可直接送至微處理器進(jìn)行處理。美國(guó)Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持單總線接口的溫度傳感器。單總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可

13、輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。新一代的 DS18B20 體積更小、更經(jīng)濟(jì)、更靈活,而且由于芯片送出的溫度信號(hào)是數(shù)字信號(hào),因此省去了外部 A/D 轉(zhuǎn)換,簡(jiǎn)化了硬件電路。濕度測(cè)量方法也是多種多樣,但是與溫度相比,它是比較難于測(cè)量的。其主要原因是,由于空氣中所含的水蒸氣相對(duì)空氣來(lái)說(shuō)是微量的,而且水蒸氣對(duì)各種物質(zhì)的影響也是錯(cuò)綜復(fù)雜的。一直以來(lái)被廣泛使用的濕度傳感器從原理上主要分為吸附型和非吸附型,水分子吸附在物體表面和滲入物體內(nèi)部后,直接影響物體的電氣物理性能,利用這一特性可以制成多種吸附型濕度傳感器。近年來(lái),國(guó)內(nèi)外在濕度傳感器研發(fā)領(lǐng)域取得了長(zhǎng)足進(jìn)步。濕度傳感器正從簡(jiǎn)單的濕敏元件

14、向集成化、智能化、多參數(shù)檢測(cè)的方向迅速發(fā)展,為開(kāi)發(fā)新一代濕度、溫度監(jiān)測(cè)系統(tǒng)創(chuàng)造了有利條件,也將濕度測(cè)量技術(shù)提高到新的水平。其中由 Honeywell 公司開(kāi)發(fā)生產(chǎn)的線性電壓輸出式集成濕度傳感器,其典型產(chǎn)品有 HIH3605/3610、HM1500/1520,主要特點(diǎn)是采用恒壓供電,內(nèi)置放大電路,能輸出與相對(duì)濕度呈比例關(guān)系的伏特級(jí)電壓信號(hào),響應(yīng)速度快,重復(fù)性好,抗污染能力強(qiáng)。2.5 測(cè)量數(shù)據(jù)的傳輸各數(shù)據(jù)采集器在得到溫濕度數(shù)據(jù)后,加以簡(jiǎn)單處理,然后將其傳送給主機(jī),這之間的數(shù)據(jù)可靠傳送是該系統(tǒng)中另一個(gè)要解決的關(guān)鍵問(wèn)題。由于各個(gè)數(shù)據(jù)采集器距離主機(jī)比較遠(yuǎn),一般要上百米,因此數(shù)據(jù)傳輸實(shí)際是一個(gè)遠(yuǎn)程通信系統(tǒng)

15、。數(shù)據(jù)在上傳過(guò)程中往往易受干擾,干擾源主要有三個(gè)方面:一是現(xiàn)場(chǎng)用電設(shè)備產(chǎn)生的電磁干擾;二是電源線具有的 50Hz 工頻干擾;三是各采集器之間的公共接地阻抗產(chǎn)生的干擾。將 RS232 轉(zhuǎn)換成進(jìn)行多點(diǎn)通信的 RS485 方式被應(yīng)用到該系統(tǒng)中。RS485 具有帶負(fù)載能力強(qiáng),傳輸距離遠(yuǎn)(可達(dá) 1200 米),功耗小,傳輸速率高(最高可達(dá) 1Mbps)等特點(diǎn)。第三章 溫度、濕度傳感電路設(shè)計(jì)該系統(tǒng)的特點(diǎn)之一是測(cè)量溫濕度數(shù)據(jù)的傳感器均采用 Dallas 公司的單總線器件,單總線器件的數(shù)據(jù)傳輸嚴(yán)格遵守單總線協(xié)議。本章首先介紹由單總線溫度傳感器DS18B20 組成的溫度采集結(jié)點(diǎn),然后設(shè)計(jì)與實(shí)現(xiàn)了由單總線 A/D

16、 轉(zhuǎn)換器 DS2438 與濕度傳感器HIH3610 構(gòu)成的濕度采集結(jié)點(diǎn),該濕度采集結(jié)點(diǎn)同樣遵守單總線協(xié)議。最后介紹了單總線系統(tǒng)。3.1 溫度傳感器電路設(shè)計(jì)系統(tǒng)中溫度測(cè)試點(diǎn)的數(shù)據(jù)采集DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測(cè)量及控制儀器、測(cè)控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn)。 3.1.1 DS18B20功能特點(diǎn)(1)獨(dú)特的單線接口方式,只需一個(gè)接口引腳即可通信;(2)每一個(gè) DS18B20 都有一個(gè)唯一的 64 位 ROM 序列碼;(3)在使用中不需要任何外圍元件;(4)可用數(shù)據(jù)線供電,電壓范圍:

17、+3.0V+5.5 V;(5)測(cè)溫范圍:-55 +125 ,在-10+85范圍內(nèi)精度為0.5,分辨率 0.0625。等效的華氏溫度范圍是-67F+257F;(6)通過(guò)編程可實(shí)現(xiàn) 912 位的數(shù)字讀數(shù)方式。溫度轉(zhuǎn)換成 12 位數(shù)字信號(hào)所需時(shí)間最長(zhǎng)為 750ms,而在 9 位分辯模式工作時(shí)僅需 93.75ms;(7)用戶可自設(shè)定非易失性的報(bào)警上下限值;(8)告警搜索命令可識(shí)別和定位那些超過(guò)報(bào)警限值的 DS18B20;(9)支持多點(diǎn)組網(wǎng)功能,多個(gè) DS18B20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。(10)電源極性接反時(shí),DS18B20 不會(huì)因發(fā)熱而燒毀,但不能正常工作。3.1.2 DS18B20

18、內(nèi)部結(jié)構(gòu)DS18B20 采用 3 引腳 TO92 小體積封裝,其內(nèi)部結(jié)構(gòu)和管腳排列如圖3-1 所示,主要由 4 部分組成:64 位 ROM 序列碼、溫度傳感器、非易失性的溫度報(bào)警觸發(fā)器 TH 和 TL、配置寄存器。圖3.1(a)DS18B20的內(nèi)部結(jié)構(gòu)圖3.1(b)DS18B20的管腳排列 3.1.3 DS18B20工作原理 根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然

19、后釋放,當(dāng)DS18B20收到信號(hào)后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。 當(dāng) DS18B20 接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值以 16 位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第 0,1 字節(jié)。主機(jī)可通過(guò)單線接口讀到該數(shù)據(jù)。DS18B20測(cè)溫原理如圖3.2所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)

20、行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖2.2中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。圖3.2 DS18B20測(cè)溫原理圖3.1.4 DS18B20供電方式外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡(jiǎn)單,可以開(kāi)發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。這種方法的優(yōu)點(diǎn)是在 DQ 線上不要求強(qiáng)的上拉,總線上主機(jī)不需要連接其它的

21、外圍器件便在溫度變換期間使總線保持高電平,這樣也允許在變換期間其它數(shù)據(jù)在單總線上傳送。圖3.3 外部電源工作方式此外,在單總線上可以并聯(lián)多個(gè) DS18B20,而且如果它們?nèi)坎捎猛獠侩娫垂ぷ鞣绞剑敲赐ㄟ^(guò)發(fā)出相應(yīng)的命令便可以同時(shí)完成溫度變換。如圖3.4所示。圖3.4 外部供電方式的多點(diǎn)測(cè)溫電路圖3.2 濕度傳感器電路設(shè)計(jì)3.2.1濕度傳感器HIH3610功能簡(jiǎn)介該系統(tǒng)的濕度檢測(cè)采用了美國(guó) Honeywell 公司生產(chǎn)的相對(duì)濕度傳感器 HIH3610。HIH3610 的管腳排列如圖3.5所示,三管腳的外部結(jié)構(gòu)使得其應(yīng)用起來(lái)非常方便。其線性的電壓輸出可使器件直接與控制器或其它器件相連,驅(qū)動(dòng)電流小使

22、它適合于電池供電,用DS2438檢測(cè)電池的電量和濕度的AD轉(zhuǎn)換。圖3.5 HIH3610 的管腳排列3.2.2智能電池監(jiān)視器 DS2438DS2438是為了解決便攜式電子產(chǎn)品電池工作狀態(tài)的實(shí)時(shí)監(jiān)測(cè)而推出的,并且可以測(cè)量環(huán)境溫度,實(shí)現(xiàn)電源電壓的校正及環(huán)境溫度補(bǔ)償。采用 SOIC 表面貼裝封裝形式,其外形及引腳排列如圖3.6所示。圖3.6 DS2438 的外形及管腳排列圖DS2438主要由單總線接口、電壓 A/D 轉(zhuǎn)換器、電流 A/D轉(zhuǎn)換器、溫度傳感器、時(shí)鐘電路、40 字節(jié)的 EEPROM 及與上述硬件相關(guān)的寄存器組成。其中的電壓 A/D 轉(zhuǎn)換器的輸入,可編程為由 VDD 電源端輸入或 VAD 輸

23、入端輸入,以滿足VDD 電源端及外部輸入模擬量 VAD 的測(cè)量要求。DS2438 的存儲(chǔ)空間分為8頁(yè),頁(yè)地址為 0007H,每頁(yè) 8 個(gè)字節(jié),共 64 個(gè)字節(jié),每一頁(yè)都有對(duì)應(yīng)的高速暫存頁(yè),因此存儲(chǔ)器包括 RAM 高速暫存器和 SRAM/EEPROM兩部分,這兩部分是鏡像關(guān)系。高速暫存器可確保在用單總線通訊時(shí)數(shù)據(jù)能夠保持一致性,主機(jī)對(duì) DS2438 進(jìn)行數(shù)據(jù)讀/寫時(shí)只能對(duì)高速暫存器進(jìn)行操作。存儲(chǔ)空間內(nèi)包括一些特殊功能寄存器和用戶可使用的存儲(chǔ)單元。(1)DS2438與傳感器接口本設(shè)計(jì)中利用DS2438來(lái)同時(shí)完成對(duì)環(huán)境溫度的測(cè)量、單總線電源電壓的測(cè)量及濕度傳感器輸出電壓值的測(cè)量。由圖3.9可知,電源

24、電路由VD1、VD2及電容C1構(gòu)成。在總線空閑時(shí)為DS2438和HIH3610供電。DS2438的5腳VDD端的電位即是HIH3610的電源電壓。通過(guò)編程DS2438內(nèi)部的狀態(tài)/結(jié)構(gòu)寄存器的“AD”位,使二通道電壓A/D轉(zhuǎn)換器的輸入選擇為VDD端,可完成HIH3610電源電壓測(cè)量功能。通過(guò)編程狀態(tài)/結(jié)構(gòu)寄存器的“AD”位,使二通道電壓A/D轉(zhuǎn)換器的輸入選擇為VAD端,即HIH3610的濕度電壓值輸出端可完成濕度值測(cè)量功能,環(huán)境溫度的測(cè)量可由DS2438內(nèi)部的溫度傳感器完成,因此,使用1片DS2438即可完成濕度值的A/D轉(zhuǎn)換,環(huán)境溫度的測(cè)量和電池電壓的測(cè)量工作。(2)電池電壓、溫度的測(cè)量及剩余

25、電量的監(jiān)測(cè)由于DS2438內(nèi)部有A/D轉(zhuǎn)換器和數(shù)字溫度傳感器,要獲得電池的電壓、溫度只需要由單片機(jī)對(duì)DS2438發(fā)出采集電壓、溫度的控制命令,然后等待其采集完畢并自動(dòng)將電壓、溫度測(cè)量值存入相對(duì)應(yīng)的寄存器后,再由單片機(jī)讀取寄存器的內(nèi)容即可。在讀取寄存器值時(shí),若單片機(jī)與DS2438之間的數(shù)據(jù)線為低電平,則表明DS2438正在進(jìn)行電壓、溫度轉(zhuǎn)換,此時(shí)不能讀取數(shù)據(jù),只有當(dāng)數(shù)據(jù)線為高電平時(shí),才能正確的讀取數(shù)據(jù)。電池的剩余電量可用電流積分累加(ICA)寄存器的值求得。ICA寄存器的值是由DS2438定時(shí)自動(dòng)測(cè)量電池電流后更改的,無(wú)需對(duì)其進(jìn)行控制,只需單片機(jī)讀出ICA寄存器的值,然后將讀出的值代入公式(3-

26、1),便可得到電池的剩余電量。 剩余電量=ICA/(2048RSENS) 其中RSENS的單位為 。 (3-1)(3)DS2438功能的軟件實(shí)現(xiàn)為了滿足監(jiān)測(cè)的實(shí)時(shí)性,本系統(tǒng)單片機(jī)采用定時(shí)中斷的方式訪問(wèn)DS2438,進(jìn)行電池參數(shù)采集。中斷服務(wù)程序流程如圖3.7所示。圖3.7 中斷服務(wù)程序流程圖首先設(shè)置單片機(jī)的計(jì)數(shù)器為定時(shí)方式,開(kāi)啟計(jì)數(shù)器,定時(shí)長(zhǎng)短可隨需要靈活設(shè)定。然后單片機(jī)運(yùn)行其它程序,等待定時(shí)中斷的到來(lái)。定時(shí)中斷發(fā)生之后進(jìn)入中斷服務(wù)程序,調(diào)用DS2438的控制操作程序,進(jìn)行數(shù)據(jù)采集,并將采集來(lái)的數(shù)據(jù)進(jìn)行處理,最后重新初始化定時(shí)中斷,返回。DS2438與單片機(jī)進(jìn)行數(shù)據(jù)通訊時(shí)僅用一根數(shù)據(jù)線,因此必

27、須嚴(yán)格按照芯片的讀寫時(shí)序要求來(lái)編寫程序,這樣才能保證數(shù)據(jù)的正確讀寫。(4)濕度數(shù)據(jù)的溫度補(bǔ)償如圖 3.9所示,由 HIH3610 輸出的線性模擬電壓信號(hào)作為 DS2438 電壓 A/D 轉(zhuǎn)換的輸入信號(hào),通過(guò)對(duì) DS2438 發(fā)送電壓轉(zhuǎn)換命令,該模擬電壓信號(hào)對(duì)應(yīng)的數(shù)字信息便存儲(chǔ)在 DS2438 的電壓寄存器中,主機(jī)再發(fā)送讀暫存存儲(chǔ)器命令即可以從單總線上將數(shù)字電壓信息讀回。器件 HIH3610 的電壓輸出對(duì)應(yīng)濕度的通用關(guān)系為:Vout=Vsupply0.0062(sensorRH)+0.16 (3-2)其中:Vout是從 DS2438 DQ 端測(cè)得的電壓值,Vsupply是實(shí)測(cè)供電電壓值,sens

28、orRH 是環(huán)境溫度在 25時(shí)的相對(duì)濕度。相對(duì)濕度圖3.8 HIH3610 輸出電壓與相對(duì)濕度的關(guān)系曲線如圖3.8,HIH3610 輸出電壓與相對(duì)濕度的關(guān)系曲線所示,HIH3610 測(cè)量的濕度值還與環(huán)境溫度有關(guān),故應(yīng)進(jìn)行溫度補(bǔ)償,溫度補(bǔ)償關(guān)系為:RH=(sensorRH)/(1.0546-0.00216T) (3-3)其中:RH 為經(jīng)過(guò)溫度補(bǔ)償?shù)臐穸戎?,T 為實(shí)際環(huán)境溫度值(攝氏度)。因此為獲得準(zhǔn)確的濕度測(cè)量值,還應(yīng)在濕度測(cè)量的同時(shí)測(cè)量環(huán)境溫度和供電電壓值。3.2.3單總線數(shù)字濕度傳感器外圍電路設(shè)計(jì)由于系統(tǒng)中采用的 HIH3610 濕度傳感器,其輸出量仍然是模擬電壓量,因此在本系統(tǒng)的設(shè)計(jì)過(guò)程中

29、為了實(shí)現(xiàn)全數(shù)字化的單總線網(wǎng)絡(luò),使用 DALLAS 公司單總線器件 DS2438配合 HIH3610 設(shè)計(jì)一種單總線濕度傳感器,使之可以直接掛接到單總線上。掛在單總線上的器件必須滿足以下幾方面的要求:低功耗:?jiǎn)慰偩€網(wǎng)絡(luò)中的器件一般是從總線上竊取電源,不用本地電源供電,因此要求單總線器件必須滿足低功耗的特性。具有唯一的身份碼:?jiǎn)慰偩€是通過(guò)身份碼來(lái)識(shí)別掛在同一總線上的不同器件的,因此要求每個(gè)單總線器件均具有全球唯一的 64 位 ROM 識(shí)別碼。必須滿足單總線器件的時(shí)序要求。Dallas 公司生產(chǎn)的 DS2438 滿足上述要求。利用 DS2438 的 A/D 轉(zhuǎn)換功能,設(shè)計(jì)出的單總線數(shù)字濕度傳感器的原

30、理圖如圖3.9所示。圖3.9 單總線濕度傳感器原理圖由 HIH3610 輸出的線性模擬電壓信號(hào)作為 DS2438 電壓 A/D 轉(zhuǎn)換的輸入信號(hào),通過(guò)對(duì) DS2438 發(fā)送電壓轉(zhuǎn)換命令,該模擬電壓信號(hào)對(duì)應(yīng)的數(shù)字信息便存儲(chǔ)在 DS2438 的電壓寄存器中,主機(jī)再發(fā)送讀暫存存儲(chǔ)器命令即可以從單總線上將數(shù)字電壓信息讀回。實(shí)際應(yīng)用過(guò)程中在 HIH3610 的VOUT 和 DS2438 的 VAD 之間加一個(gè)運(yùn)算放大器 LM358,該芯片在這里起電壓跟隨的作用。3.3 單總線系統(tǒng)單總線(1-wire)技術(shù)是近年來(lái)由美國(guó) Dallas 半導(dǎo)體公司研發(fā)的一種總線技術(shù)。與 SPI、I2C 等多種標(biāo)準(zhǔn)串行數(shù)據(jù)通信

31、方式不同,它采用單根信號(hào)線傳輸時(shí)鐘和數(shù)據(jù),以其具有的節(jié)約 I/O 資源、結(jié)構(gòu)簡(jiǎn)單、成本低廉、便于總線擴(kuò)展和維護(hù)等優(yōu)點(diǎn)越來(lái)越多的被廣泛應(yīng)用于民用電器、工業(yè)控制領(lǐng)域。單總線適用于單個(gè)主機(jī)(master)控制一個(gè)或多個(gè)從機(jī)(slave)設(shè)備的系統(tǒng)。當(dāng)只有一個(gè)從機(jī)設(shè)備時(shí),系統(tǒng)可按單節(jié)點(diǎn)系統(tǒng)操作,當(dāng)有多個(gè)從機(jī)設(shè)備時(shí),系統(tǒng)可按多節(jié)點(diǎn)系統(tǒng)操作。其中主機(jī)可以是微控制器,從機(jī)為單總線器件。在 Dallas 的產(chǎn)品中,這類單總線器件有溫度傳感器 、一線存儲(chǔ)器、A/D 轉(zhuǎn)換器、可尋址開(kāi)關(guān)等。與其它如并行、串行及專用總線相比,單總線突出的特點(diǎn)是主機(jī)控制器件的地址線、數(shù)據(jù)線和控制線合成為一條信號(hào)線與從機(jī)設(shè)備進(jìn)行雙向的數(shù)

32、據(jù)交換。所以在有多路多個(gè)測(cè)控對(duì)象時(shí),系統(tǒng)的布線簡(jiǎn)單、方便。但是較小的硬件開(kāi)銷需要相對(duì)復(fù)雜的軟件設(shè)計(jì)進(jìn)行補(bǔ)償。本數(shù)據(jù)采集系統(tǒng)即為單總線系統(tǒng),系統(tǒng)中的主機(jī)為單片機(jī),從機(jī)為單總線器件。3.3.1單總線協(xié)議經(jīng)過(guò)單線接口訪問(wèn)單總線器件有嚴(yán)格的單總線命令序列如下:1)初始化2)ROM 操作命令3)存儲(chǔ)器操作命令(功能命令)4)數(shù)據(jù)傳輸每次訪問(wèn)單總線器件,都必須嚴(yán)格遵守這個(gè)命令序列。如果出現(xiàn)序列混亂,則單總線器件不會(huì)響應(yīng)主機(jī)。初始化:基于單總線的所有傳輸過(guò)程都是以初始化開(kāi)始的,初始化過(guò)程由主機(jī)發(fā)出的復(fù)位脈沖和從機(jī)響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機(jī)知道總線上有從機(jī)設(shè)備且準(zhǔn)備就緒。ROM 命令:當(dāng)主機(jī)檢測(cè)到應(yīng)答

33、脈沖后,就可以發(fā)出 ROM 命令。這些命令與各個(gè)從機(jī)設(shè)備的唯一 64 位 ROM 序列碼相關(guān),當(dāng)單總線上連接多個(gè)從機(jī)設(shè)備時(shí),允許主機(jī)指定操作某個(gè)從機(jī)設(shè)備。這些命令還使得主機(jī)可以檢測(cè)到總線上有多少個(gè)從機(jī)設(shè)備及其設(shè)備類型,或者有沒(méi)有設(shè)備處于報(bào)警狀態(tài)。從機(jī)設(shè)備可能支持五種 ROM 命令(實(shí)際情況與單總線器件型號(hào)有關(guān)),每種命令長(zhǎng)度為 8 位,主機(jī)在發(fā)出功能命令之前,必須送出合適的ROM 命令。存儲(chǔ)器操作命令(功能命令):通過(guò) ROM 操作命令使得總線主機(jī)與總線上某些或某一從機(jī)設(shè)備確定了通信關(guān)系之后,主機(jī)發(fā)出的命令可以驅(qū)動(dòng)從機(jī)設(shè)備進(jìn)行相應(yīng)的動(dòng)作,當(dāng)需要進(jìn)行數(shù)據(jù)的傳輸時(shí),從機(jī)設(shè)備會(huì)把主機(jī)要求的信息以串行

34、傳輸?shù)姆绞剿偷絾慰偩€上。所有的單總線器件要求采用嚴(yán)格的通信協(xié)議來(lái)確保數(shù)據(jù)的完整性。其協(xié)議中規(guī)定的信號(hào)類別有:復(fù)位脈沖,應(yīng)答脈沖、寫 0、寫 1、讀 0 和讀 1。所有這些信號(hào),除了應(yīng)答脈沖之外,均由總線主機(jī)產(chǎn)生。并且發(fā)送所有的命令和數(shù)據(jù)都是字節(jié)的低位在前。該系統(tǒng)中,使用晶振為 11.0592MHz。第四章 溫濕度數(shù)據(jù)采集電路設(shè)計(jì)本章首先介紹了溫濕度數(shù)據(jù)采集器的硬件結(jié)構(gòu)與程序設(shè)計(jì)流程,然后描述了RS232/RS485 轉(zhuǎn)換電路的硬件設(shè)計(jì)與軟件設(shè)計(jì)。4.1 AT89C52單片機(jī)系統(tǒng)控制電路部分采用AT89C52完成,AT89C52是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),內(nèi)含8k

35、 bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器和256 bytes 的隨機(jī)存儲(chǔ)數(shù)據(jù)存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品兼容,片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。AT89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash閃速存儲(chǔ)器,256字節(jié)內(nèi)部RAM,32個(gè)I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)6向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C52可進(jìn)行靜態(tài)邏輯操作,并支持兩種軟件??蛇x的節(jié)電工作模式。4.2 數(shù)據(jù)采集器的結(jié)構(gòu)與電路設(shè)計(jì)本系統(tǒng)

36、中,溫濕度數(shù)據(jù)采集器主要完成以下的工作:接收上位機(jī)通過(guò) RS485總線下傳的命令,這些命令包括:通信通道校驗(yàn)命令,搜索底層單總線傳感器件序列碼命令,啟動(dòng)傳感器進(jìn)行溫、濕度數(shù)據(jù)轉(zhuǎn)換命令,上傳數(shù)據(jù)命令。所有的命令都需要采集器返回應(yīng)答信號(hào),以表明采集器的工作狀態(tài)。采集器把上位機(jī)下傳的命令通過(guò)單總線下傳給溫、濕度傳感器,然后通過(guò)單總線接收傳感器的溫、濕度數(shù)據(jù)。采集器結(jié)構(gòu)框圖如圖 4.1 所示。圖 4.1 數(shù)據(jù)采集系統(tǒng)框圖由圖4.1 可以看出,數(shù)據(jù)采集器以單片機(jī)為核心,外圍主要包括以下幾個(gè)單元電路:?jiǎn)慰偩€接口電路;采集器地址選擇開(kāi)關(guān)電路;光隔離的 RS485 總線接口電路;單總線器件地址存儲(chǔ)電路。下面分

37、別介紹上述每個(gè)單元電路的功能及特點(diǎn)。4.2.1單總線接口電路根據(jù)單總線標(biāo)準(zhǔn),單總線的作用距離一般可達(dá) 200 米,并允許掛接上百個(gè)單總線器件。本系統(tǒng)設(shè)計(jì)為每條單總線最多可接入 4 個(gè)單總線器件。圖4.2二極管鉗位電路數(shù)據(jù)采集器中單片機(jī) AT89C52 P0 口的 8 條口線均作為單總線接口,這樣每個(gè)采集器可接入 4832 個(gè)單總線器件,為了防止傳感器在現(xiàn)場(chǎng)受到干擾脈沖,連接到 P0 口的每條單總線均有二極管鉗位。4.2.2采集器地址選擇開(kāi)關(guān)電路圖4.3 采集器地址選擇開(kāi)關(guān)電路本系統(tǒng)中可接入多個(gè)數(shù)據(jù)采集器,為了保證主機(jī)能夠分別與各個(gè)采集器進(jìn)行通信,必須為每個(gè)采集器設(shè)置一個(gè)地址,而且每個(gè)采集器的地

38、址編碼在系統(tǒng)中都是唯一的。這個(gè)地址是通過(guò)采集器中 AT89C52 的 P2 口接入地址碼開(kāi)關(guān)設(shè)置的,采集器初始化時(shí)會(huì)讀入該地址并保存在 RAM 中。地址選擇開(kāi)關(guān)電路如圖 4.2 所示,其中給 P2 口外接的上拉電阻 R11 為 810 K。4.2.3 RS485 總線接口電路各個(gè)采集器能夠連接到 RS485 總線網(wǎng)絡(luò)上的前提是采集器上 RS485 總線接口電路的實(shí)現(xiàn)。該數(shù)據(jù)采集系統(tǒng)中使用的 RS485 總線驅(qū)動(dòng)芯片為 SN75176。圖4.4 RS485 總線接口電路SN75176 與主單片機(jī) AT89C52 的連接如圖 4.4 所示。其中,AT89C52 的串口輸出與SN75176 的發(fā)送輸

39、入端相連,它的串口輸入與 SN75176 的接收輸出端相連。AT89C52 的寫控制信號(hào)與 SN75176 的發(fā)送使能端相連,低電平有效時(shí)完成發(fā)送數(shù)據(jù),此時(shí)需要軟件實(shí)現(xiàn)將 AT89C52 的寫控制信號(hào)線拉至低電平。將 SN75176 的接收使能端直接接地,表示主單片機(jī) AT89C52 始終處在可接收數(shù)據(jù)的狀態(tài)。系統(tǒng)中考慮到來(lái)自 RS485 平衡傳輸線上的有效信號(hào)中有可能引入雷擊、感應(yīng)電等干擾信號(hào),在 AT89C52 和 SN75176 之間采用了高速光偶 6N136。4.2.4單總線器件地址存儲(chǔ)電路在單總線系統(tǒng)中,若想要對(duì)單總線器件實(shí)現(xiàn)存儲(chǔ)器類操作并獲得單總線器件的有效數(shù)據(jù),前提是先要將該器件

40、的 64 位 ROM 放到總線上,然后在單總線網(wǎng)絡(luò)的主機(jī)和從屬器件之間形成一對(duì)一的關(guān)系,該從屬器件在之后的時(shí)段里便可獨(dú)自占用該總線,直到主機(jī)發(fā)送下一個(gè)脈沖到總線上。在該數(shù)據(jù)采集系統(tǒng)中,由于每個(gè)采集器上掛接了多個(gè)單總線器件,在對(duì)它們進(jìn)行存儲(chǔ)器類操作時(shí),若每一次都先進(jìn)行 ROM 搜索再將其依次放到單總線上,則會(huì)大大增加系統(tǒng)運(yùn)行的時(shí)間開(kāi)銷。因此在該系統(tǒng)的開(kāi)發(fā)過(guò)程中,考慮在每個(gè)采集器上擴(kuò)展了一片 I2C總線的串行EEPROM AT24C04(容量為 512Byte),用于儲(chǔ)存 DS18B20 和 DS2438 的 64 位 ROM地址碼。這就是單總線器件地址存儲(chǔ)電路。主單片機(jī) AT89C52 在每一次

41、上電復(fù)位或者得到整個(gè)系統(tǒng)的主機(jī)發(fā)送的搜索地址的命令時(shí),AT89C52 對(duì) P0 的每個(gè)口按照搜索地址CRC 校驗(yàn)、地址存儲(chǔ)的順序依次可將連接到該采集器上所有單總線器件的 64 位 ROM 地址碼存儲(chǔ)到 AT24C04 中,這樣即使掉電也不會(huì)造成地址數(shù)據(jù)的丟失。系統(tǒng)中規(guī)定 P0 口的每根口線上最多連接 4 個(gè)單總線器件時(shí),每臺(tái)采集器外圍的 AT24C04 內(nèi)部存儲(chǔ)器被占用 328256 個(gè)字節(jié)的空間。當(dāng) AT89C52 需要訪問(wèn) P0 口上的單總線器件時(shí),便不必每次都進(jìn)行器件地址的搜索,而是直接從 AT24C04 的內(nèi)部存儲(chǔ)器調(diào)回地址信息,從而節(jié)省了大量時(shí)間。4.3 數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)4.3

42、.1數(shù)據(jù)采集系統(tǒng)中對(duì)單總線器件的訪問(wèn)數(shù)據(jù)采集系統(tǒng)的主程序流程圖4.5所示,數(shù)據(jù)采集器的主單片機(jī) AT89C52 對(duì)連接到該采集器上的單總線器件涉及到的訪問(wèn)方式有 64 位 ROM 序列碼的搜索和采集溫濕度數(shù)據(jù)。其中主單片機(jī)對(duì)單總線器件 DS18B20 和 DS2438 進(jìn)行 64位 ROM 序列碼的搜索。系統(tǒng)中實(shí)現(xiàn)序列碼搜索的子程序名為 GET_ADDR,每一次數(shù)據(jù)采集器上電復(fù)位或者主機(jī)發(fā)送進(jìn)行序列碼搜索的命令包時(shí),主單片機(jī)調(diào)用該子程序。該流程圖實(shí)現(xiàn)的是對(duì)某一口線上連接單總線器件的序列碼搜索操作,主要可以分為三部分:搜索得到該口線所連接所有器件的序列碼,并依次存儲(chǔ)到單片機(jī) 60H7FH存儲(chǔ)單元

43、,每個(gè)器件的序列碼占 8 個(gè)字節(jié);然后依次對(duì)該存儲(chǔ)區(qū)域內(nèi) 60H 單元開(kāi)始每 8個(gè)字節(jié)進(jìn)行 CRC 校驗(yàn),校驗(yàn)正確的直接進(jìn)入下一組 8 字節(jié)序列碼的校驗(yàn),否則將這 8 個(gè)字節(jié)的首單元數(shù)據(jù)置為 00H;4 個(gè)器件的序列碼全部校驗(yàn)完之后,將這 32 個(gè)字節(jié)的數(shù)據(jù)存儲(chǔ)到 AT24C04 中為該口線分配的空間。GET_ADDR 子程序中為每一口線都實(shí)現(xiàn)了以上三部分操作。主單片機(jī)獲得某一口線所連接單總線器件的溫度、濕度數(shù)據(jù),其中在采集溫度數(shù)據(jù)的子程序中發(fā)送快速搜索命令字節(jié)(CCH)的目的是要求所有連接到該口線的單總線器件均響應(yīng)接下來(lái)的存儲(chǔ)器操作類命令溫度轉(zhuǎn)換(44H)。當(dāng)要讀回某溫度傳感器的數(shù)據(jù)時(shí),在發(fā)

44、送完匹配 ROM 命令之后,需要把該器件的 64 位序列碼放到該口線上,之后該溫度傳感器獲得與主單片機(jī)進(jìn)行通信的權(quán)利,在主單片機(jī)發(fā)送完讀 RAM 命令之后,該傳感器即把 9 個(gè)字節(jié)的數(shù)據(jù)按照低位字節(jié)在前、低位比特在前的次序依次串行傳送給主單片機(jī)。同樣的操作也體現(xiàn)在采集濕度數(shù)據(jù)的子程序中,此外在濕度采集中主單片機(jī)發(fā)送的存儲(chǔ)器類操作命令都是雙字節(jié)命令,其中第二個(gè)字節(jié)是對(duì) DS2438 哪一頁(yè)存儲(chǔ)器進(jìn)行定位。由兩個(gè)子程序的流程圖可以看出,采集濕度數(shù)據(jù)的過(guò)程更復(fù)雜一些,主要原因是作為濕度單總線器件的訪問(wèn)對(duì)象 DS2438 自身具有較多的功能,硬件上比單一作用的溫度傳感器 DS18B20要復(fù)雜的多,想要

45、通過(guò)單總線來(lái)有效的訪問(wèn) DS2438,必須增加軟件上的開(kāi)銷。主單片機(jī)為單總線器件傳送回來(lái)的溫濕度數(shù)據(jù)保留的存儲(chǔ)空間為 80HFFH,共 128個(gè)存儲(chǔ)單元,其中為每一個(gè)傳感器分配 4 個(gè)字節(jié)的存儲(chǔ)空間。主單片機(jī)讀回溫度數(shù)據(jù)時(shí)對(duì)每一個(gè) DS18B20 的 9 字節(jié)數(shù)據(jù)先暫存在 30H38H 單元,校驗(yàn)正確之后,將其中的第0,1 字節(jié)的溫度數(shù)據(jù)存儲(chǔ)到為其分配 4 字節(jié)空間的后兩個(gè)字節(jié),將其中的第 2,3 字節(jié)的編號(hào)信息存儲(chǔ)到 4 字節(jié)空間的前兩個(gè)字節(jié)。單片機(jī)讀回濕度數(shù)據(jù)時(shí),對(duì)每一個(gè) DS2438的第 0 頁(yè)數(shù)據(jù)及其 CRC 校驗(yàn)共 9 個(gè)字節(jié)的信息先暫存到 40H48H 單元,校驗(yàn)正確后,再讀該 D

46、S2438 的第 7 頁(yè)的第 0 個(gè)字節(jié),即該 DS2438 的編號(hào)信息并將其存儲(chǔ)到 47H 單元,然后將 40H48H 中的第 3,4 字節(jié)表示濕度的數(shù)字電壓值存儲(chǔ)到為其分配 4 字節(jié)空間的后兩個(gè)字節(jié),并在 4 字節(jié)空間的第 1 個(gè)字節(jié)直接寫 80H,把 47H 單元的編號(hào)信息存儲(chǔ)到第 2 個(gè)字節(jié)。圖4.5主程序流程圖4.4 RS232/RS485 轉(zhuǎn)換器RS232 作為美國(guó)電子工業(yè)協(xié)會(huì)(EIA)正式公布的一種串行總線標(biāo)準(zhǔn),用來(lái)實(shí)現(xiàn)計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的數(shù)據(jù)通訊,在異步串行通信中得到了廣泛的應(yīng)用。但是該標(biāo)準(zhǔn)規(guī)定驅(qū)動(dòng)器允許有 2500pF 的電容負(fù)載,通信距離將受此電容的限制,另外

47、RS232 屬于單端信號(hào)傳送,存在共地噪聲和不能抑制的共模干擾。因此 RS232 在通訊中所暴露的缺點(diǎn)為傳輸距離短,其最大的傳輸距離為 15 米。本系統(tǒng)中實(shí)現(xiàn)對(duì)各數(shù)據(jù)采集器進(jìn)行統(tǒng)一管理與處理的主機(jī),只有兩個(gè) RS232 串行接口,即 COM1 和 COM2,要實(shí)現(xiàn)主機(jī)與各個(gè)采集器構(gòu)成的 RS485 總線網(wǎng)絡(luò)的正常通信,需要一個(gè)性能可靠的 RS232 至 RS485 轉(zhuǎn)換接口。這里面需要兩組全雙工串口,W77E58可以實(shí)現(xiàn)改功能。4.4.1 W77E58簡(jiǎn)介W77E58是與 MCS51 系列單片機(jī)兼容的可多次編程的快速微處理器,在它內(nèi)部集成有 32K 的可重復(fù)編程的 FLASH ROM、256

48、字節(jié)的片內(nèi)存儲(chǔ)器、1K 的用 MOVX 指令訪問(wèn)的 SRAM、可編程的看門狗定時(shí)器、3 個(gè) 16 位定時(shí)器、2 個(gè)增強(qiáng)型的全雙工串行口、片內(nèi) RC 振蕩器、雙 16 位數(shù)據(jù)指針等諸多功能。和 80C52 相比,W77E58 除了具有與 80C52 相同的全雙工串口外,又增加了一個(gè)全雙工串口,其外部引腳 RXD1、TXD1 和 P1.2、P1.3 復(fù)用。這兩個(gè)串口除了具有同原有80C52 的串口相同的功能外,還增加了兩個(gè)增強(qiáng)型的特點(diǎn),即多機(jī)通信自動(dòng)地址識(shí)別和自動(dòng)幀錯(cuò)誤檢測(cè)功能。W77E58 新增加的功能都是用普通 80C52 所保留的特殊功能寄存器實(shí)現(xiàn)的,不與普通 80C52 的資源產(chǎn)生任何沖突

49、,因此 W77E58 可以直接用在已設(shè)計(jì)好的 80C52 系統(tǒng)中,而為原有系統(tǒng)編寫的程序幾乎不作任何改動(dòng),系統(tǒng)就可正常工作。W77E58 的封裝也完全兼容于 80C52,它所增加的與硬件有關(guān)的功能都是復(fù)用 80C52 的 P1 口,并且 W77E58的 PLCC/QFP 封裝比普通的 8051 多一組 4 位的 I/O 口。4.4.2 RS232/RS485轉(zhuǎn)換器的實(shí)現(xiàn)RS232/RS485 轉(zhuǎn)換器的結(jié)構(gòu)框圖如圖4.6所示。由圖 4.6 可以看出,RS232/RS485 轉(zhuǎn)換器由單片機(jī) W77E58、與 RS485 總線網(wǎng)絡(luò)的通信接口電路以及與 RS232 串口標(biāo)準(zhǔn)的通信接口電路三部分組成。單

50、片機(jī) W77E58 主要完成信息的接收與發(fā)送(包括來(lái)自主機(jī)的控制信息和采集器的數(shù)據(jù)信息),利用W77E58的兩個(gè)增強(qiáng)型全雙工串口使其充當(dāng)了一個(gè)信息中轉(zhuǎn)站的角色。圖4.6 RS232/RS485轉(zhuǎn)換電路結(jié)構(gòu)框圖W77E58 的串口 0 與主機(jī)的 RS232 串口進(jìn)行通信,中間由 ICL232 完成 TTL 電平和RS232 電平的轉(zhuǎn)換。W77E58 串口 0 的發(fā)送端與主機(jī) RS232 串口的接受端相連,它的接受端與主機(jī) RS232 串口的發(fā)送端相連。程序流程如圖4.7所示。圖4.7 W77E58主程序流程圖W77E58 的串口 1 與由各個(gè)數(shù)據(jù)采集器構(gòu)成的 RS485 總線網(wǎng)絡(luò)進(jìn)行通信,這里使

51、用的 RS485 總線驅(qū)動(dòng)芯片仍然是 SN75176,考慮到來(lái)自 RS485 平衡傳輸線上的有效信號(hào)中有可能引入雷擊、感應(yīng)電等干擾信號(hào),在 W77E58 和 SN75176 之間采用了高速光偶 6N136。單片機(jī) W77E58 以中斷的方式(通過(guò)中斷處理程序?qū)崿F(xiàn))接收來(lái)自主機(jī)和各個(gè)采集器的數(shù)據(jù)信息,發(fā)送數(shù)據(jù)部分以非中斷方式而被包含在主程序段中。串口 0 的中斷處理程序,接收來(lái)自主機(jī)的數(shù)據(jù)信息,串口 1 的中斷處理程序,接收來(lái)自 RS485 總線上(各個(gè)采集器)的數(shù)據(jù)信息。主程序段實(shí)現(xiàn)的功能是將串口0接收到的數(shù)據(jù)經(jīng)串口1發(fā)送出去,將串口1接收到的數(shù)據(jù)經(jīng)串口0發(fā)送出去。程序中為了實(shí)現(xiàn)該操作,為串口

52、0和串口1分別分配了一個(gè)循環(huán)型的存儲(chǔ)區(qū)域(40H4FH)和(50H5FH),每個(gè)存儲(chǔ)區(qū)域設(shè)定兩個(gè)指針POIN0(POIN1)和TIME0(TIME1),其中一個(gè)指針(POIN0、POIN1)用來(lái)記錄當(dāng)前接收到的字節(jié)在存儲(chǔ)區(qū)域內(nèi)的地址,另外一個(gè)指針(TIME0、TIME1)用來(lái)記錄當(dāng)前發(fā)送出去的字節(jié)在存儲(chǔ)區(qū)域內(nèi)的地址。初始化時(shí)每個(gè)串口包含的這兩個(gè)指針是重合的。在中斷處理程序中每接收到一個(gè)字節(jié)時(shí),對(duì)應(yīng)串口的指針POIN0或POIN1增加1。在主程序段中,通過(guò)比較TIME0(TIME1)和POIN0(POIN1)兩指針是否重合來(lái)判定循環(huán)存儲(chǔ)區(qū)域內(nèi)的有效數(shù)據(jù)的發(fā)送。如果兩指針未能重合則表示仍然存在未發(fā)

53、送的數(shù)據(jù),這時(shí)發(fā)送一個(gè)字節(jié)數(shù)據(jù)的同時(shí)將指針TIME0、TIME1增加1,然后進(jìn)入下一次的判定,直到把所有未發(fā)送出去的有效數(shù)據(jù)發(fā)送完畢為止,此時(shí)兩指針又一次重合在一起。結(jié) 論本文從理論設(shè)計(jì)和實(shí)際制作出發(fā),對(duì)溫度、濕度監(jiān)測(cè)與報(bào)警系統(tǒng)展開(kāi)分析和研究。在傳統(tǒng)的溫度、濕度監(jiān)測(cè)與報(bào)警系統(tǒng)的基礎(chǔ)上,從兩個(gè)方面入手加以改進(jìn),設(shè)計(jì)出計(jì)算機(jī)控制的溫度、濕度監(jiān)測(cè)系統(tǒng)。(1)單總線數(shù)字化器件構(gòu)成的傳感器網(wǎng)絡(luò)系統(tǒng)中采用新型的單總線數(shù)字溫度傳感器 DS18B20,利用原有的模擬濕度傳感器HIH3610 和單總線器件 DS2438 設(shè)計(jì)并實(shí)現(xiàn)的單總線數(shù)字濕度傳感器,避免了模擬傳感器帶來(lái)的共地干擾和線路干擾問(wèn)題。(2)各數(shù)據(jù)采集模塊構(gòu)成的 RS485 現(xiàn)場(chǎng)總線網(wǎng)絡(luò)系統(tǒng)中采用 RS485 現(xiàn)場(chǎng)總線將各采集器采集到的溫濕度數(shù)據(jù)傳送回主機(jī),并對(duì)傳輸數(shù)據(jù)進(jìn)行 CRC64 校驗(yàn),是數(shù)據(jù)在得以遠(yuǎn)距離傳輸?shù)耐瑫r(shí),保持了較強(qiáng)的抗干擾性。隨著

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論