由單片機(jī)和多片DS1820組成的多點(diǎn)溫度測(cè)控系統(tǒng)
2.4 高速暫存器
它由便箋式RAM和非易失性電擦寫 EERAM組成,后者用于存儲(chǔ)TH、TL值。數(shù)據(jù)選寫入RAM,經(jīng)校驗(yàn)后再傳給EERAM。便箋式EAM點(diǎn)9個(gè)字節(jié),包括溫度信息(第1、2字節(jié))、TH 和TL值(3、4字節(jié))、計(jì)數(shù)寄存器(7、8字節(jié))、CRC(第9字節(jié))等,第5、6字節(jié)不用。暫存器的命令共6條,見表3所列。
在正常測(cè)溫情況下,DS1820的測(cè)溫分辨力為0.5℃,可采用下述方法獲得高分辨率的溫度測(cè)量結(jié)果:首先用DS1820提供的讀暫存器指令(BEH)讀出以0.5℃為分辨率的溫度測(cè)量結(jié)果,然后切去測(cè)量結(jié)果中的最低有效位(LSB),得到所測(cè)實(shí)際溫度的整數(shù)部分Tz,然后現(xiàn)用BEH指令取計(jì)數(shù)器1的計(jì)數(shù)剩余值Cs和每度計(jì)數(shù)值CD??紤]到DS1820測(cè)量溫度的整數(shù)部分以0.25℃、0.75℃為進(jìn)位界限的關(guān)系,實(shí)際溫度Ts可用下式計(jì)算:
Ts=(Tz-0.25℃)+(CD-Cs)/CD
2.5 告警信號(hào)
DS1820 完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與TH、TL作比較。若T>TH或TTL,則將該器件內(nèi)的告警標(biāo)志置位,并對(duì)主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。因此,可用多只DS1820同時(shí)測(cè)量溫度并進(jìn)行告警搜索。一旦某測(cè)溫點(diǎn)越限,主機(jī)利用告警搜索命令即可識(shí)別正在告警的器件,并讀出其序號(hào),而不必考慮非告警器件。
2.6 CRC的產(chǎn)生
在64 位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS1820中的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。CRC的函數(shù)表達(dá)式為:CRC=X8+X5+X3+1。此外,DS1820尚需依上式為暫存器中的數(shù)據(jù)來(lái)產(chǎn)生一個(gè)8位CRC 送給主機(jī),以確保暫存器數(shù)據(jù)傳送無(wú)誤。
評(píng)論