基于DS1820的單總線(xiàn)多點(diǎn)測溫技術(shù)
3.2 軟件設計
程序處理是整個(gè)系統的關(guān)鍵,簡(jiǎn)潔的硬件結構是靠復雜的軟件來(lái)支持的。多個(gè)器件掛在一條總線(xiàn)上去識別不同的器件,在程序設計過(guò)程中一般有初始化命令、傳送ROM命令、傳送RAM命令、數據交換命令4個(gè)步驟。
需要注意的是,無(wú)論是單點(diǎn)還是多點(diǎn)溫度檢測,在系統安裝及工作之前,應將主機逐個(gè)與DS182掛接,讀出其序列號。它的工作過(guò)程為:主機發(fā)出一個(gè)脈沖,待“0”電平大于480μs后,復位DA1820,在DS1820所發(fā)響應脈沖由主機接收后,主機再發(fā)讀ROM命令代碼33H,然后發(fā)一個(gè)脈沖(15μs),并接著(zhù)讀取DS1820序列號的1位。用同樣方法讀取序列號的56位。另外,由于DS1820單線(xiàn)通信功能是分時(shí)完成的,遵循嚴格的時(shí)隙概念,因此系統對DS1820和各種操作必須按協(xié)議進(jìn)行,即初始化DS182(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數據。
在正常測溫情況下,DS1820的測溫分辨率為0.5℃。這對于精度要求高的場(chǎng)合有所不足。在詳細分析DS1820測溫原理的基礎上,采取直接讀取DS1820內部暫存寄存器的方法,將DS1820的測溫分辨率提高到0.1~0.01℃。圖4為軟件設計的總流程。本文引用地址:http://dyxdggzs.com/article/162232.htm
4 結語(yǔ)
雖然DS1820具有測溫系統簡(jiǎn)單,測溫精度高,連接方便,占用口線(xiàn)少等優(yōu)點(diǎn),但在實(shí)際應用中還應注意以下幾方面的問(wèn)題:
系統硬件雖然簡(jiǎn)單,但需要相對復雜的軟件進(jìn)行補償;由于DS1820與微處理器間采用串行數據傳送,因此,在對DS1820進(jìn)行讀/寫(xiě)編程時(shí),必須嚴格地保證讀/寫(xiě)時(shí)序,否則將無(wú)法讀取測溫結果。
在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í)要加以注意。連接DS1820的總線(xiàn)電纜是有長(cháng)度限制的。由于信號電纜本身存在電阻,距離過(guò)長(cháng)時(shí)將導致信號衰減。試驗中,當采用普通信號電纜傳輸長(cháng)度超過(guò)50 m時(shí),讀取的測溫數據將發(fā)生錯誤;當總線(xiàn)電纜改為雙絞線(xiàn)帶屏蔽電纜時(shí),正常通信距離可達150 m;當采用每米絞合次數更多的雙絞線(xiàn)帶屏蔽電纜時(shí),正常通信距離能進(jìn)一步加長(cháng)。這種情況主要是由總線(xiàn)分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS1820進(jìn)行長(cháng)距離測溫系統設計時(shí)要充分考慮總線(xiàn)分布電容和阻抗匹配的問(wèn)題。
評論