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

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

3天內不再提示

DSl8B20構成的多點溫度測量系統的設計

電子設計 ? 來源:陳翠 ? 2019-01-30 17:17 ? 次閱讀

在傳統的溫度測量系統設計中,往往采用模擬技術進行設計,這樣就不可避免地遇到諸如引線誤差補償、多點測量中的切換誤差和信號調理電路的誤差等問題;而其中某一環節處理不當,就可能造成整個系統性能的下降。隨著現代科學技術的飛速發展,特別是大規模集成電路設計技術的發展,微型化、集成化、數字化正成為傳感器發展的一個重要方向「1」。美國Dallas半導體公司推出的數字溫度傳感器DSl8820,具有獨特的單總線接口,僅需要占用一個通用I/O端口即可完成與微處理器通信;在-10~+85℃溫度范圍內具有±0.5℃精度;用戶可編程設定9~12位的分辨率。以上特性使得DSl8820非常適用于構建高精度、多點溫度測量系統。

1 DSl8B20簡介

1.1 DSl8B20的特點

DSl8820是美國Dallas半導體公司繼DSl820之后最新推出的一種改進型智能數字溫度傳感器[2]。與傳統的熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據實際要求通過編程實現9~12位的數字值讀數方式;可以分別在93.75 ms和750 ms內完成9位和12位的數字量;從DSl8820讀出信息或寫入DSl8820信息僅需要1根口線(單線接口);溫度變換功率來源于數據總線,總線身也可以向所掛接的DSl8820供電,而無需額外電源。使用DSl8820可使系統結構更趨簡單,可靠性更高。DSl8B20在測溫精度、轉換時間、傳輸距離、分辨率等方面較DSl820有了很大的改進。

1.2 DSl8B20內部結構及工作原理

DSl8B20構成的多點溫度測量系統的設計

DSl8B20的內部結構「3」如圖1所示,主要包括寄生電源電路、64位只讀存儲器(ROM)和單線接口、存儲器和控制邏輯、存放中間數據的高速暫存存儲器、溫度傳感器、報警上限寄存器TH、報警下限寄存器TL、配置寄存器和8位CRC(循環冗余校驗碼)發生器。

DSl8B20的核心是其數字溫度傳感器,精度可以通過用戶編程配置為9、10、11和12位,其分別對應于O.5℃、O.25℃、O.125℃和O.062 5℃,可以滿足各種不同的分辨率要求。開始一次溫度轉換時,微處理器需要向DSl8B20發出Convert T指令。轉換完成之后,該溫度數據存放在高速暫存存儲器的溫度寄存器中,占用2字節,并且DSl8B20返回到空閑狀態。當DSl8B20采用外部供電方式時,主機可以在發送溫度轉換指令后發起一次讀時隙。若此時該DSl8820已經完成溫度轉換,它將會返回"1",否則返回"O"。

2 溫度測量系統設計

由DSl8B20和美國Microchip公司推出的PIC單片機PICl8F8620以及相關外圍電路組成的高精度、多點溫度測量系統的結構框圖如圖2所示。系統采用6片DSl8820構成小型溫度傳感器網絡,通過單線連接方式連接至微處理器的通用I/O端口RBO。其中DSl8B20的分辨率為11位模式,即0.125℃。微處理器通過單線協議與溫度傳感器網絡實現通信。微處理器獲得溫度信息后,通過特定的算法,將處理后的溫度信息通過USB口或RS485接口傳送至上位機。

DSl8B20構成的多點溫度測量系統的設計

2.1 DSl8820的自動搜索算法「4」

由于系統中使用了多片DSl8B20構成溫度傳感器網絡,因此,如何準確、有效地對每一溫度傳感器進行尋址成為該系統設計的一個核心問題。結合DSl8B20的實際特點和系統的需求,提出如下解決方案:首先利用DSl8B20的內部報警上限寄存器(如圖1所示,以下簡稱"TH寄存器")存放溫度傳感器的編號,并將其編號貼在溫度傳感器表面。由于TH寄存器具有掉電不丟失數據功能,因此,便把每片DSl8B20的唯一64位注冊碼及其編號一一對應起來。這一過程需要對DSl8B20進行單獨編程。然后,將確定好編號的溫度傳感器接入單線網絡,利用DSl8B20特有的單線網絡自動搜索功能,即可搜尋到每片DSl8B20的注冊碼,再利用該注冊碼和相應的ROM操作指令,即可從每片DSl8B20的TH寄存器中讀出相應的設定編號,實現每片DSl8820的尋址功能。下面重點介紹一下該自動搜索功能。

