溫度傳感器在火災(zāi)報(bào)警系統(tǒng)中的應(yīng)用
1.引言
1-Wire總線(xiàn)技術(shù)具有節(jié)省I/O資源、結(jié)構(gòu)簡(jiǎn)單、成本低廉,便于總線(xiàn)擴(kuò)展和方便維護(hù)等特點(diǎn)。因此在分布式測(cè)溫系統(tǒng)中有著廣泛的應(yīng)用。而美國(guó)DALLAS公司生產(chǎn)的單總線(xiàn)智能溫度傳感器DS18B20是采用1-Wire總線(xiàn)技術(shù)的典型產(chǎn)品[2]。DS18B20通過(guò)單線(xiàn)按照1-Wire協(xié)議傳送特定的命令序列并進(jìn)行數(shù)據(jù)通信。該系列產(chǎn)品有個(gè)很重要的特性就是在出廠(chǎng)前每個(gè)器件都被寫(xiě)入了唯一的64位ROM 碼即序列號(hào),最低有效字節(jié)為家族代碼。代表器件的類(lèi)型。如DS1990A的家族碼為01H,DS18B20的家族碼為28H。由于在同一條1-Wire 總線(xiàn)上可同時(shí)掛接多個(gè)相同系列或不同系列的1-Wire 器件,因此主機(jī)必須能夠決定如何正確地訪(fǎng)問(wèn)位于1-Wire 總線(xiàn)上的各個(gè)器件。64位ROM 碼中家族碼提供了器件的類(lèi)型,隨后的6 個(gè)字節(jié)是器件的唯一序列號(hào),用以區(qū)分同一個(gè)系列的不同器件。該序列號(hào)可作為1-Wire 總線(xiàn)上器件的地址。這樣1-Wire 總線(xiàn)上的所有器件連同主機(jī)就構(gòu)成了一個(gè)微型局域網(wǎng)。它們之間通過(guò)一條公共線(xiàn)來(lái)進(jìn)行通信[5]。
2.數(shù)字溫度傳感器特性與功能塊圖。
DS18B20的核心功能就是可以直接轉(zhuǎn)換成數(shù)字量。由于每一個(gè)智能溫度傳感器DS18B20有一個(gè)唯一的64位序列號(hào)。允許多個(gè)DS18B20在同一條總線(xiàn)上工作。因此可以用一個(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總線(xiàn)技術(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)寄存器允許用戶(hù)設(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總線(xiàn)技術(shù)的溫度傳感器DS18B20功能塊如圖1所示。
圖1 1-Wire技術(shù)的溫度傳感器DS18B20功能塊圖
3.數(shù)字溫度傳感器ROM命令和功能命令。
為了能夠使1-Wire總線(xiàn)技術(shù)的溫度傳感器DS18B20正常工作,需要按照一定順序執(zhí)行相關(guān)命令。首先進(jì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命令之后,如果訪(fǎng)問(wèn)想要通信的從設(shè)備DS18B20時(shí),主CPU能夠發(fā)布一個(gè)DS18B20功能命令。1-Wire總線(xiàn)技術(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ù)位脈沖終止讀操作。
4.拷貝便箋存儲(chǔ)器命令(代碼為48H)將拷貝便箋存儲(chǔ)器字節(jié)2、3、4即TH 、TL和組態(tài)寄存器內(nèi)容到EEPROM。
5.從EEPROM重新調(diào)出命令(代碼為B8H)將從EEPROM重新調(diào)出TH 、TL和組態(tài)寄存器內(nèi)容,并將數(shù)據(jù)放置到便箋存儲(chǔ)器字節(jié)2、3、4中。上電時(shí)從EEPROM重新調(diào)出命令(代碼為B8H)將會(huì)自動(dòng)執(zhí)行。
傳感器相關(guān)文章:傳感器工作原理
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
評(píng)論