基于單片機的電池管理系統設計
2.4 CAN通信模塊
CAN通信是整車(chē)與BMS之間、BMS主控制模塊和子模塊之間的信息橋梁。子模塊將采集到的單體電壓和溫度值通過(guò)CAN總線(xiàn)上傳給主控模塊,主控模塊通過(guò)CAN總線(xiàn)給子模塊下達均衡命令;主控模塊將電池參數發(fā)送給整車(chē),整車(chē)控制器通過(guò)判斷決策能量分配。Freescale 9S12系列單片機已經(jīng)集成CAN模塊MSCAN,外擴引腳CANTX和CANRX。還需要PCA82C250來(lái)作為驅動(dòng)芯片,如圖7所示。
3 分布式電池管理系統的軟件設計
電池管理系統軟件以CodeWarrior for HCS12V4.7為開(kāi)發(fā)環(huán)境,采用C語(yǔ)言編寫(xiě),包括了主控制模塊和子模塊兩個(gè)部分的軟件設計。
3.1 主控制模塊
主控制模塊的任務(wù)主要有:A/D轉換與數據處理任務(wù)、整車(chē)CAN接收任務(wù)、整車(chē)CAN發(fā)送任務(wù)、系統監控任務(wù)、SOC與能量估算任務(wù)以及均衡處理任務(wù)。中斷有:A/D采集中斷、定時(shí)器下溢中斷、CAN接收中斷。
如圖8所示,系統初始化工作完成后,軟件以模/數減法計數器的下溢中斷來(lái)確定系統的執行周期,計數周期為5 ms。在模/數計數器前一次下溢中斷程序中,選擇電壓采集通道,并查詢(xún)整車(chē)CAN接收;經(jīng)5 ms在本次下溢中斷到來(lái)后,中斷服務(wù)程序進(jìn)行A/D轉換的啟動(dòng),轉換完成進(jìn)入A/D中斷,開(kāi)啟其他任務(wù)的執行,如此循環(huán)交替進(jìn)行。根據整車(chē)控制策略,CAN上的電池狀態(tài)數據每幀的刷新周期為10 ms,因此設置下溢中斷的時(shí)鐘節拍為5ms,相應地,以上所有任務(wù)的執行周期均為10 ms。
3.2 子模塊
子模塊的任務(wù)主要有:A/D轉換與數據處理任務(wù)、內部CAN接收任務(wù)、內部CAN發(fā)送任務(wù)、以及均衡執行任務(wù)。中斷有:A/D采集中斷、定時(shí)器下溢中斷。
如圖9所示,軟件以模/數減法計數器的下溢中斷來(lái)確定系統的執行周期,計數周期為2.5 ms。在模/數計數器前一次下溢中斷程序中,選擇電壓采集通道,并查詢(xún)內部CAN接收;經(jīng)2.5 ms在本次下溢中斷到來(lái)后,中斷服務(wù)程序進(jìn)行A/D轉換的啟動(dòng),轉換完成進(jìn)入A/D中斷,開(kāi)啟其他任務(wù)的執行,如此循環(huán)交替進(jìn)行。其中,根據協(xié)議,內部CAN發(fā)送任務(wù)為保證周期為10 ms,要間隔一次A/D轉換后才啟動(dòng),其他任務(wù)執行周期則為5 ms。
4 結論
基于Freescale單片機的分布式電池管理系統,用集成A/D轉換模塊實(shí)現實(shí)時(shí)數據采集,同時(shí)均衡控制功能還解決了電池單體電壓不均衡造成的過(guò)充問(wèn)題。Freescale 9S12系列單片機強大的數據處理功能,豐富的外圍接口和良好的電磁兼容性滿(mǎn)足了混合動(dòng)力汽車(chē)電池管理的所有要求,在實(shí)際中得到了良好的效果。
評論