劉 彬
(遼寧石化職業(yè)技術(shù)學(xué)院,遼寧 錦州 121001)
DS1820是單總線數(shù)字溫度傳感器,可以實(shí)現(xiàn)二進(jìn)制9位溫度信息的測量,測量范圍-55~125℃,分辨率0.5℃。每片DS1820都有唯一的產(chǎn)品序列號存儲于其內(nèi)部ROM。
筆者以AT89C51單片機(jī)作為控制單元,在單總線上掛接多個(gè)DS1820,構(gòu)成多點(diǎn)溫度檢測系統(tǒng),主要介紹硬件電路和軟件流程的設(shè)計(jì)方法,實(shí)現(xiàn)了多點(diǎn)溫度的數(shù)字化采集。
數(shù)字式溫度傳感器DS1820的內(nèi)部結(jié)構(gòu)如圖1所示,由內(nèi)部寄生電源、溫度傳感器、64位ROM、8位CRC發(fā)生器、電源傳感器及暫存寄存器等組成。
寄生電源由二極管D1、D2和電容C1組成,通過電源傳感器可以判斷供電方式,一種由VCC直接供電,另一種為VCC接地,由內(nèi)部寄生電源VDD供電。寄生電源供電時(shí),利用單總線DQ高電平期間通過D1對C1充電,產(chǎn)生寄生電源VDD。
圖1 DS1820內(nèi)部結(jié)構(gòu)框圖
采用寄生電源供電的多點(diǎn)溫度測量電路如圖2所示,為保證系統(tǒng)供電的可靠性,提供足夠大的工作電流,除了加了一個(gè)4.7kΩ的上拉電阻外,還用一個(gè)P1.0控制的MOS管和QD對DS1820總線進(jìn)行強(qiáng)上拉,以保證多片DS1820的正常工作;P1.1為數(shù)據(jù)通信口,通過測試可以實(shí)現(xiàn)測量距離不超過80m的30個(gè)DS1820穩(wěn)定可靠工作[1]。
圖2 DS1820多點(diǎn)測溫電路
一般情況下,每個(gè)DS1820的溫度值為9位(符號位占1位),由于符號位擴(kuò)展成高8位,因而溫度數(shù)值以16位補(bǔ)碼形式讀出,測量溫度與輸出數(shù)字量的關(guān)系見表1。
表1 測量溫度與輸出數(shù)字量關(guān)系
初始化命令,由單片機(jī)發(fā)出一個(gè)復(fù)位脈沖,DS1820響應(yīng)發(fā)出存在脈沖;ROM操作命令有讀ROM、匹配ROM、搜索ROM、跳過ROM及警告搜索等;存儲器操作命令,有讀、寫和復(fù)制暫存寄存器以及重調(diào)非易失性存儲器等;溫度變換命令,通過單總線對DS1820時(shí)間進(jìn)行讀寫數(shù)據(jù)操作,所有操作通過對DS1820寫1和寫0時(shí)間和單片機(jī)本身的延時(shí)實(shí)現(xiàn)[2]。需要注意的是,DS1820獲得溫度信息的操作,必須遵循DS1820協(xié)議。
多個(gè)DS1820掛接在一條總線上去識別不同的器件,在程序設(shè)計(jì)過程中一般有初始化命令、傳送ROM命令、傳送RAM命令和數(shù)據(jù)交換命令。
在系統(tǒng)安裝和工作之前,應(yīng)將主機(jī)逐個(gè)與DS1820掛接,并讀取其序列號,其過程為:主機(jī)發(fā)出一個(gè)脈沖,待“0”電平大于480μs后復(fù)位DS1820,當(dāng)DS1820發(fā)出的響應(yīng)脈沖由主機(jī)接收后,主機(jī)再次發(fā)讀ROM命令代碼33H,然后發(fā)出一個(gè)寬度為15μs的脈沖,并接著讀取DS1820序列號的1位;用同樣的方法讀取序列號的56位;由于DS1820通信是按照時(shí)序概念分時(shí)完成的,因此DS1820的各種操作必須遵循初始化DS1820(發(fā)復(fù)位脈沖)、發(fā)ROM功能命令、發(fā)存儲器操作命令和處理數(shù)據(jù)協(xié)議進(jìn)行操作[3]。對DS1820的整體操作流程如圖3所示。
圖3 DS1820整體操作流程
DS1820單總線多點(diǎn)測溫硬件電路簡單,故占用硬件端口資源少,但是DS1820與AT89C51之間采用串行數(shù)據(jù)傳輸,因此在對DS1820進(jìn)行編程時(shí),必須嚴(yán)格保證讀/寫時(shí)序,否則無法實(shí)現(xiàn)測溫。在單總線上掛接DS1820的數(shù)量與供電形式、連接電纜形式和長度密切相關(guān),要考慮長距離傳輸過程中總線分布電容和阻抗的匹配問題,合理處理好增加MOS管來提高寄生電源供電能力的控制時(shí)序。對筆者所設(shè)計(jì)的多點(diǎn)測溫系統(tǒng)進(jìn)行測試的結(jié)果表明:該系統(tǒng)的抗干擾和工作效率均有所提升,并且系統(tǒng)硬件也更加簡潔。
[1] 賈振國.DS1820及其高精度溫度測量的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2000,(1):58~59.
[2] 何立民.單片機(jī)應(yīng)用技術(shù)選編(1~6)[M].北京:北京航空航天大學(xué)出版社,1997.
[3] 金偉正.單線數(shù)字溫度傳感器的原理與應(yīng)用[J].儀表技術(shù)與傳感器,2000,36(7):44~45,48.