在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

DS18B20溫度傳感器的工作原理和硬件設(shè)計

FPGA技術(shù)實戰(zhàn) ? 來源:FPGA技術(shù)實戰(zhàn) ? 2024-10-24 14:38 ? 次閱讀

引言:通過本文可以了解DS18B20溫度傳感器工作原理、硬件設(shè)計、DS18B20單總線接口驅(qū)動編寫。

1. 概述

DS18B20是常用的數(shù)字溫度傳感器,其輸出的是數(shù)字信號,具有體積小,硬件開銷低,抗干擾能力強,精度高的特點。

圖1:兩種封裝DS18B20實物圖

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

2.原理學習

2.1 芯片概述

DS18B20數(shù)字溫度計提供9到12bit分辨率的溫度測量,可以通過可編程非易失性存儲單元實現(xiàn)溫度的下限和上限報警。DS18B20采用單總線協(xié)議與上位機進行通信,只需要一根信號線和一根地線。它的溫度測量范圍為-55℃~ +125℃(-67°F to +257°F)。在-10℃~70℃范圍內(nèi)的測試精度可以達到±0.5℃。此外它還可以工作在寄生模式下,直接通過信號線對芯片供電,從而不需要額外的供電電源。每個DS18B20都有一個全球唯一的64位序列號,可以將多個DS18B20串聯(lián)在同一跟單總線上進行組網(wǎng),只需要一個處理器就可以控制分布在大面積區(qū)域中的多顆DS18B20。這種組網(wǎng)方式特別適合HVAC環(huán)境控制,建筑、設(shè)備、糧情測溫和工業(yè)測溫以及過程監(jiān)測控制等應(yīng)用領(lǐng)域。

2.2 管腳描述

wKgaoWcZ64uAWpc0AAFK836suuo941.png

圖2:常見封裝管腳定義

DS18B20管腳描述如下表所示。

表1:DS18B20管腳描述

wKgaoWcZ64uAQ9opAAGc5Qy-eWc205.png

2.3 芯片內(nèi)部結(jié)構(gòu)

wKgZoWcZ64uAAplEAAHRgoLKFkw938.png

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

2.4 硬件設(shè)計

DS18B20可以通過管腳VDD外部電源供電,也可以工作于寄生電源模式。

(1)寄生電源模式硬件設(shè)計

如圖所示,當總線處于高電平狀態(tài),DQ與外部上拉電阻連接通過單總線對器件供電。同時處于高電平狀態(tài)的總線信號對內(nèi)部電容(Cpp)充電(如圖3所示),在總線處于低電平狀態(tài)時,該電容提供能量給器件,該提供能量的方式成為“寄生電源”。當DS18B20處于寄生電源模式時,VDD管腳必須接地。

寄生電源模式下,單總線和CPP在大部分操作中能夠提供充分的滿足規(guī)定時序和電壓的電流(見直流電特性和交流電特性節(jié))給DS18B20。然而,當DS18B20正在執(zhí)行溫度轉(zhuǎn)換或從寄存器向EEPROM傳送數(shù)據(jù)時,工作電流可高達1.5mA。這個電流可能會引起連接在單總線上的弱上拉電阻不可接受的壓降,這需要更大的電流,而此時CPP無法提供。為了保證DS18B20有充足的供電,當進行溫度轉(zhuǎn)換或復(fù)制數(shù)據(jù)到EEPORM操作時,必須給單總線提供一個強上拉,采用MOSFET直接把總線上拉到電源上的方式實現(xiàn),如圖4所示。

wKgZoWcZ64uAN-wDAABWfmnRBKA217.png

圖4:溫度轉(zhuǎn)換器件寄生電源模式硬件設(shè)計

(2)外部供電模式硬件設(shè)計

對DS18B20供電的另外一種方法是傳統(tǒng)的從VDD管腳接入一個外部電源,如圖5所示。這樣做的好處是單總線上不需要強上拉,而且總線不用在溫度轉(zhuǎn)換期間總保持高電平。

