姚志軍
(飛思卡爾半導(dǎo)體(中國),天津300385)
隨著中國市場對電池需求的迅速增大,越來越多的公司加入到電池管理的開發(fā)、設(shè)計中來。飛思卡爾半導(dǎo)體適時推出多路電池管理芯片MM9Z1_638。本文著重介紹MM9Z1_638電池管理系統(tǒng)的搭建、各個模塊的功能,以及所用元件的選型,希望幫助讀者掌握基于 MM9Z1_638的電池管理系統(tǒng)原理,并快速實現(xiàn)電池管理系統(tǒng)的設(shè)計。
MM9Z1_638是一個全面集成的電池監(jiān)控器件。該器件可通過一個外部分流電阻進行精確電流測量,可通過使用內(nèi)部校準電阻分頻器或外部分頻器提供4路電壓測量,其包括一個內(nèi)部溫度傳感器,可貼緊電池并測量電池溫度,外加4個外部溫度傳感器輸入。
MM9Z1_638包括LIN 2.2協(xié)議和物理接口以及一個MSCAN協(xié)議控制器,可通過外接一個CAN接口芯片與汽車總線連接。MM9Z1_638特性如下:
◆寬電池電流測量,可實現(xiàn)片上溫度測量。
◆采用內(nèi)部電阻分頻器提供4塊電池電壓測量,采用外部電阻分頻器提供最多5個直流電壓測量。
◆電壓通道和電流通道間的測量同步。
◆5個外部溫度傳感器輸入,同時為外部溫度傳感器供電。
◆低功耗模式,采用低電流工作。
◆多喚醒源:LIN、計時器、高壓輸入、外部CAN接口、電流閾值和集成。
◆提供高精度內(nèi)部振蕩器,并提供與外部晶體的連接。
◆ 支持LIN 2.2/2.1/2.0協(xié)議和物理接口。
◆提供MSCAN協(xié)議控制器,能夠為8引腳和14引腳CAN接口供電。
◆S12Z MCU,帶有128 KB閃存、8 KB RAM、4 KB EEPROM。
單片MM9Z1_638最多可實現(xiàn)對4塊鋰電池的監(jiān)控,組成的電池監(jiān)控系統(tǒng)如圖1所示。其中,Vsup的正常工作電壓為3.5~28 V。Vbat1=2.2μF,Vbat2=100 nF。
圖1 MM9Z1_638電池監(jiān)控系統(tǒng)
通過VSENSE0~3來測量4塊電池的電壓,如圖2所示。
其中,電池#1的電壓應(yīng)為VSENSE0-(VSENSEL-VSENSEH),其他電池的電壓是兩個VSENSE的差。各通道電壓測量范圍如表1所列。
圖2 電池電壓測量
表1 各通道電壓范圍
如圖3所示,在電池的負端串接一個Rshunt電阻(分流電阻),通過測量Rshunt兩端的電壓,計算出電池的電流。Rshunt可以采用50~200μΩ。ISENSEH/L的正常測量范圍為-0.3~0.3 V。
通過NTC來測量每一塊電池的溫度,把NTC貼在電池的表面,每一路溫度測量電路如圖4所示,溫度的正常測量范圍(PTB0~3)為0~1 V。
在測量溫度時,設(shè)置寄存器使PTB5接地。在溫度變化時,NTC的電阻會改變,通過測量PTBx的電壓來檢測電池的溫度。其中,x為0~3,元件的參數(shù)如表2所列。
圖3 電池電流測量
圖4 電池溫度測量
當某一塊電池的電壓比其他電池的電壓高時,需要通過放電來降低這塊電池的電壓,實現(xiàn)被動均衡。每塊電池通過一個開關(guān)與放電電阻相連,實現(xiàn)對電池放電。開關(guān)可以采用飛思卡爾的多路開關(guān)芯片MC33879,MM9Z1_912通過SPI實現(xiàn)對 MC33879的控制,電路如圖5所示。
表2 元件參數(shù)表
圖5 MC33879控制電路
圖中,Cvpwr=Cvdd=100 nF,R可選用10~20Ω,VDDX為 MM9Z1_912的5 V輸出,VSUP為電池組正端,PA0~PA3為 MM9Z1_912的復(fù)用SPI接口。MC33879的每一路開關(guān)既可以接在電池正端,又可以接在電池負端來使用。
MM9Z1_638支持CAN和LIN接口,LIN接口可以直接接LIN總線,CAN的接口是MSCAN,所以需要外接一個CAN接口芯片才可以接到CAN總線上??梢赃x用飛思卡爾的MC33901或MC34901作為CAN接口芯片,接口電路如圖6所示。
圖6 接口電路
圖中,VDDX為從 MM9Z1_638輸出的5 V電源,PA4/PA5為 MM9Z1_638的 MSCAN輸入/輸出引腳,PA6為MM9Z1_638的I/O接口。MM9Z1_638可以通過PA6設(shè)置MM33901/MM34901工作在正?;虼龣C模式,CAVL端接的是120Ω的端接電阻,主要是用來匹配的(匹配電阻)。
MM9Z1_638通過16位SPI來控制開關(guān)芯片
MC33879,相關(guān)的SPI配置寄存器格式如下。
SPICR1:
SPICR2:
SPIBR:
SPI的初始化函數(shù)如下:
通過控制開關(guān)芯片MC33879接合或斷開放電電阻,實現(xiàn)每塊電池的被動均衡。MM9Z1_638通過SPI來控制MC33879的每一路開關(guān)??梢钥闯觯刂崎_關(guān)1~4,只需要對Bit0~3進行置位(“1”,開關(guān)閉合)、復(fù)位(“0”,開關(guān)打開)的操作。
#1電池的放電函數(shù):
#2電池的放電函數(shù):
#3電池的放電函數(shù):
#4電池的放電函數(shù):
4塊電池全部斷開放電電路的函數(shù):
MC33879的SPI格式如下。
LSB Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ON/OFF Open Load Detect 8 ON/OFF Open Load Detect 7 ON/OFF Open Load Detect 6 ON/OFF Open Load Detect 5 ON/OFF Open Load Detect 4 ON/OFF Open Load Detect 3 ON/OFF Open Load Detect 2 ON/OFF Open Load Detect 1 ON/OFF OUT8 ON/OFF OUT7 ON/OFF OUT6 ON/OFF OUT5 ON/OFF OUT4 ON/OFF OUT3 ON/OFF OUT2 ON/OFF OUT1 MSB
通過介紹基于飛思卡爾電池管理芯片 MM9Z1_638的硬件系統(tǒng)、軟件模塊,闡明了電池管理系統(tǒng)的設(shè)計流程,詳細分析了開發(fā)中的技術(shù)難題和細節(jié)。對于想要開發(fā)基于MM9Z1_638的工程技術(shù)人員有直接的參考意義,同樣,對于開發(fā)基于其他電池管理芯片的設(shè)計也有一定的參考價值。
[1]Freescale.RD9Z1-638-4LiUG.pdf,2014.
[2]Freescale.QulBS+Z_MM9Z1_638D1_Rev3.0.pdf,2014.
[3]Freescale.KT33901UG.pdf,2014.
[4]Freescale.KT33901.pdf,2014.
[5]Freescale.KT33879UG.pdf,2014.
[6]Freescale.MC33879.pdf,2014.