關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 一線式數(shù)字溫度計(jì)DS1822的原理及應(yīng)用

一線式數(shù)字溫度計(jì)DS1822的原理及應(yīng)用

作者: 時間:2005-06-13 來源:網(wǎng)絡(luò) 收藏
摘要:是美國Dallas公司推出的基于單總線技術(shù)的芯片。文中介紹了的結(jié)構(gòu)、外形封裝、基本操作指令、測溫及測溫過程,簡要描述了的報(bào)警操作以及DS1822的內(nèi)部存儲器結(jié)構(gòu),最后給出了DS1822的一個實(shí)際測溫電路。

關(guān)鍵詞:測溫;芯片;DS1822

總線芯片是美國Dallas Semiconductor公司推出的系列產(chǎn)品。這是一種用一根信號線與一根返回線來實(shí)現(xiàn)互連通信的集成電路芯片。采用這種芯片構(gòu)成的微型局域網(wǎng)系統(tǒng)具有建網(wǎng)速度快、成本低的特點(diǎn),非常適合現(xiàn)場(1-Wire Digital Thermometer)芯片DS1822就是Dallas公司推出的系列一線總線產(chǎn)品之一,它支持Dallas觸摸接口,遵循一線協(xié)議,并可以與處理器進(jìn)行雙向通信,同時性價比也很高,是一種使用起來非常方便的經(jīng)濟(jì)型溫度傳感器。

1 引腳功能及內(nèi)部結(jié)構(gòu)

DS1822的外形封裝如圖1所示。

其中(a)是采用3引腳TO-92的封裝形式;(b)是采用8引腳SOIC的封裝形式;(c)是采用6引腳TSOC的封裝形式;GND為電源地;VDD為外接供電電源輸入端(采用寄生電源方式時接地);DQ為數(shù)字信號輸入/輸出端;NC為空腳。

DS1822內(nèi)部電路的核心是一個直接數(shù)字輸出的溫度傳感器。它可將-55~125℃ 范圍內(nèi)的溫度值按9位、10位、11位、12位的分辨率進(jìn)行量化,且以上的分辨率都包括一個符號位,因此對應(yīng)的溫度量化值分別是0.5℃、0.25℃、0.125℃、0.0625℃,即最高分辨率為0.0625℃,工作電壓范圍為3.0~5.5V。每一片DS1822都有一個唯一的且不可改寫的ROM ID標(biāo)識碼(電子序列號),在實(shí)際中可以通過指令方便地進(jìn)行查詢。

DS1822的內(nèi)部結(jié)構(gòu)如圖2所示。

2 DS1822的基本操作指令

DS1820的操作指令分為ROM操作指令和存儲器操作指令。

2.1 ROM操作指令及其功能說明

Read ROM指令(代碼為33h):如果總線上只有一片DS1822,則允許總線主機(jī)讀?。模樱保福玻驳男蛄刑?,若在線DS1822多于一個時,它們將同時發(fā)送ID,這樣就會出現(xiàn)數(shù)據(jù)沖突。

Match ROM指令(代碼為55h):多個DS1822在線時,主機(jī)可用此命令匹配一個給定序列號的DS1822,此后的命令就針對該DS1822。該命令適用于單節(jié)點(diǎn)和多節(jié)點(diǎn)兩種場合。

Skip ROM指令(代碼為CCh):該命令用在單節(jié)點(diǎn)總線系統(tǒng)中可以節(jié)省時間,這時主機(jī)不需發(fā)送64位ROM ID就能直接訪問芯片的RAM存儲器。

Search ROM指令(代碼為F0h):用以讀取在線的DS1822的序列號。

Alarm Search指令(代碼為ECh):當(dāng)檢測到溫度超出所規(guī)定的門限值時,此命令可以讀出報(bào)警的DS1822。

2.2 存儲器操作指令及其功能說明

Write Scratchpad指令(代碼為4Eh):將溫度報(bào)警上限值與下限值分別寫入DS1822便箋式存儲器的TH與TL字節(jié)中。

Read Scratchpad指令(代碼為BEh):讀取便箋式寄存器中的溫度值。

Copy Scratchpad指令(代碼為48h):將便箋式存儲器TH/TL中的內(nèi)容復(fù)制到SRAM中,保證溫度值不丟失。

Convert T指令(代碼為44h):啟動在線DS1822做溫度A/D轉(zhuǎn)換。

Recall SRAM指令(代碼為B8h):利用該指令可以將存儲在SRAM中的溫度報(bào)警觸發(fā)值回讀到便箋式存儲器中。上電時DS1822會自動執(zhí)行一次回讀操作,以保證器件上電后便箋式存儲器中的數(shù)據(jù)是有效的。

Read Power Supply指令(代碼為B4h):如果主機(jī)在發(fā)出該命令后再輸出讀時隙,那么,器件就會送出它所使用的電源信息:其中“0”為寄生電源;“1”為外部電源。

