一、引言 本文引用地址:http://www.104case.com/article/219083.htm 目前設計便攜式設備,為了滿足移動性和輕便性的要求,通常采用電池供電。在使用電池供電時,電池的當前狀態是用戶所關心的,如MP3播放器、手機、筆記本電腦等都實時顯示電池的當前狀態。為此在設計本文所涉及的儀器時,智能電池監測系統被充分考慮。本文實現的電池監測系統由DS2438智能電池監測芯片、51單片機、液晶顯示模塊組成,其中核心功能是由DS2438智能電池監測芯片完成的。本文介紹了本系統的硬件實現和軟件設計,以及DS2438芯片特性和相關控制軟件程序。 二、系統硬件實現 本系統的硬件設計力求簡潔,目的是盡量減少對單片機指令周期的占用,以便使單片機能夠完成更多其他功能。系統的硬件實現框圖見圖1。
 本系統由DS2438智能電池監測芯片、51單片機、液晶顯示模塊組成。
DS2438芯片完成對電池當前各種狀態的監測,包括當前電池的充/放電狀態、電壓、電流、溫度、剩余電量、消逝時間等參數的監測。DS2438芯片能夠自動采集這些參數,并將其放在SRAM/EEPROM中。51單片機根據需要發出命令讀取這些參數,然后處理這些參數,顯示電池狀態。由于存放這些參數的EEPROM具有非易失性,所以本系統具有掉電保護的功能。
51單片機按照用戶需要對電池狀態的相應參數讀取和處理,然后送往液晶顯示模塊顯示。由圖1可見,單片機是整個系統的控制、處理中心。由于大量工作由單片機的軟件完成,明顯地降低了系統硬件復雜度。
液晶顯示模塊顯示用戶需要了解的電池當前狀態信息,僅僅接受單片機的控制和訪問。
 由此可見,本系統的主要功能是由DS2438芯片和51單片機的軟件程序完成的,其中51單片機、液晶顯示模塊的用法與其在其他系統中的用法相同,所以以下主要介紹DS2438芯片的功能特性和單片機軟件編程。
三、DS2438芯片介紹 DS2438芯片是DALLAS公司推出的新一代智能電池監測芯片,具有功能強大、體積小、硬件接線簡單等優點。
1.特性 (1)僅有一根雙向數據線,故單片機僅需一個端口與之連接。 (2)內含數字溫度傳感器(免去在電池塊內設裝熱敏電阻)。 (3)片內模數轉換器可進行電池電壓監測,從而可判定充電和放電的結束。 (4)片內的積分電流累加器可實時記錄電池流入、流出電流的總量,便于統計電量。 (5)內含二進制格式的消逝時間表。 (6)內含40字節可用于存放電池特殊參數的掉電保護的用戶訪問存儲器。
2.芯片硬件接線(見圖2)
3.存儲空間 DS2438的存儲空間有8頁,每頁8個字節,共64個字節,每一頁都有對應的高速暫存頁,因此存儲器包括RAM高速暫存器和SRAM/EEPROM (掉電保護)兩部分,這兩部分是鏡像關系。高速暫存器可確保在用一線通訊時數據能夠保持一致性(數據寫入DS2438時先寫入高速暫存器,僅當數據被確認后,才能用暫存器復制命令將暫存頁的數據寫入相應的掉電保護空間中),單片機對DS2438進行數據讀/寫時只能對高速暫存器進行操作。存儲空間內包括一些特殊功能寄存器和用戶可使用的存儲單元。下面僅對存儲空間中與我們設計的實際系統有關的特殊寄存器做一下說明。
(1)狀態/標志寄存器 狀態/標志寄存器決定了DS2438的工作狀態,單片機通過對特殊功能寄存器進行讀/寫操作,可實現DS2438的各種功能,因此在對其進行操作之前,必須對這一寄存器進行初始化,即對相應的控制位進行寫操作。
(2)電流寄存器 DS2438內含一個可有效測量流入、流出電池塊電流的模數轉換器,電流的測量是通過測量外部傳感電阻兩端的電壓來實現的。測量的結果存放于電流寄存器中。
實際上電流寄存器存的是電壓值,要得到流入、流出電池的電流可用公式(1)行計算。 I=電流寄存器的值/(4096×RSENS) (1)
(3)電流積分累加寄存器 DS2438對電池剩余電量的測量是借助其內部的電流積分累加器(ICA)實現的。ICA存放的是流入、流出電池總電流的凈累加值,因此,存儲在這個寄存器內的值可用于計算電池的剩余電量。
(4)電壓寄存器 存放采集的電壓值。
(5)溫度寄存器 存放采集的電池溫度值。
(6)消逝時間記錄寄存器 消逝時間記錄寄存器記錄相對于內部基準時間的電池充電完畢、其脫離系統的精確時刻,便于用戶了解電池的使用情況,正確地使用和維護電池。
4.DS2438的操作命令 DS2438的操作命令有兩類,一類是存儲功能命令,有讀/寫暫存頁、復制暫存頁、讀SRAM/EEPROM頁、溫度轉換、電壓轉換等命令,此類命令的主要作用是進行數據采集和存儲。另一類是ROM功能命令,包括對DS2438的RAM序列號進行讀、比較、跳過、尋找等四種操作,用戶可使用這類命令隨意訪問一條總線上連接的多個DS2438芯片。
技術專區
主站蜘蛛池模板:
南昌市|
怀远县|
平江县|
清苑县|
外汇|
广丰县|
泾源县|
张家口市|
墨竹工卡县|
许昌市|
昌宁县|
忻州市|
金山区|
蚌埠市|
辽阳市|
龙泉市|
晋中市|
乡宁县|
新闻|
麟游县|
九龙县|
靖安县|
五常市|
红河县|
泌阳县|
芮城县|
永胜县|
彰武县|
广南县|
岢岚县|
美姑县|
张家川|
沙坪坝区|
赤峰市|
碌曲县|
汉沽区|
都昌县|
漯河市|
广饶县|
崇阳县|
怀化市|
|
評論