謝立潔 杜森 徐梓薦 翟世歡
(天津易鼎豐動力科技有限公司)

近幾年,新能源汽車越來越受到人們的廣泛關注。其中,以電動汽車發展最為迅速。除去國家對新能源汽車頒布的相關優惠政策及財政補貼之外,最主要的還是人們的環保意識增強。相比于傳統汽車,電動汽車電子系統的復雜度更高,汽車電子的系統失效和隨機失效可能導致的安全風險也隨之提高。為此,ISO組織在2011年11月頒布了和汽車相關的功能安全標準ISO 26262[1],為汽車電子提供了在整個生命周期中的工作流程和管理流程的指導。文章采用符合文獻 [1]的AURIX TC234L與電源芯片TLF35584,加上搭建了基于MCAL軟件架構和功能安全測試庫SafeTlib的軟件平臺,在一定程度上提高了BMS的安全性與可靠性。
AURIX是英飛凌公司推出的32位微控制器系列,堪稱汽車電子系統中性能與安全的完美結合。其中本設計中采用的AURIX TC234L是具有高度創新的安全技術[2],包括:1)獨特的鎖步架構,具備時鐘延遲;2)配備多個不同類型的定時器模塊(GTM,CCU6,GPT12);3)訪問許可系統;4)安全管理單元;5)DMA;6)I/O、時鐘及電壓監測器;7)滿足文獻[1]中的ASIL-D的安全要求。
本設計中采用的TLF35584是高性能電源管理芯片,因其具有其他芯片不可替代的優點,現在逐漸應用到電動汽車相關控制器上,TLF35584芯片主要有以下特性[3]6:
1)該芯片是一種高效率多電壓電源芯片;2)該芯片具有串行升壓和降壓穩壓器的寬輸入,電壓范圍:3~40 V;3)功能全且功耗損失低;4)該芯片提供啟用、同步輸出信號及電壓監測(內部),用于可選外柱的裝置核心供應調節器;5) 備用調節器 5 V/10 mA(TLF35584xxvs1)或 3.3 V/10 mA(tlf35584xxvs2);6)具有復位功能的獨立電壓監視塊;7)可配置窗口狗和看門狗的功能;8)該芯片具有16位SPI;9)具有可編程延遲的2個安全狀態信號。
TC234L與TLF35584通過SPI進行通信,TLF35584在上電后會自動開啟,并進入初始化狀態(INIT)。首先TC234L在進行正確的配置之后(SPI通信)控制TLF35584進入正常狀態(NORMAL),然后對TLF35584進行周期喂狗和讀取TLF35584的狀態(SPI通信),最后在檢測到上電觸發信號消失后,控制TLF35584進入等待狀態(STANDBY)實現BMS的下電。
應用TLF35584與TC234L的BMS電源模塊硬件設計原理圖,如圖1和圖2所示。

圖1 TLF35584硬件原理圖截圖

圖2 TC234L電源部分硬件原理圖截圖
1)TLF35584狀態從FAILSAFE進入INIT,或者從低功耗模式STANDBY進入INIT,或者從SLEEP進入WAKE時,可以通過控制TLF35584上面的ENA和WAK引腳完成。
2)TLF35584狀態從 NORMAL進入 SLEEP狀態時,如果產生ENA或WAK的控制使能,則狀態進入WAKE,并產生一個中斷。
3)TLF35584狀態從NORMAL進入STANDBY時,如果產生ENA或WAK的控制使能,則會進入INIT狀態,并產生一個復位操作。
ENA和WAK信號中,只要一個信號使能則觸發BMS上電,ENA和WAK引腳的連接參看圖1。ENA信號使能條件為一個小于10 μs的從0.8 V上升到2 V的上升沿。
電動汽車中的鑰匙信號和快充12 V信號將連接到ENA信號觸發BMS上電。觸發ENA信號原理圖,如圖3所示。

圖3 鑰匙信號和快充12 V信號觸發ENA信號原理圖截圖
WAK信號使能的條件是一個持續40 μs的高于2 V的高電平。
電動汽車中的慢充CC信號、慢充CP信號、實時時鐘RTC、單片機TC234L使能信號及CAN激活信號將連接到WAK信號觸發BMS上電。觸發WAK信號原理圖,如圖4所示。

圖4 控制器信號觸發源觸發WAK信號原理圖截圖
TLF35584是高性能電源管理芯片,其支持升壓和降壓預調節(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)。此外,還有獨立于上述2個模塊的Standby Regulator(QST)為 CC信號、CP信號和 RTC激活信號提供電源。
TLF35584的安全管理包括監控過壓、欠壓、過流、過溫及過載;監控TC234L輸出的故障引腳;安全狀態控制包括TLF35584的引腳SS1、SS2及看門狗(窗口狗和功能狗)。當TLF35584檢測到高危異常,將會進入故障狀態(FAILSAFE),故障狀態下所有供電電源將會關閉,看門狗功能關閉,安全狀態控制為低電平。故障狀態下各功能狀態,如圖5所示。

圖5 故障狀態下各功能狀態顯示界面
TC234L時序圖,如圖6所示。

