【宏虹學堂】車載以太網:優勢、技術與應用實踐

傳統CAN匯流排只能滿足ECU特定的CAN協議,而以太網可作為雷達、攝像頭等感測器驗證,支持時間同步、音視頻應用,甚至可相容互聯網基礎數據。這就能說通為什麼今天它在汽車行業處於完全爆發的狀態了。

車載以太網能在汽車領域普及主要是根據高速率和強突破性這兩個特點。現在100M和1000M基本上被每個OEM都以這樣那樣的方式使用,或者計畫使用。2.5G、5G、10G技術正在應勢而生,很多廠家推出了對應工具。另外,從傳統以太網到車載以太網轉變也與EMC突破有關。

100BASE-TX無法具備EMC功能,100BASE-T1可以依據物理層轉換技術,適配更便宜的電纜和連接器,進而解決不帶遮罩即可滿足電磁相容性的需求。所以說車載以太網突破性強,也是被廣泛應用於汽車領域的重要原因之一。

以太網協議模型支持結構成層以及重組和獨立開發。在Internet Model中將5-7層進行合併,融合了資料鏈路層和物理層,共計四層;但考慮到功能描述的詳細性,創建了五層模型,即在會話層、表示層、應用層合併為應用層的基礎上,保留物理層和數據鏈路層。因此將五層模型定義為最佳協議模型,TCP/IP也採用了五層模型結構。

各層協議分佈

與100BASE-TX相比,100BASE-T1只用一對非遮罩雙絞線(UTP線纜和專用連接器)開啟全雙工模式,成本、重量和電磁相容性更高。用汽車專用介面MQS/MATENET/HMTD來替代傳統RJ45數水晶頭,編碼方式也由PAM3代替了PAM5,將邏輯的-1,0,1轉化為在雙絞線上的電壓。

以太網幀結構如上圖,由目標MAC地址、源MAC地址、幀類型、IP數據包和校驗值構成。在抓包過程中目的MAC地址和源MAC地址已經被解析出來,報過幀類型也可以在wireshark工具中查看到。

● 以太網最大幀:6+6+2+1500+4=1518位元組

● 以太網最小幀:6+6+2+46+4=64位元組

● 基於CRC32的FCS (Frame Check Sequence),如果接收到錯誤FCS的以太網幀,該幀被丟棄

● VLAN Tag的EtherType為0x8100;VLAN ID (VID)作為VLAN的唯一ID

路由:當IP數據報文的源設備和目的設備不在同一網路中時,數據報文必須使用中間系統轉發,這一過程被稱為路由。IP地址是數據包傳輸系統的一個重要組成部分。

IP路由轉發過程示例:

目的網路/掩碼出介面下一跳
10.1.1.0/24GE0/0/01.1.1.2

路由配置遵循的規則:

● 最長匹配原則:選擇掩碼最長的條目

● 路由優先順序(根據協議來):Dreect—0;OSPF—10;Static—60;RIP—100

● 路由度量:Cost越小越好

SOME/IP主要為應用層提供API介面,創建CS介面,通過TCP/IP協議進行通信。而SOME/IP的訪問方式分為三種,分別是事件通知,遠程過程調用和訪問進程數據。

● 事件通知:與傳統的CAN通信類似,服務端週期性或者事件變化事件向客戶端發送特定的數據。

● 遠程過程調用:是當客戶端有請求的時候,向服務端發送請求命令,服務端解析命令,並作出相應的回應。

● 訪問進程數據:可以使客戶面向伺服器寫入(Setter)或者讀取(Getter)數據。

數據格式如下:

通過車載以太網轉換器實現1000BASE-T1與1000BASE-TX在物理層點對點的轉換,並且不存儲和修改任何數據包。還可以進行ECU開發、程式改編、診斷測試等服務,讓工程師擁有便捷的測試工具。

端口鏡像將指定源的報文複製一份到目的端口。一般是在不影響網路通訊的情況下,將源數據進行複製,通過觀察端口發送到監控設備上,進而判斷網路中運行是否正常。

Switch_1-P2:為源報文數據流經端口

S3P8:為目的端口,也稱觀察端口

原理:PC可以通過RJ45用介面線接入,遠程配置交換機內部端口鏡像功能,進而記錄Switch_1-P2到Switch_3-P0的流量,進行診斷分析和仿真測試。

隨著車輛內ECU數量、數據傳輸以及內部連接性越大,暴露在網路攻擊中的風險越大,MACsec技術是必然產物。MACsec稱為媒體訪問控制安全,是IEEE針對MAC層提出的標準化安全解決方案,提供無連接的用戶數據保密性、幀數據完整性和數據源真實性。

帶有MACsec技術的硬體可以解密高速MACsec流量並記錄,檢查ECU上的MACsec實施情況。

協議棧支撐ECU在車內使用不同協議來交換數據,不同的OEM會有不同的選擇,因此在開發過程中也帶來了新的問題。如果主機廠用了新的協議,沒有人實際測試過它,那麼實現的品質就會降低,並且測試開發需要時間與人力成本。如果試圖獲得流暢的以太網SOP,建議選擇已經成熟的協議棧,盡可能與主流保持一致,不要在協議棧上競爭。

在引入互聯網時,我們就明白從傳統的匯流排到以太網通訊類型有著很大的區別。因此在每個主機廠的設計中,都會發現gateway的存在。

把傳統匯流排連到以太網系統中有3種方案:

1.通過應用層網關,在應用程式中直接轉換資訊;

2.將匯流排數據放置於包進行封裝,以服務傳輸,例如SOMEIP服務;

3.直接用UDP來傳輸CAN等數據。

無論選取哪一種,網關都需要翻譯大量數據,這限制了網關的可擴展性;另外,兩個協議之間搭建橋樑,也需要處理很多問題,包括一些安全性指標等。因此,我們需要盡可能簡化網關,提高網關的可擴展性。

理想情況下,我們可以自動協商百兆、千兆、萬兆,甚至可以降低為1bit。但實際想一下,現有一個800M的數據流,傳入到100M的鏈路,不同速度等級讓我們不得不謹慎,因為這會導致網路處於危險之中。有些交換機可能會丟棄數據包,或者鏈路速率較快傳入較慢鏈路中會丟失數據。這就是為什麼在網路設計中你必須做些什麼來處理不同鏈接速度。

為此,我們可以將網路分成更小的單元,使用VLAN、組播等,防止不必要的數據量傳入。還可以在交換機進行流量整形,監控流量防止網路被濫用。優化設計網路拓撲等等。

總之,在車載以太網的道路上我們還需要更多的技術挖掘與經驗積累,儘管在應用中存在了一些困難和挑戰,但伴隨著行業創新,這些問題都會迎刃而解,讓汽車電子技術愈演愈烈。