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