女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文全面詳解數字溫度傳感器DS18B20

微云疏影 ? 來源:維庫 ? 作者:維庫 ? 2023-06-24 11:26 ? 次閱讀

一、概述

傳統的溫度檢測大多以熱敏電阻傳感器,采用熱敏電阻,可滿足40℃至90℃測量范圍,但熱敏電阻可靠性差,測量溫度準確率低,對于小于1℃的溫度信號是不適用的,還得經過專門的接口電路轉換成數字信號才能由微處理器進行處理。

目前常用的微機與外設之間進行的數據通信的串行總線主要有I2C總線,SPI總線等。其中I2C總線以同步串行2線方式進行通信(一條時鐘線,一條數據線),SPI總線則以同步串行3線方式進行通信(一條時鐘線,一條數據輸入線,一條數據輸出線)。這些總線至少需要兩條或兩條以上的信號線。而單總線( 1-wire bus ),采用單根信號線,既可傳輸數據,而且數據傳輸是雙向的, CPU 只需一根端口線就能與諸多單總線器件通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。 因而,這種單總線技術具有線路簡單,硬件開銷少,成本低廉,軟件設計簡單,便于總線擴展和維護。同時,基于單總線技術能較好地解決傳統識別器普遍存在的攜帶不便,易損壞,易受腐饋,易受電磁干擾等不足,因此,單總線具有廣闊的應用前景,是值得關注的一個發展領域。

單總線即只有一根數據線,系統中的數據交換,控制都由這根線完成。主機或從機通過一個漏極開路或三態端口連至數據線,以允許設備在不發送數據時能夠釋放總線,而讓其它設備使用總線。單總線通常要求外接一個約為 4.7K的上拉電阻,這樣,當總線閑置時其狀態為高電平。

DS18B20數字式溫度傳感器,與傳統的熱敏電阻有所不同的是,使用集成芯片,采用單總線技術,其能夠有效的減小外界的干擾,提高測量的精度。同時,它可以直接將被測溫度轉化成串行數字信號供微機處理,接口簡單, 使數據傳輸和處理簡單化。 部分功能電路的集成,使總體硬件設計更簡潔,能有效地降低成本,搭建電路和焊接電路時更快,調試也更方便簡單化,這也就縮短了開發的周期 。

DS18B20單線數字溫度傳感器,即“一線器件”,其具有獨特的優點:

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

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

( 3 )在使用中不需要任何外圍元器件即可實現測溫。

( 4 )多點組網功能。多個DS18B20可以并聯在惟一的三線上,實現多點測溫。

( 5 )供電方式靈活。DS18B20可以通過內部寄生電路從數據線上獲取電源。因此,當數據線上的時序滿足一定的要求時,可以不接外電源,從而使系統結構更趨簡單,可靠性更高。

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

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

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

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

二、DS18B20測溫原理

wKgaomSOeVuADNpkAAA9-qkEKoY772.jpg

DS18B20 的內部測溫電路框圖

低溫度系數晶振的振蕩頻率受溫度的影響很小,用于產生固定頻率的脈沖信號送給減法計數器1,為計數器提供一頻率穩定的計數脈沖。高溫度系數晶振隨溫度變化其震蕩頻率明顯改變,很敏感的振蕩器,所產生的信號作為減法計數器2的脈沖輸入,為計數器2提供一個頻率隨溫度變化的計數脈沖。圖中還隱含著計數門,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖進行計數,進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將-55℃ 所對應的基數分別置入減法計數器1和溫度寄存器中,減法計數器 1 和溫度寄存器被預置在-55℃ 所對應的一個基數值。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到減法計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數器的預置值,只要計數門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值。

三、DS18B20 的管腳排列及封裝圖

wKgZomSOeVuAW23zAAAnLyBTySQ632.jpg

DS18B20 實物管腳分布圖

DQ為數字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端,電源供電 3.0~5.5V (在寄生電源接線方式時接地)。

DS18B20的硬件接口非常簡單。供電方式為計生電源供電或外部供電。

wKgaomSOeVyABjGyAAAW30gF9_s651.jpg

寄生電源工作方式

采用寄生電源供電時,在遠程溫度測量和測量空間受限的情況下特別有價值。寄生電源供電的原理是在數據線為高電平的時候“竊取”數據線的電源,電荷被存儲在寄生供電電容上,用于在數據線為低的時候為設備提供電源。需要注意的是,DS18B20在進行溫度轉換或者將高速緩存里面的數據復制到EEPROM中時,所需的電流會達到1.5mA,超出了電容所能提供的電流,此時可采用一個MOSFET三極管來供電。

