色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > DS1620實(shí)現(xiàn)高分辨率溫度測(cè)量

          DS1620實(shí)現(xiàn)高分辨率溫度測(cè)量

          作者: 時(shí)間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

          DS1620是DALLAS半導(dǎo)體公司的溫度傳感器家庭成員之一,是新型數(shù)字式溫度傳感器。其測(cè)溫范圍寬(-55℃~+125℃),感應(yīng)能力精確,不需A/D轉(zhuǎn)換電路,直接將溫度值轉(zhuǎn)換成數(shù)字量。其外圍電路簡(jiǎn)單,可以不需要PC機(jī)和單片機(jī)等的支持,獨(dú)立進(jìn)行工作??蓮V泛應(yīng)用于溫度控制,溫度測(cè)量,工作系統(tǒng)及任何熱敏感系統(tǒng)中。

          本文引用地址:http://cafeforensic.com/article/255670.htm

          DS1620為8引腳DIP或SOIC封裝,其引腳符號(hào)及功能見表1。

          1

          引腳號(hào) 符 號(hào) 功 能
          1 DQ 3線數(shù)據(jù)輸入/輸出端
          2 CLK/CONV 3線時(shí)鐘輸入端/獨(dú)立工作端
          3 RST 3線箝位輸入端(低電平復(fù)位)
          4 GND 接地端
          5 THIGH 高溫觸發(fā)端
          6 TLOW 低溫觸發(fā)端
          7 TCOM 高溫/低溫結(jié)合觸發(fā)端
          8 VDD +5V 電源端



          測(cè)溫原理

          DS1620通過專有的片載溫度測(cè)量技術(shù)進(jìn)行溫度測(cè)量。其測(cè)溫原理如圖1所示。

          計(jì)數(shù)器和溫度寄存器預(yù)選設(shè)置為-55℃的基值,計(jì)數(shù)器對(duì)流經(jīng)低溫系數(shù)振蕩器的脈沖進(jìn)行計(jì)數(shù),計(jì)數(shù)脈沖的周期由高溫系數(shù)振蕩器決定。如果計(jì)數(shù)器在高溫系數(shù)振蕩器發(fā)出結(jié)束信號(hào)之前到達(dá)0,則溫度寄存器開始增值,表示溫度值在-55℃之上。同時(shí),計(jì)數(shù)器預(yù)設(shè)一個(gè)數(shù)值,此數(shù)值由非線性補(bǔ)償累加器決定,以補(bǔ)償振蕩器測(cè)溫過程中的拋物線性,即非線性。然后計(jì)數(shù)器重復(fù)進(jìn)行計(jì)數(shù)。如此循環(huán),最終溫度寄存器中的數(shù)字量即為所測(cè)溫度值。

          溫度值的換算在DS1620內(nèi)部進(jìn)行,分辨率為0.5℃。DS1620的溫度值以1/2℃LSB(最低有效位)表示,9位數(shù)據(jù)格式如下:(T=25.5℃)

          0 0 0 1 1 0 0 1 1

          非線性補(bǔ)償累加器的作用為補(bǔ)償測(cè)溫振蕩器的非線性誤差,改變每℃增值的計(jì)數(shù)器數(shù)值。若得知計(jì)數(shù)器中的數(shù)值和在補(bǔ)測(cè)溫度下每℃的計(jì)數(shù)(非線性補(bǔ)償累加器中的值),便可以實(shí)現(xiàn)高分辨率溫度測(cè)量。

          DS1620在正常測(cè)溫情況下分辨率為0.5℃,根據(jù)其測(cè)溫工作原理,可以將其分辨率提高到0.1℃~0.05℃,以適應(yīng)需要精確溫度值的工業(yè)測(cè)量及控制系統(tǒng)。

          大多數(shù)Dallas數(shù)字式溫度傳感器都能通過將最低有效位(LSB)置位或清零,以確保0.5℃的分辨率。傳感的誤差范圍由不同數(shù)值的LSB數(shù)字化決定。例如25℃至26℃之間的溫度值可參考表2。

          表2

          實(shí)際溫度值 置位/清零LSB 直接讀數(shù)
          25 清零 25
          25.1 清零 25
          25.2 清零 25
          25.3 置位 25.5
          25.4 置位 25.5
          25.5 置位 25.5
          25.6 置位 25.5
          25.7 置位 25.5
          25.8 清零 26
          25.9 清零 26
          26 清零 26

          由表可知,對(duì)于每一次讀入的溫度值,都以1/2LSB為單位進(jìn)行四舍五入計(jì)算,DS1620的1/2LSB為0.25℃,它在進(jìn)行高分辨率測(cè)量的計(jì)算中必須考慮在內(nèi)。

          DS1620讀進(jìn)的原始數(shù)據(jù)為9位,對(duì)所讀數(shù)據(jù)減去最低有效位,使可得到高分辨率值。計(jì)算過程為:將讀入的溫度可存器二進(jìn)制數(shù)字量轉(zhuǎn)化成帶符號(hào)整數(shù),即temp read;然后對(duì)DS1620執(zhí)行特定的控制指令,使可得到保留在計(jì)數(shù)器中的數(shù)值,即轉(zhuǎn)換停止后的計(jì)數(shù)器保留數(shù)cont remain:以另一特定控制指令或指令集讀出非線性累加器中的數(shù)值,即在此溫度下每℃的計(jì)數(shù)值count per degree,得知這些參數(shù)后,通過如下公式:

          實(shí)際值=temp read 1/2LSB+(count per degree count remain)/count per degree

          實(shí)際的精確溫度值便可計(jì)算出來,分辨率高達(dá)0.1℃。

          DS1620的工作方式及狀態(tài)檢測(cè)位由設(shè)置寄存器決定,在進(jìn)行溫度轉(zhuǎn)換之前首先要對(duì)其初始化,由PC機(jī)或單片機(jī)設(shè)定設(shè)置寄存器的相應(yīng)位。設(shè)置寄存器格式如下:

          DONE THF TLF * * * CPU ISHOT

          DONE(D7)位為1時(shí)表示溫度轉(zhuǎn)換已經(jīng)完成,為0時(shí)表示轉(zhuǎn)換正在進(jìn)行。注意此位只在單次轉(zhuǎn)換方式時(shí)有效。

          THF(D6)TLF(D5)位分別為高于高溫極限值或低于低溫極限值時(shí)置位。

          ISHOT(D0)位為1時(shí)表示以溫度單次轉(zhuǎn)換方式運(yùn)行,為0時(shí)表示連續(xù)方式。

          CPU(D1)位為1時(shí)表示DS1620以3線串行接口與PC機(jī)或單片機(jī)通信,為0時(shí)表示獨(dú)立工作方式。

          *表示無關(guān)位。

          在DS1620以CPU方式工作時(shí),PC機(jī)或單片機(jī)的程序流程如圖2所示。

          在實(shí)現(xiàn)過程中注意下面問題:

          1.實(shí)現(xiàn)過程中必須用到兩條特殊指令:讀計(jì)數(shù)器指令(A0H)和裝載計(jì)數(shù)器指令(41H),這兩條指令在DS1620使用手冊(cè)上查不到。前一條指令的作用為讀出計(jì)數(shù)器中的數(shù)值,后一條指令的作用為將非線性累加器中的數(shù)值裝入計(jì)數(shù)器。

          2.在數(shù)據(jù)傳輸過程中,DQ線上數(shù)據(jù)的傳輸順序?yàn)長(zhǎng)SB(最低有效位)在先,MSB(最高有效位)在最后。例如設(shè)置寄存器狀態(tài)字節(jié)的傳送,第一位ISHOT位(D0),其次為CPU位(D1),依次下去,第八位為DONE位(D7)。

          3.從DQ引腳上讀取數(shù)據(jù)時(shí),設(shè)置寄存器的狀態(tài)為8位數(shù)據(jù),而溫度數(shù)據(jù)為9位,這在編程時(shí)要加以區(qū)別??梢跃幾x取8位數(shù)據(jù)和9位數(shù)據(jù)的子函數(shù)分別調(diào)用,也可只編讀取9位的程序,但在判斷設(shè)置寄存器狀態(tài)時(shí)只取前8位。

          4.注意在常溫下,每次寫入DS1620存儲(chǔ)器都需要近10ms,所以在寫指令之后不能立即對(duì)DS1620進(jìn)行讀寫訪問,通常加10ms的延時(shí)。

          5.DS1620是以STOP(RST=0)作為一次數(shù)據(jù)通信的結(jié)束。因此在每次設(shè)置操作結(jié)束或讀取8位溫度數(shù)據(jù)后,都要將RST引腳復(fù)位為低電平,然后置為高電平重新開始工作。

          6.以在溫度單次轉(zhuǎn)換方式工作時(shí),每次轉(zhuǎn)換完成并讀取溫度值之后,都要重新發(fā)送開始溫度轉(zhuǎn)換指令(EE H)。而在連續(xù)轉(zhuǎn)換方式只需開始發(fā)送轉(zhuǎn)換指令,DS1620會(huì)在一次溫度轉(zhuǎn)換完成后,繼續(xù)進(jìn)行一睛次轉(zhuǎn)換,時(shí)間間隔為1秒。此時(shí)停止轉(zhuǎn)換指令(22H)將暫停溫度轉(zhuǎn)換,開始轉(zhuǎn)換指令會(huì)重新開始轉(zhuǎn)換。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