劉浩銳, 錢亞容, 王旭紅
(1.東風汽車集團有限公司技術中心, 湖北 武漢 430058;2.東風商用車有限公司技術中心, 湖北 武漢 430056)
隨著車載總線技術的不斷進步和發展,LIN、CAN總線在車載網絡中得到了極大的應用,其中CAN總線一般被設計為主干網,LIN和容錯CAN設計為子網。為了適應更多需求如更高傳輸速率,低時延、高容錯、網絡安全及智慧交通的需要,車載網絡的主干網將向車載以太網 (Ethernet) 快速演進。這就對車載網絡在各種網段和各個主干網之間的信號交互提出了更高的要求。為了保證車載網絡通信的實時性、可靠性和信息安全,中央網關就應用而生,作為整車網絡管理和信息交互的核心部件,起到協議轉換、流量控制、網絡管理的作用,對于它的功能設計和測試繼而有了新的需求。
上個世紀末,美國汽車工程師協會 (SAE-Society of Automotive Engineers) 根據汽車總線網絡的速率不同,將網絡劃分為A、B、C3類,隨著后來總線技術的發展和總線速率的提高,D類和E類總線雖不在該標準上定義,但根據總線速率可加進此分類,如表1所示。
常見的A類網絡有LIN、CCD、UART等,一般為主從結構用做子網。LIN 是在1999 年由歐洲汽車制造商Audi、BMW、DaimlerChrysler、Volvo、Volkswagen和Motorola公司組成的LIN協會,共同推出的用于汽車分布式電控系統的開放式的低成本串行通信標準,從而為LIN總線的廣泛使用打下了良好的基礎。
對于B類網絡,歐洲主流OEM廠使用容錯CAN對應的協議是ISO 11898-3,而北美主流OEM廠主要使用低速CAN對應的協議SAE J2284-1。
C類網絡,也是目前大多數車型的主干網,是面向高速和實時閉環控制的多路傳輸網,根據SAE的規定,C類網絡的位傳輸速率為125kb/s~1Mb/s,C類網絡都是以CAN2.0A定義的標準幀或CAN2.0B定義的擴展幀為基礎協議的高速CAN網絡協議,如ISO 11898-2,SAE J1939 (用于商用車),SAE J2284-3等。

表1 總線分類
D類網絡以TTP/C和FlexRay協議為兩種發展方向的代表,其中FlexRay主要由BMW、BOSCH、Motorola通用等OEM和半導體廠商支持的更可靠的高速車載網絡系統用于底盤控制和線控系統,速率可達10Mb/s。TTP/C則是由Audi、 Renault、Delphi、NEC等OEM和半導體廠商支持的基于FTDMA的確定性訪問方式用于安全控制和線控系統,速率可達25Mb/s。
E類網絡一般應用于車載娛樂多媒體和導航通信系統中,主要有MOST和IDB。MOST總線是一種采用環形拓撲可以傳輸同步、非同步和控制數據類型的網絡,在BWM、Benz等公司車型上都有使用。IDB是基于CAN總線,采用光纖介質通信,最大的優點是兼容便攜式消費電子設備連接到車載網絡并實現互操作。
隨著物聯網、自動駕駛以及V2X場景應用的需要,模塊間的數據交互量越來越大,對于實時性要求越來越高,而且要求成本低,可靠性高,可以讓汽車成為一個移動的終端,于是車載以太網被越來越多的OEM和半導體廠商所看好。
在電子電器架構設計時,架構工程師根據整車功能的耦合度不同,將耦合度高的車輛功能集成到一個ECU中,如將車輛進入和防盜報警功能、門鎖控制、鑰匙學習及燈光控制等功能集成到車身控制器BCM中,而將點火、燃燒、噴油和排放等功能集成到發動機控制單元ECM中。根據ECU數據交互量、系統功能完整性、實時性及車輛配置等需求,把關聯性強相關的一類ECU設計到一個主干網中來降低總線各個主干網的負載率和提高通信效率,保證傳輸時延和容錯率,如Powertrain主干網主要包括ECM和AT等,底盤主干網主要包括ESP、EPS和suspension等??偟脑O計原則就是高內聚低耦合。
根據功能需求、電子電器架構和網絡拓撲,網關主要用于不同協議之間或者相同協議不同主網之間的協議轉換、信息傳輸或數據共享等功能的實現。目前車載網關存在兩種形式,一種是由其它ECU兼容網關功能,進行報文信號路由或協議轉換,如圖1所示。

圖1 集成網關網絡拓撲示意
另一種是把主干網之間的報文信號路由、協議轉換和網絡休眠喚醒及網絡安全等功能由一個專門的ECU來完成,該ECU稱之為中央網關,如圖2所示。而且隨著車載總線網絡技術的發展,對網關處理數據的能力要求越來越高,協議轉換種類也越來越多,對網關性能也有了更高的需求,如果按照域控制器以太網的架構發展,那么中央網關的優勢就更加明顯,且是未來的發展方向。

