技術頻道

      單線數字溫度傳感器的原理與應用


        摘 要:介紹單線數字溫度傳感器 DS1820的特性及工作原理,給出了DS1820與89C51單片機接口的應用實例,以及由DS1820組成溫度檢測系統的方法,并給出了對DS1820進行各種操作的軟件流程圖。
      美國DALLAS公司生產的單線數字溫度傳感器DS182,可把溫度信號直接轉換成串行數字信號供微機處理。由于每片DS1820含有唯一的硅串行數所以在一條總線上可掛接任意多個DS1820芯片。從DS1820讀出的信息或寫入DS1820的信息,僅需要一根口線(單線接口)。讀寫及溫度變換功率來源于數據總線,總線本身也可以向所掛接的DS1820供電,而無需額外電源。DS1820提供九位溫度讀數,構成多點溫度檢測系統而無需任何外圍硬件。
      本文給出了DS1820與89C51單片機接口的應用實例和DS1820組成溫度檢測系統的方法,并給出了對DS1820進行各種操作的軟件流程圖。
        1. DS1820的特性
      t2.gif (5768 字節)
      單線接口:僅需一根口線與MCU連接
      無需外圍元件
      由總線提供電源
      測溫范圍為-55℃~75℃,精度為0.5℃
      九位溫度讀數
      A/D變換時間為200ms
      用戶自設定溫度報警上下限,其值是非易失性的
      t1.gif (6267 字節)
      報警搜索命令可識別哪片DS1820超溫度限
      2 DS1820引腳及功能
      DS1820的引腳見圖1(PR35封裝)。
      GND:地;
      DQ:數據輸入/輸出腳(單線接口,可作寄生供電);
      VDD:電源電壓。
      3 DS1820的工作原理
      DS1820的內部結構如圖2所示。由圖2可知,DS1820由三個主要數字器件組成:
      ① 64bit閃速ROM;②溫度傳感器;③非易失性溫度報警觸發器TH和TL。64bit閃速ROM的結構如下:
      s1.gif (6069 字節)
      它既可寄生供電也可由外部5V電源供電。在寄生供電情況下,當總線為高電平時,DS1820從總線上獲得能量并儲存在內部電容上當總線為低電平時,由電容向DS1820供電。
      DS1820的測溫原理:內部計數器對一個受溫度影響的振蕩器的脈沖計數,低溫時振蕩器的脈沖可以通過門電路,而當到達某一設置高溫時振蕩器的脈沖無法通過門電路。計數器設置為-55℃時的值,如果計數器到達0之前,門電路未關閉,則溫度寄存器的值將增加,這表示當前溫度高于-55℃。同時,計數器復位在當前溫度值上,電路對振蕩器的溫度系數進行補償,計數器重新開始計數直到回零。如果門電路仍然未關閉,則重復以上過程。溫度表示值為9bit,高位為符號位,其結構如下:
      s2.gif (5762 字節)
      對DS1820的使用,多采用單片機實現數據采集。處理時,將DS1820信號線與單片機一位口線相連,單片機可掛接多片DS1820,從而實現多點溫度檢測系統。
      系統對DS1820的操作以ROM命令和存儲器命令形式出現。
      3.1 ROM命令代碼及其含義
      READROM命令代碼[33H]:如果只有一片DS1820,可用此命令讀出其序列號,若在線DS1820多于一個,將發生沖突。
      MATCHROM命令代碼[55H]:多個DS1820在線時,可用此命令匹配一個給定序列號的DS1820,此后的命令就針對該DS1820。
      SKIPROM命令代碼[CCH]:此命令執行后的存儲器操作將針對在線的所有DS1820。
      SEARCHRDH命令代碼[F0H]:用以讀出在線的DS1820的序列號。
      ALARMSEARCH命令代碼[ECH]:當溫度值高于TH或低于TL中的數值時,此命令可以讀出報警的DS1820。
      3.2 存儲器操作命令代碼及其含義
      WRITESCRATCHPAD命令代碼[4EH]:寫兩個字節的數據到溫度寄存器。
      READSCRATCHPAD命令代碼[BEH]:讀取溫度寄存器的溫度值。
      COPYSCRATCHPAD命令代碼[48H]:將溫度寄存器的數值拷貝到EERAM中,保證溫度值不丟失。
      CONVERT命令代碼[44H]:啟動在線DS1280做溫度A/D轉換。
      RECALL EE命令代碼[B8H]:將EERAM中的數值拷貝到溫度寄存器中。
      t4.gif (4796 字節)
      ·READPOWERSUPPLY命令代碼[B4H]:在本命令送到DS1280之后的每一個讀數據間隙,指出電源模式:“0”為寄生電源;“1”為外部電源。
      DS1820單線通信功能是分時完成的,它有嚴格的時隙概念。因此系統對DS1820的各種操作必須按協議進行。操作協議為:初始化DS1820(發復位脈沖)→發ROM功能命令→發存儲器操作命令→處理數據。各種操作的時序圖 如圖3 和圖4所示。
      4 溫度檢測系統原理及程序流程圖
      t5.gif (6597 字節)
      溫度檢測系統原理圖如圖5所示,采用寄生電源供電方式。為保證在有效的 DS1820時鐘周期內,提供足夠的電流,我們用一個MOSFET管和89C51的一個I/O口(P1.0)來完成對DS1820總線的上拉。當DS1820處于寫存儲器操作和溫度A/D變換操作時,總線上必須有強的上拉,上拉開啟時間最大為10μs。采用寄生電源供電方式時VDD必須接地。由于單線制只有一根線,因此發送接收口必須是三態的,為了操作方便我們用89C51的P1.1口作發送口Tx,P1.2口作接收口Rx。通過試驗我們發現此種方法可掛接DS1820數十片,距離可達到50米,而用一個口時僅能掛接10片DS1820,距離僅為20米。同時由于讀寫在操作上是分開的故不存在信號競爭問題。
      無論是單點還是多點溫度檢測,在系統安裝及工作之前,應將主機逐個與DS1820掛接,讀出其序列號。其工作過程為:主機Tx發一個脈沖,待“0”電平大于480μs后,復位DS1820,待DS1820所發響應脈沖由主機Rx接收后,主機Tx再發讀ROM命令代碼33H(低位在前),然后發一個脈沖(15μs)并接著讀取DS1820序列號的一位。用同樣方法讀取序列號的56位。對于圖5系統的DS1820操作的總體流程圖 如圖6 所示。它分三步完成:①系統通過反復操作,搜索DS1820序列號;②啟動所有在線DS1820做溫度A/D變換;③逐個讀出在線DS1820變換后的溫度數據。主機啟動溫度變換并讀取溫度值的詳細流程圖 如圖7 所示;主機寫入存儲器數據詳細流程圖 如8 所示。當有更多的檢測點需要測溫時,可利用89C51的其它口進行擴展。同時,也可利用89C51的串行通信口(RXD,TXD)與上位計算機進行通信,從而構成微機溫度測量系統網。




      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 无码aⅴ精品一区二区三区| 男人的天堂av亚洲一区2区| 亚洲线精品一区二区三区| 亚洲av永久无码一区二区三区| 亚洲乱码国产一区三区| 日韩精品一区在线| 精品久久久久久无码中文字幕一区 | 成人区精品一区二区不卡亚洲| 2014AV天堂无码一区| 国产爆乳无码一区二区麻豆| 亚洲色精品vr一区二区三区| 无码午夜人妻一区二区三区不卡视频| 国产成人一区在线不卡| 久久se精品一区二区影院| 亚洲性日韩精品国产一区二区| 国产一区二区三区在线视頻 | 91午夜精品亚洲一区二区三区 | 国产在线一区二区视频| 一区二区三区四区无限乱码| 视频一区二区在线播放| 一区高清大胆人体| 国产在线观看91精品一区| 国产免费一区二区三区不卡 | 亚洲综合色一区二区三区小说| 国产精品日本一区二区不卡视频| 亚洲一区二区三区日本久久九| 亚洲AV无码一区二区三区鸳鸯影院| 国产福利电影一区二区三区久久久久成人精品综合 | 免费无码一区二区三区| 日本一区午夜爱爱| 中文字幕av人妻少妇一区二区| 日本在线视频一区| 亚洲一本一道一区二区三区| 91一区二区三区| 青娱乐国产官网极品一区| 日韩中文字幕一区| 亚洲一区二区三区四区视频| 亚洲熟女一区二区三区| 国产一区二区高清在线播放| 国产一区二区三区小向美奈子| 国内精品一区二区三区东京|