wKgZomSOeVyABlUTAAAccvqVs0M948.jpg

外接電源工作方式

當DS18B20采用外部供電時,只需將其數據線,與單片機的一位雙向端口相連就可以實現數據的傳遞。

注意:當溫度高于100℃ 時,不能使用寄生電源,因為此時器件中較大的漏電流會使總線不能可靠檢測高低電平,從而導致數據傳輸誤碼率的增大。

四、DS18B20 內部結構

wKgaomSOeVyADPSyAABQ5pfLbEk198.jpg

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 的目的。

wKgZomSOeVyARnMOAAAQnIQmehA030.jpg

64B閃速ROM

DS18B20 中的溫度傳感器用于完成對溫度的測量,它的測量精度可以配置成9位,10位,11位或12位四種狀態。溫度傳感器在測量完成后將測量的結果存儲在 DS18B20 的兩個8BIT的RAM中,單片機可通過單線接口讀到該數據,讀取時低位在前,高位在后。數據的存儲格式如下表(以 12 位轉化為例):

wKgaomSOeVyAdmF0AAAjFw0N1NM109.jpg

溫度信號寄存器格式

這是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的分布如下:

wKgZomSOeV2ASpiQAABPfY_vLtg670.jpg

DS18B20 的暫存寄存器分布

在 64B ROM 的有效字節中存儲有循環冗余校驗碼( CRC )。主機根據 ROM 的前 56 位來計算 CRC 值,并和存入 DS18B20 中的 CRC 值做比較,以判斷主機收到的 ROM 數據是否正確。

1. 設置寄存器

該位于高速閃存的第5個字節,這個寄存器中的內容被用來確定測試模式和溫度的轉換精度。寄存器各位的內容如下:

wKgaomSOeV2AeltFAAAj1qMlMjw046.jpg

DS18B20 的設置寄存器各位內容

該寄存器的低五位一直都是 1 , TM 是測試模式位,用于設置 DS18B20 在工作模式還是在測試模式。在 DS18B20 出廠時該位被設置為 0 ,用戶不要去改動。 R1 和 R0 用來設置分辨率,如下表所示:( DS18B20 出廠時被設置為 12 位)

wKgZomSOeV2AYT67AAA3RfFmasw042.jpg

分辨率設置

由表可知,設定的分辨率越高,所需要的溫度數據轉換時間就越長。因此,在實際應用中要在分辨率和轉換時間權衡考慮。

六、DS18B20 的溫度測量

1-WIRE 網絡具有嚴謹的控制結構,其結構如下圖所示,一般通過雙絞線與 1-WIRE 元件進行數據通信,它們通常被定義為漏極開路端點,主/從式多點結構,而且一般都在主機端接上一個上拉電阻 +5V 電源。通常為了給 1-WIRE 設備提供足夠的電源,需要一個 MOSFET 管將 1-WIRE 總線上拉至 +5V 電源。

wKgaomSOeV2AJ7BWAAAxlVMUxeY807.jpg

DS18B20 組成的 1-WIRE 網絡

1-WIRE 網絡通信協議是分時定義的,有嚴格的時隙概念,下圖是復位脈沖的時隙。

wKgZomSOeV6AYCl-AABfj_bGTWo725.jpg

1-WIRE 協議的復位脈沖時隙

wKgaomSOeV6AM7tPAADCLqPcT1E548.jpg

wKgZomSOeV6AUghSAAAgwNZnE0s514.jpg

1-WIRE 讀寫“ 0/ 1 ” 時隙

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

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

(2)發送一條 ROM 指令,如下表所示:

wKgaomSOeV6AUtTkAACyHStI1yE089.jpg

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)發送存儲器指令,如下表所示:

wKgZomSOeV6ARvjPAADBtCEM5AY619.jpg

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 。單總線僅在主機發出讀寫時序時才向主機傳送數據,所以,當主機向單總線器件發出讀數據指令后,必須馬上產生讀時序,以便單總線器件能傳輸數據。)