圖2 中央網關網絡拓撲示意
網關的基本功能是實現報文信號路由。報文路由就是將源網段接收到的報文轉發到目標網段。信號路由是指網關根據需求提取源網段報文中的一些信號進行重新打包,使用符合總線網絡設計新的標識符轉發到目標網段。如何高效地進行報文信號路由是設計網關的一個主要設計指標。以高速CAN總線為主干網的車載網關設計為例,網關寄存器分為兩種緩存區,一個為接收緩存區(記作Rx_buffer) 用來存放未處理的接收數據,另一個為發送緩存區(記作Tx_buffer) 用來存放處理過的即將發送的數據。網關進行報文信號路由可分為3個步驟,即接收、計算處理和發送,如圖3所示。

圖3 中央網關工作步驟示意
接收就是網關按照Global ID列表對來自所有通道或者主干網的報文進行比對,把在該列表的報文按照接收時間存放在Rx_buffer里。計算處理是網關根據需求將Rx_buffer中的報文進行處理直接傳遞到目標網段Tx_buffer中或對需要的信號進行提取計算和打包為新的報文傳遞到目標網段Tx_buffer中。發送為網關根據一定的規則將Tx_buffer中的報文發送到HW Tx_buffer,并當目標總線空閑時發送到總線上,該規則可以是先進先出隊列模式(報文記作MsgFF) 或最高優先級的先發送模式(報文記作MsgMF) 等,如圖4所示。
除了要遵循整車電子電器架構和總線網絡設計需求,為了提高網關報文信號路由效率和實時性,一般應遵從以下設計原則。
1) 報文路由 直接轉發報文,應保持報文標識符、發送方式、周期等參數不變,一般要求網關無輸入不發送。報文路由可以對其轉發報文的數據場(DLC) 按照需求進行減少,一般DLC長度可以設計為1,2,4,8byte等2的指數冪,這樣可以減少網關工作負荷、提高轉發效率和減少目標網段負載率。
2) 信號路由 信號路由、標識符遵照總線網絡定義,發送方式一般定義為使能周期類型。當有目標信號發生變化,使能報文進行發送;若沒有目標信號發生改變,僅按照定義周期進行報文刷新。當無輸入信號時,各個信號按照默認值或特殊定義進行填充轉發。
3) 其它原則 網關從其它源網段的報文中獲得信號,并對其進行判斷、計算、比對,使信號精度、類型發生改變,或者重新生成一個新的信號,嚴格意義上不算是信號路由,并且該種新信號需打包到新的標識符報文中按需求進行發送。
網關各個總線通道需確保電器接口獨立,發生短路開路的通道不能影響其它通道,也應確保源網段和目標網段工作的獨立性,例如某一個目標網段BusOff不能影響源網段和其它目標網段的工作。網關根據路由協議轉換表過濾各個通道中的報文,接收需要接收的報文存放在Rx_buffer中,當對網關進行硬件復位或者軟件復位時,網關應該立即清除緩存器中的數據。在網絡拓撲和網關設計時,由于信號路由方式,網關的計算量大,資源消耗多,盡量少使用。為了提高整車網絡系統功能的容錯性,網關需要進行節點、報文和信號丟失功能判斷設計。節點丟失網關一般設計為判斷節點的最大周期報文5~10個周期內未收到即節點丟失,報文信號丟失可參照節點丟失。當判斷丟失可通過DTC進行記錄。
網絡安全方面,一方面需要網關具備安全日志功能,對非法的報文信號和事件進行記錄,對程序刷寫和變更進行記錄等;另一方面,可通過中央網關進行隔離車內網和車外網。外網連接到車內網的兩個通道,一個是通過無線連接T-Box,另一個通過硬線連接OBD接口。在這兩個對應網關的接口上可以通過植入防火墻、進行訪問過濾和安全訪問的方式來處理,還可設計硬件加密接口來保證網絡安全更高等級的需求。

圖4 報文發送規則
網關功能測試可以由如圖5所示的系統進行自動化測試,包括網關控制器功能測試、網絡單節點測試和網關網絡壓力測試。該系統通過上位機將測試用例指令下載到下位機,由下位機直接控制所述系統中的各通信板卡、I/O板卡、標準電源模塊及各總線干擾注入模塊,來給待測網關施加測試用例,并從總線采集模塊獲得中央網關各通道的總線信息,最后通過上位機測試管理軟件比對測試結果,給出測試報告和記錄測試數據。
根據路由表規則建立數據庫,并自動生成基礎測試腳本可在測試系統中運行,能夠實現最大值、最小值、隨機值、替代值、報文延時、周期時間等報文信號路由基本功能測試。
其它功能測試可通過配置壓力參數結合基礎測試腳本生成壓力測試腳本,加載壓力測試腳本到測試系統進行自動化測試,如網絡負載率變化影響測試、網絡接口獨立性測試、邊界值測試、I/O故障激勵測試、多次故障恢復測試、總線故障注入測試、BUSOFF恢復測試、多次異常供電測試、魯棒性測試和健壯性等長時間、高負載場景下的壓力測試和魯棒性測試。

圖5 網關測試系統
本文介紹了車載網絡的演進,結合電子電器架構和網絡設計闡述網關功能設計的關鍵點,并介紹了網關功能測試步驟和測試系統搭建,值得在網關功能設計和測試時借鑒和參考。