每片DSl8B20有唯一的64位注冊碼,存儲在只讀存儲器(ROM)中,其結構如下:

DSl8B20構成的多點溫度測量系統的設計

其中低8位是產品的工廠代碼(DSl8B20為28H),接著是每個器件的唯一序號,共48位,最高8位是前56位的循環冗余校驗碼。這就準許總線主機對總線上特定的DSl8B20進行尋址。只有與64位注冊碼嚴格相符的DSl8B20,才能對后續的操作作出反應。所有與64位注 冊碼不符的DSl8B20將等待復位脈沖。

搜索算法首先通過復位和在線應答脈沖時隙將單線總線上的所有DSl8B20復位。成功地執行該操作后發送1字節的搜索命令,使所有連接到單總線的DSl8B20準備就緒,開始進行搜索操作。搜索命令發出之后,開始實際的搜索過程。

首先,總線上的所有DSl8B20同時發送注冊碼中的第1位(最低有效位,參見上述DSl8B20內部64位注冊碼結構)。按照單總線的特性,當所有DSl8B20同時應答主機時,結果相當于全部被發送數據位的邏輯"與"。DSl8B20發送其注冊碼的第1位后,主機啟動下一位操作,接著DSl8B20發送第1位數據的補碼。從兩次讀到的數據位可以對注冊碼的第1位作出幾種判斷,如表1所列。

DSl8B20構成的多點溫度測量系統的設計

然后,主機向總線上的所有器件發回一個指定位。如果DSl8B20中注冊碼的當前位的值與該數據位匹配,則繼續參與搜索過程;若DSl8B20的當前位與之不匹配,則該器件轉換到等待狀態并保持等待狀態,直到下一個復位信號到來。其余63位注冊碼的搜索依然按照這種讀2位寫1位的模式進行重復操作。按照這種搜索算法進行下去,最終除了唯一一個DSl8B20外,所有DSl8B20將進入等待狀態,經過最后一輪檢測就可得到最后保留未進入等待狀態的DSl8B20的注冊碼。在后續搜索過程中選用不同的路徑或分支來查找其他器件的注冊碼,即可完成所有器件注冊碼的識別。

2.2軟件系統設計

系統軟件采用C語言編寫。在中斷服務程序中,實現用戶輸入以及和上位機的接口功能;在主程序中,實現溫度傳感器網絡的自動搜索、編號排序、獲取溫度信息,并根據預先設定的溫度上下限,實現相應的報警功能「5」。該系統中,根據不同的分辨率要求,DSl8B20的分辨率可通過編程設定,最高分辨率為12位,即O.062 5℃,可滿足高精度設計要求。同時,由于設計中使用傳感器網絡的自動搜索算法,因此,當對網絡中的溫度傳感器作出調整(如更換、添加、刪除等操作)時,系統具有很強的自適應能力.系統軟件流程如圖3所示

DSl8B20構成的多點溫度測量系統的設計

3 結 論

在傳統的溫度測量系統中,往往采用模擬的溫度傳感器進行設計,必須經過A/D轉換后才可以被微處理器識別和處理。這樣的設計方法不僅對前端模擬信號處理電路提出了更高的要求,而且不具有數字通信和網絡功能。本文結合DSl8B20的新特性和現代溫度測量系統提出的新要求,提出了基于智能數字溫度傳感器DSl8B20的高精度、多點溫度測量系統設計方案。該方案具有安裝方便、數字化程度高、精度高、適應性強等特點,在多種溫度檢測中具有廣闊的應用前景。

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

    關注

    0

    文章

    193

    瀏覽量

    28089
  • 溫度測量系統

    關注

    0

    文章

    25

    瀏覽量

    21094
