一文全麵詳解數字溫度傳感器DS18B20
發布時間:2023-06-07 責任編輯:lina
【導讀】傳統的溫度檢測大多以熱敏電阻為傳感器,采用熱敏電阻,可滿足40℃至90℃測量範圍,但熱敏電阻可靠性差,測量溫度準確率低,對於小於1℃的溫度信號是不適用的,還得經過專門的接口電路轉換成數字信號才能由微處理器進行處理。
一、概述
傳統的溫度檢測大多以熱敏電阻為傳感器,采用熱敏電阻,可滿足40℃至90℃測量範圍,但熱敏電阻可靠性差,測量溫度準確率低,對於小於1℃的溫度信號是不適用的,還得經過專門的接口電路轉換成數字信號才能由微處理器進行處理。
目前常用的微機與外設之間進行的數據通信的串行總線主要有I2C總線,SPI總線等。其中I2C總線以同步串行2線方式進行通信(一條時鍾線,一條數據線),SPI總線則以同步串行3線方式進行通信(一條時鍾線,一條數據輸入線,一條數據輸出線)。這些總線至少需要兩條或兩條以上的信號線。而單總線( 1-wire bus ),采用單根信號線,既可傳輸數據,而且數據傳輸是雙向的, CPU 隻需一根端口線就能與諸多單總線器件通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。 因(yin)而(er),這(zhe)種(zhong)單(dan)總(zong)線(xian)技(ji)術(shu)具(ju)有(you)線(xian)路(lu)簡(jian)單(dan),硬(ying)件(jian)開(kai)銷(xiao)少(shao),成(cheng)本(ben)低(di)廉(lian),軟(ruan)件(jian)設(she)計(ji)簡(jian)單(dan),便(bian)於(yu)總(zong)線(xian)擴(kuo)展(zhan)和(he)維(wei)護(hu)。同(tong)時(shi),基(ji)於(yu)單(dan)總(zong)線(xian)技(ji)術(shu)能(neng)較(jiao)好(hao)地(di)解(jie)決(jue)傳(chuan)統(tong)識(shi)別(bie)器(qi)普(pu)遍(bian)存(cun)在(zai)的(de)攜(xie)帶(dai)不(bu)便(bian),易(yi)損(sun)壞(huai),易(yi)受(shou)腐(fu)饋(kui),易(yi)受(shou)電(dian)磁(ci)幹(gan)擾(rao)等(deng)不(bu)足(zu),因(yin)此(ci),單(dan)總(zong)線(xian)具(ju)有(you)廣(guang)闊(kuo)的(de)應(ying)用(yong)前(qian)景(jing),是(shi)值(zhi)得(de)關(guan)注(zhu)的(de)一(yi)個(ge)發(fa)展(zhan)領(ling)域(yu)。
單(dan)總(zong)線(xian)即(ji)隻(zhi)有(you)一(yi)根(gen)數(shu)據(ju)線(xian),係(xi)統(tong)中(zhong)的(de)數(shu)據(ju)交(jiao)換(huan),控(kong)製(zhi)都(dou)由(you)這(zhe)根(gen)線(xian)完(wan)成(cheng)。主(zhu)機(ji)或(huo)從(cong)機(ji)通(tong)過(guo)一(yi)個(ge)漏(lou)極(ji)開(kai)路(lu)或(huo)三(san)態(tai)端(duan)口(kou)連(lian)至(zhi)數(shu)據(ju)線(xian),以(yi)允(yun)許(xu)設(she)備(bei)在(zai)不(bu)發(fa)送(song)數(shu)據(ju)時(shi)能(neng)夠(gou)釋(shi)放(fang)總(zong)線(xian),而(er)讓(rang)其(qi)它(ta)設(she)備(bei)使(shi)用(yong)總(zong)線(xian)。單(dan)總(zong)線(xian)通(tong)常(chang)要(yao)求(qiu)外(wai)接(jie)一(yi)個(ge)約(yue)為(wei) 4.7K的上拉電阻,這樣,當總線閑置時其狀態為高電平。
DS18B20shuzishiwenduchuanganqi,yuchuantongderemindianzuyousuobutongdeshi,shiyongjichengxinpian,caiyongdanzongxianjishu,qinenggouyouxiaodejianxiaowaijiedeganrao,tigaoceliangdejingdu。tongshi,takeyizhijiejiangbeicewenduzhuanhuachengchuanxingshuzixinhaogongweijichuli,jiekoujiandan, 使數據傳輸和處理簡單化。 部(bu)分(fen)功(gong)能(neng)電(dian)路(lu)的(de)集(ji)成(cheng),使(shi)總(zong)體(ti)硬(ying)件(jian)設(she)計(ji)更(geng)簡(jian)潔(jie),能(neng)有(you)效(xiao)地(di)降(jiang)低(di)成(cheng)本(ben),搭(da)建(jian)電(dian)路(lu)和(he)焊(han)接(jie)電(dian)路(lu)時(shi)更(geng)快(kuai),調(tiao)試(shi)也(ye)更(geng)方(fang)便(bian)簡(jian)單(dan)化(hua),這(zhe)也(ye)就(jiu)縮(suo)短(duan)了(le)開(kai)發(fa)的(de)周(zhou)期(qi) 。
DS18B20單線數字溫度傳感器,即“一線器件”,其具有獨特的優點:
( 1 )采用單總線的接口方式與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的(de)雙(shuang)向(xiang)通(tong)訊(xun)。單(dan)總(zong)線(xian)具(ju)有(you)經(jing)濟(ji)性(xing)好(hao),抗(kang)幹(gan)擾(rao)能(neng)力(li)強(qiang),適(shi)合(he)於(yu)惡(e)劣(lie)環(huan)境(jing)的(de)現(xian)場(chang)溫(wen)度(du)測(ce)量(liang),使(shi)用(yong)方(fang)便(bian)等(deng)優(you)點(dian),使(shi)用(yong)戶(hu)可(ke)輕(qing)鬆(song)地(di)組(zu)建(jian)傳(chuan)感(gan)器(qi)網(wang)絡(luo),為(wei)測(ce)量(liang)係(xi)統(tong)的(de)構(gou)建(jian)引(yin)入(ru)全(quan)新(xin)概(gai)念(nian)。
( 2 )測量溫度範圍寬,測量精度高。DS18B20 的測量範圍為-55℃ ~+125℃ ;在-10~+85℃ 範圍內,精度為±0.5℃ 。
( 3 )在使用中不需要任何外圍元器件即可實現測溫。
( 4 )多點組網功能。多個DS18B20可以並聯在惟一的三線上,實現多點測溫。
( 5 )供電方式靈活。DS18B20可ke以yi通tong過guo內nei部bu寄ji生sheng電dian路lu從cong數shu據ju線xian上shang獲huo取qu電dian源yuan。因yin此ci,當dang數shu據ju線xian上shang的de時shi序xu滿man足zu一yi定ding的de要yao求qiu時shi,可ke以yi不bu接jie外wai電dian源yuan,從cong而er使shi係xi統tong結jie構gou更geng趨qu簡jian單dan,可ke靠kao性xing更geng高gao。
( 6 )測量參數可配置。DS18B20的測量分辨率可通過程序設定9~12位。
( 7 ) 負壓特性。電源極性接反時,溫度計不會因發熱而燒毀,但不能正常工作。
( 8 )掉電保護功能。DS18B20內部含有EEPROM,在係統掉電以後,它仍可保存分辨率及報警溫度的設定值。
DS18B20 具有體積更小、適用電壓更寬、更經濟、可選更小的封裝方式,更寬的電壓適用範圍,適合於構建自己的經濟的測溫係統,因此也就被設計者們所青睞。
二、DS18B20測溫原理
DS18B20 的內部測溫電路框圖
低溫度係數晶振的振蕩頻率受溫度的影響很小,用於產生固定頻率的脈衝信號送給減法計數器1,weijishuqitigongyipinlvwendingdejishumaichong。gaowenduxishujingzhensuiwendubianhuaqizhendangpinlvmingxiangaibian,henmingandezhendangqi,suochanshengdexinhaozuoweijianfajishuqi2的脈衝輸入,為計數器2提供一個頻率隨溫度變化的計數脈衝。圖中還隱含著計數門,當計數門打開時,DS18B20jiuduidiwenduxishuzhendangqichanshengdeshizhongmaichongjinxingjishu,jinerwanchengwenduceliang。jishumendekaiqishijianyougaowenduxishuzhendangqilaijueding,meiciceliangqian,shouxianjiang-55℃ 所對應的基數分別置入減法計數器1和溫度寄存器中,減法計數器 1 和溫度寄存器被預置在-55℃ 所對應的一個基數值。減法計數器1對低溫度係數晶振產生的脈衝信號進行減法計數,當減法計數器1的預置值減到0時溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度係數晶振產生的脈衝信號進行計數,如此循環直到減法計數器2計數到0時(shi),停(ting)止(zhi)溫(wen)度(du)寄(ji)存(cun)器(qi)值(zhi)的(de)累(lei)加(jia),此(ci)時(shi)溫(wen)度(du)寄(ji)存(cun)器(qi)中(zhong)的(de)數(shu)值(zhi)即(ji)為(wei)所(suo)測(ce)溫(wen)度(du)。斜(xie)率(lv)累(lei)加(jia)器(qi)用(yong)於(yu)補(bu)償(chang)和(he)修(xiu)正(zheng)測(ce)溫(wen)過(guo)程(cheng)中(zhong)的(de)非(fei)線(xian)性(xing),其(qi)輸(shu)出(chu)用(yong)於(yu)修(xiu)正(zheng)減(jian)法(fa)計(ji)數(shu)器(qi)的(de)預(yu)置(zhi)值(zhi),隻(zhi)要(yao)計(ji)數(shu)門(men)仍(reng)未(wei)關(guan)閉(bi)就(jiu)重(zhong)複(fu)上(shang)述(shu)過(guo)程(cheng),直(zhi)至(zhi)溫(wen)度(du)寄(ji)存(cun)器(qi)值(zhi)達(da)到(dao)被(bei)測(ce)溫(wen)度(du)值(zhi)。
三、DS18B20 的管腳排列及封裝圖
DS18B20 實物管腳分布圖
DQ為數字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端,電源供電 3.0~5.5V (在寄生電源接線方式時接地)。
DS18B20的硬件接口非常簡單。供電方式為計生電源供電或外部供電。
寄生電源工作方式
采用寄生電源供電時,在遠程溫度測量和測量空間受限的情況下特別有價值。寄生電源供電的原理是在數據線為高電平的時候“竊取”數據線的電源,電荷被存儲在寄生供電電容上,用於在數據線為低的時候為設備提供電源。需要注意的是,DS18B20在進行溫度轉換或者將高速緩存裏麵的數據複製到EEPROM中時,所需的電流會達到1.5mA,超出了電容所能提供的電流,此時可采用一個MOSFET三極管來供電。
外接電源工作方式
當DS18B20采用外部供電時,隻需將其數據線,與單片機的一位雙向端口相連就可以實現數據的傳遞。
注意:當溫度高於100℃ 時,不能使用寄生電源,因為此時器件中較大的漏電流會使總線不能可靠檢測高低電平,從而導致數據傳輸誤碼率的增大。
四、DS18B20 內部結構
DS18B20的內部結構
DS18B20 內部結構如圖所示,主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。
光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(地址: 28H )是產品類型標號,接著的 48 位是該 DS18B20 自身的序列號,並且每個 DS18B20 的序列號都不相同,因此它可以看作是該DS18B20 的地址序列碼; 8 位則是前麵 56 位的循環冗餘校驗碼( CRC=X8+X5+X4+1 )。由於每一個DS18B20的ROM數據都各不相同,因此微控製器就可以通過單總線對多個 DS18B20 進行尋址,從而實現一根總線上掛接多個 DS18B20 的目的。
64B閃速ROM
DS18B20 中的溫度傳感器用於完成對溫度的測量,它的測量精度可以配置成9位,10位,11位或12位四種狀態。溫度傳感器在測量完成後將測量的結果存儲在 DS18B20 的兩個8BIT的RAM中,單片機可通過單線接口讀到該數據,讀取時低位在前,高位在後。數據的存儲格式如下表(以 12 位轉化為例):
溫度信號寄存器格式
這是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 。
DS18B20完成溫度轉換後,就把測得的溫度值與TH,TL作比較,若T>TH或T
五、DS18B20 溫度傳感器的存儲器
DS18B20 溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM,後者存放高溫度和低溫度觸發器TH 、TL和結構寄存器。數據先寫入RAM,經校驗後再傳給 E2RAM 。
暫存存儲器包含了8個連續字節,前兩個字節是測得的溫度信息,個字節的內容是溫度的低八位TL,第二個字節是溫度的高八位TH。第三個和第四個字節是TH、TL的易失性拷貝,第五個字節是結構寄存器的易失性拷貝,這三個字節的內容在每上電複位時被刷新。第六、七、八個字節用於內部計算。第九個字節是冗餘檢驗字節,可用來保證通信正確。DS18B20的分布如下:
DS18B20 的暫存寄存器分布
在 64B ROM 的有效字節中存儲有循環冗餘校驗碼( CRC )。主機根據 ROM 的前 56 位來計算 CRC 值,並和存入 DS18B20 中的 CRC 值做比較,以判斷主機收到的 ROM 數據是否正確。
1. 設置寄存器
該位於高速閃存的第5個字節,這個寄存器中的內容被用來確定測試模式和溫度的轉換精度。寄存器各位的內容如下:
DS18B20 的設置寄存器各位內容
該寄存器的低五位一直都是 1 , TM 是測試模式位,用於設置 DS18B20 在工作模式還是在測試模式。在 DS18B20 出廠時該位被設置為 0 ,用戶不要去改動。 R1 和 R0 用來設置分辨率,如下表所示:( DS18B20 出廠時被設置為 12 位)
分辨率設置
由表可知,設定的分辨率越高,所需要的溫度數據轉換時間就越長。因此,在實際應用中要在分辨率和轉換時間權衡考慮。
六、DS18B20 的溫度測量
1-WIRE 網絡具有嚴謹的控製結構,其結構如下圖所示,一般通過雙絞線與 1-WIRE 元件進行數據通信,它們通常被定義為漏極開路端點,主/從式多點結構,而且一般都在主機端接上一個上拉電阻 +5V 電源。通常為了給 1-WIRE 設備提供足夠的電源,需要一個 MOSFET 管將 1-WIRE 總線上拉至 +5V 電源。
DS18B20 組成的 1-WIRE 網絡
1-WIRE 網絡通信協議是分時定義的,有嚴格的時隙概念,下圖是複位脈衝的時隙。
1-WIRE 協議的複位脈衝時隙
1-WIRE 讀寫“ 0/ 1 ” 時隙
DS18B20 單線通信功能是分時完成的,他有嚴格的時隙概念,如果出現序列混亂, 1-WIRE 器件將不響應主機,因此讀寫時序很重要。係統對 DS18B20 的各種操作必須按協議進行。根據 DS18B20 的協議規定,微控製器控製 DS18B20 完成溫度的轉換必須經過以下 4 個步驟 :
(1)每次讀寫前對 DS18B20 進行複位初始化。複位要求主 CPU 將數據線下拉 500ms ,然後釋放, DS18B20 收到信號後等待 16ms~60ms 左右,然後發出 60ms~240ms 的存在低脈衝,主 CPU 收到此信號後表示複位成功。
(2)發送一條 ROM 指令,如下表所示:
DS18B20 的ROM指令集
a. 讀指令(33H):通過該命令可以讀出ROM中8位係列產品代碼、48位產品序列號和8位CRC碼。
b. 選擇定位指令(55H):多片DS18B20在線時,主機發出該命令和一個64位數列,DS18B20內部ROM與主機序列一致者,才能響應主機發送的寄存器操作指令,其它的DS18B20則等待複位。該指令也可用於單片DS18B20的情況。
c. 跳過ROM檢測指令(CCH):若係統隻用了一片DS18B20,該指令允許主機跳過ROM序列號檢測而直接對寄存器操作,從而節省了時間。對於多片DS18B20測溫係統,該指令將引起數據衝突。
d. 查詢指令(F0H):該指令可以使主機查詢到總線上有多少片DS18B20,以及各自的64位序列號。
e. 報警查詢指令(ECH):該指令的操作過程同查詢指令,但是僅當上次溫度測量值已置為報警標誌時,DS18B20才響應該指令。
(3)發送存儲器指令,如下表所示:
DS18B20 的RAM指令集
a. 寫入指令(4EH):該指令把數據依次寫入高溫報警觸發器TH、低溫報警觸發器TL和配置寄存器。命令複位信號發出之前必須把這三個字節寫完。
b. 寫出指令(BEH):該指令可以讀出寄存器中的內容,從第1字節開始,直到讀完第9個字節,如果僅需要讀取寄存器中的部分內容,主機可以在合適的時候發出複位指令以結束該過程。
c. 複製命令(48H):該指令把高速緩存器中第 2 ~ 4 字節轉存到DS18B20的EEPROM中。命令發出後,主機發出讀指令來讀總線,如果轉存正在進行時主機讀總線結果為0,而轉存結束則為1。
d. 開始轉換指令(44H):DS18B20收到該指令後立即開始溫度轉換,不需要其他數據。此時DS18B20處於空閑狀態,當溫度轉換正在進行時主機讀總線結果為0,轉換結束則為1.
e. 回調指令(B8H):該指令把EEPROM中的內容回調至寄存器TH、TL和配置寄存器單元中。命令發出後如果主機接著讀總線,則讀結果為0表示忙,為1表示回調結束。
f. 讀電源標誌命令(B4H):主機發出該指令後讀總線,DS18B20將發送電源標誌,0表示數據線供電,1表示外接電源。
(4)進行數據通信。
七、DS18B20 使用中注意事項
DS1820 雖然具有測溫係統簡單、測溫精度高、連接方便、占用口線少等優點,但在實際應用中也應注意以下幾方麵的問題:
(1)每讀寫之前都要對 DS18B20 進行複位,複位成功後發送一條 ROM 指令,發送 RAM 指令,這樣才能對 DS18B20 進行預定的操作。複位要求主 CPU 將數據線下拉 500 us,然後釋放, DS18B20 收到信號後等待 16 ~60 us左右,後發出 60~240 us的存在低脈衝,主 CPU 收到此信號表示複位成功。(所有的讀寫時序至少需要 60us ,且每個獨立的時序之間至少需要 1us 的恢複時間。在寫時序時,主機將在下拉低總線 15us 之內釋放總線,並向單總線器件寫 1 ;若主機拉低總線後能保持至少 60us 的低電平,則向單總線器件寫 0 。danzongxianjinzaizhujifachuduxieshixushicaixiangzhujichuansongshuju,suoyi,dangzhujixiangdanzongxianqijianfachudushujuzhilinghou,bixumashangchanshengdushixu,yibiandanzongxianqijiannengchuanshushuju。)
(2)在寫數據時,寫 0 時單總線至少被拉低 60us, 寫 1 時 ,15us 內就得釋放總線。
(3)轉化後得到的 12 位數據,存儲在 18B20 的兩個 8 比特的 RAM 中,二進製中的前麵 5 位是符號位,如果測得的溫度大於 0 ,這 5 位為 0 ,隻要將測到的數值乘於 0.0625 即可得到實際溫度;如果溫度小於 0 ,這 5 位為 1 ,測到的數值需要取反加 1 再乘於 0.0625 即可得到實際溫度。
(4)較小的硬件開銷需要相對複雜的軟件進行補償,由於 DS1820 與微處理器間采用串行數據傳送,因此,在對 DS1820 進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。在使用 PL/M 、 C 等語言進行係統程序設計時,對 DS1820 操作部分采用彙編語言實現。
(5) 在 DS1820 的有關資料中均未提及單總線上所掛 DS1820 數量問題,容易使人誤認為可以掛任意多個 DS1820 ,在實際應用中並非如此。當單總線上所掛 DS1820 超過 8 個時,就需要解決微處理器的總線驅動問題,這一點在進行多點測溫係統設計時要加以注意。
(6) 連接 DS1820 的總線電纜是有長度限製的。試驗中,當采用普通信號電纜傳輸長度超過 50m 時,讀取的測溫數據將發生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達 150m ,當dang采cai用yong每mei米mi絞jiao合he次ci數shu更geng多duo的de雙shuang絞jiao線xian帶dai屏ping蔽bi電dian纜lan時shi,正zheng常chang通tong訊xun距ju離li進jin一yi步bu加jia長chang。這zhe種zhong情qing況kuang主zhu要yao是shi由you總zong線xian分fen布bu電dian容rong使shi信xin號hao波bo形xing產chan生sheng畸ji變bian造zao成cheng的de。因yin此ci,在zai用yong DS1820 進行長距離測溫係統設計時要充分考慮總線分布電容和阻抗匹配問題。測溫電纜線建議采用屏蔽 4 芯雙絞線,其中一對線接地線與信號線,另一組接 VCC 和地線,屏蔽層在源端單點接地。
(7)在 DS1820 測溫程序設計中,向 DS1820 發出溫度轉換命令後,程序總要等待 DS1820 的返回信號,一旦某個 DS1820 接觸不好或斷線,當程序讀該 DS1820 時,將沒有返回信號,程序進入死循環。這一點在進行 DS1820 硬件連接和軟件設計時也要給予一定的重視。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
汽車LiDAR GaN的Design Win——高效功率轉換引領市場
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 直擊藍牙亞洲大會 2026:Nordic 九大核心場景演繹“萬物互聯”新體驗
- MCU市場份額飆升至36%,英飛淩鞏固全球車用芯片領導地位
- 應對軟件定義汽車挑戰,恩智浦推出FRDM Automotive開發平台
- 單機櫃900kW!曙光數創C8000 V3.0如何實現散熱效率3-5倍躍升?
- 從傳統保險絲到eFuse:汽車電路保護的智能化變革
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





