1.1、適應電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數據線供電
1.2、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊
1.3、DS18B20支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,實現組網多點測溫
1.4、DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內
1.5、溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃
1.6、可編程的分辨率為9~12位,對應的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現高精度測溫
1.7、在9位分辨率時最多在93.75ms內把溫度轉換為數字,12位分辨率時最多在750ms內把溫度值轉換為數字,速度更快
1.8、測量結果直接輸出數字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力
1.9、負壓特性:電源極性接反時,芯片不會因發熱而燒毀,但不能正常工作。
2、DS18B20的外形和內部結構
DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。DS18B20的外形及管腳排列如下圖1:
DS18B20引腳定義:
(1)DQ為數字信號輸入/輸出端;
(2)GND為電源地;
(3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。
圖2: DS18B20內部結構圖
3、DS18B20工作原理
圖3: DS18B20測溫原理框圖
DS18B20有4個主要的數據部件:
(1)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。
(2)DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以0.0625℃/LSB形式表達,其中S為符號位。
表1: DS18B20溫度值格式表
這是12位轉化后得到的12位數據,存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度。
例如+125℃的數字輸出為07D0H,+25.0625℃的數字輸出為0191H,-25.0625℃的數字輸出為FF6FH,-55℃的數字輸出為FC90H。
表2: DS18B20溫度數據表
(3)DS18B20溫度傳感器的存儲器
DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發器TH、TL和結構寄存器。
(4)配置寄存器
該
表3: 配置寄存器結構 |
TMR1R011111 |
低五位一直都是"1",TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動。R1和R0用來設置分辨率,如下表所示:(DS18B20出廠時被設置為12位)
表4: 溫度分辨率設置表 |
R1R0分辨率溫度最大轉換時間009位93.75ms0110位187.5ms1011位375ms1112位750ms |
4、高速暫存存儲器
高速暫存存儲器由9個字節組成,其分配如表5所示。當溫度轉換命令發布后,經轉換所得的溫度值以二字節補碼形式存放在高速暫存存儲器的第0和第1個字節。單片機可通過單線接口讀到該數據,讀取時低位在前,高位在后,數據格式如表1所示。對應的溫度計算:當符號位S=0時,直接將二進制位轉換為十進制;當S=1時,先將補碼變為原碼,再計算十進制值。表 2是對應的一部分溫度值。第九個字節是冗余檢驗字節。
表5: DS18B20暫存寄存器分布 |
寄存器內容字節地址溫度值低位 (LS Byte)0溫度值高位 (MS Byte)1高溫限值(TH)2低溫限值(TL)3配置寄存器4保留5保留6保留7CRC校驗值8 |
根據DS18B20的通訊協議,主機(單片機)控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數據線下拉500微秒,然后釋放,當DS18B20收到信號后等待16~60微秒左右后發出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。
表6: ROM指令表
指 令約定代碼功 能讀ROM33H讀DS1820溫度傳感器ROM中的編碼(即64位地址)符合 ROM55H發出此命令之后,接著發出 64 位 ROM 編碼,訪問單總線上與該編碼相對應的 DS1820 使之作出響應,為下一步對該 DS1820 的讀寫作準備。搜索 ROM0FOH用于確定掛接在同一總線上 DS1820 的個數和識別 64 位 ROM 地址。為操作各器件作好準備。跳過 ROM0CCH忽略 64 位 ROM 地址,直接向 DS1820 發溫度變換命令。適用于單片工作。告警搜索命令0ECH執行后只有溫度超過設定值上限或下限的片子才做出響應。 |
表6: RAM指令表 |
指 令約定代碼功 能溫度變換44H啟動DS1820進行溫度轉換,12位轉換時最長為750ms(9位為93.75ms)。結果存入內部9字節RAM中。讀暫存器0BEH讀內部RAM中9字節的內容寫暫存器4EH發出向內部RAM的3、4字節寫上、下限溫度數據命令,緊跟該命令之后,是傳送兩字節的數據。復制暫存器48H將RAM中第3 、4字節的內容復制到EEPROM中。 |