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