圖6 單片機TC234L時序圖
BMS上電后進入初始化階段,包括系統時鐘初始化、GTM模塊初始化(定時模塊)、PORT模塊初始化、SPI模塊初始化、SMU模塊初始化、測試模塊初始化及TLF35584配置初始化[3]148。其中測試模塊初始化包含EarlyPreRun和PreRun 2個階段,這2個階段能夠對潛在故障進行檢測。
3.2.1定時配置
設置TC234L的系統時鐘頻率為120 MHz,GTM模塊的時鐘頻率為60 MHz,使用分頻因子為65536的CLOCK4,選用TOM0通道實現10 ms的時鐘周期定時[4]。
3.2.2SPI配置
TC234L使用QSPI2控制TLF35584,通過EBtresos實現對SPI的配置。SPI時鐘頻率為60 MHz,QSPI2管腳設置[5],如表1所示。

表1 QSPI2管腳設置
3.2.3SMU模塊的FSP配置
TLF35584能夠實現對TC234L的FSP(Error Pin)的監控,通過EBtresos實現對SMU模塊FSP配置。配置參數,如表2所示。

表2 SMU模塊FSP配置
3.2.4測試模塊初始化
EarlyPreRun階段包括測試函數CpuSbstTst,CpuS-bstTst,CpuBusMpuLfmTst,CpuMpuTst,DmaTst,FceTst,IomTst及 IRTst。
PreRun階段包括測試函數 LmuBusMpuLfmTst,PhlSramTst,PmuEccEdcTst,SpbTst,SramEccTst,SriTst及WdgTst。
3.2.5TLF35584配置初始化
TLF35584配置初始化包括使能TLF35584的供電引腳,使能窗口狗和看門狗設置開關窗口時間均為500 ms,設置功能狗的異或碼等。
TLF35584初始化配置完成后通過SPI指令(0x55,0xFA,0x56及 0x05)控制 TLF35584進入 Normal模式。
在周期執行階段BMS處理其實現的基本功能外,涉及的與TLF35584對接周期執行的模塊有測試模塊和定時喂狗模塊。每次Run測試階段運行結束,都會調用喂狗函數將計算得出的測試簽名傳遞給TLF35584看門狗。
TLF35584包含窗口狗和功能狗,窗口狗需在開窗口時間進行喂狗,功能狗需TCL234L獲得TLF35584提供的種子值(通過SPI),根據種子值計算簽名值,并在規定時間內喂狗[6]。
TCL234L根據隨機種子計算簽名值的方法為:TCL234L對涉及硬件安全機制的模塊進行自檢,自檢的方式為對內部程序流進行監控。程序流監控的輸入參數有:種子輸入、固定的測試ID、測試輸入參數、中間參數及最后測試結果。這些輸入利用CRC算法進行計算得到測試簽名,每個測試都會產生相應的簽名。所有簽名值最后被合并為一個聯合簽名值,并將其作為功能狗喂狗密碼。CPU周期執行流程,如圖7所示。圖7中Run階段執行的相關測試函數包括CpuSbstTst。

圖7 CPU周期執行流程圖
當TC234L檢測到進入BMS的外部信號(KEY_ON,EXT_A+,CC_WAKEUP,CP_WAKEUP,RTC_WAKEUP)全部無效時,測試模塊進入PostRun階段,停止對測試函數的周期執行,延時4 s后通過控制TLF35584進入STANDBY模式實現控制器的掉電。
使用勞特巴赫工具來調試在整個程序運行過程中的變化及測試結果的變化情況。初始化配置TLF35584及控制TLF35584進入Normal模式的SPI波形圖,如圖8所示。

圖8 初始化階段SPI通信波形圖
在周期執行期間,由外部看門狗生成的一個隨機數作為程序流監控的種子,看門狗生成的隨機數TstM_TstSeed為 0x5。
每個自檢函數運行結束后,會生成一個相應的Result值。測試結果,如圖9所示。對于Result的值,若最后2位為FF,則說明自檢函數執行成功;反之,則說明自檢函數檢測出了硬件安全機制的錯誤。然后可以根據錯誤代碼來找出相應的錯誤原因。

圖9 自檢結果顯示界面
隨機生成的種子值與每個Result值經過CRC算法計算得到簽名值。測試簽名顯示界面,如圖10所示。

圖10 測試簽名值顯示界面
所有簽名值最后被合并為一個聯合簽名值,并將其作為喂狗密碼。在規定時間內喂狗時,喂狗SPI波形圖,如圖11所示。

圖11 周期喂狗SPI通信圖
通過CAN總線發送特定CAN報文觸發BMS程序非正常對TLF35584進行喂狗,能夠觸發軟件復位。
監控信號狀態,當滿足下電條件(所有觸發TLF35584上電的信號無效),發送 SPI數據(0x55,0xEC,0x56,0x13)能夠觸發 BMS成功下電。
文章基于AURIX與TLF35584的BMS電源管理模塊設計,能夠有效實現電動汽車上多種信號激活BMS上電,實現電動汽車正常行駛、快充及慢充的過程。通過TLF35584的安全管理,保證在BMS硬件出現高危異常的狀態下,所有供電電源將會關閉,BMS停止工作,在BMS軟件運行不正常的狀態(如快充狀態下程序跑飛)能夠及時復位,保證電動車的安全性。本設計與實現經過多次仿真測試和實車測試,結果證明應用該設計的電池管理系統運行穩定可靠。