3 DS1822的測溫

用DS1822一線式數(shù)字溫度芯片測量溫度的如圖3所示。它沒有采用傳統(tǒng)的A/D轉(zhuǎn)換原理,如逐次逼近法、雙積分式和算術(shù)A/D等,而是運(yùn)用了一種將溫度直接轉(zhuǎn)換為頻率的時鐘計(jì)數(shù)法,計(jì)數(shù)時鐘由溫度系數(shù)很低的振蕩器產(chǎn)生,因而非常穩(wěn)定;而計(jì)數(shù)的閘門周期則由溫度系數(shù)很高(即對溫度非常敏感)的振蕩器來決定。

計(jì)數(shù)器中的預(yù)置值以-55℃時的計(jì)數(shù)值為基準(zhǔn),在閘門開放計(jì)數(shù)期間,每當(dāng)計(jì)數(shù)值達(dá)到0,則溫度寄存器就加1,溫度寄存器中的預(yù)置值也以-55℃的測量值為基準(zhǔn)。同時計(jì)數(shù)器的預(yù)置值還與斜坡累加器電路有關(guān),該電路用于補(bǔ)償振蕩器對溫度的拋物線特性,因此還要用時鐘脈沖針對這個非線形校正預(yù)置值作計(jì)數(shù)操作,直至計(jì)數(shù)值達(dá)到0為止,如果此時閘門還未關(guān)閉,則再重復(fù)計(jì)數(shù)過程。斜坡累加器補(bǔ)償了振蕩器對溫度的非線形特性,從而可以獲得較高的溫度測量分辨率,改變相對于測溫量化級的計(jì)數(shù)量大小即可獲得不同的分辨率。

4 DS1822一線總線的接口電路

DS1822的總線接口電路如圖4所示,其中圖(a)為使用寄生電源的接法,即通過總線給DS1822供電,圖(b)為采用外接電源的接法。

從兩種接法來看,DS1822測量溫度時無需外接元件,電路簡單。DS1822的工作電流為1.5mA。應(yīng)當(dāng)注意:當(dāng)溫度高于100℃時,不能使用寄生電源,因?yàn)榇藭r器件中較大的漏電流會使總線不能可靠檢測高低電平,從而導(dǎo)致數(shù)據(jù)傳輸誤碼率的增大。

5 DS1822的測溫過程

在測溫時對DS1822進(jìn)行操作的步驟如下:

⑴ 初始化(Read ROM指令,代碼33h),每次對DS1820進(jìn)行操作之前都要對其進(jìn)行初始化,主要目的在于確定溫度傳感器是否已經(jīng)連接到單總線上。

(2) 查找DS1822(Search ROM指令,代碼F0h),該指令可使處理器通過排除法來辨別總線上的DS1822。

(3)匹配DS1822(Match ROM指令,代碼55h),只有完全符合64位ROM序列的DS1822才能響應(yīng)其后的指令,當(dāng)然,單點(diǎn)測溫時可以使用Skip ROM(CCh)指令來跳過這一步。

(4)發(fā)送溫度轉(zhuǎn)換指令(Convert T指令 代碼44h),發(fā)送該指令后應(yīng)查詢總線上的電平,當(dāng)電平為高時,溫度轉(zhuǎn)換完成。

(5)讀取溫度值(Read Scratchpad指令 代碼BEh),將該指令發(fā)出后,就可從總線上讀取表示溫度的兩字節(jié)的二進(jìn)制數(shù)。

整個測溫過程中的第4、5步才是DS1822進(jìn)行測溫并將結(jié)果進(jìn)行數(shù)字化轉(zhuǎn)換和輸出的過程。DS1822接收到轉(zhuǎn)換命令(44h)將立刻實(shí)施溫度轉(zhuǎn)換并將結(jié)果存儲到16位便箋式存儲器中,數(shù)據(jù)格式為符號位擴(kuò)展的二進(jìn)制補(bǔ)碼,然后用讀便箋式存儲器命令(BEh)將所得數(shù)據(jù)順序置于總線上,最低位在前,最高位定義為符號位以表示溫度的正負(fù)。DS1822溫度與數(shù)字輸出典型值的對照表如表1所列。

表1 DS1822溫度與數(shù)字輸出的典型值

溫度(℃) 數(shù)字輸出(二進(jìn)制) 數(shù)字輸出(十六進(jìn)制)
+125 0000 0111 11011 0000 07D0
+85 0000 0101 0101 0000 0550
+25.625 0000 0001 1001 0001 0191
+10.125 0000 0000 1010 0010 00A2
+0.5 0000 0000 0000 1000 0008
0 0000 0000 0000 0000 0000
-0.5 1111 1111 1111 1000 FFF8
-10.125 1111 1111 0101 1110 FF5E
-25.0625 1111 1110 0110 1111 FE6F
-55 1111 1100 1001 0000 FC90



