關鍵詞 電池管理 混合動力電動汽車 TMS320LF2407 μC/OS-II
引 言
電池管理系統BMS(Battery Management System)是電動汽車的一項關鍵技術。高性能、高可靠性的電池管理系統能使電池在各種工作條件下獲得最佳的性能。電池管理系統可實時監(jiān)測電池狀態(tài),如電池電壓、充放電電流、使用溫度等;預測電池荷電狀態(tài)(State of charge),防止電池過充過放,從而達到提升電池使用性能和壽命,提高混合動力汽車的可靠性和安全性的目的。本沒計以DSP和CPLD為主體,構建電池管理系統的硬件平臺,并在DSP內部嵌入μC/OS-II實時操作系統,可大大提高系統的穩(wěn)定性和實時響應能力,增強系統的可擴展性和可移植性。
1 硬件系統設計
1.1 集中式電池管理系統結構
混合動力電動汽車HEV(Hybrid Electric Vehicle)要求的車載動力電池總電壓一般比較高,電池節(jié)數較多。本設計所涉及的鎳氫動力電池組是由270個電池單體組成的,每個單體可提供1.2V左右電壓。其中每10個單體元組成一個模塊,共有27個電池模塊,總額定電壓為324V。
采用集中式電池管理系統結構是將電池信息測量與采樣模塊和主控模塊集中在一起,通過設計多路控制選擇開關分時完成數據采集。這種設計方法具有電路簡單、成本低、體積小的特點。設計的電池管理系統基本結構示意圖如圖1所示。
1.2 電池管理系統的硬件方案
圖2為系統硬件平臺。選用TI公司的TMS240LF2407(簡稱為“LF2407”)作為系統的CPU。其核心采用哈佛結構,具有專門的硬件乘法器;廣泛采用流水線操作,可用來實現快速的數字信號處理算法,有助于提高計算電池SoC值的速度和精度;同時,片上集成了豐富的外設(如A/D轉換器、SCI模塊和CAN網絡控制器等),可以充分發(fā)揮其資源優(yōu)勢。
單體電壓、總電壓和總電流的采集,均以CPLD為核心,通過一定的邏輯控制,控制光電開關固態(tài)繼電器陣列分時導通,將采樣信號經過隔離放大濾波后送入DSP的A/D轉換模塊中。CPLD接收由DSP發(fā)出的邏輯控制時序,控制相應的固態(tài)繼電器執(zhí)行導通和關斷動作,分時地將各個模擬量導入A/D轉換模塊中。考慮到電池組總電壓比較高,同時母線電流的波動幅值比較大,波動頻率較快,分別選用了精度較高、響應較快的霍爾電壓和電流傳感器,以適應采集要求。
電池組溫度的采集采用單總線的方式,傳感器選用DSl8820,共設置8個溫度的采集點。單總線是目前擴展最方便的總線之一,具有節(jié)省I/O口線資源、結構簡單、成本低廉,便于總線擴展和維護等諸多優(yōu)點。由于DS18820直接提供測量溫度的數字信號,故可以直接通過DSP上的通用I/O與其通信。
在DSP的通用I/O上擴展了非易失性存儲器NVRAM空間,目的是保存重要的電池歷史數據,為計算和修正電池的SoC以及分析電池充放電狀態(tài)提供可靠的依據。
LF2407提供的CAN通信模塊符合CAN2.0的規(guī)格要求,選用飛利浦公司的CAN通信收發(fā)器PCA82C250作為DSP的CAN控制器和物理總線間接口,以實現電池管理系統與整車之間的通信;同時,擴展DSP片上的SCI模塊,實現與上位PC間的通信功能。
1.3 硬件抗干擾措施
電池管理系統作為整車的一部分,經常受到各種電磁干擾。其實際的工作環(huán)境是比較惡劣的,有必要在硬件設計上采取一定的抗干擾措施。
①抑制干擾源?;旌蟿恿﹄妱悠嚿想姍C設備中的IGBT和功率二極管工作時,會產生很強的電磁干擾,尤其是共模干擾較為嚴重。因此有必要在電池組與整車之間連接高頻旁路電容。
②隔離供電。由于眾多的外部有源和無源信號會對系統電源產生嚴重干擾,因此在電池管理系統的設計中采用DC/DC變換模塊,提供穩(wěn)定的隔離電源,對不同子系統分別供電,可以有效地消除電源干擾和共地產生的干擾。
③光電隔離。在電池管理系統的設計中,采用光電耦合器6N137將外部通信接口(CAN通信、RS232通信)與內部CPU電路隔離開來,可以阻止電路性耦合產生的電磁干擾。
2 軟件系統設計
軟件系統設計包括系統軟件設計和應用軟件設計。系統軟件設計的主要任務是實現μC/OS-II在LF2407上的移植;應用軟件設計的主要任務是系統功能的實現。
2.1 系統軟件設計
2.1.1 μC/OS-II簡介
μC/OS-II是由美國人Jean Labrosse編寫的一個嵌入式實時操作系統內核。它是一個基于優(yōu)先級的、可移植、可固化、可裁剪、占先式實時操作系統,其絕大部分源碼是用ANSI C編寫的。μC/OS-II支持56個用戶任務,支持信號量、消息郵箱、消息隊列等多種常用的進程間通信機制,現已成功應用到眾多商業(yè)嵌入式系統中,其穩(wěn)定性與可靠性已經得到檢驗。
2.1.2 μC/OS-II在TMS320LF2407上的移植
LF2407滿足μC/OS-II移植的條件。TI公司提供的編譯軟件CCS也支持C語言與匯編語言混合編程。要完成移植的工作需要進行以下4個內容:
◇在OS_CPU.H中定義與處理器相關的常量、宏及數據類型。
◇調整和修改頭文件OS_CFG.H,以裁減或修改μC/OS-II的系統服務,減少資源損耗。
◇編寫C語言文件OS_CPU.C。
◇編寫匯編語言文件OS_CPU.ASM。
上述工作完成后,μC/OS-II就可以運行了。
2.2 應用軟件設計
2.2.1 系統多任務功能和優(yōu)先級設計
根據電池管理系統的功能要求,將系統分為電壓電流采集處理模塊、溫度采集模塊、通信模塊、系統監(jiān)視模塊和SoC計算模塊等共8個任務和5個中斷來實現。每個任務根據其實時性的要求并參照單調執(zhí)行率調度法RMS分配一定的優(yōu)先級。任務及中斷的定義分別如表l、表2所列。
根據整車控制策略,CAN上電池狀態(tài)數據每幀的刷新周期為20ms,故設置操作系統時鐘節(jié)拍為20ms;相應地設置ADProsTask()、CANTXDTask()、SOCTask()和MoniTask()的執(zhí)行周期均為20 ms;考慮到電池組的溫度變化相對較慢,同時溫度傳感器DS18820的溫度轉換時間相對較長,設置TempTask()的執(zhí)行周期為100ms;CANRXDTask()和SCIRXDTask()的執(zhí)行采用中斷觸發(fā)方式;SCITXDTask()由上位機的啟動和停止信號控制執(zhí)行,執(zhí)行周期為40 ms。
應用軟件設計的難點在于,可靠地設計固態(tài)繼電器陣列(TLP296)的時序邏輯。由于TLP296存在最大4ms的打開和關斷時間,因此必須設計死區(qū)時間,以確保在采集電池模塊電壓時,電池不會發(fā)生短路;同時還要保證在A/D轉換之前,采樣通道(即相應的TLP296)完全打開。所以利用了DSP的Timerl下溢中斷配合系統時鐘周期來有效地控制CPLD的時序。整體工作的時序邏輯如圖3所示。
2.2.2 任務間的通信與同步
μC/OS-II提供了5種用于數據共享和任務通信的方法:信號量、郵箱、消息隊列、事件標志及互斥型信號量。為了減少操作系統的開支,在電池管理系統應用軟件設計中只利用了其中的郵箱作為任務間的通信手段,如圖4所示。
電池管理系統的核心是以數據采集為基礎的,所以ADProsTask()是其他任務的前提。通過ADC中斷向郵箱1發(fā)消息就緒ADProsTask(),待其執(zhí)行完后相應的數據保存和處理后向郵箱2發(fā)消息就緒其他等待數據的任務,其他任務按照優(yōu)先級依次執(zhí)行;溫度采集和處理的任務獨立進行;CAN接收任務和SCI任務是在相應的郵箱中得到消息后執(zhí)行,消息也是由相應的中斷服務程序發(fā)出。
結語
電池管理系統采用了DSP+CPLD的結構,加之相應的抗干擾措施,具有性能高、可靠性強的特點。由于內嵌μC/OS-II,使程序的開發(fā)周期大大縮短,增強了系統的可維護性和擴展性,在實際的應用中取得了良好的效果。