wKgaoWcZ65CAHaJyAACsEG61l0M070.png

圖5:使用外部電源供電硬件設(shè)計

寄生電源模式在遠距離測試或空間受限的應(yīng)用場合是非常有用的。

對于溫度高于100℃時,不推薦使用寄生電源,因為DS18B20在這種溫度下表現(xiàn)出的漏電流比較大,通信可能無法進行。在類似這種溫度的情況下,強烈推薦使用DS18B20的VDD管腳供電。

2.5 寄存器詳解

(1) 64bit只讀寄存器

wKgaoWcZ65CAP2fIAAAKZjdjbSg684.png

圖6:64bit ROM編碼

每顆DS18B20都有一個全球唯一的存儲在ROM中的64位編碼。最低8bit是單線系列編碼:28h。接著的48位是一個唯一的序列號。最后高8bit是低56bit編碼的CRC編碼。CRC的詳細解釋見CRC發(fā)生器節(jié)。64位ROM和ROM操作控制區(qū)允許DS18B20作為單總線器件并按照詳述于單總線系統(tǒng)節(jié)的單總線協(xié)議工作。

(2)存儲器結(jié)構(gòu)

DS18B20的存儲器結(jié)構(gòu)如圖7所示。

wKgZoWcZ65CAfVt9AAQ4fl1_NxU815.png

圖7:DS18B20的存儲器結(jié)構(gòu)

(1)byte0和byte1:分別為溫度寄存器的LSB和MSB,這兩個字節(jié)的存儲器為只讀存儲器;

這個兩個字節(jié)寄存器用來存儲溫度傳感器輸出的數(shù)據(jù),寄存器格式如圖8所示。

wKgZoWcZ65CAZvWaAABNSG5fRqI189.png

圖8:溫度寄存器格式

溫度與數(shù)據(jù)數(shù)據(jù)格式對應(yīng)關(guān)系如圖9所示。"S"bit表示溫度符號位,上電復(fù)位時,溫度寄存器默認值為+85℃。

wKgZoWcZ65CAfD6-AAC5SslNrpw385.png

圖9:溫度/數(shù)據(jù)關(guān)系

(2)byte2和byte3:是TH和TL,注意當報警功能不能使用時,TH和TL寄存器可以被當作普通寄存器使用。TH,TL和配置寄存器均為非易失性的可擦除寄存器(EEPROM),該存儲的數(shù)據(jù)在器件掉電后不會消失。

wKgZoWcZ64uAWRx1AAAJSdXAdJs274.png

圖10:TH,TL寄存器格式

(3)byte4:配置寄存器。

配置寄存器允許用戶將溫度測量分辨率設(shè)定為9,10,11或12位,對應(yīng)的溫度分辨率分別為0.5℃、0.25℃、0.125℃和0.0625℃,芯片在上電狀態(tài)下默認的精度為12位。

配置寄存器的bit7和bit0到bit4被器件保留,禁止寫入;在讀數(shù)據(jù)時,它們?nèi)勘憩F(xiàn)為邏輯1。

wKgaoWcZ65CADMJZAAAJzKpxU7E960.png

圖11:配置寄存器格式

表2:傳感器精度配置表

wKgaoWcZ65CAcoUMAABjRH6I3MI935.png

(4)byte5:被器件保留,禁止寫入。

(5)byte6和byte7:用戶可以使用;

(6)byte8:只讀,包含以上八個字節(jié)的CRC碼。

2.6 DS18B20操作流程

通過單總線訪問DS18B20的執(zhí)行步驟如下:

步驟1:初始化;

步驟2:ROM操作指令;

步驟3:DS18B20功能指令。

每一次DS18B20的操作都必須滿足以上步驟,若是缺少步驟或是順序混亂,器件將不會有返回值。搜索ROM命令和報警搜索命令除外。當這兩個命令執(zhí)行時,主控制器必須返回步驟1。

