第二部分:DS18B20的多種電路連接方式
如下面的兩張圖片所示,分別為外部供電模式下單只和多只DS18B20測溫系統的典型電路連接圖。
(1)外部供電模式下的單只DS18B20芯片的連接圖
這里需要說明的是,DS18B20芯片通過達拉斯公司的單總線協議依靠一個單線端口通訊,當全部器件經由一個三態端口或者漏極開路端口與總線連接時,控 制線需要連接一個弱上拉電阻。在多只DS18B20連接時,每個DS18B20都擁有一個全球唯一的64位序列號,在這個總線系統中,微處理器依靠每個器 件獨有的64位片序列號辨認總線上的器件和記錄總線上的器件地址,從而允許多只DS18B20同時連接在一條單線總線上,因此,可以很輕松地利用一個微處 理器去控制很多分布在不同區域的DS18B20,這一特性在環境控制、探測建筑物、儀器等溫度以及過程監測和控制等方面都非常有用。
對 于DS18B20的電路連接,除了上面所說的傳統的外部電源供電時的電路連接圖,DS18B20也可以工作在“寄生電源模式”,而下圖則表示了 DS18B20工作在“寄生電源模式”下的電路連接圖。沒錯,這樣就可以使DS18B20工作在寄生電源模式下了,不用額外的電源就可以實時采集到位于多 個地點的溫度信息了。
第三部分:DS18B20內部寄存器解析及工作原理
介紹完DS18B20的封裝、針腳定義和連接方式后,我們有必要了解DS18B20芯片的各個控制器、存儲器的相關知識,如下圖所示,為DS18B20內部主要寄存器的結果框圖。
結合圖中的內部寄存器框圖,我們先簡單說一下DS18B20芯片的主要寄存器工作流程,而在對DS18B20工作原理進行詳細說明前,有必要先上幾張相關圖片:
(1)DS18B20內部寄存器結構圖
? (2)DS18B20主要寄存器數據格式圖示
(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將響應這條搜索命令。