| 品牌 | 昆侖中大 | 型號 | KZY |
| 種類 | 溫度 | 材料 | 陶瓷 |
| 材料物理性質(zhì) | 半導體 | 材料晶體結(jié)構(gòu) | 多晶 |
| 制作工藝 | 集成 | 輸出信號 | 模擬型 |
| 防護等級 | ip65 | 線性度 | 0.01(%F.S.) |
| 遲滯 | 0.1(%F.S.) | 重復性 | 0.1(%F.S.) |
| 靈敏度 | 0.1 | 漂移 | 0.1 |
| 分辨率 | 0.01 |
(1)獨特的單線接口方式:DS18B20與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。
?。?)在使用中不需要任何外圍元件。
?。?)可用數(shù)據(jù)線供電,電壓范圍:+3.0~ +5.5 V。
?。?)測溫范圍:-55 ~+125 ℃。固有測溫分辨率為0.5 ℃。
?。?)通過編程可實現(xiàn)9~12位的數(shù)字讀數(shù)方式。
?。?)用戶可自設(shè)定非易失性的報警上下限值。
?。?)支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點測溫。
?。?)負壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。
2.DS18B20的內(nèi)部結(jié)構(gòu)
DS18B20采用3腳PR35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖1所示。
(1) 64 b閃速ROM的結(jié)構(gòu)如下:
開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,8位是前56位的CRC校驗碼,這也是多個DS18B20可以采用一線進行通信的原因。
(2) 非易市失性溫度報警觸發(fā)器TH和TL,可通過軟件寫入用戶報警上下限。
(3) 高速暫存存儲器
DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E 2RAM。后者用于存儲TH,TL值。數(shù)據(jù)先寫入RAM,經(jīng)校驗后再傳給E 2RAM。而配置寄存器為高速暫存器中的第5個字節(jié),他的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應精度的數(shù)值。該字節(jié)各位的定義如下:
低5位一直都是1,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用戶不要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),即是來設(shè)置分辨率,如表1所示(DS18B20出廠時被設(shè)置為12位)。
由表1可見,設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間就越長。因此,在實際應用中要在分辨率和轉(zhuǎn)換時間權(quán)衡考慮。
高速暫存存儲器除了配置寄存器外,還有其他8個字節(jié)組成,其分配如下所示。其中溫度信息(第1,2字節(jié))、TH和TL值第3,4字節(jié)、第6~8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個字節(jié)的CRC碼,可用來保證通信正確。
當DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1,2字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式以0 062
5 ℃/LSB形式表示。溫度值格式如下:
對應的溫度計算:當符號位S=0時,直接將二進制位轉(zhuǎn)換為十進制;當S=1時,先將補碼變換為原碼,再計算十進制值。表2是對應的一部分溫度值。
DS18B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與TH,TL作比較,若T>TH或T<TL,則將該器件內(nèi)的告警標志置位,并對主機發(fā)出的告警搜索命令作出響應。因此,可用多只DS18B20同時測量溫度并進行告警搜索。
(4) CRC的產(chǎn)生
在64 b
ROM的有效字節(jié)中存儲有循環(huán)冗余校驗碼(CRC)。主機根據(jù)ROM的前56位來計算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機收到的ROM數(shù)據(jù)是否正確。
3.DS18B20的測溫原理
DS18B20的測溫原理如圖2所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小[1],用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,圖中還隱含著計數(shù)門,當計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55
℃所對應的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預置在 -55
℃ 所對應的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器1的預置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖2中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預置值,只要計數(shù)門仍未關(guān)閉就重復上述過程,直至溫度寄存器值達到被測溫度值,這就是DS18B20的測溫原理。
另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。各種操作的時序圖與DS1820相同,可參看文獻[2]。
4.DS18B20與單片機的典型接口設(shè)計
以MCS51單片機為例,圖3中采用寄生電源供電方式,
P1 1口接單線總線為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET管和89C51的P1 0來完成對總線的上拉[2]。當DS18B20處于寫存儲器操作和溫度A/D變換操作時,總線上必須有強的上拉,上拉開啟時間為10
μs。采用寄生電源供電方式是VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送<