<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 物聯(lián)網(wǎng)與傳感器 > 設計應用 > 基于DSl8820的多點(diǎn)溫度測量系統設計

基于DSl8820的多點(diǎn)溫度測量系統設計

作者: 時(shí)間:2008-02-11 來(lái)源: 收藏

  介紹一種基于數字溫度傳感器芯片DSl8820的高精度、多點(diǎn)溫度測量系統設計方案;闡述單總線(xiàn)數字溫度傳感器DSl8820的基本工作原理和使用方法;主要分析由多個(gè)DSl8820組成的溫度傳感器網(wǎng)絡(luò )的自動(dòng)搜索算法,井給出系統設計實(shí)例。

本文引用地址:http://dyxdggzs.com/article/78718.htm

  引 言

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

  1 DSl8820簡(jiǎn)介

  1.1 DSl8820的特點(diǎn)

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

  1.2 DSl8820內部結構及工作原理

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

  

 

  DSl8820的核心是其數字溫度傳感器,精度可以通過(guò)用戶(hù)編程配置為9、10、ll和12位,其分別對應于0.5℃、O,25℃、O.125℃和0.062 5℃,可以滿(mǎn)足各種不同的分辨率要求。開(kāi)始一次溫度轉換時(shí),微處理器需要向DSl8820發(fā)出Convert T指令。轉換完成之后,該溫度數據存放在高速暫存存儲器的溫度寄存器中,占用2字節,并且DSl8820返回到空閑狀態(tài)。當DSl8820采用外部供電方式時(shí),主機可以在發(fā)送溫度轉換指令后發(fā)起一次讀時(shí)隙。若此時(shí)該DSl8820已經(jīng)完成溫度轉換,它將會(huì )返回“1”,否則返回“0”。

  2 溫度測量系統設計

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

  

 

  2.1 DSl8820的自動(dòng)搜索算法

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

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

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

  搜索算法首先通過(guò)復位和在線(xiàn)應答脈沖時(shí)隙將單線(xiàn)總線(xiàn)上的所有DS18820復位。成功地執行該操作后發(fā)送1字節的搜索命令,使所有連接到單總線(xiàn)的DSl8820準備就緒,開(kāi)始進(jìn)行搜索操作。搜索命令發(fā)出之后,開(kāi)始實(shí)際的搜索過(guò)程。

  首先,總線(xiàn)上的所有DSl8820同時(shí)發(fā)送注冊碼中的第1位(最低有效位,參見(jiàn)上述DS18820內部64位注冊碼結構)。按照單總線(xiàn)的特性,當所有DS18820同時(shí)應答主機時(shí),結果相當于全部被發(fā)送數據位的邏輯“與”。DSl8820發(fā)送其注冊碼的第1位后,主機啟動(dòng)下一位操作,接著(zhù)DS181320發(fā)送第l位數據的補碼。從兩次讀到的數據位可以對注冊碼的第1位作出幾種判斷,如表1所列。

  

 

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

  2.2 軟件系統設計

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

  

 

  3 結論

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



關(guān)鍵詞: DSl8820 測量系統 溫度

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>