2.7 單總線協(xié)議詳解

DS18B20采用單總線協(xié)議,通過一個單線端口通信。DS18B20需要嚴格的單總線協(xié)議以確保數(shù)據(jù)的完整性。協(xié)議定義了幾種單總線信號的類型:復(fù)位脈沖、存在脈沖、寫0、寫1、讀0和讀1。所有這些信號,除存在脈沖外,都是由總線控制器發(fā)出的。

(1)初始化:復(fù)位脈沖和存在脈沖

所有和DS18B20間的通信都以初始化序列開始,初始化序列如圖12所示。一個復(fù)位脈沖跟著一個存在脈沖表明DS18B20已經(jīng)準備好發(fā)送和接收數(shù)據(jù)。

wKgaoWcZ65CAGafBAADbBsNOK-0409.png

圖 12:初始化時序

如圖所示,初始化包括兩個階段:

①復(fù)位脈沖階段:總線控制器拉低總線并保持480us以發(fā)出(TX)一個復(fù)位脈沖信號,然后釋放總線;

檢測存在脈沖階段:當總線被釋放后,進入接收狀態(tài)(RX)。上拉電阻將總線拉到高電平。當DS18B20檢測到IO引腳上的上升沿后,等待1560us,然后發(fā)出一個由60240us低電平信號構(gòu)成的存在脈沖。

(2)寫時序

DS18B20有兩種寫時序:寫1時序和寫0時序。總線控制器通過寫1時序來寫邏輯1;通過寫0時序來寫邏輯0。寫時序必須最少持續(xù)60us,包括兩個寫周期之間至少1us的恢復(fù)時間。當總線控制器把數(shù)據(jù)線從邏輯高電平拉低到低電平的時候,寫時序開始(見圖13)。

wKgZoWcZ65CADm_2AAEOh7Mjzdw165.png

圖 13:寫時序

總線控制器要寫產(chǎn)生一個寫時序,必須把數(shù)據(jù)線拉到低電平然后釋放,且需在15us內(nèi)釋放總線。當總線被釋放后,上拉電阻將總線拉高。總線控制器要生成寫0時隙,必須把數(shù)據(jù)線拉到低電平且繼續(xù)保持至少60us。

總線控制器初始化寫時序后,DS18B20在一個15us到60us的窗口內(nèi)對信號線DQ進行采樣。如果線上是高電平,就是寫1。反之,如果線上是低電平,就是寫0。

(3)讀時序

總線控制器發(fā)起讀時序時,DS18B20僅被用來傳輸數(shù)據(jù)給控制器。因此,總線控制器在發(fā)出讀寄存器指令[BEh]或讀電源模式指令[B4h]后必須立刻開始讀時序,以便DS18B20提供請求的數(shù)據(jù)。除此之外,總線控制器在發(fā)出發(fā)送溫度轉(zhuǎn)換指令平[44h]或召回EEPROM指令[B8h]之后讀時序,詳見DS18B20功能指令節(jié)。

wKgZoWcZ65CAKPqoAAIDExzHpDs200.png

圖 14:讀時序

所有讀時序必須最少60us,包括兩個讀周期間至少1us的恢復(fù)時間。當總線控制把數(shù)據(jù)線從高電平拉低到低電平時,讀時序開始,數(shù)據(jù)線必須至少保持1us,然后總線被釋放(見圖14)。在總線控制器發(fā)出讀時序后,DS18B20過拉高或拉低總線上來傳輸1或0。當傳輸0結(jié)束后,總線將被釋放,通過上拉電阻回到高電平空閑狀態(tài)。從DS18B20輸出的數(shù)據(jù)在讀時序的下降沿出現(xiàn)后15us內(nèi)有效。因此,總線控制器在讀時序開始15us內(nèi)釋放總線然后采樣總線狀態(tài),以讀取數(shù)據(jù)線的狀態(tài)。

