數(shù)字溫度測控芯片DS1620的應(yīng)用
摘要:DS1620是一種半導(dǎo)體溫度測控芯片,9位溫度數(shù)據(jù)值,測溫范圍-55~+125℃,0.5℃分辨率。通過三線串行接口與CPU連接,可作為熱傳感器使用;用三個溫控觸發(fā)端控制加熱或制冷裝置,可用作熱繼電器。本文介紹它的功能和使用方法,并給出C51的源程序。
關(guān)鍵詞:DS1620 溫度傳感器 三線串行接口 熱繼電器
引 言
1 概 述
DS1620是Dallas公司推出的數(shù)字溫度測控器件。 2.7~ 5.0V供電電壓,測量溫度范圍為-55~+125℃,9位數(shù)字量表示溫度值,分辨率為0.5℃。在0~+70℃精確度為0.5℃, -40~0℃和+70~+85℃精確度為1℃,-55~-40℃和+85~ +125℃精確度為2℃。TH和TL寄存器中的溫度報警限設(shè)定值存放在非易失性存儲器中,掉電后不會丟失。通過三線串行接口,完成溫度值的讀取和TH、TL的設(shè)定。
2 引腳功能說明
DS1620采用8腳DIP封裝或8腳SOIC封裝。引腳排列如圖1所示,引腳功能說明如表1所列。
表1 DS1620引腳功能說明
引 腳 | 名 稱 | 功 能 |
1 | DQ | 三線制的數(shù)據(jù)輸入/輸出 |
2 | CLK/CONV | 三線制的時鐘輸入和標(biāo)準(zhǔn)轉(zhuǎn)換輸入 |
3 | RST | 三線制的復(fù)位輸入 |
4 | GND | 地 |
5 | TCOM | 溫度高/低限觸發(fā)輸出 |
6 | TLOW | 溫度低限觸發(fā)輸出 |
7 | THIGH | 溫度高限觸發(fā)輸出 |
8 | VDD | 3~5V電源 |
3 溫度值數(shù)據(jù)格式
DS1620的溫度值為9位數(shù)字量,數(shù)據(jù)用補碼表示,最低位表示0.5℃。幾個典型溫度的數(shù)字量如表2所列。通過三線傳送數(shù)據(jù)時,低位在前,高位在后。DS1620讀出或?qū)懭氲臏囟葦?shù)據(jù)值可以是9位的字(在第9位后將置為低電平),也可以作為兩個8位字節(jié)的16位字。這時高7位為無關(guān)位。這種方式在8位單片機中處理是比較方便的。
4 操作和控制
控制/狀態(tài)寄存器用于決定DS1620在不同場合的操作方式,也指示溫度轉(zhuǎn)換時的狀態(tài)??刂?狀態(tài)寄存器的定義如下。
DONE | THF | TLF | NVB | 1 | 0 | CPU | 1SHOT |
DONE:溫度轉(zhuǎn)換完標(biāo)志?!?”轉(zhuǎn)換完成,“0”轉(zhuǎn)換進行中。
THF:溫度過高標(biāo)志。溫度高于或等于TH寄存器中的設(shè)定值時變?yōu)椤?”。當(dāng)THF為“1”后,即使溫度降到TH以下,THF值也仍為“1”??梢酝ㄟ^寫入“0”或斷開電源來清除這個標(biāo)志。
TLF:溫度過低標(biāo)志。溫度低于或等于TL寄存器中的設(shè)定值時變?yōu)椤?”。當(dāng)TLF為“1”后,即使溫度升高到TL以上,TLF值也仍為“1”??梢酝ㄟ^寫入“0”或斷開電源來清除這個標(biāo)志。
NVB:非易失性存儲器忙標(biāo)志?!?”表示正在向存儲器中寫入數(shù)據(jù);“0”表示存儲器不忙。寫入存儲器要10ms時間。
CPU:CPU使用標(biāo)志。“1”表示使用CPU,DS1620和CPU通過三線制進行數(shù)據(jù)傳輸;“0”表示不使用CPU,當(dāng)不使用CPU時, 接低電平,CLK/作為轉(zhuǎn)換控制使用。這一位存放在非易失存儲器中,允許至少 50 000次寫操作。
1SHOT:一次突發(fā)模式?!?”時按轉(zhuǎn)換協(xié)議進行一次轉(zhuǎn)換;“0”時連續(xù)轉(zhuǎn)換。這一位存放在非易失性存儲器中,允許至少50 000次寫操作。
DS1620有兩種操作模式。
表2 DS1620的幾個典型溫度和數(shù)字量對應(yīng)關(guān)系
溫度/℃ | 數(shù)字輸出(二進制) | 數(shù)字輸出(十六進制) |
+125 | 0 11111010 | 00FAH |
+25 | 0 0011 | 0032H |
+0.5 | 0 0000000 | 0001H |
0 | 0 0000000 | 0000H |
-0.5 | 1 11111111 | 01FFH |
-25 | 1 11001110 | 01CEH |
-55 | 1 1001001 | 0192H |
(1)單獨工作模式
在這種工作模式下,DS1620作為熱繼電器使用,常用連續(xù)轉(zhuǎn)換方式,可在沒有CPU參與下工作。預(yù)先必須寫入控制寄存器操作模式和TH、TL寄存器的溫度設(shè)定值,CLK/用作轉(zhuǎn)換開始控制端。要注意:這種工作模式下,控制/狀態(tài)寄存器的CPU標(biāo)志位必須設(shè)為“0”。為了使CLK/作轉(zhuǎn)換控制,必須為低電平。如果CLK/被拉低,且在10ms以內(nèi)置高,則產(chǎn)生一次轉(zhuǎn)換;如果CLK/保持低,則DS1620連續(xù)進行轉(zhuǎn)換。當(dāng)CPU為“0”時,轉(zhuǎn)換由CLK/控制,而不受1SHOT控制位的限制。
DS1620有三個溫度觸發(fā)控制端。當(dāng)DS1620的溫度高于或等于TH寄存器設(shè)定值時,THIGH輸出為高電平;當(dāng)溫度低于或等于TL寄存器設(shè)定值時,TLOW輸出高電平;當(dāng)溫度高于TH寄存器設(shè)定值時,TCOM輸出為高電平,直到溫度下降到TL寄存器設(shè)定值以下時才會變?yōu)榈碗娖?。三個溫度觸發(fā)控制端的輸出特性如圖2所示。
(2)三線串行通信模式
三線制由三個信號線組成:(復(fù)位)、CLK(時鐘)和DQ(數(shù)據(jù))。數(shù)據(jù)傳輸在由低電平變?yōu)楦唠娖胶箝_始。在數(shù)據(jù)傳輸過程中,使變?yōu)榈碗娖綍K止數(shù)據(jù)傳輸。時鐘由一序列上升沿和下降沿組成。DS1620輸入、輸出數(shù)據(jù)時,都必須是上升沿數(shù)據(jù)有效。讀寫數(shù)據(jù)時低位在前,高位在后。DS1620的三線制操作時序如圖3所示。
從時序圖可知,三線制的操作大部分是命令字在前,數(shù)據(jù)在后(部分命令后不需要數(shù)據(jù))。下面是DS1620的幾個主要命令字:
開始轉(zhuǎn)換[EEh] 開始轉(zhuǎn)換溫度,后面不需要有其它
數(shù)據(jù);
讀溫度[AAh] 讀出最后一次溫度轉(zhuǎn)換的結(jié)果,后
面的9個脈沖輸出9位溫度值;
讀配置寄存器[0Ch] 命令后的連續(xù)8個脈沖讀出配
置寄存器的內(nèi)容;
寫配置寄存器[ACh] 命令后的連續(xù)8個脈沖寫入配
置寄存器新的內(nèi)容;
寫TH寄存器[01h] 命令后的連續(xù)9個脈沖寫入TH
寄存器9位溫度高限設(shè)定值;
寫TL寄存器[02h] 命令后的連續(xù)9個脈沖寫入TL
寄存器9位溫度低限設(shè)定值;
讀TH寄存器[A1h] 命令后的連續(xù)9個脈沖讀出TH
寄存器9位溫度高限設(shè)定值;
讀TL寄存器[A2h] 命令后的連續(xù)9個脈沖讀出TL
寄存器9位溫度低限設(shè)定值。
5 應(yīng)用實例
5.1 無CPU參與下的應(yīng)用
DS1620有三個溫度觸發(fā)輸出,都可作為溫控端使用,用于控制加熱或制冷裝置。在設(shè)置控制/狀態(tài)寄存器以及TH和TL寄存器內(nèi)容后,DS1620可在脫離CPU的情況下單獨作溫控器使用。圖4是用THIGH作控制的應(yīng)用實例。當(dāng)環(huán)境溫度高于TH寄存器的溫度設(shè)定值后,THIGH輸出為高,2N7000導(dǎo)通,啟動風(fēng)扇散熱;當(dāng)環(huán)境溫度低于TH寄存器的設(shè)定值后,THIGH輸出為低電平,2N7000截止,風(fēng)扇停轉(zhuǎn)。
5.2 有CPU參與下的應(yīng)用
(1)硬件連線
圖5是用AT89C51單片機作CPU來操作DS1620的。單片機的P1口連接DS1620的三線通信接口:P1.1接DQ,P1.2接CLK/,P1.3接。
(2)程序設(shè)計
程序采用C51編制,在KEIL C V6.20下調(diào)試通過。本刊網(wǎng)絡(luò)補充版(http://www.dpj.com.cn)中,給出操作DS1620的幾個主要子函數(shù)。DS1620SetConf(unsigned char val)用于配置控制/狀態(tài)寄存器的內(nèi)容;用DS1620startConv(void)開始進行溫度轉(zhuǎn)換;用DS1620ReadConf(void)返回控制/狀態(tài)寄存器內(nèi)容;可查尋DONE位來判斷是否轉(zhuǎn)換完成,轉(zhuǎn)換完成后用DS1620read(void)讀出轉(zhuǎn)換的溫度值。也可采用軟件延時方式,在開始轉(zhuǎn)換后延時1s以上,再讀轉(zhuǎn)換的溫度數(shù)據(jù)值。
6 小 結(jié)
DS1620的外圍接線簡單,使用靈活。使用時請注意它的測量范圍及精度能否滿足要求。用作熱繼電器使用時必須寫入控制寄存器操作模式和TH、TL寄存器的溫度設(shè)定值。
評論