6 DS1822的報(bào)警操作

DS1822完成溫度轉(zhuǎn)換之后,其溫度值將和TH與TL中存儲的觸發(fā)門限值相比較,由于這兩個閾值只有8位,因此比較時測量值中相應(yīng)的幾個低位將被忽略,TH和TL中的最高位直接對應(yīng)16位溫度存儲器中的符號位。如果比較的結(jié)果表明測量值高于TH中設(shè)定的上限溫度值或低于TL中設(shè)定的下限溫度值,則設(shè)置報(bào)警標(biāo)志,該標(biāo)志每次測量溫度時都要進(jìn)行更新。一旦報(bào)警標(biāo)志設(shè)置后,器件就會響應(yīng)主機(jī)發(fā)出的報(bào)警搜索命令,這種處理方式使得并接的多個DS1822可以同時實(shí)現(xiàn)溫度測量。如果某些點(diǎn)上的溫度超過設(shè)定的閾值,則這些報(bào)警的器件就能被及時識別出來,主機(jī)不必一個一個地讀取,比較判斷哪些是越界報(bào)警的器件。

7 DS1822中的存儲器

DS1822的存儲器結(jié)構(gòu)如表2所列。它由9個字節(jié)的便箋式存儲器和3個易失性SRAM組成,便箋式存儲器方便了一線系統(tǒng)的數(shù)據(jù)傳輸。通常情況下,首先用寫便箋式存儲器命令(4Eh)寫入數(shù)據(jù),然后用讀便箋式存儲器命令(BEh)進(jìn)行校驗(yàn),最后通過復(fù)制便箋式存儲器命令(48h)將該數(shù)據(jù)寫入SRAM。

表2 DS1822D的存儲器結(jié)構(gòu)

 便箋式存儲器 SRAM
0 溫度高位字節(jié)
1 溫度高位字節(jié)
2 TH/用戶字節(jié)1 TH/用戶字節(jié)1
3 TL/用戶字節(jié)2 TL/用戶字節(jié)2
4 配置 配置
5 保留  
6 保留  
7 保留
8 CRC  

表3 有關(guān)轉(zhuǎn)換參數(shù)設(shè)置對應(yīng)表

R1R0 分辨率(位) 最大轉(zhuǎn)換時間(毫秒)
00 9 93.75
01 10 187.5
10 11 375
11 12 750

便箋式存儲器由9個字節(jié)組成,第0、1字節(jié)存放溫度測量值;第2、3字節(jié)用于高、低門限設(shè)置;第4字節(jié)是配置存儲器;第5、6、7字節(jié)保留而未使用,讀取時各位均為1;第8字節(jié)可通過讀便箋式存儲器命令讀出,用于存放前8個字節(jié)的CRC校驗(yàn)值。易失性SRAM主要用于復(fù)制,每次上電時它們都會被刷新。

而便箋式存儲器第4字節(jié)的配置存儲器主要用于設(shè)置溫度的測量分辨率,該字節(jié)的數(shù)據(jù)格式如圖5所示。其中bit7讀時總為0,bit4~bit0讀時總為1,寫入時這些位的取值可以是任意的。由圖5可知該配置寄存器實(shí)際上只用了bit6與bit5兩位,用以定義分辨率和轉(zhuǎn)換時間,其對應(yīng)關(guān)系如表3所列,上電時的默認(rèn)分辨率為12位,但轉(zhuǎn)換速率最低。由該表還可以看出,當(dāng)分辨率提高1位時,轉(zhuǎn)換速率成倍下降,這在實(shí)際中是需要考慮的,必須根據(jù)實(shí)際需要來權(quán)衡分辨率與速率之間的關(guān)系。

8 DS1822的應(yīng)用電路

由DS1822與DZT-512單總線溫度巡檢儀組成的測溫電路如圖6所示,通過DZT-512單總線溫度巡檢儀就可對單總線上所有的DS1822進(jìn)行數(shù)據(jù)采集、并完成顯示及報(bào)警設(shè)定,讀寫數(shù)據(jù)距離達(dá)600米,DS1822經(jīng)RS232口與DZT-512相連,將溫度數(shù)據(jù)送入計(jì)算機(jī)進(jìn)行分析處理。從圖中可看出,由DS1822組成的測溫系統(tǒng)具有布線結(jié)構(gòu)簡單、可靠性高、成本低的特點(diǎn)。

9 結(jié)束語

單總線技術(shù)以其線路簡單、硬件開銷小、成本低廉、軟件設(shè)計(jì)簡單等優(yōu)勢有著無可比擬的應(yīng)用前景?;趩慰偩€技術(shù)的DS1822在未來的測溫領(lǐng)域中必將得到廣泛的應(yīng)用。



評論


相關(guān)推薦

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

關(guān)閉