《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > PXA270的電池充電及電量計(jì)量模塊設(shè)計(jì)
PXA270的電池充電及電量計(jì)量模塊設(shè)計(jì)
王 琉,吳 寧
南京航空航天大學(xué)
摘要: 以PXA270芯片為處理器,利用2種高性能芯片LM3658和DS2786設(shè)計(jì)了電池充電與電量計(jì)量模塊。該模塊可以運(yùn)用于手機(jī)、PDA、數(shù)碼相機(jī)、MP3等手持設(shè)備中,能夠在滿足充電任務(wù)的同時(shí),實(shí)時(shí)精確地計(jì)量當(dāng)前的剩余電量,并顯示在用戶界面上,方便用戶使用,具有很好的應(yīng)用前景。
Abstract:
Key words :

 

    隨著技術(shù)的發(fā)展和普及,手持設(shè)備出現(xiàn)在越來(lái)越多的場(chǎng)合。手持設(shè)備以體積小、重量輕、可攜帶性好等優(yōu)勢(shì)吸引了各種電子設(shè)備向手持方向轉(zhuǎn)型和發(fā)展,同時(shí)也必然地提出了電池的充電和電量計(jì)量問(wèn)題。手機(jī)、數(shù)碼相機(jī)、MP3、筆記本、PDA等手持設(shè)備都必備1個(gè)電池的充電電路以及可以在手持設(shè)備顯示界面上反饋當(dāng)前電池電量的計(jì)量電路。本文通過(guò)2款高性能的芯片LM3658和DS2786,以PXA270處理器為例,介紹1種可應(yīng)用于各種手持設(shè)備場(chǎng)合的電路模塊。

1 硬件設(shè)計(jì)
1.1 PXA270處理器簡(jiǎn)介
    PXA270嵌入式處理器是Intel公司推出的基于XS-cale架構(gòu)的新一代高性能處理器,主用應(yīng)用于高端無(wú)線手持和移動(dòng)設(shè)備。PXA270主頻可以設(shè)置在312~624 MHz之間,內(nèi)部集成了WMMX技術(shù),擁有高性能、低功耗的多媒體加速能力,可以很好地支持音頻、視頻解碼。同時(shí)它集成了Intel先進(jìn)的SpeedStep技術(shù),可以動(dòng)態(tài)地調(diào)節(jié)CPU的性能,實(shí)現(xiàn)高效的功耗控制。此外,PXA270內(nèi)部提供了UART、I2C、I2S、USB等各種常用接口,使得PXA270可以應(yīng)用在各種場(chǎng)合。
1.2 電池充電及電量計(jì)量電路
    由于PXA270出色的移動(dòng)性能,電池供電成為了PXA270系統(tǒng)的必需電路。本系統(tǒng)中的充電芯片選用了美國(guó)國(guó)家半導(dǎo)體公司(National Semi-conductor Corporation)推出的LM3658。它可以使用USB充電,也可以使用交流適配器充電,同時(shí)具有電源管理功能。該芯片可為單顆鋰電池和鋰聚合物電池安全充電,終止充電誤差不超過(guò)1.5%,有助延長(zhǎng)電池壽命,因此適用于多種場(chǎng)合下的手持設(shè)備,包括PDA、MP3、數(shù)碼相機(jī)和手機(jī)等。圖1是LM3658的引腳分布和典型電路。

