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