a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > DS1620實現高分辨率溫度測量

DS1620實現高分辨率溫度測量

作者: 時間:2006-05-07 來源:網絡 收藏

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

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

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

1

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



測溫原理

DS1620通過專有的片載溫度測量技術進行溫度測量。其測溫原理如圖1所示。

計數器和溫度寄存器預選設置為-55℃的基值,計數器對流經低溫系數振蕩器的脈沖進行計數,計數脈沖的周期由高溫系數振蕩器決定。如果計數器在高溫系數振蕩器發出結束信號之前到達0,則溫度寄存器開始增值,表示溫度值在-55℃之上。同時,計數器預設一個數值,此數值由非線性補償累加器決定,以補償振蕩器測溫過程中的拋物線性,即非線性。然后計數器重復進行計數。如此循環,最終溫度寄存器中的數字量即為所測溫度值。

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

0 0 0 1 1 0 0 1 1

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

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

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

表2

實際溫度值 置位/清零LSB 直接讀數
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

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

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

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

實際的精確溫度值便可計算出來,分辨率高達0.1℃。

DS1620的工作方式及狀態檢測位由設置寄存器決定,在進行溫度轉換之前首先要對其初始化,由PC機或單片機設定設置寄存器的相應位。設置寄存器格式如下:

DONE THF TLF * * * CPU ISHOT

DONE(D7)位為1時表示溫度轉換已經完成,為0時表示轉換正在進行。注意此位只在單次轉換方式時有效。

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

ISHOT(D0)位為1時表示以溫度單次轉換方式運行,為0時表示連續方式。

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

*表示無關位。

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

在實現過程中注意下面問題:

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

2.在數據傳輸過程中,DQ線上數據的傳輸順序為LSB(最低有效位)在先,MSB(最高有效位)在最后。例如設置寄存器狀態字節的傳送,第一位ISHOT位(D0),其次為CPU位(D1),依次下去,第八位為DONE位(D7)。

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

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

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

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

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


評論


相關推薦

技術專區

關閉