1-Wire(一線制)數(shù)字溫度傳感器
DALLAS公司產的1-Wire(一線制)數(shù)字溫度傳感器己被廣泛應用于各工業(yè)控制與撿測的設備儀器之中,但如何應嵌入與連接在系統(tǒng)之術是設計人員所關切的技術問題。
DSl8B20、DS18C20或DSl822是業(yè)內更高精度(0。5℃)的1-Wire多點數(shù)字溫度傳感器,其特點是:
*具有1-Wire數(shù)字接口
*唯一的64位序列號
*寬廣的溫度測量范圍為-55℃至+125℃
*具有非易失用戶(2字節(jié)EEPROM)可編程觸發(fā)點的過熱告警
*測量分辨率可由用戶配置為9至12位
*封裝形式包括TO-92,150mil8腳SOIC和倒裝片
DSl8x20或DSl822溫度傳感器內部結構圖見圖0所示。
目前有數(shù)種方法,可將1-Wire器件,如DSl8B20、DSl822或DSl8S20與微控制器接口。這些方法包括:從簡單的軟件方案,到串行接口芯片,如DS2480及Dallas1-WireASIC即(將經過整合的半導體超高規(guī)模集成電路硬件描述語言1-Wire主控器制造成專用集成電路)等。本文陳述了一種簡單的軟件解決方案,可實現(xiàn)微控制器和任意個數(shù)的DSl8x20或DSl822溫度傳感器之間的1-Wire通信。
硬件配置
圖1的框圖說明了在采用多個1-Wire溫度傳感器時,該硬件配置很簡單。一線制(1-Wire)總線向所有的器件既提供通信連接,又提供工作電源??偩€電源經由一個連接于3V至5.5V電源端的4.7kf2上拉電阻提供。由于每個器件具有唯一的64位ROM識別碼,所以掛接在總線上的1-Wire器件數(shù)量幾乎不受限制。多個1-Wire溫度傳感器通過1-Wire總線與采用DS5000(與MCS-8051單片機兼容)的微控制器相接口。
接口時序
與DSl8x20/DSl822的通信,通過操作時隙完成1-Wire總線上的數(shù)據傳輸。每個通信周期起始于微控制器發(fā)出復位脈沖,其后緊跟DSl8x20/DSl822發(fā)出的應答脈沖,如圖2所示。
當主機將1-Wire總線從邏輯高(空閑狀態(tài))拉為邏輯低時,即啟動一個寫時隙。所有的寫時隙必須在60s至120s(見圖360s
讀時隙起始于微處理器將總線拉低1s,接著釋放總線,這樣DSl8x20/DSl822就能夠接管總線,輸出有效數(shù)據(高或低)。所有讀時隙在60s至120s完成,且在每個循環(huán)之間至少需要1s的恢復時間(圖3)。
軟件控制
為了精確地控制1-Wire接口的特殊時序要求,必須先建立幾個關鍵的函數(shù)。第一個函數(shù)應該是延時函數(shù),它是所有讀和寫控制的組成部分。這個函數(shù)完全依賴于微處理器的速度。為了更好地理解,值此以DS5000(與8051兼容)微控制器(工作時鐘11.059MHz)為例。圖4列舉了一個用于創(chuàng)建時間延時的C(C語言)原型函數(shù)。
由于每個通信周期起始于微處理器發(fā)出的復位脈沖,因而復位函數(shù)(見圖5)是下一個最為重要的函數(shù)。復位時隙為480s。首先以參數(shù)3,接著以參數(shù)25分別調用延時函數(shù)數(shù),將產生所要求的復位脈沖,緊接著復位之后微處理器釋放總線,以便DSl8x20/DSl822通過拉低總線來指示其是否在線。如果多個溫度傳感器在此總線上,它們將同時發(fā)出應答脈沖。
讀和寫函數(shù)實例如圖6、7、8和9所示,提供了所有讀/寫數(shù)據位和字節(jié)操作的基本結構。
結束語
以上是新型多點1-wire數(shù)字溫度傳感器與微控制器軟件接口簡易的設計方案,經過多路溫度巡迥監(jiān)控系統(tǒng)在現(xiàn)場采集與檢測使用,其特點是具有較高的性能比,即程式簡單、檢測準確、使用方便可靠。