3.實戰(zhàn)操作

3.1 軟件設(shè)計

本文要利用LCD1602實現(xiàn)DS18B20溫度及時間實時顯示。具體功能如下:

(1)DS18B20單總線接口驅(qū)動功能;

(2)溫度值HEX轉(zhuǎn)BCD碼功能;

(3)時鐘計時器功能;

(4)LCD1602顯示DS18B20實時溫度及時間顯示。

軟件功能模塊劃分如圖15所示。

wKgaoWcZ65CAGm5PAAF5MSkdJn4091.png

圖15:軟件功能模塊框圖

各個模塊功能:

(1)ds18b20_test.v模塊為頂層模塊,實現(xiàn)模塊間互聯(lián);

(2)ds18b20_driver.v實現(xiàn)芯片單總線接口通信功能;

(3)hex_bcd.v實現(xiàn)溫度值HEX轉(zhuǎn)BCD碼功能;

(4)clock_timer.v實現(xiàn)時鐘計時器功能;

(5)lcd1602_driver.v實現(xiàn)DS18B20實時溫度及時間顯示。

DS18B20接口驅(qū)動ds18b20_driver.v軟件實現(xiàn)流程圖如圖16所示。

wKgaoWcZ65CAO07DAACRlx-C9Qc262.png

圖16:DS18B20溫度讀取控制流程圖

3.2 測試結(jié)果

軟件下載至電路板,顯示在LCD1602上,如圖17所示,可以看到DS18B20溫度及時間已經(jīng)正確顯示。

wKgZoWcZ65CALs2xAAgEWfGWQ1g520.png

圖17:DS18B20溫度及時間顯示

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

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603321
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    2940

    瀏覽量

    156067
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2881

    瀏覽量

    88082
  • DS18B20
    +關(guān)注

    關(guān)注

    10

    文章

    779

    瀏覽量

    80858
  • 驅(qū)動設(shè)計
    +關(guān)注

    關(guān)注

    1

    文章

    111

    瀏覽量

    15285

原文標題:基于FPGA的DS18B20溫度傳感器驅(qū)動設(shè)計