收藏 人收藏

    評論

    相關推薦

    用LPC2119芯片CAN總線和DSl8B20設計的智能超聲液位變送器

    ,信號傳輸可靠、實時、靈活;由一線式數字溫度傳感器DSl8B20芯片完成溫度補償功能。先進的處理器加強了液位計的回波處理能力,采用數字濾波,提高了液位的測量精度。
    的頭像 發表于 09-17 09:23 ?6214次閱讀
    用LPC2119芯片CAN總線和<b class='flag-5'>DSl8B20</b>設計的智能超聲液位變送器

    基于DS18B20和LabVIEW的多點溫度測量系統

    今天我們一起完成一個比較完整的作品,基于DS18B20和LabVIEW的多點溫度測量系統。我重點介紹實現
    發表于 09-26 10:28 ?1525次閱讀

    基于nRF24E01的無線溫度采集系統設計

    采集的數據通過串口發送至PC進行處理。系統軟件設計數據采集發送部分上電后首先配置nRF24E01的相關寄存器.使其工作在發射狀態,然后復位DSl8B20,向DSl8B20發送溫度轉換命
    發表于 07-25 09:21

    溫度傳感器DSl8B20在Proteus仿真的實現

    的原理圖和結果經實驗驗證后可直接應用到實際項目中?! 慰偩€數字式溫度傳感器DSl8B20具有體積小、動態范圍寬、測量精度高等特點,分辨率可根據實際的需求進行相應的設置。單總線器件連接簡單,且具有很強的擴展性,可以組建
    發表于 11-02 15:08

    基于DSP與數字溫度傳感器的溫度控制系統

    芯片TMS320F2812與數字溫度傳感器DSl8B20設計出一個溫度測量系統,根據測量所得的
    發表于 11-02 15:21

    DS18B20多點測溫方法探討

    、功耗低、性能高、抗干擾能力強、使用簡單等優點。其獨特的單總線技術使用戶可輕松地組建傳感器網絡,特別適合于構成多點溫度測控系統。每個DS18B20
    發表于 11-02 16:10

    基于DS18B20的MOA溫度遠程監控系統設計

    AT89S52單片機作為控制器, 通過多個數字式溫度傳感器DSl8B20對三相MOA和環境溫度進行采樣, 送往單片機同時進行數據處理。此單片機通過RS- 485總線與PC 機進行通信, 實時傳送當前的三相MOA
    發表于 12-04 15:57

    數字溫度傳感器DSl8B20怎么實現快速編程?

    一般來說,總線數越少,連接就越簡單,因而串行總線嵌入式元件在許多應用場合頗受歡迎。但正因為只有1根線,該類元件的編程要緊扣硬件和時鐘,難度大于I2C總線和SPI總線。本文以數字溫度傳感器DSl8B20為例,介紹一種實用和簡單的編程方案。
    發表于 10-21 06:16

    基于DSP與DSl8B20怎么實現溫度控制系統?

    TMS320F2812與數字溫度傳感器DSl8B20設計出一個溫度測量系統,根據測量所得的
    發表于 10-24 08:02

    如何利用AT89C51單片機和DSl8B20數字溫度傳感器實現多點溫度的檢測與控制

    本文設計了一種基于AT89C51、數字溫度傳感器DSl8820的多點溫度檢測系統,該系統利用
    發表于 05-07 06:06

    基于數字溫度Dsl8BZO的溫度測量儀的開發

    傳統的溫度測量系統通常需要對采樣電壓進行信號放大和燈D轉換,介紹了基于數字式溫度計DS18B20溫度
    發表于 03-18 08:44 ?28次下載

    數字溫度傳感器DSl8B20的編程方案

    本文以數字溫度傳感器DSl8B20為例,介紹一種實用和簡單的編程方案。1? DS18B20的精簡編程考慮測溫分辨率:通過設置配置寄存器,DS18B20有0.5℃、0.25℃、0.125
    發表于 06-28 09:09 ?914次閱讀
    數字<b class='flag-5'>溫度</b>傳感器<b class='flag-5'>DSl8B20</b>的編程方案

    單線數字溫度傳感器DSl8B20芯片特性及引腳

    DSl8B20芯片特性及管腳介紹   1.1 DSl8B20芯片特性   DSl8B20單線數字溫度傳感器是新一代溫度傳感器,它具有微
    發表于 08-30 09:43 ?4465次閱讀
    單線數字<b class='flag-5'>溫度</b>傳感器<b class='flag-5'>DSl8B20</b>芯片特性及引腳

    基于DS18B20多點溫度測量系統的設計_畢業設計

    設計、軟件設計和整個系統的調試與實現。其中硬件設計主要是由Protel99SE軟件進行電路的設計和PCB板的繪制;軟件設計采用C語言編寫實現。采用該解決方案,實現了基于DS18B20進行的各項軟硬件的設計、調試和處理,實現了多點
    發表于 11-26 15:10 ?89次下載

    基于單片機的多點溫度測量系統

    簡單、精度高、抗干擾能力強、工作穩定等特點。 本文介紹基于AT89C51單片機、C語言和DS18B20傳感器的多點溫度測量系統設計及其在Pr
    發表于 04-13 11:39 ?77次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>