DS2438及其在單總線微網(wǎng)中的應(yīng)用
摘要:介紹內(nèi)部集成多種功能部件的單總線器件DS2438,利用該器件內(nèi)部豐富的硬件資源,可構(gòu)成具有環(huán)境溫度及單總線供電電壓補(bǔ)償功能的單總線數(shù)據(jù)采集系統(tǒng);介紹器件性能特點(diǎn)、內(nèi)部結(jié)構(gòu)及工作原理,并給出該器件在單總線微網(wǎng)中的具體應(yīng)用實例。
關(guān)鍵詞:單總線微網(wǎng) 測控系統(tǒng) 單片機(jī) 傳感器
1 概述
在數(shù)字化測控系統(tǒng)中,由于單總線微網(wǎng)僅使用1根導(dǎo)線進(jìn)行雙向數(shù)據(jù)傳送,并同時為遠(yuǎn)端器件提供電源,既降低了測控系統(tǒng)的硬件成本,又提高了系統(tǒng)的可靠性,因而是有著廣泛應(yīng)用前景的現(xiàn)場總線技術(shù)。但是,由于單總線微網(wǎng)一方面要傳送數(shù)據(jù),另一方面還要向單總線器件提供電源,這必然造成單總線上供電電源電壓的波動;而測控系統(tǒng)中所使用的傳感器元件,其輸出值不僅正比于被測量,而且往往還與供電電源的電壓值有關(guān),因此,為了保證傳證傳感器的測量精度,就必須進(jìn)行相應(yīng)的電壓校正。另外,傳感器的輸出值往往還受環(huán)境溫度的影響,也必須進(jìn)行相應(yīng)的溫度補(bǔ)償。
上述問題如果采用基于單總線的普通A/D轉(zhuǎn)換器件予以解決,會使相應(yīng)的硬件電路及軟件編程過于復(fù)雜。這里利用Dallas公司的單總線器件DS2438,巧妙地解決了上述問題。下面首先介紹該器件,并重點(diǎn)介紹該器件與測控系統(tǒng)相關(guān)的功能。
DS2438是Dallas公司推出的智能電池監(jiān)視器。該器件是為了解決便攜式電子產(chǎn)品電池工作狀態(tài)的實時監(jiān)測而推出的,主要性能特點(diǎn)如下:
?、賳慰偩€器件,僅需1根口線實現(xiàn)電源及雙向數(shù)據(jù)傳輸;
?、谄瑑?nèi)13位精度溫度傳感器,最小分辨率0.031 25℃;
?、燮瑑?nèi)10位二通道電壓A/D轉(zhuǎn)換器,最小分辨率為10mV;
?、芷瑑?nèi)10位電流A/D轉(zhuǎn)換器;
?、萜瑑?nèi)40字節(jié)非易失性用戶存儲器;
?、奁瑑?nèi)逝去時間計數(shù)器,完成充放電時間計時;
?、邌坞娫垂ぷ鳎凸奶匦?;
⑧工作溫度范圍為-40℃~+80℃。
DS2438采用SOIC表面貼裝封裝形式,其外形及引腳排列如圖1所示,引腳功能說明見表1。
表1 DS2438引腳功能說明
引腳號 | 引腳名稱 |
說 明 |
1 | GND | 接地 |
2 | VSENS+ | 電源電流監(jiān)視輸入(+) |
3 | VSENS- | 電池電流監(jiān)視輸入(-) |
4 | VAD | 通用A/D輸入端 |
5 | VDD | 供電電壓(2.4~10V) |
6,7 | NC | 空引腳 |
8 | DQ | 數(shù)據(jù)輸入/輸出、1線操作、開漏 |
2 工作原理
DS2438的內(nèi)部結(jié)構(gòu)框圖如圖2所示。
由圖2可知,DS2438由單總線接口、電壓A/D轉(zhuǎn)換器、電流A/D轉(zhuǎn)換器、溫度傳感器、時鐘電路、40字節(jié)的E2PROM及與上述硬件相關(guān)的寄存器組成。其中的電壓A/D轉(zhuǎn)換器的輸入,可編程為由VDD電源端輸入或VAD輸入端輸入,以滿足VDD電源端及外部輸入模擬量VAD的測量要求。{{分頁}}
2.1 器件存儲單元
DS2438存儲器類型包括易失性的SRAM和非易失性的E2PROM。DS2438內(nèi)部的存儲器為一個總?cè)萘?4字節(jié)的存儲器。存儲器被分為8頁,每頁8字節(jié),頁地址為00~07H。其中第00頁是訪問頻率最高的頁,該頁的結(jié)構(gòu)如表2所列。
表2 DS2438存儲器第00頁結(jié)構(gòu)
字節(jié)序號 | 名 稱 | 內(nèi) 容 | 讀/寫特性 | 易失特性 | |||||||
DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 | ||||
0 | 狀態(tài)/配置寄存器 | X | ADB | NV | TB | AD | EE | CA | IAD | 讀 | 非易失 |
1 | 溫度低位寄存器 | 2 -1 | 2 -2 | 2 -3 | 2 -4 | 2 -5 | 0 | 0 | 0 | 讀 | 非易失 |
2 | 濕度高位寄存器 | S | 2 6 | 2 5 | 2 4 | 2 3 | 2 2 | 2 1 | 2 0 | 讀 | 非易失 |
3 | 電壓低位寄存器 | 2 7 | 2 6 | 2 5 | 2 4 | 2 3 | 2 2 | 2 1 | 2 0 | 讀 | 非易失 |
4 | 電壓高位寄存器 | 0 | 0 | 0 | 0 | 0 | 0 | 2 9 | 2 8 | 讀 | 非易失 |
5 | 電流低位寄存器 | 0 | 0 | 0 | 0 | 0 | 0 | 2 9 | 2 8 | 讀 | 非易失 |
6 | 電流高位寄存器 | S | S | S | S | S | S | S | 2 8 | 讀 | 非易失 |
7 | 閾值寄存器 | TH2 | TH1 | 0 | 0 | 0 | 0 | 0 | 0 | 讀/寫 | 易失 |
第1頁為電流累加器、逝去時間計數(shù)器和電流補(bǔ)償單元;每2頁包括非易失性時間和充電時間標(biāo)記;第3~7頁是40字節(jié)的提供給用戶使用的E2PROM,可用于保存用戶數(shù)據(jù)。
2.2 寄存器
DS2438所有的寄存器都映射到上述的存儲器中,同時對DS2438的操作都是通過寄存器進(jìn)行的。
(1)狀態(tài)寄存器
狀態(tài)寄存器位于存儲器00頁的第0字節(jié),該寄存器用于DS2438的功能控制,其中各位的默認(rèn)值為1,含義如下:
*IAD為電流A/D控制位。IAD=1,啟用電流A/D和ICA,且以32Hz速率測量電流;IAD=0,禁用電流A/D和ICA。
*CA為電流累加器配置位。CA=1,啟用CCA/DCA存儲數(shù)據(jù)且可從第7頁恢復(fù)數(shù)據(jù);CA=0,禁用CCA/DCA,第7頁可用于普通E2PROM存儲。
*EE為隱蔽電流累加器位。EE=1,將CCA/DCA計數(shù)器數(shù)據(jù)隱蔽到E2PROM,電量每增加0.32C,當(dāng)前計數(shù)器加1;EE=0,CCA/DCA計數(shù)器數(shù)據(jù)將不隱蔽到E2PROM。
*AD為電壓A/D輸入選擇位。AD=1,電壓A/D選擇由VDD端輸入;AD=0,電壓A/D選擇由VAD端輸入。
*TB為溫度轉(zhuǎn)換忙標(biāo)志位。TB=1,溫度轉(zhuǎn)換正在進(jìn)行;TB=0,溫度轉(zhuǎn)換結(jié)束。
*NVB為非易失存儲忙標(biāo)志位。NVB=1,在從可擦除區(qū)復(fù)制到E2PROM的存儲過程中;NVB=0,非易失存儲空閑狀態(tài)。一次E2PROM存儲占用2~10ms。
*ADB為A/D轉(zhuǎn)換標(biāo)志位,ADB=1,電壓A/D轉(zhuǎn)換正在進(jìn)行;ADB=0,轉(zhuǎn)換結(jié)束或無測量。一次A/D轉(zhuǎn)換占用約10ms。
*X為不定位。
(2)溫度寄存器
DS2438可在-55~+125℃范圍內(nèi)以0.031 25℃的分辨率測量溫度值,溫度值為2的碼形式通過2字節(jié)溫度寄存器輸出。其中符號位S指示溫度值為正或負(fù);S=0,溫度值為正;S=1,溫度值為負(fù)。
(3)電壓寄存器
DS2438的電壓輸入范圍是0~10V,且電壓ADC的輸入,可通過狀態(tài)/結(jié)構(gòu)寄存器的AD位來選擇由VDD輸入或由VAD輸入。電壓A/D轉(zhuǎn)換的結(jié)果放在2字節(jié)電壓寄存器中,單位為mV。
(4)電流寄存器
DS2438通過測量電流取樣電阻RSENS兩端的電壓來間接測量流過電池的電流。采用10位ADC,其分辨率為0.005C,電流測量值的結(jié)果放在2字節(jié)的電流寄存器中其中電流測量符號位S,用于指示充電或放電。
2.3 單總線協(xié)議
DS2438是Dallas公司基于單總線的器件。該器件的操作完全遵循單總線協(xié)議,其ROM命令有4個。
?、僮xROM[33H];
?、谄ヅ銻OM[55H];
?、厶^ROM[F0H]。
主機(jī)在操作DS2348之前,必須先發(fā)送上述4個ROM命令中的一個。在DS2438成功執(zhí)行上述命令之后,主機(jī)可使用下面的內(nèi)存命令操作DS2438。
由于DS2438的內(nèi)存分為7頁,故其內(nèi)存操作命令和其它的單總線器件略有不同。DS2438的內(nèi)存操作命令如下:
?、賹懜咚贂捍娲鎯ζ鱗4EHXXH];
?、谧x高速暫存存儲器[BEHXXH];
?、圩x制高速暫存存儲器[48HXX];
?、芑謴?fù)存儲器[B8HXXH];
?、轀囟绒D(zhuǎn)換命令[44H];
?、揠妷恨D(zhuǎn)換命令[B4H]。
上述內(nèi)存命令中的XXH為高速暫存存儲器的頁地址,有效的頁碼地址為00~07H。
DS2438對高速暫存存儲器的操作中,除了基本的命令外,還必須將等操作的高暫存存儲器的頁地址送出去。DS2438允許1次讀/寫1頁內(nèi)的全部8個字節(jié),且讀寫字節(jié)操作可使用復(fù)位命令在任何瞬間終止。
值得注意的是,DS2438的溫度轉(zhuǎn)換命令及電壓轉(zhuǎn)換命令發(fā)出后,主機(jī)需等待10~20ms,以使DS2438完成溫度及電壓轉(zhuǎn)換;同時,若采用寄生電源供電,應(yīng)將總線拉高,以保證充足的能量供應(yīng)。
3 DS2438在單總線微網(wǎng)中的應(yīng)用
下面給出將DS2438應(yīng)用于單總線微網(wǎng)的具體實例:單總線溫度傳感器設(shè)計。溫度的測量在倉儲檢測、生產(chǎn)制造及日常生活中有著廣泛的應(yīng)用,但濕度的測量卻較困難。原因是溫度傳感器大都為模擬小信號輸出,且在線性度、重復(fù)性、一致性等方面不盡如意。如果能夠利用現(xiàn)有的模擬濕度傳感器,設(shè)計出基于單總線的數(shù)字式濕度傳感器,則可配合單總線微網(wǎng)技術(shù)構(gòu)成全數(shù)字化的多點(diǎn)溫濕度測量系統(tǒng),如數(shù)字化糧情檢測、數(shù)字化倉儲檢測系統(tǒng)等。即可降低系統(tǒng)布線費(fèi)用,又可提高系統(tǒng)性能,因而具有非常不定期實的意義。這里,利用模擬大信號相對濕度傳感器并配合DS2438,設(shè)計出一種完全符合單總線協(xié)議的濕度傳感器(電路參見圖4)。{{分頁}}
3.1 濕度傳感器
由于單總線微網(wǎng)采用寄存電源的方式向單總線器件供電,因此,要求掛接在單總線微網(wǎng)上的器件必須滿足低功耗的要求。這里,選用了具有低功耗特性的模擬大信號濕度傳感器HIH-3610。HIH-3610是美國Honeywell公司生產(chǎn)的相對濕度傳感器。該傳器采用熱固聚酯電容式傳感頭,同時在內(nèi)部集成了信號處理功能電路,因此,可完成將相對濕度值變換成電容值,再將電容傳轉(zhuǎn)換成線性的電壓輸出。同時該傳感器還具精度高、響應(yīng)快速、高穩(wěn)定性、低溫漂、抗化學(xué)腐蝕性能強(qiáng)及互換性好等優(yōu)點(diǎn),其性能指標(biāo)如表3所列,輸出電壓與相對濕度的關(guān)系曲線如圖3所示。
表3 HIH-3610濕度傳感器性能指標(biāo)
參 數(shù) | 指 標(biāo) |
RH精度 |
關(guān)鍵詞:
單總線微網(wǎng)
測控系統(tǒng)
單片機(jī)
傳感器
MCU和嵌入式微處理器
相關(guān)推薦技術(shù)專區(qū)
|
評論