一線式數(shù)字溫度計DS1822的原理及應用
關鍵詞:測溫;一線芯片;DS1822
一線總線芯片是美國Dallas Semiconductor公司推出的系列產(chǎn)品。這是一種用一根信號線與一根返回線來實現(xiàn)互連通信的集成電路芯片。采用這種芯片構成的微型局域網(wǎng)系統(tǒng)具有建網(wǎng)速度快、成本低的特點,非常適合現(xiàn)場應用。一線數(shù)字溫度計(1-Wire Digital Thermometer)芯片DS1822就是Dallas公司推出的系列一線總線產(chǎn)品之一,它支持Dallas觸摸接口,遵循一線協(xié)議,并可以與處理器進行雙向數(shù)字通信,同時性價比也很高,是一種使用起來非常方便的經(jīng)濟型溫度傳感器。
1 引腳功能及內部結構
DS1822的外形封裝如圖1所示。
其中(a)是采用3引腳TO-92的封裝形式;(b)是采用8引腳SOIC的封裝形式;(c)是采用6引腳TSOC的封裝形式;GND為電源地;VDD為外接供電電源輸入端(采用寄生電源方式時接地);DQ為數(shù)字信號輸入/輸出端;NC為空腳。
DS1822內部電路的核心是一個直接數(shù)字輸出的溫度傳感器。它可將-55~125℃ 范圍內的溫度值按9位、10位、11位、12位的分辨率進行量化,且以上的分辨率都包括一個符號位,因此對應的溫度量化值分別是0.5℃、0.25℃、0.125℃、0.0625℃,即最高分辨率為0.0625℃,工作電壓范圍為3.0~5.5V。每一片DS1822都有一個唯一的且不可改寫的ROM ID標識碼(電子序列號),在實際應用中可以通過指令方便地進行查詢。
DS1822的內部結構如圖2所示。
2 DS1822的基本操作指令
DS1820的操作指令分為ROM操作指令和存儲器操作指令。
2.1 ROM操作指令及其功能說明
Read ROM指令(代碼為33h):如果總線上只有一片DS1822,則允許總線主機讀取DS1822的序列號,若在線DS1822多于一個時,它們將同時發(fā)送ID,這樣就會出現(xiàn)數(shù)據(jù)沖突。
Match ROM指令(代碼為55h):多個DS1822在線時,主機可用此命令匹配一個給定序列號的DS1822,此后的命令就針對該DS1822。該命令適用于單節(jié)點和多節(jié)點兩種場合。
Skip ROM指令(代碼為CCh):該命令用在單節(jié)點總線系統(tǒng)中可以節(jié)省時間,這時主機不需發(fā)送64位ROM ID就能直接訪問芯片的RAM存儲器。
Search ROM指令(代碼為F0h):用以讀取在線的DS1822的序列號。
Alarm Search指令(代碼為ECh):當檢測到溫度超出所規(guī)定的門限值時,此命令可以讀出報警的DS1822。
2.2 存儲器操作指令及其功能說明
Write Scratchpad指令(代碼為4Eh):將溫度報警上限值與下限值分別寫入DS1822便箋式存儲器的TH與TL字節(jié)中。
Read Scratchpad指令(代碼為BEh):讀取便箋式寄存器中的溫度值。
Copy Scratchpad指令(代碼為48h):將便箋式存儲器TH/TL中的內容復制到SRAM中,保證溫度值不丟失。
Recall SRAM指令(代碼為B8h):利用該指令可以將存儲在SRAM中的溫度報警觸發(fā)值回讀到便箋式存儲器中。上電時DS1822會自動執(zhí)行一次回讀操作,以保證器件上電后便箋式存儲器中的數(shù)據(jù)是有效的。
Read Power Supply指令(代碼為B4h):如果主機在發(fā)出該命令后再輸出讀時隙,那么,器件就會送出它所使用的電源信息:其中“0”為寄生電源;“1”為外部電源。
3 DS1822的測溫原理
用DS1822一線式數(shù)字溫度芯片測量溫度的原理如圖3所示。它沒有采用傳統(tǒng)的A/D轉換原理,如逐次逼近法、雙積分式和算術A/D等,而是運用了一種將溫度直接轉換為頻率的時鐘計數(shù)法,計數(shù)時鐘由溫度系數(shù)很低的振蕩器產(chǎn)生,因而非常穩(wěn)定;而計數(shù)的閘門周期則由溫度系數(shù)很高(即對溫度非常敏感)的振蕩器來決定。
計數(shù)器中的預置值以-55℃時的計數(shù)值為基準,在閘門開放計數(shù)期間,每當計數(shù)值達到0,則溫度寄存器就加1,溫度寄存器中的預置值也以-55℃的測量值為基準。同時計數(shù)器的預置值還與斜坡累加器電路有關,該電路用于補償振蕩器對溫度的拋物線特性,因此還要用時鐘脈沖針對這個非線形校正預置值作計數(shù)操作,直至計數(shù)值達到0為止,如果此時閘門還未關閉,則再重復計數(shù)過程。斜坡累加器補償了振蕩器對溫度的非線形特性,從而可以獲得較高的溫度測量分辨率,改變相對于測溫量化級的計數(shù)量大小即可獲得不同的分辨率。
4 DS1822一線總線的接口電路
DS1822的總線接口電路如圖4所示,其中圖(a)為使用寄生電源的接法,即通過總線給DS1822供電,圖(b)為采用外接電源的接法。
從兩種接法來看,DS1822測量溫度時無需外接元件,電路簡單。DS1822的工作電流為1.5mA。應當注意:當溫度高于100℃時,不能使用寄生電源,因為此時器件中較大的漏電流會使總線不能可靠檢測高低電平,從而導致數(shù)據(jù)傳輸誤碼率的增大。
5 DS1822的測溫過程
在測溫時對DS1822進行操作的步驟如下:
⑴ 初始化(Read ROM指令,代碼33h),每次對DS1820進行操作之前都要對其進行初始化,主要目的在于確定溫度傳感器是否已經(jīng)連接到單總線上。
(2) 查找DS1822(Search ROM指令,代碼F0h),該指令可使處理器通過排除法來辨別總線上的DS1822。
(3)匹配DS1822(Match ROM指令,代碼55h),只有完全符合64位ROM序列的DS1822才能響應其后的指令,當然,單點測溫時可以使用Skip ROM(CCh)指令來跳過這一步。
(4)發(fā)送溫度轉換指令(Convert T指令 代碼44h),發(fā)送該指令后應查詢總線上的電平,當電平為高時,溫度轉換完成。
(5)讀取溫度值(Read Scratchpad指令 代碼BEh),將該指令發(fā)出后,就可從總線上讀取表示溫度的兩字節(jié)的二進制數(shù)。
整個測溫過程中的第4、5步才是DS1822進行測溫并將結果進行數(shù)字化轉換和輸出的過程。DS1822接收到轉換命令(44h)將立刻實施溫度轉換并將結果存儲到16位便箋式存儲器中,數(shù)據(jù)格式為符號位擴展的二進制補碼,然后用讀便箋式存儲器命令(BEh)將所得數(shù)據(jù)順序置于總線上,最低位在前,最高位定義為符號位以表示溫度的正負。DS1822溫度與數(shù)字輸出典型值的對照表如表1所列。
表1 DS1822溫度與數(shù)字輸出的典型值
溫度(℃) | 數(shù)字輸出(二進制) | 數(shù)字輸出(十六進制) |
+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的報警操作
DS1822完成溫度轉換之后,其溫度值將和TH與TL中存儲的觸發(fā)門限值相比較,由于這兩個閾值只有8位,因此比較時測量值中相應的幾個低位將被忽略,TH和TL中的最高位直接對應16位溫度存儲器中的符號位。如果比較的結果表明測量值高于TH中設定的上限溫度值或低于TL中設定的下限溫度值,則設置報警標志,該標志每次測量溫度時都要進行更新。一旦報警標志設置后,器件就會響應主機發(fā)出的報警搜索命令,這種處理方式使得并接的多個DS1822可以同時實現(xiàn)溫度測量。如果某些點上的溫度超過設定的閾值,則這些報警的器件就能被及時識別出來,主機不必一個一個地讀取,比較判斷哪些是越界報警的器件。
7 DS1822中的存儲器
DS1822的存儲器結構如表2所列。它由9個字節(jié)的便箋式存儲器和3個易失性SRAM組成,便箋式存儲器方便了一線系統(tǒng)的數(shù)據(jù)傳輸。通常情況下,首先用寫便箋式存儲器命令(4Eh)寫入數(shù)據(jù),然后用讀便箋式存儲器命令(BEh)進行校驗,最后通過復制便箋式存儲器命令(48h)將該數(shù)據(jù)寫入SRAM。
表2 DS1822D的存儲器結構
便箋式存儲器 | 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 有關轉換參數(shù)設置對應表
R1R0 | 分辨率(位) | 最大轉換時間(毫秒) |
00 | 9 | 93.75 |
01 | 10 | 187.5 |
10 | 11 | 375 |
11 | 12 | 750 |
便箋式存儲器由9個字節(jié)組成,第0、1字節(jié)存放溫度測量值;第2、3字節(jié)用于高、低門限設置;第4字節(jié)是配置存儲器;第5、6、7字節(jié)保留而未使用,讀取時各位均為1;第8字節(jié)可通過讀便箋式存儲器命令讀出,用于存放前8個字節(jié)的CRC校驗值。易失性SRAM主要用于復制,每次上電時它們都會被刷新。
而便箋式存儲器第4字節(jié)的配置存儲器主要用于設置溫度的測量分辨率,該字節(jié)的數(shù)據(jù)格式如圖5所示。其中bit7讀時總為0,bit4~bit0讀時總為1,寫入時這些位的取值可以是任意的。由圖5可知該配置寄存器實際上只用了bit6與bit5兩位,用以定義分辨率和轉換時間,其對應關系如表3所列,上電時的默認分辨率為12位,但轉換速率最低。由該表還可以看出,當分辨率提高1位時,轉換速率成倍下降,這在實際應用中是需要考慮的,必須根據(jù)實際需要來權衡分辨率與速率之間的關系。
8 DS1822的應用電路
由DS1822與DZT-512單總線溫度巡檢儀組成的測溫電路如圖6所示,通過DZT-512單總線溫度巡檢儀就可對單總線上所有的DS1822進行數(shù)據(jù)采集、并完成顯示及報警設定,讀寫數(shù)據(jù)距離達600米,DS1822經(jīng)RS232口與DZT-512相連,將溫度數(shù)據(jù)送入計算機進行分析處理。從圖中可看出,由DS1822組成的測溫系統(tǒng)具有布線結構簡單、可靠性高、成本低的特點。
9 結束語
單總線技術以其線路簡單、硬件開銷小、成本低廉、軟件設計簡單等優(yōu)勢有著無可比擬的應用前景?;趩慰偩€技術的DS1822在未來的測溫領域中必將得到廣泛的應用。
評論