文章出處:【微信號:FPGA技術(shù)實戰(zhàn),微信公眾號:FPGA技術(shù)實戰(zhàn)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于STM32的DS18B20溫度傳感器設(shè)計

    DS18B20內(nèi)置了64位產(chǎn)品序列號,方便識別身份,在一根線上可以掛接多個DS18B20傳感器,通過64位身份驗證,可以分別讀取來至不同傳感器采集的
    的頭像 發(fā)表于 03-07 11:44 ?1.3w次閱讀
    基于STM32的<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>設(shè)計

    DS18B20溫度傳感器工作原理及其應(yīng)用電路圖

    本帖最后由 gk320830 于 2015-3-5 08:38 編輯   摘要:本文通過介紹DS18B20溫度傳感器工作原理并結(jié)合DS18B2
    發(fā)表于 02-21 14:43

    DS18B20溫度傳感器實驗

    STM32學習記錄:DS18B20溫度傳感器實驗(HAL庫)實驗摘要DS18B20簡述STMCubeMX引腳配置芯片選型引腳和時鐘配置生成ARM-MDK工程編寫
    發(fā)表于 08-18 07:44

    單總線數(shù)字溫度傳感器DS18B20的特性及工作原理

    介紹了單總線數(shù)字溫度傳感器DS18B20的特性及工作原理,給出了DS18B20與TMS320LF2407A 的接線圖并且非常詳細介紹了如何用
    發(fā)表于 07-28 09:59 ?114次下載

    數(shù)字溫度傳感器DS18B20的設(shè)計及應(yīng)用

    數(shù)字溫度傳感器DS18B20的設(shè)計及應(yīng)用 1引言 DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度
    發(fā)表于 04-02 18:00 ?2826次閱讀
    數(shù)字<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b><b class='flag-5'>DS18B20</b>的設(shè)計及應(yīng)用

    DS18B20完成溫度檢測的技巧

    介紹了DS18B20 溫度傳感器 的結(jié)構(gòu)和特點以及用DS18B20溫度傳感器進行
    發(fā)表于 08-23 10:44 ?190次下載
    <b class='flag-5'>DS18B20</b>完成<b class='flag-5'>溫度</b>檢測的技巧

    溫度傳感器DS18B20

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

    智能溫度傳感器DS18B20的原理與應(yīng)用

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

    ds18b20的特性_ds18b20溫度傳感器應(yīng)用

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

    單片機外設(shè)介紹:溫度傳感器 DS18B20

    文章目錄溫度傳感器 DS18B20溫度傳感器 DS18B20DS18B20 是美信公司的一款
    發(fā)表于 12-04 15:21 ?48次下載
    單片機外設(shè)介紹:<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b> <b class='flag-5'>DS18B20</b>

    DS18B20溫度傳感器工作原理

    DS18B20以其獨特的工作原理、卓越的技術(shù)參數(shù)和廣泛的應(yīng)用場景,成為了市場的明星產(chǎn)品。 深入了解DS18B20工作原理 DS18B20
    的頭像 發(fā)表于 06-19 16:01 ?1275次閱讀

    ds18b20溫度傳感器和dht11的區(qū)別

    DS18B20和DHT11都是常用的溫度和濕度傳感器,它們在許多項目和應(yīng)用中都有廣泛的應(yīng)用。 1. 工作原理 DS18B20
    的頭像 發(fā)表于 09-03 16:44 ?1645次閱讀

    ds18b20溫度傳感器如何使用

    Devices的一部分)生產(chǎn)的數(shù)字溫度傳感器。它能夠提供9位至12位的溫度測量數(shù)據(jù),具有高精度和可編程分辨率。DS18B20溫度測量范圍
    的頭像 發(fā)表于 09-03 16:51 ?669次閱讀

    ds18b20溫度傳感器怎么接線

    DS18B20是一種廣泛使用的數(shù)字溫度傳感器,它基于1-Wire(一線)通信協(xié)議工作。這種傳感器因其高精度、易用性和低成本而受到歡迎。
    的頭像 發(fā)表于 10-18 14:50 ?1365次閱讀

    ds18b20傳感器的使用方法

    Integrated開發(fā)的一種數(shù)字溫度傳感器,它能夠提供9位到12位的溫度測量精度,測量范圍從-55°C到+125°C。這種傳感器非常適合用于需要精確
    的頭像 發(fā)表于 10-18 14:52 ?811次閱讀
    主站蜘蛛池模板: 久久综合免费视频| 四虎电影院| 天天摸天天碰中文字幕| 色天天综合网色鬼综合| 激情啪啪网站| 欧美老汉色| 久热久热| 你懂的在线视频播放| 天天爱天天干天天操| 亚洲光棍天堂| 欧美婷婷综合| 日日干夜夜欢| 欧美爱爱帝国综合社区| 男人天堂色男人| 日本加勒比视频在线观看| 亚洲二区视频| 美日韩免费视频| 九九国产精品| 亚洲色图图片区| 国产黄色三级网站| 亚洲影院手机版777点击进入影院| 亚洲精品美女在线观看| 国产精品国产三级国快看| 婷婷色九月综合激情丁香| 婷婷欧美| 午夜精品网站| 男男失禁play 把尿bl| 久久精品亚瑟全部免费观看| 九九精品在线观看| 婷婷深爱| 天天干 夜夜操| 99久久精品免费看国产免费| 精品美女在线| 欧美爆操| 欧美日韩高清一区| 国产精品久久久久久久免费大片 | 妖精视频亚洲| japan高清视频乱xxxxx| 欧美不卡在线视频| 国产精品日本亚洲777| 中文字幕第13亚洲另类|