摘要:闡述了通過(guò)單總線(xiàn)測溫元件DS1820來(lái)實(shí)現多點(diǎn)測溫的技術(shù),實(shí)現方法是利用DS1820和89C51單片機構建單線(xiàn)多點(diǎn)溫度測控系統,通過(guò)軟件對單片機進(jìn)行控制,從而實(shí)現一根總線(xiàn)多點(diǎn)測溫,達到理想的測溫效果。實(shí)驗結果表明,該測控技術(shù)具有測溫系統簡(jiǎn)單,測溫精度高,連接方便,占用口線(xiàn)少等優(yōu)點(diǎn)。該技術(shù)的創(chuàng )新主要在于能夠利用一個(gè)通信接口同時(shí)監測幾個(gè)甚至幾十個(gè)溫度數據,從而達到節省帶寬,簡(jiǎn)化硬件設施的目的。 隨著(zhù)科學(xué)技術(shù)的發(fā)展,特別是現代儀器的發(fā)展,微型化、集成化、數字化正成為傳感器發(fā)展的一個(gè)重要方向。美國Dallas半導體公司推出的數字化溫度傳感器DS1820采用單總線(xiàn)協(xié)議,即與微機接口僅需占用1個(gè)I/O端口,無(wú)需任何外部元件,直接將溫度轉化成數字信號,以9位數字碼方式串行輸出,從而大大簡(jiǎn)化了傳感器與微處理器的接口。 1 DS1820簡(jiǎn)介 DS1820是美國DALLAS公司生產(chǎn)的可組網(wǎng)數字式溫度傳感器,在其內部使用了在板(ON-BOARD)專(zhuān)利技術(shù)。全部傳感元件及轉換電路集成在形如一只晶體管大小的集成電路內,內部結構如圖1所示。 ![]() 與其他溫度傳感器相比,DS1820具有以下特性: (1)獨特的單線(xiàn)接口方式。DS1820在與微處理器連接時(shí)僅需要1條口線(xiàn)即可實(shí)現微處理器與DS1820的雙向通信。 (2)DS1820支持多點(diǎn)組網(wǎng)功能。多個(gè)DS1820可以并聯(lián)在惟一的三線(xiàn)上,實(shí)現多點(diǎn)測溫。 (3)DS1820在使用中不需要任何外圍元件。 (4)測溫范圍為-55~+125℃,固有測溫分辨率為0.5℃。 (5)測量結果以9位數字量方式串行傳送。 2 工作原理 ![]() 圖2中的斜率累加器用于補償和修正測溫過(guò)程中的非線(xiàn)性,其輸出用于修正計數器1的預置值。DS1820特點(diǎn)如下:硬件接口簡(jiǎn)單,性能穩定,單線(xiàn)接口,僅需一根口線(xiàn)與MCU連接,無(wú)需外圍元件;由總線(xiàn)提供電源;測溫范圍為-55~+75℃;精度為0.5℃;9位溫度讀數;A/D變換時(shí)間為200 ms;用戶(hù)自設定溫度報警上下限,其值是非易失性的;報警搜索命令可識別哪片DS1820超溫度限。 3 溫度檢測系統設計 3.1 硬件設計 由于每片DS1820含有惟一的硅串行數,所以在一條總線(xiàn)上可掛接多個(gè)DS1820芯片。從DS1820讀出信息或寫(xiě)入DS1820信息,僅需要1根口線(xiàn)(單線(xiàn)接口)。讀/寫(xiě)及溫度變換功率來(lái)源于數據總線(xiàn),總線(xiàn)本身也可以向所掛接的DS1820供電,而無(wú)需額外電源。DS1820提供9位溫度讀數,構成多點(diǎn)溫度檢測系統而無(wú)需任何外圍硬件。對DS1820的使用,多采用單片機實(shí)現數據采集。處理時(shí),將DS1820信號線(xiàn)與單片機一位口線(xiàn)相連,單片機可掛接多片DS1820,從而實(shí)現多點(diǎn)溫度檢測系統。由于DS1820只有3個(gè)引腳,其中2根是電源線(xiàn)VDD和GND,另外兩根用作總線(xiàn)DQ(DataIn/Out),由于其輸出和輸入均是數字信號,且與TTL電平兼容,因此可以與微處理器直接進(jìn)行接口,從而省去了一般傳感器所必需的中間轉換環(huán)節。 該設計以DS1820為傳感器,以AT89C51單片機為控制核心,組成的多點(diǎn)溫度測試系統如圖3所示。 ![]() 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為軟件設計的總流程。 ![]() 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)題。 |