(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 ,當采用每米絞合次數更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產生畸變造成的。因此,在用 DS1820 進行長距離測溫系統設計時要充分考慮總線分布電容和阻抗匹配問題。測溫電纜線建議采用屏蔽 4 芯雙絞線,其中一對線接地線與信號線,另一組接 VCC 和地線,屏蔽層在源端單點接地。

(7)在 DS1820 測溫程序設計中,向 DS1820 發出溫度轉換命令后,程序總要等待 DS1820 的返回信號,一旦某個 DS1820 接觸不好或斷線,當程序讀該 DS1820 時,將沒有返回信號,程序進入死循環。這一點在進行 DS1820 硬件連接和軟件設計時也要給予一定的重視。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1775

    瀏覽量

    94649
  • 數據通信
    +關注

    關注

    2

    文章

    464

    瀏覽量

    34284
  • I2C總線
    +關注

    關注

    8

    文章

    408

    瀏覽量

    61915
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    DS18B20 數字溫度計特點

    .DS18B20特點 DS18B20 數字溫度計提供12位(二進制)溫度讀數的
    的頭像 發表于 09-11 11:19 ?3548次閱讀
    <b class='flag-5'>DS18B20</b> <b class='flag-5'>數字</b><b class='flag-5'>溫度</b>計特點

    數字溫度傳感器DS18B20應用

    數字溫度傳感器DS18B20應用
    發表于 03-27 19:50

    DS18B20溫度傳感器是什么

    DALLAS最新單線數字溫度傳感器DS18B20簡介新的“線器件”體積更小、適用電壓更寬、更經濟 Dallas 半導體公司的
    發表于 04-27 08:14

    讀懂DS18B20溫度傳感器及編程

    讀懂DS18B20溫度傳感器及編程對于新手而言,DS18B20基本概念僅做了解,最重要的是利
    發表于 07-06 07:10

    數字溫度傳感器DS18B20的設計及應用

    數字溫度傳感器DS18B20的設計及應用 1引言 DS18B20是DALLAS公司生產的
    發表于 04-02 18:00 ?3008次閱讀
    <b class='flag-5'>數字</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b><b class='flag-5'>DS18B20</b>的設計及應用

    DS18B20數字溫度傳感器

    本設計基于單片機STM32開發板,對DS18B20數字溫度傳感器進行控制,有源代碼
    發表于 05-11 14:54 ?42次下載

    溫度傳感器DS18B20

    溫度傳感器DS18B20 51例程,親測可用
    發表于 06-14 15:36 ?21次下載

    智能溫度傳感器DS18B20的原理與應用

    DS18B20是DALLAS公司生產的單線數字溫度傳感器,他具有獨特的單線總線接口方式。文章詳細的介紹了單線數字
    發表于 10-11 18:19 ?49次下載

    DS18B20數字溫度傳感器程序下載

    DS18B20數字溫度傳感器程序
    發表于 04-16 11:50 ?13次下載

    ds18b20的特性_ds18b20溫度傳感器應用

    本文首先介紹了ds18b20的特性,其次介紹了DS18B20工作原理,最后介紹了ds18b20溫度傳感器應用。
    發表于 04-24 09:10 ?1.2w次閱讀
    <b class='flag-5'>ds18b20</b>的特性_<b class='flag-5'>ds18b20</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>應用

    DS18B20單線數字溫度傳感器

    DS18B20單線數字溫度傳感器中文手冊說明。
    發表于 04-06 16:50 ?36次下載
    <b class='flag-5'>DS18B20</b>單線<b class='flag-5'>數字</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>

    數字溫度傳感器DS18B20介紹(普通與寄生電源)

    數字溫度傳感器DS18B20介紹(普通與寄生電源)
    發表于 01-05 14:55 ?11次下載
    <b class='flag-5'>數字</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b><b class='flag-5'>DS18B20</b>介紹(普通與寄生電源)

    DS18B20溫度傳感器數字溫度計設計案例

    本設計采用的主控芯片是ATMEL公司的AT89S52單片機,數字溫度傳感器是DALLAS公司的DS18B20。本設計用數字
    發表于 05-09 16:02 ?83次下載

    ds18b20溫度傳感器如何使用

    DS18B20款廣泛使用的數字溫度傳感器,它具有高精度、低功耗和易于使用的特點。 DS18B20
    的頭像 發表于 09-03 16:51 ?1497次閱讀

    ds18b20溫度傳感器怎么接線

    DS18B20種廣泛使用的數字溫度傳感器,它基于1-Wire(線)通信協議工作。這種
    的頭像 發表于 10-18 14:50 ?3948次閱讀