DIY/電路設計必備:詳解測溫芯片DS18B20
發布時間:2013-10-13 責任編輯:sherryyu
下麵開始技術部分。
第一部分:DS18B20的封裝和管腳定義
首先,我們來認識一下DS18B20這款芯片的外觀和針腳定義,DS18B20芯片的常見封裝為TO-92,也就是普通直插三極管的樣子,當然也可以找到以SO(DS18B20Z)和μSOP(DS18B20U)形式封裝的產品,下麵為DS18B20各種封裝的圖示及引腳圖。

了解了這些該芯片的封裝形式,下麵就要說到各個管腳的定義了,如下表即為該芯片的管腳定義:

上麵的表中提到了一個“奇怪”的詞——“寄生電源”,那我有必要說明一下了,DS18B20芯片可以工作在“寄生電源模式”下,該模式允許DS18B20工作在無外部電源狀態,當總線為高電平時,寄生電源由單總線通過VDD引腳,此時DS18B20可以從總線“竊取”能量,並將“偷來”的能量儲存到寄生電源儲能電容(Cpp)中,當總線為低電平時釋放能量供給器件工作使用。所以,當DS18B20工作在寄生電源模式時,VDD引腳必須接地。
[page]
第二部分:DS18B20的多種電路連接方式
如下麵的兩張圖片所示,分別為外部供電模式下單隻和多隻DS18B20測溫係統的典型電路連接圖。
(1)外部供電模式下的單隻DS18B20芯片的連接圖

(2)外部供電模式下的多隻DS18B20芯片的連接圖

這裏需要說明的是,DS18B20芯(xin)片(pian)通(tong)過(guo)達(da)拉(la)斯(si)公(gong)司(si)的(de)單(dan)總(zong)線(xian)協(xie)議(yi)依(yi)靠(kao)一(yi)個(ge)單(dan)線(xian)端(duan)口(kou)通(tong)訊(xun),當(dang)全(quan)部(bu)器(qi)件(jian)經(jing)由(you)一(yi)個(ge)三(san)態(tai)端(duan)口(kou)或(huo)者(zhe)漏(lou)極(ji)開(kai)路(lu)端(duan)口(kou)與(yu)總(zong)線(xian)連(lian)接(jie)時(shi),控(kong)製(zhi)線(xian)需(xu)要(yao)連(lian)接(jie)一(yi)個(ge)弱(ruo)上(shang)拉(la)電(dian)阻(zu)。在(zai)多(duo)隻(zhi)DS18B20連接時,每個DS18B20都擁有一個全球唯一的64位序列號,在這個總線係統中,微處理器依靠每個器件獨有的64位片序列號辨認總線上的器件和記錄總線上的器件地址,從而允許多隻DS18B20同時連接在一條單線總線上,因此,可以很輕鬆地利用一個微處理器去控製很多分布在不同區域的DS18B20,這一特性在環境控製、探測建築物、儀器等溫度以及過程監測和控製等方麵都非常有用。
對於DS18B20的電路連接,除了上麵所說的傳統的外部電源供電時的電路連接圖,DS18B20也可以工作在“寄生電源模式”,而下圖則表示了DS18B20工作在“寄生電源模式”下的電路連接圖。沒錯,這樣就可以使DS18B20工作在寄生電源模式下了,不用額外的電源就可以實時采集到位於多個地點的溫度信息了。

[page]
第三部分:DS18B20內部寄存器解析及工作原理
介紹完DS18B20的封裝、針腳定義和連接方式後,我們有必要了解DS18B20芯片的各個控製器、存儲器的相關知識,如下圖所示,為DS18B20內部主要寄存器的結果框圖。

結合圖中的內部寄存器框圖,我們先簡單說一下DS18B20芯片的主要寄存器工作流程,而在對DS18B20工作原理進行詳細說明前,有必要先上幾張相關圖片:
(1)DS18B20內部寄存器結構圖

(2)DS18B20主要寄存器數據格式圖示

[page]
(3)DS18B20通訊指令圖