a.JPG
    如圖1所示,EN_b是充電的使能端,低電平表示允許充電,高電平表示禁止充電。CHG_IN和USBpwr引腳分別表示交流適配器輸入和USB輸入。輸入電壓都是在4.5~6 V之間。LM3658芯片在利用USB或交流適配器為鋰電池或鋰聚合物電池充電時(shí),若這2種電源都處于開啟狀態(tài),充電器芯片便會(huì)自動(dòng)選用預(yù)先設(shè)定的交流電模式。如果用交流適配器電源充電,可以通過(guò)Iset引腳與地址之間連接1個(gè)電阻,該電阻阻值的大小決定了充電時(shí)的電流大小。如果用USB給電池充電,可以通過(guò)USB_sel引腳決定充電電流的大小,該引腳低電平時(shí)充電電流為100 mA,高電平時(shí)充電電流為500mA。LM3658通過(guò)BATT引腳連接電池的正極,為電池提供充電電流。同時(shí)通過(guò)Ts引腳連接電池的負(fù)極,獲取電池的溫度信息。
     Statl和Stat2高低電平的不同組合可以反映當(dāng)前電池的4種充電狀態(tài),如表1所列??梢詫tatl和Star2的狀態(tài)輸出到PXA270的GPIO,通過(guò)軟件程序讀出當(dāng)前狀態(tài),并顯示在用戶界面上。

b.JPG
    本系統(tǒng)中的電量計(jì)量芯片選用的是美國(guó)Dallas Semiconductor公司推出的一款基于開路電壓(OCV)的電量計(jì)量芯片——DS2786。該芯片能夠根據(jù)電池閑置期間的開路電壓來(lái)估算可充電鋰離子和鋰離子聚合物電池的可用電量。通過(guò)儲(chǔ)存在IC中的查找表,開路電壓可用于確定電池的相對(duì)電量,可以在電池包插入后立即得到準(zhǔn)確的電量信息。當(dāng)電池高速率放電時(shí),無(wú)法使用OCV計(jì)量,因此DS2786使用庫(kù)侖計(jì)量作為估算相對(duì)電量的第2種方法。
    DS2786以百分比的形式給出剩余電量的同時(shí),還給出了電池電壓、電流和溫度信息。電量計(jì)算所需的電池特性和應(yīng)用參數(shù)存儲(chǔ)在片上EE-PROM中。為了支持在某些對(duì)成本比較敏感的場(chǎng)合對(duì)電量進(jìn)行監(jiān)測(cè),DS2786還提供了電流、電壓和溫度的測(cè)量數(shù)據(jù)。
    DS2786可以應(yīng)用在手持設(shè)備上,也可安裝在電池包內(nèi),其典型應(yīng)用如圖2所示。VDD是芯片DS2786的工作電源輸入引腳,而VIN則是所測(cè)量電池的電壓輸入引腳。

c.JPG


    通過(guò)VPROG引腳可以對(duì)芯片內(nèi)部EEPROM里存儲(chǔ)的查找表進(jìn)行修改。SCL和SDA分別是串行時(shí)鐘輸入和串行數(shù)據(jù)輸入/輸出,可以將電量計(jì)量數(shù)據(jù)傳遞給PXA270上的I2C接口進(jìn)行讀取操作。在2個(gè)輔助輸入端AN0和ANl,可通過(guò)比例計(jì)量法提供電池包識(shí)別(PACK ID)電阻和熱敏電阻的阻抗計(jì)量。
    本系統(tǒng)采用PXA270+LM3658+DS2786組成1個(gè)完整的嵌入式系統(tǒng)的電池充電及電量計(jì)量模塊。LM3658負(fù)責(zé)電池的充電功能和反饋當(dāng)前電池的充電狀態(tài),DS2786負(fù)責(zé)提供當(dāng)前電池的剩余電量信息,而PXA270則提供系統(tǒng)的控制和數(shù)據(jù)接收功能。

d.JPG


    模塊的系統(tǒng)框圖如圖3所示。由于沒(méi)有采用USB電源供電,因此將LM3658芯片的CHG-IN引腳直接5 V輸入。BATT端接上電池的正極進(jìn)行充電。在電池的正極同時(shí)接上N溝道的MOSFET管,可以實(shí)現(xiàn)對(duì)電池的安全保護(hù),防止充電過(guò)量,出現(xiàn)電流過(guò)大、溫度過(guò)高等情況。電池的充電狀態(tài)通過(guò)Statl和Stat2引腳將信息輸出到PXA270的GPIO進(jìn)行讀取操作。DS2786的VDD引腳用5 V外接電壓直接供電。而VIN引腳既可以用電池電壓輸入,也可以用外接5 V電壓輸入。當(dāng)電池電壓輸入VIN的時(shí)候,DS2786可以根據(jù)OCV查找表計(jì)算電池的剩余電量。當(dāng)電池高速率放電時(shí),通過(guò)電流感測(cè)電阻R進(jìn)行庫(kù)侖計(jì)測(cè)量。最終通過(guò)SDA和SCL將電量信息輸出給PXA270的I2C接口。

