詳細(xì)信息
DS18B20單線數(shù)字溫度傳感器
由DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測(cè)量及控制儀器、測(cè)控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn)。
1、 DS18B20性能特點(diǎn)
DS18B20的性能特點(diǎn):①采用單總線專用技術(shù),既可通過(guò)串行口線,也可通過(guò)其它I/O口線與微機(jī)接口,無(wú)須經(jīng)過(guò)其它變換電路,直接輸出被測(cè)溫度值(9位二進(jìn)制數(shù),含符號(hào)位),②測(cè)溫范圍為-55℃-+125℃,測(cè)量分辨率為0.0625℃,③內(nèi)含64位經(jīng)過(guò)激光修正的只讀存儲(chǔ)器ROM,④適配各種單片機(jī)或系統(tǒng)機(jī),⑤用戶可分別設(shè)定各路溫度的上、下限,⑥內(nèi)含寄生電源。
2、 DS18B20內(nèi)部結(jié)構(gòu)
DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖1所示。
64位光刻ROM是出廠前被光刻好的,它可以看作是該DS18B20的地址序列號(hào)。不同的器件地址序列號(hào)不同。
圖1 DS18B20引腳分布圖
8位產(chǎn)品系列號(hào) | 48位產(chǎn)品序號(hào) | 8位CRC編碼 |
DS18B20高速暫存器共9個(gè)存存單元,如表所示:
序號(hào) | 寄存器名稱 | 作 用 | 序號(hào) | 寄存器名稱 | 作 用 |
0 | 溫度低字節(jié) | 以16位補(bǔ)碼形式存放 | 4、5 | 保留字節(jié)1、2 | |
1 | 溫度高字節(jié) | 6 | 計(jì)數(shù)器余值 | ||
2 | TH/用戶字節(jié)1 | 存放溫度上限 | 7 | 計(jì)數(shù)器/℃ | |
3 | HL/用戶字節(jié)2 | 存放溫度下限 | 8 | CRC |
以12位轉(zhuǎn)化為例說(shuō)明溫度高低字節(jié)存放形式及計(jì)算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)高低兩個(gè)8位的RAM中,二進(jìn)制中的前面5位是符號(hào)位。如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625才能得到實(shí)際溫度。
高8位 | S | S | S | S | S | 26 | 25 | 24 |
低8位 | 23 | 22 | 21 | 20 | 2-1 | 2-2 | 2-3 | 2-4 |
1、DS18B20控制方法
在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是Vcc接外部電源,GND接地,I/O與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O。無(wú)論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻。
DS18B20有六條控制命令,如表所示:
指 令 | 約定代碼 | 操 作 說(shuō) 明 |
溫度轉(zhuǎn)換 | 44H | 啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換 |
讀暫存器 | BEH | 讀暫存器9個(gè)字節(jié)內(nèi)容 |
寫暫存器 | 4EH | 將數(shù)據(jù)寫入暫存器的TH、TL字節(jié) |
復(fù)制暫存器 | 48H | 把暫存器的TH、TL字節(jié)寫到E2RAM中 |
重新調(diào)E2RAM | B8H | 把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié) |
讀電源供電方式 | B4H | 啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU |
CPU對(duì)DS18B20的訪問流程是:先對(duì)DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。如主機(jī)控制DS18B20完成溫度轉(zhuǎn)換這一過(guò)程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。