DS1820及其高精度溫度測(cè)量的實(shí)現(xiàn)
1 DS1820簡(jiǎn)介
DS1820是美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的可組網(wǎng)數(shù)字式溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專(zhuān)利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。與其它溫度傳感器相比,DS1820具有以下特性:
?。?)獨(dú)特的單線接口方式,DS1820在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS1820的雙向通訊。
(2)DS1820支持多點(diǎn)組網(wǎng)功能,多個(gè)DS1820可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。
(3)DS1820在使用中不需要任何外圍元件。
(4)溫范圍-55℃~+125℃,固有測(cè)溫分辨率0.5℃。
?。?)測(cè)量結(jié)果以9位數(shù)字量方式串行傳送。
DS1820內(nèi)部結(jié)構(gòu)框圖如圖1所示。
DS1820測(cè)溫原理如圖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)行減法計(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中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。
在正常測(cè)溫情況下,DS1820的測(cè)溫分辯率為0.5℃以9位數(shù)據(jù)格式表示,其中最低有效位(LSB)由比較器進(jìn)行0.25℃比較,當(dāng)計(jì)數(shù)器1中的余值轉(zhuǎn)化成溫度后低于0.25℃時(shí),清除溫度寄存器的最低位(LSB),當(dāng)計(jì)數(shù)器1中的余值轉(zhuǎn)化成溫度后高于0.25℃,置位溫度寄存器的最低位(LSB),如-25.5℃對(duì)應(yīng)的9位數(shù)據(jù)格式如下:
2 提高DS1820測(cè)溫精度的途徑
2.1 DS1820高精度測(cè)溫的理論依據(jù)
DS1820正常使用時(shí)的測(cè)溫分辨率為0.5℃,這對(duì)于水輪發(fā)電機(jī)組軸瓦溫度監(jiān)測(cè)來(lái)講略顯不足,在對(duì)DS1820測(cè)溫原理詳細(xì)分析的基礎(chǔ)上,我們采取直接讀取DS1820內(nèi)部暫存寄存器的方法,將DS1820的測(cè)溫分辨率提高到0.1℃~0.01℃.
DS1820內(nèi)部暫存寄存器的分布如表1所示,其中第7字節(jié)存放的是當(dāng)溫度寄存器停止增值時(shí)計(jì)數(shù)器1的計(jì)數(shù)剩余值,第8字節(jié)存放的是每度所對(duì)應(yīng)的計(jì)數(shù)值,這樣,我們就可以通過(guò)下面的方法獲得高分辨率的溫度測(cè)量結(jié)果。首先用DS1820提供的讀暫存寄存器指令(BEH)讀出以0.5℃為分辨率的溫度測(cè)量結(jié)果,然后切去測(cè)量結(jié)果中的最低有效位(LSB),得到所測(cè)實(shí)際溫度整數(shù)部分T整數(shù),然后再用BEH指令讀取計(jì)數(shù)器1的計(jì)數(shù)剩余值M剩余和每度計(jì)數(shù)值M每度,考慮到DS1820測(cè)量溫度的整數(shù)部分以0.25℃、0.75℃為進(jìn)位界限的關(guān)系,實(shí)際溫度T實(shí)際可用下式計(jì)算得到:
T實(shí)際=(T整數(shù)-0.25℃)+(M每度-M剩余)/M每度
2.2 測(cè)量數(shù)據(jù)比較
表2為采用直接讀取測(cè)溫結(jié)果方法和采用計(jì)算方法得到的測(cè)溫?cái)?shù)據(jù)比較,通過(guò)比較可以看出,計(jì)算方法在DS1820測(cè)溫中不僅是可行的,也可以大大的提高DS1820的測(cè)溫分辨率。
?。?nbsp;DS1820使用中注意事項(xiàng)
DS1820雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題:
(1)較小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS1820進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用PL/M、C等高級(jí)語(yǔ)言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì)DS1820操作部分最好采用匯編語(yǔ)言實(shí)現(xiàn)。
(2)在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問(wèn)題,容易使人誤認(rèn)為可以掛任意多個(gè)DS1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS1820超過(guò)8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。
(3)連接DS1820的總線電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò)50m時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用DS1820進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問(wèn)題。
(4)在DS1820測(cè)溫程序設(shè)計(jì)中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號(hào),一旦某個(gè)DS1820接觸不好或斷線,當(dāng)程序讀該DS1820時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS1820硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。
評(píng)論