一、引言 本文引用地址:http://www.ex-cimer.com/article/219083.htm 目前設(shè)計(jì)便攜式設(shè)備,為了滿足移動(dòng)性和輕便性的要求,通常采用電池供電。在使用電池供電時(shí),電池的當(dāng)前狀態(tài)是用戶所關(guān)心的,如MP3播放器、手機(jī)、筆記本電腦等都實(shí)時(shí)顯示電池的當(dāng)前狀態(tài)。為此在設(shè)計(jì)本文所涉及的儀器時(shí),智能電池監(jiān)測(cè)系統(tǒng)被充分考慮。本文實(shí)現(xiàn)的電池監(jiān)測(cè)系統(tǒng)由DS2438智能電池監(jiān)測(cè)芯片、51單片機(jī)、液晶顯示模塊組成,其中核心功能是由DS2438智能電池監(jiān)測(cè)芯片完成的。本文介紹了本系統(tǒng)的硬件實(shí)現(xiàn)和軟件設(shè)計(jì),以及DS2438芯片特性和相關(guān)控制軟件程序。 二、系統(tǒng)硬件實(shí)現(xiàn) 本系統(tǒng)的硬件設(shè)計(jì)力求簡(jiǎn)潔,目的是盡量減少對(duì)單片機(jī)指令周期的占用,以便使單片機(jī)能夠完成更多其他功能。系統(tǒng)的硬件實(shí)現(xiàn)框圖見圖1。
本系統(tǒng)由DS2438智能電池監(jiān)測(cè)芯片、51單片機(jī)、液晶顯示模塊組成。
DS2438芯片完成對(duì)電池當(dāng)前各種狀態(tài)的監(jiān)測(cè),包括當(dāng)前電池的充/放電狀態(tài)、電壓、電流、溫度、剩余電量、消逝時(shí)間等參數(shù)的監(jiān)測(cè)。DS2438芯片能夠自動(dòng)采集這些參數(shù),并將其放在SRAM/EEPROM中。51單片機(jī)根據(jù)需要發(fā)出命令讀取這些參數(shù),然后處理這些參數(shù),顯示電池狀態(tài)。由于存放這些參數(shù)的EEPROM具有非易失性,所以本系統(tǒng)具有掉電保護(hù)的功能。
51單片機(jī)按照用戶需要對(duì)電池狀態(tài)的相應(yīng)參數(shù)讀取和處理,然后送往液晶顯示模塊顯示。由圖1可見,單片機(jī)是整個(gè)系統(tǒng)的控制、處理中心。由于大量工作由單片機(jī)的軟件完成,明顯地降低了系統(tǒng)硬件復(fù)雜度。
液晶顯示模塊顯示用戶需要了解的電池當(dāng)前狀態(tài)信息,僅僅接受單片機(jī)的控制和訪問。
由此可見,本系統(tǒng)的主要功能是由DS2438芯片和51單片機(jī)的軟件程序完成的,其中51單片機(jī)、液晶顯示模塊的用法與其在其他系統(tǒng)中的用法相同,所以以下主要介紹DS2438芯片的功能特性和單片機(jī)軟件編程。
三、DS2438芯片介紹 DS2438芯片是DALLAS公司推出的新一代智能電池監(jiān)測(cè)芯片,具有功能強(qiáng)大、體積小、硬件接線簡(jiǎn)單等優(yōu)點(diǎn)。
1.特性 (1)僅有一根雙向數(shù)據(jù)線,故單片機(jī)僅需一個(gè)端口與之連接。 (2)內(nèi)含數(shù)字溫度傳感器(免去在電池塊內(nèi)設(shè)裝熱敏電阻)。 (3)片內(nèi)模數(shù)轉(zhuǎn)換器可進(jìn)行電池電壓監(jiān)測(cè),從而可判定充電和放電的結(jié)束。 (4)片內(nèi)的積分電流累加器可實(shí)時(shí)記錄電池流入、流出電流的總量,便于統(tǒng)計(jì)電量。 (5)內(nèi)含二進(jìn)制格式的消逝時(shí)間表。 (6)內(nèi)含40字節(jié)可用于存放電池特殊參數(shù)的掉電保護(hù)的用戶訪問存儲(chǔ)器。
2.芯片硬件接線(見圖2)
3.存儲(chǔ)空間 DS2438的存儲(chǔ)空間有8頁,每頁8個(gè)字節(jié),共64個(gè)字節(jié),每一頁都有對(duì)應(yīng)的高速暫存頁,因此存儲(chǔ)器包括RAM高速暫存器和SRAM/EEPROM (掉電保護(hù))兩部分,這兩部分是鏡像關(guān)系。高速暫存器可確保在用一線通訊時(shí)數(shù)據(jù)能夠保持一致性(數(shù)據(jù)寫入DS2438時(shí)先寫入高速暫存器,僅當(dāng)數(shù)據(jù)被確認(rèn)后,才能用暫存器復(fù)制命令將暫存頁的數(shù)據(jù)寫入相應(yīng)的掉電保護(hù)空間中),單片機(jī)對(duì)DS2438進(jìn)行數(shù)據(jù)讀/寫時(shí)只能對(duì)高速暫存器進(jìn)行操作。存儲(chǔ)空間內(nèi)包括一些特殊功能寄存器和用戶可使用的存儲(chǔ)單元。下面僅對(duì)存儲(chǔ)空間中與我們?cè)O(shè)計(jì)的實(shí)際系統(tǒng)有關(guān)的特殊寄存器做一下說明。
(1)狀態(tài)/標(biāo)志寄存器 狀態(tài)/標(biāo)志寄存器決定了DS2438的工作狀態(tài),單片機(jī)通過對(duì)特殊功能寄存器進(jìn)行讀/寫操作,可實(shí)現(xiàn)DS2438的各種功能,因此在對(duì)其進(jìn)行操作之前,必須對(duì)這一寄存器進(jìn)行初始化,即對(duì)相應(yīng)的控制位進(jìn)行寫操作。
(2)電流寄存器 DS2438內(nèi)含一個(gè)可有效測(cè)量流入、流出電池塊電流的模數(shù)轉(zhuǎn)換器,電流的測(cè)量是通過測(cè)量外部傳感電阻兩端的電壓來實(shí)現(xiàn)的。測(cè)量的結(jié)果存放于電流寄存器中。
實(shí)際上電流寄存器存的是電壓值,要得到流入、流出電池的電流可用公式(1)行計(jì)算。 I=電流寄存器的值/(4096×RSENS) (1)
(3)電流積分累加寄存器 DS2438對(duì)電池剩余電量的測(cè)量是借助其內(nèi)部的電流積分累加器(ICA)實(shí)現(xiàn)的。ICA存放的是流入、流出電池總電流的凈累加值,因此,存儲(chǔ)在這個(gè)寄存器內(nèi)的值可用于計(jì)算電池的剩余電量。
(4)電壓寄存器 存放采集的電壓值。
(5)溫度寄存器 存放采集的電池溫度值。
(6)消逝時(shí)間記錄寄存器 消逝時(shí)間記錄寄存器記錄相對(duì)于內(nèi)部基準(zhǔn)時(shí)間的電池充電完畢、其脫離系統(tǒng)的精確時(shí)刻,便于用戶了解電池的使用情況,正確地使用和維護(hù)電池。
4.DS2438的操作命令 DS2438的操作命令有兩類,一類是存儲(chǔ)功能命令,有讀/寫暫存頁、復(fù)制暫存頁、讀SRAM/EEPROM頁、溫度轉(zhuǎn)換、電壓轉(zhuǎn)換等命令,此類命令的主要作用是進(jìn)行數(shù)據(jù)采集和存儲(chǔ)。另一類是ROM功能命令,包括對(duì)DS2438的RAM序列號(hào)進(jìn)行讀、比較、跳過、尋找等四種操作,用戶可使用這類命令隨意訪問一條總線上連接的多個(gè)DS2438芯片。
技術(shù)專區(qū)
看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
|
評(píng)論