隨著市場對汽車安全性、智能性、環保性等要求越來越高,汽車裝配的電子控制單元數目迅速增加。因此汽車電子對車載總線的帶寬和傳輸速率提出了更高的要求,目前CAN(Controller Area Network)已經難以滿足日益增加的需求。CANFD(CAN with Flexible Data-Rate)從傳輸速率和數據長度兩方面優化了CAN總線的性能。本文實現了基于CANFD總線的速率為5Mbps的 Bootloader軟硬件的開發,提高了目前汽車電子控制器軟件下載更新的速率。
CANFD介紹
CANFD總線于2011年由博世公司首次提出,在2015年國際標準化組織(ISO)正式發布支持CANFD的11898-1協議。與CAN總線相比較,CANFD主要優化了以下方面:
•仲裁場和應答場速率可達1Mbps;數據場速率可變,根據具體的應用場景可以達到5Mbps或者更高;
•數據場的長度可變,數據長度為64個字節。
綜合以上幾處優化,CANFD在以下幾方面應用較有優勢:
•與傳統CAN相比,更長的數據域,帶寬利用率更高;
•傳輸速率更快,就目前而言,正常通信時,可達到2Mbps的通信速率,如將原標準CAN網段替換為CANFD網段可有效降低原網段的負載率,下載時,可達5Mbps的通信速率,可有效提升下載效率;
•可用于長度大于8個字節的信號的傳輸,例如PEPS的身份認證信號,在標準CAN中,需使用多條CAN報文傳輸,在CANFD中,只需一條CANFD報文即可。
CANFD報文與CAN報文格式的區別如圖1所示。
•CANFD報文新增了FDF(FD format)位,用于區分傳統CAN報文和CANFD報文。BRS(bit-rate switch)位表示數據場的速率切換;ESI(error state indicator)位表示目前節點的錯誤界定狀態;
•考慮到數據場長度增加,為了提高通信的可靠性,CANFD設計了新的冗余校驗機制;
•除了ISO11898,ISO15765-2也針對CANFD的應用進行了更新,當前的診斷協議的傳輸層已支持CANFD報文格式。
圖1.CANFD報文與CAN報文格式對比
Bootloader設計與實現
•系統概述
如圖2所示,整套刷新系統主要包括Bootloader上位機、刷寫工具以及集成Bootloader下位機軟件的控制器。用戶通過上位機的交互界面進行傳輸速率、請求ID等設置并加載需要更新的控制器軟件程序。Bootloader下位機軟件接收上位機傳遞的數據并寫入到控制器的Flash存儲器中,實現控制器的在線刷新。刷寫工具主要用于CANFD報文傳輸。
圖2.系統結構圖
•硬件實現
本實驗中,開發了帶CANFD接口的控制器。圖3給出了控制器在CANFD收發器端的硬件原理框圖。系統控制器選用瑞薩RH850 F1H系列芯片,該芯片支持6路CANFD,CANFD收發器選用NXP公司的TJA1044GT。為保證控制器的EMC性能以及網絡系統要求,收發器需匹配合適的外圍電路,包括終端電阻、終端電容及共模電感等。
圖3.RH850F1H端CANFD收發器原理圖
•軟件實現
♦ Bootloader下位機軟件
Bootloader軟件基于HIS協議開發。Bootloader軟件架構采用分層模塊,能夠盡量降低模塊之間耦合,提高開發效率和質量。
Bootloader軟件主要由CANFD Driver、CANFD TP和DCM三部分組成,CANFD Driver模塊實現CANFD控制器和收發器硬件初始化以及CANFD報文收發,CANFD TP主要實現ISO 15765-2協議以及診斷報文的處理,DCM模塊實現ISO14229中與程序下載相關的服務。
圖4.Bootloader軟件架構
Memory Operation Module負責控制器內存邏輯塊配置、分段處理和非易失性數據管理。Security Module負責安全訪問算法和數據完整性算法。Runtime Environment實現診斷協議的回調處理和控制整個系統的運行。上層的Bootloader Manager負責應用程序和Bootloader啟動處理及Stay In Boot功能。Bootloader Application實現時鐘配置、時間片處理及中斷重映射功能。
♦ Bootloader上位機軟件
圖5.Bootloader上位機配置界面
上位主要功能為系統設置和軟件升級兩部分。系統設置中可以進行仲裁場波特率設置、數據場波特率設置、通信通道選擇、請求和響應ID設置、ID類型選擇。為保證傳輸數據有效,上位機中設置有CRC校驗算法和安全訪問算法的輸入,CRC校驗用以保證數據傳輸的完整性,安全訪問算法與下位機中的安全訪問算法保持一致。軟件升級主要為驅動文件選擇和需要刷新的數據文件的添加。
ECU刷新實驗
為了驗證基于CANFD總線的軟件刷新效率,分別基于CANFD總線和CAN總線的Bootloader軟件進行了八組刷寫實驗。
圖6.ECU軟件刷新實驗
表1.基于CANFD和CAN總線的刷寫速率對比
如表1所示,CANFD總線仲裁場設置速率為500kbps,數據場速率設置為5Mbps, CAN總線的通信速率設置為500kbps。 刷寫數據范圍從420kb到3392kb,對比實驗數據可知基于CANFD的刷寫效率相對普通CAN 分別提升保持在300%之上。
總結
本文介紹了基于CANFD的Bootloader軟硬件設計及實現,通過實驗驗證相對于傳統的基于CAN總線刷新方式,基于CANFD總線的刷新效率有較大的提高。目前車載網絡架構一般會根據控制器的功能分為多個網段,各個網段之間通過網關交互信息。在未來車載控制器刷新中可以充分利用CANFD的帶寬,實現基于網關的多路控制器同時刷新。