基于單總線的數(shù)字溫度傳感器
DSl8B20是Dallas生產(chǎn)的支持單總線接口的溫度感器。單總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò)。與其他溫度傳感器相比,DSl8B20具有以下特性:
(1)具有3引腳TO-92小體積封裝形式。管腳排列:DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。在其內(nèi)部使用了在板(ON-BOARD)專利技術(shù),全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。
(2)量范圍為-55~+125℃,可編程為9~12位A/D轉(zhuǎn)換精度。測溫分辨率可達0.0625℃。被測溫度用符號摭展的16位數(shù)字量方式串行輸出。
(3)其工作電源既可在遠端引入,也可采用寄生電源方式產(chǎn)生。
(4)獨特的單總線接口方式:DSl8B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DSl8B20的雙向通訊。
(5)DS18B20支持多點組網(wǎng)功能。多個DSl8B20可以并聯(lián)在唯一的3線上,實現(xiàn)多點測溫,可節(jié)省大量的引線和邏輯電路。
1 DS18B20的主要內(nèi)部結(jié)構(gòu)
DSl8B20內(nèi)部結(jié)構(gòu)主要由4部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。每一個DSl8B20包括一個唯一的64位長的序號。該序號值存放在DSl8B20內(nèi)部的ROM(只讀存貯器)中。開始8位是產(chǎn)品類型編碼(DSl8B20編碼均為28H),接著的48位是每個器件唯一的序號,最后8位是前面56位的CRC循環(huán)冗余校驗碼。ROM的作用是使每一個DSl8B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DSl8820的目的。
DSl8B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例,如圖1所示。用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625℃/LSB形式表達,其中S為符號位。負溫度S=I,正溫度S=O。
2 DS18B20的工作原理
2.1 工作序列
根據(jù)DSl8B20的通訊協(xié)議,主機控制DSl8B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:
(1)每一次讀寫之前都必須要對DSl8B20進行復(fù)位;
(2)復(fù)位成功后發(fā)送一條ROM指令;
(3)最后發(fā)送RAM指令,這樣才能對DSl8B20進行預(yù)定的操作。
復(fù)位要求主CPU將數(shù)據(jù)線下拉500μs,然后釋放,DSl8B20收到信號后等待16~60μs左右,后發(fā)出60~240μs的存在低脈沖,主CPU收到此信號表示復(fù)位成功。
2.2 ROM操作命令
當(dāng)主機收到DSl8B20的響應(yīng)信號后,便可以發(fā)出ROM操作命令之一,這些命令如下:
指令代碼 代碼
Read ROM(讀ROM) [33H]
Match ROM(匹配ROM) [55H]
SkipROM(跳過ROM) [CCH]
SearchROM(搜索ROM) [FOH]
Alarmsearch(告警搜索) [ECH]
3 DS18B20的多點測溫
3.1 多點測溫的原理
每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM中。主機在進入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號讀出:
當(dāng)主機需要對眾多在線18820的某一個進行操作時,首先要發(fā)出匹配ROM命令(55H)。接著主機提供64位序列(包括該18B20的48位序列號),之后的操作就是針對該DSl8820的。而跳過ROM命令,之后的操作是對所有D518820的。
程序可以先跳過ROM.啟動所有DSl8B20進行溫度變換,之后通過匹配ROM,再逐一地讀回每個DSl8B20的溫度數(shù)據(jù)。
在DSl8B20組成的多點測溫系統(tǒng)中,主機在發(fā)出跳ROM命令之后,再發(fā)出統(tǒng)一的溫度轉(zhuǎn)換啟動碼44H,就可以實現(xiàn)所有DSl8B20的統(tǒng)一轉(zhuǎn)換。再經(jīng)過1s后就可以用很少的時間去逐一讀取,這種方式使其時間值往往小于傳統(tǒng)方式(由于采取公用的放大電路AD轉(zhuǎn)換器,只能逐一轉(zhuǎn)換)。顯然通道數(shù)越多這種省時效應(yīng)就越明顯。
3.2 多點測試系統(tǒng)的組建
實驗采用AT89C51為主機,3個DSl8B20組成一個多點測試系統(tǒng),如圖2所示。硬件接口非常簡單。DSl8B20的3個管腳DQ、VDD、GND分別接到主機的數(shù)據(jù)腳P1.0口、外接電源VCC以及GND上,非常節(jié)約資源,僅僅用到了主機的一條口線。 風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
評論