您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子元器件>傳感器>

ds18b20中文資料詳解

2017年11月06日 16:15 網(wǎng)絡(luò)整理 作者: 用戶評論(0

  DS18B20是常用的數(shù)字溫度傳感器,具有體積小,硬件開銷低,抗干擾能力強,精度高的特點。DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應用場合的不同而改變其外觀。

  封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。

  DS18B20的特點:

  DS18B20 單線數(shù)字溫度傳感器,即“一線器件”,其具有獨特的優(yōu)點:

 ?。?1 )采用單總線的接口方式 與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊。單總線具有經(jīng)濟性好,抗干擾能力強,適合于惡劣環(huán)境的現(xiàn)場溫度測量,使用方便等優(yōu)點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。

  ( 2 )測量溫度范圍寬,測量精度高 DS18B20 的測量范圍為 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C范圍內(nèi),精度為 ± 0.5°C 。

  ( 3 )在使用中不需要任何外圍元件。

 ?。?4 )持多點組網(wǎng)功能 多個 DS18B20 可以并聯(lián)在惟一的單線上,實現(xiàn)多點測溫。

 ?。?5 )供電方式靈活 DS18B20 可以通過內(nèi)部寄生電路從數(shù)據(jù)線上獲取電源。因此,當數(shù)據(jù)線上的時序滿足一定的要求時,可以不接外部電源,從而使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。

 ?。?6 )測量參數(shù)可配置 DS18B20 的測量分辨率可通過程序設(shè)定 9~12 位。

 ?。?7 ) 負壓特性電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。

 ?。?8 )掉電保護功能 DS18B20 內(nèi)部含有 EEPROM ,在系統(tǒng)掉電以后,它仍可保存分辨率及報警溫度的設(shè)定值。

  DS18B20 具有體積更小、適用電壓更寬、更經(jīng)濟、可選更小的封裝方式,更寬的電壓適用范圍,適合于構(gòu)建自己的經(jīng)濟的測溫系統(tǒng),因此也就被設(shè)計者們所青睞。

  DS18B20內(nèi)部結(jié)構(gòu):

  主要由4部分組成:64 位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個DS18B20的64位序列號均不相同。64位ROM的排的循環(huán)冗余校驗碼(CRC=X^8+X^5+X^4+1)。 ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。

  ds18b20中文資料詳解

  DS18B20管腳排列:

  1. GND為電源地;

  2. DQ為數(shù)字信號輸入/輸出端;

  3. VDD為外接供電電源輸入端(在寄生電源接線方式時接地)

  ds18b20中文資料詳解

  DS18B20內(nèi)部構(gòu)成:

  高速暫存存儲器由9個字節(jié)組成,當溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,對應的溫度計算:當符號位S=0時,直接將二進制位轉(zhuǎn)換為十進制;當S=1時,先將補碼變?yōu)樵a,再計算十進制值。

  ds18b20中文資料詳解

  溫度的低八位數(shù)據(jù) 0

  溫度的高八位數(shù)據(jù) 1

  高溫閥值 2

  低溫閥值 3

  保留 4

  保留 5

  計數(shù)剩余值 6

  每度計數(shù)值 7

  CRC 校驗 8

  DS18B20中的溫度傳感器完成對溫度的測量,用16位二進制形式提供,形式表達,其中S為符號位。

  ds18b20中文資料詳解

  例如:

  +125℃的數(shù)字輸出07D0H

 ?。ㄕ郎囟戎苯影?6進制數(shù)轉(zhuǎn)成10進制即得到溫度值 )

  -55℃的數(shù)字輸出為 FC90H。

 ?。ㄘ摐囟劝训玫降?6進制數(shù)取反后加1 再轉(zhuǎn)成10進制數(shù))

  ds18b20中文資料詳解

  DS18B20的工作時序:

  初始化時序

  ds18b20中文資料詳解

  主機首先發(fā)出一個480-960微秒的低電平脈沖,然后釋放總線變?yōu)楦唠娖?,并在隨后的480微秒時間內(nèi)對總線進行檢測,如果有低電平出現(xiàn)說明總線上有器件已做出應答。若無低電平出現(xiàn)一直都是高電平說明總線上無器件應答。

  做為從器件的DS18B20在一上電后就一直在檢測總線上是否有480-960微秒的低電平出現(xiàn),如果有,在總線轉(zhuǎn)為高電平后等待15-60微秒后將總線電平拉低60-240微秒做出響應存在脈沖,告訴主機本器件已做好準備。若沒有檢測到就一直在檢測等待。

  寫操作

  ds18b20中文資料詳解

  寫周期最少為60微秒,最長不超過120微秒。寫周期一開始做為主機先把總線拉低1微秒表示寫周期開始。隨后若主機想寫0,則繼續(xù)拉低電平最少60微秒直至寫周期結(jié)束,然后釋放總線為高電平。若主機想寫1,在一開始拉低總線電平1微秒后就釋放總線為高電平,一直到寫周期結(jié)束。而做為從機的DS18B20則在檢測到總線被拉底后等待15微秒然后從15us到45us開始對總線采樣,在采樣期內(nèi)總線為高電平則為1,若采樣期內(nèi)總線為低電平則為0。

  讀操作

  ds18b20中文資料詳解

  對于讀數(shù)據(jù)操作時序也分為讀0時序和讀1時序兩個過程。讀時隙是從主機把單總線拉低之后,在1微秒之后就得釋放單總線為高電平,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在檢測到總線被拉低1微秒后,便開始送出數(shù)據(jù),若是要送出0就把總線拉為低電平直到讀周期結(jié)束。若要送出1則釋放總線為高電平。主機在一開始拉低總線1微秒后釋放總線,然后在包括前面的拉低總線電平1微秒在內(nèi)的15微秒時間內(nèi)完成對總線進行采樣檢測,采樣期內(nèi)總線為低電平則確認為0。采樣期內(nèi)總線為高電平則確認為1。完成一個讀時序過程,至少需要60us才能完成

  DS18B20 單線通信

  DS18B20 單線通信功能是分時完成的,他有嚴格的時隙概念,如果出現(xiàn)序列混亂, 1-WIRE 器件將不響應主機,因此讀寫時序很重要。系統(tǒng)對 DS18B20 的各種操作必須按協(xié)議進行。根據(jù) DS18B20 的協(xié)議規(guī)定,微控制器控制 DS18B20 完成溫度的轉(zhuǎn)換必須經(jīng)過以下 3個步驟 :

 ?。?)每次讀寫前對 DS18B20 進行復位初始化。復位要求主 CPU 將數(shù)據(jù)線下拉 500us ,然后釋放, DS18B20 收到信號后等待 16us~60us 左右,然后發(fā)出60us~240us 的存在低脈沖,主 CPU 收到此信號后表示復位成功。

 ?。?)發(fā)送一條 ROM 指令

  ds18b20中文資料詳解

 ?。?)發(fā)送存儲器指令

  ds18b20中文資料詳解

  具體操作舉例:

  現(xiàn)在我們要做的是讓DS18B20進行一次溫度的轉(zhuǎn)換,那具體的操作就是:

  1、主機先作個復位操作,

  2、主機再寫跳過ROM的操作(CCH)命令,

  3、然后主機接著寫個轉(zhuǎn)換溫度的操作命令,后面釋放總線至少一秒,讓DS18B20完成轉(zhuǎn)換的操作。在這里要注意的是每個命令字節(jié)在寫的時候都是低字節(jié)先寫,例如CCH的二進制為11001100,在寫到總線上時要從低位開始寫,寫的順序是“零、零、壹、壹、零、零、壹、壹”。整個操作的總線狀態(tài)如下圖。

  ds18b20中文資料詳解

  讀取RAM內(nèi)的溫度數(shù)據(jù)。同樣,這個操作也要接照三個步驟。

  1、主機發(fā)出復位操作并接收DS18B20的應答(存在)脈沖。

  2、主機發(fā)出跳過對ROM操作的命令(CCH)。

  3、主機發(fā)出讀取RAM的命令(BEH),隨后主機依次讀取DS18B20發(fā)出的從第0一第8,共九個字節(jié)的數(shù)據(jù)。如果只想讀取溫度數(shù)據(jù),那在讀完第0和第1個數(shù)據(jù)后就不再理會后面DS18B20發(fā)出的數(shù)據(jù)即可。同樣讀取數(shù)據(jù)也是低位在前的。整個操作的總線狀態(tài)如下圖:

  ds18b20中文資料詳解

非常好我支持^.^

(23128) 82.1%

不好我反對

(5036) 17.9%

( 發(fā)表人:陳翠 )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?