了解了這些內部結構和細節,下麵說一下DS18B20芯片的工作原理。
DS18B20啟動後將進入低功耗等待狀態,當需要執行溫度測量和AD轉換時,總線控製器(多為單片機)發出[44H]指令完成溫度測量和AD轉換(其他功能指令見上麵的指令表),DS18B20將產生的溫度數據以兩個字節的形式存儲到高速暫存器的溫度寄存器中,然後,DS18B20繼續保持等待狀態。當DS18B20芯片由外部電源供電時,總線控製器在溫度轉換指令之後發起“讀時隙”(詳見本文的“DS18B20時隙圖”),從而讀出測量到的溫度數據通過總線完成與單片機的數據通訊(DS18B20正在溫度轉換中由DQ引腳返回0,轉換結束則返回1。如果DS18B20由寄生電源供電,除非在進入溫度轉換時總線被一個強上拉拉高,否則將不會有返回值)。另外,DS18B20在完成一次溫度轉換後,會將溫度值與存儲在TH(高溫觸發器)和TL(低溫觸發器)中各一個字節的用戶自定義的報警預置值進行比較,寄存器中的S標誌位(詳見寄存器格式圖示中的“TH和TL寄存器格式”圖示)指出溫度值的正負(S=0時為正,S=1時為負),如果測得的溫度高於TH或者低於TL數值,報警條件成立,DS18B20內部將對一個報警標識置位,此時,總線控製器通過發出報警搜索命令[ECH]檢測總線上所有的DS18B20報警標識,然後,對報警標識置位的DS18B20將響應這條搜索命令。
第四部分:針對DS18B20的單片機編程
針對DS18B20的de編bian程cheng,可ke以yi理li解jie為wei總zong線xian控kong製zhi器qi通tong過guo相xiang關guan指zhi令ling操cao作zuo器qi件jian或huo者zhe器qi件jian中zhong的de相xiang應ying寄ji存cun器qi,從cong而er完wan成cheng器qi件jian也ye總zong線xian控kong製zhi器qi的de數shu據ju通tong信xin,所suo以yi要yao真zhen正zheng搞gao定dingDS18B20的通訊編程,還需要詳細的了解該芯片的各種寄存器結構、寄存器數據格式和相關的指令係統,下麵我們就結合上麵圖示,說說DS18B20的內部存儲器結構。
DS18B20的每個暫存器都有8bit存儲空間,用來存儲相應數據,其中位0和位1分別為溫度數據的低位和高位,用來儲存測量到的溫度值,且這兩個字節都是隻讀的;位2和位3為TH、TL告警觸發值的拷貝,可以在從片內的電可擦可編程隻讀存儲器EEPROM中讀出,也可以通過總線控製器發出的[48H]指令將暫存器中TH、TL的值寫入到EEPROM,掉電後EEPROM中的數據不會丟失;位4的配置寄存器用來配置溫度轉換的精確度(最大為12位精度);位5、6、7為保留位,禁止寫入;位8亦為隻讀存儲器,用來存儲以上8字節的CRC校驗碼。
參考上麵的DS18B20通訊指令圖,即為DS18B20芯片中主要寄存器的數據格式和必要的個別標識位說明,隻要做到對寄存器數據精準的控製,就可以很容易的完成DS18B20的程序編寫,而對於總線控製器發出的控製指令,我們需要知道,DS18B20的指令包括ROM指令和功能指令,其中ROM指令用來進行ROM的操作,而功能指令則可以控製DS18B20完成溫度轉換,寄存器操作等功能性工作。一旦總線控製器檢測到一個存在脈衝,它就會發出一條ROM指令,如果總線上掛載多隻DS18B20,這些指令將利用器件獨有的64位ROM片序列碼選出特定的要進行操作的器件,同樣,這些指令也可以識別哪些器件符合報警條件等。在總線控製器發給要連接的DS18B20一條ROM指令後,就可以發送一條功能指令完成相關的工作了,也就是說,總線控製器在發起一條DS18B20功能指令前,需要首先發出一條ROM指令。了解了這些功能指令的功能和用法,再對DS18B20編程就容易多了!~
[page]
第五部分:DS18B20芯片的兩點使用心得
(1)對TH(高溫觸發寄存器)和TL(低溫觸發寄存器)的操作心得
針對於DS18B20中TH(高溫觸發寄存器)和TL(低溫觸發寄存器),可以找到的代碼資料很少,而如果在某一測溫係統中需要用到TH和TL寄存器時,其實不必覺得無從下手,參見本帖中的“DS18B20寄存器結構”,總線控製器的讀操作將從位0開始逐步向下讀取數據,直到讀完位8,而且TH和TL寄存器的內部結構和數據格式和片內其他寄存器是相同的,當然,針對TH和TL寄存器的讀寫和其他片內寄存器的讀寫也是相同的,所以在實際應用中,當DS18B20初始化完成後,首先通過總線控製器發出的[B8H]指令將EEPROM中保存的數據召回到暫存器的TH和TL中,然後通過總線控製器發出的“讀時隙”對器件暫存器進行讀操作,隻要將讀到的每8bit數據及時獲取,就可以很容易地通過總線控製器讀出TH和TL寄存器數據;總線控製器對器件的寫操作原理亦然,換句話說,隻要掌握了其他寄存器的操作編程,就完全可以很容易地對TH和TL這兩個報警值寄存器進行讀寫操作。同時,可以通過[48H]指令將TH和TL寄存器數據拷貝到EEPROM中進行保存。
(2)對DS18B20通訊時隙的掌握心得
在由DS18B20芯片構建的溫度檢測係統中,采用達拉斯公司獨特的單總線數據通訊方式,允許在一條總線上掛載多個DS18B20,那麼,在對DS18B20的操作和控製中,由總線控製器發出的時隙信號就顯得尤為重要。如下圖所示,分別為DS18B20芯片的上電初始化時隙、總線控製器從DS18B20讀取數據時隙、總線控製器向DS18B20寫入數據時隙的示意圖,在係統編程時,一定要嚴格參照時隙圖中的時間數據,做到精確的把握總線電平隨時間(微秒級)的變化,才能夠順利地控製和操作DS18B20。另(ling)外(wai),需(xu)要(yao)注(zhu)意(yi)到(dao)不(bu)同(tong)單(dan)片(pian)機(ji)的(de)機(ji)器(qi)周(zhou)期(qi)是(shi)不(bu)盡(jin)相(xiang)同(tong)的(de),所(suo)以(yi),程(cheng)序(xu)中(zhong)的(de)延(yan)時(shi)函(han)數(shu)並(bing)不(bu)是(shi)完(wan)全(quan)一(yi)樣(yang),要(yao)根(gen)據(ju)單(dan)片(pian)機(ji)不(bu)同(tong)的(de)機(ji)器(qi)周(zhou)期(qi)有(you)所(suo)改(gai)動(dong)。在(zai)平(ping)常(chang)的(de)DS18B20程序調試中,若發現諸如溫度顯示錯誤等故障,基本上都是由於時隙的誤差較大甚至時隙錯誤導致的,在對DS18B20編程時需要格外注意。
上電初始化時隙圖

數據讀取時通訊總線的時隙圖

數據寫入時通訊總線的時隙圖

相關閱讀:
一種高精度測溫裝置的設計
http://0-fzl.cn/sensor-art/80008110
基於熱釋電傳感器p7187的人體測溫儀的設計
http://0-fzl.cn/sensor-art/80000246
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 具身智能成最大亮點!CITE 2026開幕峰會釋放產業強信號
- 助力醫療器械產業高質量發展 派克漢尼汾閃耀2026 ICMD
- 比異步時鍾更隱蔽的“芯片殺手”——跨複位域(RDC)問題
- 數據之外:液冷技術背後的連接器創新
- “眼在手上”的嵌入式實踐:基於ROS2與RK3576的機械臂跟隨抓取方案
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall






