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