摘 要:1-Wire總線技術(shù)具有節(jié)省I/O資源、結(jié)構(gòu)簡(jiǎn)單、成本低廉,便于總線擴(kuò)展和方便維護(hù)等特點(diǎn)。文章中介紹了1-Wire總線技術(shù)數(shù)字溫度傳感器的基本特性與功能塊圖,數(shù)字溫度傳感器ROM命令和功能命令。闡述了1-Wire總線技術(shù)數(shù)字溫度傳感器供電方式。利用1-Wire總線技術(shù)使用多個(gè)數(shù)字溫度傳感器,實(shí)時(shí)時(shí)鐘電路,鍵盤(pán)顯示電路,串行存儲(chǔ)器電路,RS485通信電路以及看門狗電路等,組成了火災(zāi)報(bào)警系統(tǒng)硬件系統(tǒng)。繪制了溫度采集與處理流程圖。采用多個(gè)傳感器測(cè)量不同房間內(nèi)的溫度,可以設(shè)置不同房間的報(bào)警上限值,可以實(shí)現(xiàn)多個(gè)房間對(duì)應(yīng)溫度的顯示和報(bào)警。1-Wire總線技術(shù)數(shù)字溫度傳感器已經(jīng)成功地應(yīng)用于火災(zāi)報(bào)警系統(tǒng)中。
關(guān)鍵詞:1-Wire技術(shù);溫度傳感器;火災(zāi)報(bào)警;溫度采集
1.引言
1-Wire總線技術(shù)具有節(jié)省I/O資源、結(jié)構(gòu)簡(jiǎn)單、成本低廉,便于總線擴(kuò)展和方便維護(hù)等特點(diǎn)。因此在分布式測(cè)溫系統(tǒng)中有著廣泛的應(yīng)用。而美國(guó)DALLAS公司生產(chǎn)的單總線智能溫度傳感器DS18B20是采用1-Wire總線技術(shù)的典型產(chǎn)品[2]。DS18B20通過(guò)單線按照1-Wire協(xié)議傳送特定的命令序列并進(jìn)行數(shù)據(jù)通信。該系列產(chǎn)品有個(gè)很重要的特性就是在出廠前每個(gè)器件都被寫(xiě)入了唯一的64位ROM 碼即序列號(hào),低有效字節(jié)為家族代碼。代表器件的類型。如DS1990A的家族碼為01H,DS18B20的家族碼為28H。由于在同一條1-Wire 總線上可同時(shí)掛接多個(gè)相同系列或不同系列的1-Wire 器件,因此主機(jī)必須能夠決定如何正確地訪問(wèn)位于1-Wire 總線上的各個(gè)器件。64位ROM 碼中家族碼提供了器件的類型,隨后的6 個(gè)字節(jié)是器件的唯一序列號(hào),用以區(qū)分同一個(gè)系列的不同器件。該序列號(hào)可作為1-Wire 總線上器件的地址。這樣1-Wire 總線上的器件連同主機(jī)就構(gòu)成了一個(gè)微型局域網(wǎng)。它們之間通過(guò)一條公共線來(lái)進(jìn)行通信[5].
2.數(shù)字溫度傳感器特性與功能塊圖。
DS18B20的核心功能就是可以直接轉(zhuǎn)換成數(shù)字量。由于每一個(gè)智能溫度傳感器DS18B20有一個(gè)唯一的64位序列號(hào)。允許多個(gè)DS18B20在同一條總線上工作。因此可以用一個(gè)單片機(jī)在一個(gè)大范圍內(nèi)控制多個(gè)數(shù)字溫度傳感器DS18B20,經(jīng)常用于環(huán)境溫度控制、溫度監(jiān)測(cè)系統(tǒng)以及過(guò)程監(jiān)測(cè)和控制系統(tǒng)中。1-Wire 器件64位序列號(hào)的有效字節(jié)是循環(huán)冗余校驗(yàn)CRC 碼。該值基于前面的56位數(shù)據(jù)。當(dāng)系統(tǒng)主機(jī)開(kāi)始與某個(gè)器件進(jìn)行通信時(shí),可以從低位開(kāi)始讀取8個(gè)ROM 字節(jié)即64位序列號(hào)。
1-Wire總線技術(shù)的溫度傳感器DS18B20溫度的測(cè)量范圍為 - 55℃ ~ + 125℃ 。便箋存儲(chǔ)器中包含兩個(gè)字節(jié)溫度寄存器用于存儲(chǔ)溫度傳感器的數(shù)字輸出。另外提供一個(gè)字節(jié)報(bào)警上限TH和一個(gè)字節(jié)報(bào)警下限TL寄存器。還有一個(gè)字節(jié)組態(tài)寄存器。組態(tài)寄存器允許用戶設(shè)置分辨率為9 ~ 12位。分別對(duì)應(yīng)溫度值0.5℃、0.25℃、0.125℃和0.0625℃。TH、、TL和組態(tài)寄存器可以存放在EEPROM中,因此當(dāng)系統(tǒng)掉電時(shí),TH、、TL和組態(tài)寄存器中的數(shù)據(jù)仍將保存。1-Wire總線技術(shù)的溫度傳感器DS18B20功能塊如圖1所示。
圖1 1-Wire技術(shù)的溫度傳感器DS18B20功能塊圖
3.數(shù)字溫度傳感器ROM命令和功能命令。
為了能夠使1-Wire總線技術(shù)的溫度傳感器DS18B20正常工作,需要按照一定順序執(zhí)行相關(guān)命令。首行初始化,其次執(zhí)行ROM命令,后執(zhí)行DS18B20功能命令。常用的ROM命令有5個(gè)。每個(gè)命令均為一個(gè)字節(jié)。在發(fā)送DS18B20功能命令之前,主CPU必須發(fā)布適當(dāng)?shù)腞OM命令。對(duì)ROM的五種操作命令有ROM搜索命令(代碼為F0H),ROM命令(代碼為33H),匹配ROM命令(代碼為55H),跳過(guò)ROM命令(代碼為CCH)和搜索報(bào)警命令(代碼為ECH)。
當(dāng)主CPU使用了ROM命令之后,如果訪問(wèn)想要通信的從設(shè)備DS18B20時(shí),主CPU能夠發(fā)布一個(gè)DS18B20功能命令。1-Wire總線技術(shù)的溫度傳感器DS18B20功能命令主要有5條。這些命令允許主CPU讀或?qū)慏S18B20的便箋存儲(chǔ)器,開(kāi)始溫度轉(zhuǎn)換以及決定電源的模式。DS18B20功能命令如下所述。
1.溫度轉(zhuǎn)換命令(代碼為44H)使DS18B20開(kāi)始轉(zhuǎn)換。轉(zhuǎn)換完畢的溫度數(shù)據(jù)存放在兩個(gè)字節(jié)的溫度寄存器中。
2.寫(xiě)便箋存儲(chǔ)器命令(代碼為4EH)允許主CPU 寫(xiě)3個(gè)字節(jié)數(shù)據(jù)到便箋存儲(chǔ)器中。個(gè)數(shù)據(jù)字節(jié)被寫(xiě)入到TH寄存器中,第二個(gè)數(shù)據(jù)字節(jié)被寫(xiě)入到TL寄存器中,第三個(gè)數(shù)據(jù)字節(jié)被寫(xiě)入到組態(tài)寄存器中。數(shù)據(jù)寫(xiě)入從低有效位開(kāi)始。在主CPU發(fā)出復(fù)位脈沖之前,三個(gè)字節(jié)必須被寫(xiě)完。
3.讀便箋存儲(chǔ)器命令(代碼為BEH)允許主CPU 讀出便箋存儲(chǔ)器中的內(nèi)容。數(shù)據(jù)傳輸從字節(jié)0的低有效位開(kāi)始到字節(jié)8。便箋存儲(chǔ)器中的9個(gè)字節(jié)內(nèi)容被讀出。其中字節(jié)8為CRC校驗(yàn)碼。如果只需要讀出便箋存儲(chǔ)器中的部分字節(jié),主CPU可以隨時(shí)發(fā)出復(fù)位脈沖終[溫度傳感器在火災(zāi)報(bào)警系統(tǒng)中的應(yīng)用]:摘 要:1-Wire總線技術(shù)具有節(jié)省I/O資源、結(jié)構(gòu)簡(jiǎn)單、成本低廉,便于總線擴(kuò)展和方便維護(hù)等特點(diǎn)。文章中介紹了1-Wire總線技術(shù)數(shù)字溫度傳感器的基本特性與功能塊圖,數(shù)字溫度傳感器ROM命令和功能命令...
4. 火災(zāi)報(bào)警系統(tǒng)硬件組成
火災(zāi)報(bào)警系統(tǒng)由AT89C51,實(shí)時(shí)時(shí)鐘電路DS1302,鍵盤(pán)與顯示電路,RS485通信電路,MAX813L組成的看門狗電路,串行E2PROM存儲(chǔ)器電路等組成,采用多個(gè)傳感器測(cè)量不同房間內(nèi)的溫度,可以設(shè)置不同房間的報(bào)警上限值,可以實(shí)現(xiàn)多個(gè)房間對(duì)應(yīng)溫度的顯示和報(bào)警。
火災(zāi)報(bào)警系統(tǒng)硬件組成如圖2所示。
圖2 火災(zāi)報(bào)警系統(tǒng)硬件組成圖
[$page] 5. 1-Wire總線技術(shù)數(shù)字溫度傳感器供電方式
DS18B20的電源供電有兩種。外部供電方式和寄生電源供電方式。外部供電方式如圖3所示。圖3中引腳 VDD接外部電源。而寄生電源供電方式不需要外部電源如圖4所示。工作于寄生電源供電方式時(shí),VDD和GND 均接地。在需要遠(yuǎn)程溫度檢測(cè)和空間受限制時(shí)非常有用。圖3中當(dāng)1-Wire總線為高電平時(shí),DS18B20從1-Wire總線上經(jīng)過(guò)引腳DQ“偷竊”電源,偷竊的電荷給總線供電。當(dāng)總線為低電平時(shí),存儲(chǔ)在寄生電源電容上的電荷為傳感器供電。當(dāng)DS18B20用于寄生電源供電方式時(shí),VDD必須要接地[1]。但是在寄生電源供電方式時(shí),當(dāng)DS18B20執(zhí)行溫度轉(zhuǎn)換和拷貝便箋存儲(chǔ)器內(nèi)容到EEPROM中時(shí),操作電流能夠達(dá)到1.5mA. 此電流能夠?qū)е码妷好黠@下降而使傳感器不能正常工作。為了保證DS18B20有充足的供電電流,當(dāng)進(jìn)行溫度轉(zhuǎn)換和拷貝便箋存儲(chǔ)器內(nèi)容到EEPROM中時(shí),必須要在總線上提供足夠強(qiáng)的上拉??梢杂靡粋€(gè)MOSFET管來(lái)完成對(duì)總線的上拉如圖4 所示。一般當(dāng)檢測(cè)的溫度超過(guò)100℃時(shí),建議不要使用寄生電源供電方式而要用外部供電方式。因?yàn)樵谶@樣高的溫度下,由于高的泄漏電流,DS18B20不可能保持?jǐn)?shù)據(jù)通信。因此在條件允許的情況下,盡量采用外部供電方式。
圖3 DS18B20的外部供電方式
圖4 DS18B20的寄生電源供電方式
6. 溫度采集與處理流程圖
基于AT89C51單片機(jī)設(shè)計(jì)的火災(zāi)報(bào)警系統(tǒng)采用智能溫度傳感器DS18B20,在正確讀出64位序列號(hào)之后,需要根據(jù)時(shí)序的嚴(yán)格要求,編寫(xiě)溫度讀取程序。單片機(jī)控制DS18B20的溫度轉(zhuǎn)換必須按照DS18B20的命令流程。首先執(zhí)行初始化時(shí)序,然后單片機(jī)發(fā)出跳過(guò)ROM命令(代碼為CCH),此命令針對(duì)在線DS18B20,單片機(jī)再發(fā)出啟動(dòng)轉(zhuǎn)換命令(代碼為44H),啟動(dòng)DS18B20完成溫度轉(zhuǎn)換。對(duì)于12位分辨率還需延時(shí)750ms之后。接著再執(zhí)行初始化時(shí)序,然后單片機(jī)發(fā)出匹配ROM命令(代碼為55H)并向數(shù)據(jù)線上發(fā)出64位序列號(hào),再發(fā)出讀9個(gè)字節(jié)命令(代碼為BEH),就可以讀出智能溫度傳感器DS18B20對(duì)應(yīng)序列號(hào)完成溫度轉(zhuǎn)換之后的相應(yīng)正確溫度。基于DS18B20的溫度采集與處理流程圖如圖5 所示。
圖5 基于1-Wire技術(shù)的DS18B20溫度采集與處理程序流程圖
7.結(jié)束語(yǔ)
傳統(tǒng)的測(cè)溫方法是將模擬信號(hào)傳送到采樣電路進(jìn)行A/D轉(zhuǎn)換,為了獲得較高精度,就必須解決多點(diǎn)測(cè)量切換及放大電路零點(diǎn)漂移問(wèn)題。而1-Wire總線技術(shù)數(shù)字溫度傳感器的出現(xiàn)較好地解決上述問(wèn)題。本文作者創(chuàng)新點(diǎn)是應(yīng)用1-Wire總線技術(shù),采用多個(gè)數(shù)字溫度傳感器設(shè)計(jì)了火災(zāi)報(bào)警系統(tǒng),分析了傳感器供電方式和特性,闡述了數(shù)字溫度傳感器ROM命令和功能命令?;贏T89C51設(shè)計(jì)了實(shí)時(shí)時(shí)鐘顯示電路,鍵盤(pán)顯示電路,串行存儲(chǔ)器電路,RS485通信電路,看門狗電路等,闡述了火災(zāi)報(bào)警系統(tǒng)的硬件構(gòu)成圖。設(shè)計(jì)了溫度采集的流程圖,并編寫(xiě)程序完成了溫度的正確顯示。1-Wire技術(shù)溫度傳感器DS18B20將溫度信號(hào)直接轉(zhuǎn)換成串行數(shù)字信號(hào)以供單片機(jī)處理,在單總線接口上掛接了多個(gè)傳感器,直接以一總線的數(shù)字方式傳輸現(xiàn)場(chǎng)溫度,方便地組成分布式多點(diǎn)測(cè)溫系統(tǒng)。使用1-Wire總線技術(shù)數(shù)字溫度傳感器有效地降低成本,使應(yīng)用系統(tǒng)可靠性高而且傳輸距離遠(yuǎn)。目前已經(jīng)較好地應(yīng)用于分布式測(cè)溫的火災(zāi)報(bào)警系統(tǒng)中。
參考文獻(xiàn)
[2] 于永學(xué),葛建,1-Wire總線數(shù)字溫度傳感器DS18B20及應(yīng)用 [J],電子產(chǎn)品世界,2003.12 / 下半月
[3] 谷云輝,劉亞斌,基于自動(dòng)測(cè)試系統(tǒng)的故障診斷方法研究 [J],微計(jì)算機(jī)信息,2005年第 7 期
[4] 徐維濤,郝曉弘,OCXO恒溫槽溫度控制系統(tǒng)控制方法研究 [J],微計(jì)算機(jī)信息,2006年第 3 期
[5] 運(yùn)用和理解Dallas iButtonTM 產(chǎn)品中的循環(huán)冗余校驗(yàn)(CRC)[Z],www. dalsemi. Com