2 軟件設(shè)計(jì)
    本系統(tǒng)中PXA270上面運(yùn)行的嵌入式操作系統(tǒng)采用微軟公司的Windows CE。Windows CE是實(shí)時(shí)操作系統(tǒng),支持在多種CPU硬件平臺(tái)上運(yùn)行,并且提供了強(qiáng)大的開發(fā)工具。為了使DS2786在系統(tǒng)中能夠正常地工作,必須對(duì)其編寫基于Windows CE 5.O的驅(qū)動(dòng)程序。
    本模塊的驅(qū)動(dòng)程序設(shè)計(jì)采用的是流接口的形式。Windows CE的流接口驅(qū)動(dòng)程序以DLL(動(dòng)態(tài)鏈接庫(kù))的形式存在,由設(shè)備管理器(通常是de-vice.exe或者gwes.exe)統(tǒng)一加載、管理和卸載。與具有單獨(dú)目的的本機(jī)設(shè)備驅(qū)動(dòng)程序相比,所有流接口驅(qū)動(dòng)程序都是用同一接口,并調(diào)用同一個(gè)函數(shù)集。每個(gè)流式接口驅(qū)動(dòng)程序必須實(shí)現(xiàn)1組標(biāo)準(zhǔn)的函數(shù),用來(lái)完成標(biāo)準(zhǔn)的文件I/O函數(shù)和電源管理函數(shù),這些函數(shù)提供給Windows CE操作系統(tǒng)的內(nèi)核使用。這些函數(shù)通常叫做流式接口驅(qū)動(dòng)程序的DLL接口。同時(shí),本驅(qū)動(dòng)程序設(shè)計(jì)采用分層驅(qū)動(dòng)的形式。分層驅(qū)動(dòng)程序把驅(qū)動(dòng)程序的代碼分為2層:上面一層叫模型設(shè)備驅(qū)動(dòng)(MDD),下面一層叫平臺(tái)相關(guān)驅(qū)動(dòng)(PDD)。Windows CE操作系統(tǒng)自帶驅(qū)動(dòng)的MDD代碼,MDD的代碼是無(wú)需更改的,只需修改PDD層的代碼。本系統(tǒng)的主要涉及函數(shù)如下:

 e.JPG
    驅(qū)動(dòng)程序調(diào)用PDD層的初始化函數(shù)BatteryPDDlnitialize,初始化CPU的GPIO、相關(guān)寄存器和電池狀態(tài)全局變量。同時(shí)定義了1個(gè)SYSTEM_ POWER_STATUS_EX2結(jié)構(gòu)體變量sps。通過(guò)BatteryPDDGetStatus函數(shù)從DS2786芯片中得到電池當(dāng)前的狀態(tài)信息來(lái)更新sps結(jié)構(gòu)體中的各個(gè)電池信息。用戶界面上也可以根據(jù)sps結(jié)構(gòu)體中的內(nèi)容更新當(dāng)前的顯示狀態(tài)。這樣就完成了電量計(jì)量的實(shí)時(shí)更新和顯示。

結(jié)語(yǔ)
    本文研究并設(shè)計(jì)了一種電池充電及電量計(jì)量的硬件電路,并且給出了在Windows CE操作系統(tǒng)下的驅(qū)動(dòng)設(shè)計(jì),實(shí)現(xiàn)了完整的軟硬件模塊。該模塊設(shè)計(jì)簡(jiǎn)單,性能出色,可以滿足大多數(shù)情況下手持消費(fèi)電子的需求,具有很好的應(yīng)用前景。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。