DS7505是Maxim公司的數(shù)字溫度計(jì)及溫控器,其工作電壓為1.7~3.7 V,測(cè)量溫度范圍為一55℃~+125℃,當(dāng)所測(cè)溫度超過(guò)0℃~+70℃時(shí),其精度可達(dá)±O.5℃。用該器件測(cè)量溫度時(shí)無(wú)需任何外部元件。該器件讀取分辨率有9位、10位、ll位、12位四檔,通過(guò)兩條串行接口線SDA和SCL進(jìn)行數(shù)據(jù)的讀寫(xiě)操作。DS7505是以高位對(duì)齊低位補(bǔ)零的方式存儲(chǔ)數(shù)據(jù),由于DS7505是從高位讀取數(shù)據(jù),因此在只讀取整數(shù)溫度時(shí),只需讀取一個(gè)字節(jié)。圖1給出DS7505的引腳排列,其中SDA為數(shù)據(jù)的輸入輸出;SCL為時(shí)鐘輸入;0.S.為控制輸出;GND為接地;A0,A1與A2為地址輸人;VDD為輸入電壓。
2 DS7505內(nèi)部結(jié)構(gòu)和功能
圖2為DS7505內(nèi)部結(jié)構(gòu)。包括地址及I/O接口控制器,精度參考,過(guò)采樣調(diào)制器,數(shù)字濾波器,溫控比較器以及4個(gè)寄存器,即配置寄存器,溫度寄存器、Tos與Thyst寄存器。
2.1 溫度寄存器
DS7505把每次的溫度測(cè)量值經(jīng)A/D轉(zhuǎn)換后存到該寄存器內(nèi)。它是2個(gè)字節(jié)寄存器,溫度值以二進(jìn)制形式存儲(chǔ)在該寄存器內(nèi)如表l所示。符號(hào)位(S)表示溫度值的正負(fù),S為0代表正,S為l代表負(fù)。該位可隨時(shí)讀取,且并不影響該溫度寄存器正在運(yùn)行的操作。該寄存器的BitO~Bit3位被硬件置零。按照先從高位存儲(chǔ),低位補(bǔ)零的原則存儲(chǔ)數(shù)據(jù),如存儲(chǔ)12位溫度數(shù)據(jù)時(shí)用Bitl5~Bit4存儲(chǔ);存儲(chǔ)11位溫度數(shù)據(jù)時(shí),使用Bit15~Bit5,并把Bit4置零;依次類推存儲(chǔ)10位、9位溫度數(shù)據(jù)。存儲(chǔ)時(shí)選用哪種數(shù)據(jù)分辨率(9位、10位、11位或12位)需對(duì)配置寄存器進(jìn)行設(shè)置。
2.2 配置寄存器
使用配置寄存器來(lái)設(shè)置DS7505,如溫度數(shù)據(jù)讀取分辨率、操作模式、容錯(cuò)能力、輸出引腳極性等設(shè)置。該寄存器的各位表示如表2所示,表3是對(duì)其各位功能的詳細(xì)描述。
SD=I時(shí)DS7505處于睡眠模式,此時(shí)轉(zhuǎn)換結(jié)束并把轉(zhuǎn)換結(jié)果存入溫度寄存器內(nèi),DS7505進(jìn)入低功耗待機(jī)狀態(tài)。SD=0時(shí)DS7505同到正常操作狀態(tài)——轉(zhuǎn)換和溫控操作,此時(shí)DS7505執(zhí)行溫度測(cè)量,并把結(jié)果存入溫度寄存器,DS7505進(jìn)入睡眠狀態(tài)。
TM位用來(lái)設(shè)置DS7505的工作模式。TM=O則DS7505處于比較器模式,當(dāng)測(cè)得的溫度值連續(xù)超過(guò)Tos寄存器中的溫度值數(shù)次后(超過(guò)次數(shù)取決于配置寄存器中的Fl與F0位),則激活0.S,并0.S.一直保持有效,直到溫度低于Thvst寄存器內(nèi)的數(shù)值為止。當(dāng)DS7507是由比較器模式進(jìn)入睡眠模式,則不清除O.S.輸出。TM=1則DS7505處于中斷模式,當(dāng)所測(cè)值連續(xù)超過(guò)Tos寄存器內(nèi)溫度值數(shù)次后,O.S.激活。一旦激活0.S.只能使DS7505處于睡眠模式或者從任意寄存器讀取數(shù)據(jù)才能使其失效,O.S.失效后其輸出清零,當(dāng)測(cè)量溫度低于Thyst寄存器內(nèi)的數(shù)值連續(xù)數(shù)次后,O.S.被重新激活。
存儲(chǔ)溫度數(shù)據(jù)前,應(yīng)配置寄存器的Bit6和Bit5(即R1與R0),用于選擇溫度數(shù)據(jù)存儲(chǔ)分辨率。如表4所示。
配置寄存器的FO與F1位用于設(shè)置溫控器的容錯(cuò)能力,即規(guī)定所測(cè)溫度連續(xù)超過(guò)Tos或Thyst寄存器內(nèi)數(shù)值的次數(shù),即激活0.S.的條件,F(xiàn)1F0=00時(shí)激活O.S.所需連續(xù)次數(shù)為1;F1FO=01時(shí),所需次數(shù)為2;F1F0=10時(shí),所需次數(shù)為4;FlF0=ll,所需次數(shù)為6。
2.3 寄存器指針
寄存器指針是一個(gè)8位寄存器,其中高6位置零,低2位(Pl和P0)用來(lái)設(shè)置訪問(wèn)寄存器,如表5所示。對(duì)DS7505讀寫(xiě)操作時(shí)必須先通過(guò)P1和P0設(shè)定要訪問(wèn)的寄存器。一旦設(shè)定后不能對(duì)其更改。從溫度寄存器讀取數(shù)據(jù)時(shí),只需設(shè)定一次寄存器指針,只要不改變,數(shù)據(jù)將順序從寄存器讀出。但是當(dāng)寄存器寫(xiě)入時(shí),每寫(xiě)入一次(即便是向同一寄存器寫(xiě)入),寄存器指針都需要重新設(shè)定。上電時(shí)指針默認(rèn)指向溫度寄存器,因此讀數(shù)溫度寄存器無(wú)需重新設(shè)定指針。
2.4 Tos與Thyst寄存器
Tos和Thyst寄存器的數(shù)據(jù)格式與溫度寄存器相同。每次溫度轉(zhuǎn)換后,轉(zhuǎn)換值都與儲(chǔ)存在這兩個(gè)寄存器中的數(shù)值進(jìn)行比較。0.S.的輸出是根據(jù)DS7505的操作模式和比較器的結(jié)果進(jìn)行更新。在溫控器比較期間所使用的Tos和Thyst中的數(shù)值的位數(shù)與溫度數(shù)據(jù)讀取分辨率相同,如分辨率為9,則溫控比較器只使用Tos和Thyst的高9位。如未用DS7505的控溫能力,O.S.位的輸出就與Tos和Thyst無(wú)關(guān),此時(shí)這兩個(gè)寄存器可用做一般存儲(chǔ)器存儲(chǔ)數(shù)據(jù)。
3 2線串行數(shù)據(jù)總線
DS7505通過(guò)串行時(shí)鐘信號(hào)(SCL)及串行數(shù)據(jù)信號(hào)(SDA)兩條2線串行數(shù)據(jù)總線進(jìn)行通信。總線上,主機(jī)(如單片機(jī))產(chǎn)生SCL信號(hào)并發(fā)送啟動(dòng)和停止命令。當(dāng)SDA和SCL都為高電平,總線處于空閑狀態(tài)。當(dāng)SCL保持為高且SDA產(chǎn)生一個(gè)由高到低的電平時(shí),主機(jī)開(kāi)始傳輸數(shù)據(jù);當(dāng)SCL保持為高而SDA由低變?yōu)楦邥r(shí),主機(jī)停止數(shù)據(jù)傳送,總線回到空閑狀態(tài)。所有通信都是從MSB位開(kāi)始。接收設(shè)備(主或從機(jī))每接收一個(gè)字節(jié),都將在SDA上產(chǎn)生一個(gè)低電平的確認(rèn)信號(hào)ACK,當(dāng)主機(jī)接收完最后一個(gè)數(shù)據(jù)字節(jié)時(shí),將發(fā)送高電平的非確認(rèn)信號(hào)NACK來(lái)暗示接收數(shù)據(jù)已結(jié)束。如圖3所示。
總線上的每個(gè)從機(jī)都有一個(gè)可被尋址的7位地址(1O0l A2 Al A0),其中A2、A1、AO可由用戶通過(guò)設(shè)定相應(yīng)引腳的電平進(jìn)行選擇,這樣可允許多達(dá)8個(gè)DS7505掛接在同一總線??刂谱止?jié)由主機(jī)發(fā)出,是由7位從機(jī)地址加上R/W位構(gòu)成,即l0Ol A2 Al A0 R/W。如果主機(jī)要由從機(jī)讀數(shù)據(jù),則R/W=l,寫(xiě)數(shù)據(jù),則R/W=0。
4 DS7505在測(cè)溫系統(tǒng)中的應(yīng)用
圖4給出數(shù)字溫度計(jì)和溫控器DS7505與單片機(jī)STC89LE52結(jié)合構(gòu)成的測(cè)溫系統(tǒng)電路圖,可實(shí)現(xiàn)溫度測(cè)量和控制。在設(shè)計(jì)中,設(shè)定配置寄存器的POL=0,即令O.S.低電平有效而高電平無(wú)效,且開(kāi)始時(shí),令繼電器處于斷開(kāi)狀態(tài),配置寄存器的TM=O,DS7505工作在比較模式下,通過(guò)編程設(shè)置門(mén)限溫度值,將采集的溫度數(shù)據(jù)與門(mén)限值相比較,當(dāng)?shù)陀陂T(mén)限值時(shí),0.S.位處于無(wú)效狀態(tài),輸出高電平,三極管導(dǎo)通,繼電器閉合,從而進(jìn)行加熱;當(dāng)采集的溫度值超過(guò)門(mén)限值且達(dá)到激活0.S.的條件時(shí),O.S.位被激活,低電平有效,三極管(VQ1關(guān)斷),繼電器斷開(kāi)從而進(jìn)行降溫。用繼電器控制加熱器的開(kāi)關(guān)可以使被測(cè)物體的溫度保持在一定的溫度范圍內(nèi),即構(gòu)成一個(gè)恒溫器,另外可設(shè)置相應(yīng)的時(shí)間實(shí)現(xiàn)對(duì)物體定時(shí)加熱,在到達(dá)規(guī)定時(shí)間后由蜂鳴器報(bào)警來(lái)通知,隨后可由按鍵來(lái)結(jié)束蜂鳴器報(bào)警。在設(shè)計(jì)中利用發(fā)光二級(jí)管(VQ2)作為指示燈,其點(diǎn)亮、熄滅表示加熱器的加熱狀態(tài)和降溫狀態(tài)。為了防止三極管VQl擊穿,在電路上并聯(lián)一個(gè)二極管(VDl),起保護(hù)作用。
5 結(jié)語(yǔ)
DS7505是一種無(wú)需任何外部器件就能實(shí)現(xiàn)溫度測(cè)量的數(shù)字溫控器,是擁有獨(dú)立溫控能力的器件。它體積小,編程簡(jiǎn)單,且精確度高,耗電低。在設(shè)計(jì)的溫度測(cè)量系統(tǒng)中選用了DS7505數(shù)字溫控器,實(shí)際應(yīng)用證明該器件使用簡(jiǎn)單、測(cè)量精度高,并且不易受環(huán)境因素干擾,具有良好的適應(yīng)性和擴(kuò)展性。