謝立潔 杜森 徐梓薦 翟世歡
(天津易鼎豐動力科技有限公司)
近幾年,新能源汽車越來越受到人們的廣泛關(guān)注。其中,以電動汽車發(fā)展最為迅速。除去國家對新能源汽車頒布的相關(guān)優(yōu)惠政策及財政補(bǔ)貼之外,最主要的還是人們的環(huán)保意識增強(qiáng)。相比于傳統(tǒng)汽車,電動汽車電子系統(tǒng)的復(fù)雜度更高,汽車電子的系統(tǒng)失效和隨機(jī)失效可能導(dǎo)致的安全風(fēng)險也隨之提高。為此,ISO組織在2011年11月頒布了和汽車相關(guān)的功能安全標(biāo)準(zhǔn)ISO 26262[1],為汽車電子提供了在整個生命周期中的工作流程和管理流程的指導(dǎo)。文章采用符合文獻(xiàn) [1]的AURIX TC234L與電源芯片TLF35584,加上搭建了基于MCAL軟件架構(gòu)和功能安全測試庫SafeTlib的軟件平臺,在一定程度上提高了BMS的安全性與可靠性。
AURIX是英飛凌公司推出的32位微控制器系列,堪稱汽車電子系統(tǒng)中性能與安全的完美結(jié)合。其中本設(shè)計中采用的AURIX TC234L是具有高度創(chuàng)新的安全技術(shù)[2],包括:1)獨(dú)特的鎖步架構(gòu),具備時鐘延遲;2)配備多個不同類型的定時器模塊(GTM,CCU6,GPT12);3)訪問許可系統(tǒng);4)安全管理單元;5)DMA;6)I/O、時鐘及電壓監(jiān)測器;7)滿足文獻(xiàn)[1]中的ASIL-D的安全要求。
本設(shè)計中采用的TLF35584是高性能電源管理芯片,因其具有其他芯片不可替代的優(yōu)點(diǎn),現(xiàn)在逐漸應(yīng)用到電動汽車相關(guān)控制器上,TLF35584芯片主要有以下特性[3]6:
1)該芯片是一種高效率多電壓電源芯片;2)該芯片具有串行升壓和降壓穩(wěn)壓器的寬輸入,電壓范圍:3~40 V;3)功能全且功耗損失低;4)該芯片提供啟用、同步輸出信號及電壓監(jiān)測(內(nèi)部),用于可選外柱的裝置核心供應(yīng)調(diào)節(jié)器;5) 備用調(diào)節(jié)器 5 V/10 mA(TLF35584xxvs1)或 3.3 V/10 mA(tlf35584xxvs2);6)具有復(fù)位功能的獨(dú)立電壓監(jiān)視塊;7)可配置窗口狗和看門狗的功能;8)該芯片具有16位SPI;9)具有可編程延遲的2個安全狀態(tài)信號。
TC234L與TLF35584通過SPI進(jìn)行通信,TLF35584在上電后會自動開啟,并進(jìn)入初始化狀態(tài)(INIT)。首先TC234L在進(jìn)行正確的配置之后(SPI通信)控制TLF35584進(jìn)入正常狀態(tài)(NORMAL),然后對TLF35584進(jìn)行周期喂狗和讀取TLF35584的狀態(tài)(SPI通信),最后在檢測到上電觸發(fā)信號消失后,控制TLF35584進(jìn)入等待狀態(tài)(STANDBY)實(shí)現(xiàn)BMS的下電。
應(yīng)用TLF35584與TC234L的BMS電源模塊硬件設(shè)計原理圖,如圖1和圖2所示。
圖1 TLF35584硬件原理圖截圖
圖2 TC234L電源部分硬件原理圖截圖
1)TLF35584狀態(tài)從FAILSAFE進(jìn)入INIT,或者從低功耗模式STANDBY進(jìn)入INIT,或者從SLEEP進(jìn)入WAKE時,可以通過控制TLF35584上面的ENA和WAK引腳完成。
2)TLF35584狀態(tài)從 NORMAL進(jìn)入 SLEEP狀態(tài)時,如果產(chǎn)生ENA或WAK的控制使能,則狀態(tài)進(jìn)入WAKE,并產(chǎn)生一個中斷。
3)TLF35584狀態(tài)從NORMAL進(jìn)入STANDBY時,如果產(chǎn)生ENA或WAK的控制使能,則會進(jìn)入INIT狀態(tài),并產(chǎn)生一個復(fù)位操作。
ENA和WAK信號中,只要一個信號使能則觸發(fā)BMS上電,ENA和WAK引腳的連接參看圖1。ENA信號使能條件為一個小于10 μs的從0.8 V上升到2 V的上升沿。
電動汽車中的鑰匙信號和快充12 V信號將連接到ENA信號觸發(fā)BMS上電。觸發(fā)ENA信號原理圖,如圖3所示。
圖3 鑰匙信號和快充12 V信號觸發(fā)ENA信號原理圖截圖
WAK信號使能的條件是一個持續(xù)40 μs的高于2 V的高電平。
電動汽車中的慢充CC信號、慢充CP信號、實(shí)時時鐘RTC、單片機(jī)TC234L使能信號及CAN激活信號將連接到WAK信號觸發(fā)BMS上電。觸發(fā)WAK信號原理圖,如圖4所示。
圖4 控制器信號觸發(fā)源觸發(fā)WAK信號原理圖截圖
TLF35584是高性能電源管理芯片,其支持升壓和降壓預(yù)調(diào)節(jié)(PreRegulators),可以滿足3~40 V的寬電壓輸入。該芯片可以提供后向的不同電壓輸出(Post Regulators),為BMS電路中的其他器件提供電源,參看圖 1。包括:5 V/200 mA的通信電源 LDO_Com(QCO);3.3 V/600 mA的 TC234L供電電壓 LDO_uC(QUC);150 mA用于 ADC的參考電壓 Volt_Ref(QVR);2個 150 mA傳感器供電電源 Tracker1和Tracker2(QT1,QT2)。此外,還有獨(dú)立于上述2個模塊的Standby Regulator(QST)為 CC信號、CP信號和 RTC激活信號提供電源。
TLF35584的安全管理包括監(jiān)控過壓、欠壓、過流、過溫及過載;監(jiān)控TC234L輸出的故障引腳;安全狀態(tài)控制包括TLF35584的引腳SS1、SS2及看門狗(窗口狗和功能狗)。當(dāng)TLF35584檢測到高危異常,將會進(jìn)入故障狀態(tài)(FAILSAFE),故障狀態(tài)下所有供電電源將會關(guān)閉,看門狗功能關(guān)閉,安全狀態(tài)控制為低電平。故障狀態(tài)下各功能狀態(tài),如圖5所示。
圖5 故障狀態(tài)下各功能狀態(tài)顯示界面
TC234L時序圖,如圖6所示。
圖6 單片機(jī)TC234L時序圖
BMS上電后進(jìn)入初始化階段,包括系統(tǒng)時鐘初始化、GTM模塊初始化(定時模塊)、PORT模塊初始化、SPI模塊初始化、SMU模塊初始化、測試模塊初始化及TLF35584配置初始化[3]148。其中測試模塊初始化包含EarlyPreRun和PreRun 2個階段,這2個階段能夠?qū)撛诠收线M(jìn)行檢測。
3.2.1定時配置
設(shè)置TC234L的系統(tǒng)時鐘頻率為120 MHz,GTM模塊的時鐘頻率為60 MHz,使用分頻因子為65536的CLOCK4,選用TOM0通道實(shí)現(xiàn)10 ms的時鐘周期定時[4]。
3.2.2SPI配置
TC234L使用QSPI2控制TLF35584,通過EBtresos實(shí)現(xiàn)對SPI的配置。SPI時鐘頻率為60 MHz,QSPI2管腳設(shè)置[5],如表1所示。
表1 QSPI2管腳設(shè)置
3.2.3SMU模塊的FSP配置
TLF35584能夠?qū)崿F(xiàn)對TC234L的FSP(Error Pin)的監(jiān)控,通過EBtresos實(shí)現(xiàn)對SMU模塊FSP配置。配置參數(shù),如表2所示。
表2 SMU模塊FSP配置
3.2.4測試模塊初始化
EarlyPreRun階段包括測試函數(shù)CpuSbstTst,CpuS-bstTst,CpuBusMpuLfmTst,CpuMpuTst,DmaTst,F(xiàn)ceTst,IomTst及 IRTst。
PreRun階段包括測試函數(shù) LmuBusMpuLfmTst,PhlSramTst,PmuEccEdcTst,SpbTst,SramEccTst,SriTst及WdgTst。
3.2.5TLF35584配置初始化
TLF35584配置初始化包括使能TLF35584的供電引腳,使能窗口狗和看門狗設(shè)置開關(guān)窗口時間均為500 ms,設(shè)置功能狗的異或碼等。
TLF35584初始化配置完成后通過SPI指令(0x55,0xFA,0x56及 0x05)控制 TLF35584進(jìn)入 Normal模式。
在周期執(zhí)行階段BMS處理其實(shí)現(xiàn)的基本功能外,涉及的與TLF35584對接周期執(zhí)行的模塊有測試模塊和定時喂狗模塊。每次Run測試階段運(yùn)行結(jié)束,都會調(diào)用喂狗函數(shù)將計算得出的測試簽名傳遞給TLF35584看門狗。
TLF35584包含窗口狗和功能狗,窗口狗需在開窗口時間進(jìn)行喂狗,功能狗需TCL234L獲得TLF35584提供的種子值(通過SPI),根據(jù)種子值計算簽名值,并在規(guī)定時間內(nèi)喂狗[6]。
TCL234L根據(jù)隨機(jī)種子計算簽名值的方法為:TCL234L對涉及硬件安全機(jī)制的模塊進(jìn)行自檢,自檢的方式為對內(nèi)部程序流進(jìn)行監(jiān)控。程序流監(jiān)控的輸入?yún)?shù)有:種子輸入、固定的測試ID、測試輸入?yún)?shù)、中間參數(shù)及最后測試結(jié)果。這些輸入利用CRC算法進(jìn)行計算得到測試簽名,每個測試都會產(chǎn)生相應(yīng)的簽名。所有簽名值最后被合并為一個聯(lián)合簽名值,并將其作為功能狗喂狗密碼。CPU周期執(zhí)行流程,如圖7所示。圖7中Run階段執(zhí)行的相關(guān)測試函數(shù)包括CpuSbstTst。
圖7 CPU周期執(zhí)行流程圖
當(dāng)TC234L檢測到進(jìn)入BMS的外部信號(KEY_ON,EXT_A+,CC_WAKEUP,CP_WAKEUP,RTC_WAKEUP)全部無效時,測試模塊進(jìn)入PostRun階段,停止對測試函數(shù)的周期執(zhí)行,延時4 s后通過控制TLF35584進(jìn)入STANDBY模式實(shí)現(xiàn)控制器的掉電。
使用勞特巴赫工具來調(diào)試在整個程序運(yùn)行過程中的變化及測試結(jié)果的變化情況。初始化配置TLF35584及控制TLF35584進(jìn)入Normal模式的SPI波形圖,如圖8所示。
圖8 初始化階段SPI通信波形圖
在周期執(zhí)行期間,由外部看門狗生成的一個隨機(jī)數(shù)作為程序流監(jiān)控的種子,看門狗生成的隨機(jī)數(shù)TstM_TstSeed為 0x5。
每個自檢函數(shù)運(yùn)行結(jié)束后,會生成一個相應(yīng)的Result值。測試結(jié)果,如圖9所示。對于Result的值,若最后2位為FF,則說明自檢函數(shù)執(zhí)行成功;反之,則說明自檢函數(shù)檢測出了硬件安全機(jī)制的錯誤。然后可以根據(jù)錯誤代碼來找出相應(yīng)的錯誤原因。
圖9 自檢結(jié)果顯示界面
隨機(jī)生成的種子值與每個Result值經(jīng)過CRC算法計算得到簽名值。測試簽名顯示界面,如圖10所示。
圖10 測試簽名值顯示界面
所有簽名值最后被合并為一個聯(lián)合簽名值,并將其作為喂狗密碼。在規(guī)定時間內(nèi)喂狗時,喂狗SPI波形圖,如圖11所示。
圖11 周期喂狗SPI通信圖
通過CAN總線發(fā)送特定CAN報文觸發(fā)BMS程序非正常對TLF35584進(jìn)行喂狗,能夠觸發(fā)軟件復(fù)位。
監(jiān)控信號狀態(tài),當(dāng)滿足下電條件(所有觸發(fā)TLF35584上電的信號無效),發(fā)送 SPI數(shù)據(jù)(0x55,0xEC,0x56,0x13)能夠觸發(fā) BMS成功下電。
文章基于AURIX與TLF35584的BMS電源管理模塊設(shè)計,能夠有效實(shí)現(xiàn)電動汽車上多種信號激活BMS上電,實(shí)現(xiàn)電動汽車正常行駛、快充及慢充的過程。通過TLF35584的安全管理,保證在BMS硬件出現(xiàn)高危異常的狀態(tài)下,所有供電電源將會關(guān)閉,BMS停止工作,在BMS軟件運(yùn)行不正常的狀態(tài)(如快充狀態(tài)下程序跑飛)能夠及時復(fù)位,保證電動車的安全性。本設(shè)計與實(shí)現(xiàn)經(jīng)過多次仿真測試和實(shí)車測試,結(jié)果證明應(yīng)用該設(shè)計的電池管理系統(tǒng)運(yùn)行穩(wěn)定可靠。