前言
為了讓汽車更加智能,智能網聯和智能駕駛功能噴涌而出。滿足這些需求,就對傳統的以CAN通信為核心的電子電器架構帶來嚴峻的考驗。對網絡負載,傳輸速率等方面都提出了更為嚴格的挑戰。同時,隨著汽車電動化進程的加速推進,人們對汽車音視頻系統的需求越來越高,外部電子產品控制車輛以及彼此交互的場景不斷擴大,對網絡帶寬也提出了更大的挑戰。由此,車載以太網應運而生。以太網的首要優勢在于支持多種網絡介質,同時物理介質與協議無關,因此以太網可以在汽車領域做相應的調整與拓展,形成完整的車載以太網協議。本文簡要介紹Classic Autosar下的以太網通信架構。
1.AUTOSAR中以太網功能架構概覽
在Classic Autosar架構體系下,以太網功能業務涉及大量模塊。
1)Someip業務相關的模塊:Eth,Ethif,TcpIp,Soad,Pdur,SomeipXf,LdCom,rte。
2)SoemipSd業務相關的模塊:Eth,EthIf,Tcpip,Soad,Sd,Bswm。
3)Doip診斷業務相關的模塊:Eth,EthIf,Tcpip,Soad,Doip,Pdur,Dcm。
4)網絡管理狀態處理業務相關的模塊:Tcpip,Ethif,Nm,ComM,UdpNM。
上述模塊共同協作,完成了基于以太網的SomeIp,服務發現,網絡管理,診斷四大功能。
CP以太網模塊架構圖
2.CP以太網模塊與以太網協議
以太網是一種使用十分廣泛的協議,由標準的七層架構組成,但CP中的以太網其實僅用了5層協議,那么CP以太網的模塊是如何與以太網協議形成對應的呢?
車載以太網分層協議架構圖
以太網第一層是物理層,既可以理解為硬件層,在MCU的軟硬件系統中由Phy芯片完成。Phy芯片能對模擬信號與數字信號進行轉換,接收報文時,將模擬信號轉換成數字信號給MCU芯片處理;發送報文時,將數字信號轉換成模擬信號發送至以太網總線上。
以太網第二層是數據鏈路層。鏈路層即Mac層,規定了數據幀能被網卡接收的條件,最常見的方式是利用利用網卡的MAC地址,發送方會在欲發送的數據幀的首部加上接收方網卡的MAC地址信息,接收方只有監聽到屬于自己的MAC地址信息后,才會去接收并處理該數據。在CP中,位于Mcal層的ETH模塊實現了MAC功能,即對于對端與本地Mac地址的處理。
以太網第三層是網絡層。每一臺搭載了以太網的ECU都需要定義ip地址,主機的網絡地址該如何定義,以及如何在網絡地址和MAC地址之間進行映射,即ARP協議;網絡層實現了數據包在ECU之間的傳遞。網絡層的功能由tcpip模塊完成。
以太網第四層是傳輸層。傳輸層主要是實現UDP以及TCP協議功能,在一個ECU內可能存在不同的應用程序,這些程序可能會使用到不同的IP地址,那么傳輸層就能區分數據包是屬于哪個應用程序的,即傳輸層可以實現數據包端到端的傳遞,即ECU1的應用程序至ECU2的應用程序。傳輸層的功能由TCPIP模塊完成。
Someip,Someipsd,Doip位于以太第五層應用層:Someip協議,,Someipsd協議,doip協議本質上是規定了對網絡層傳遞的數據的處理,適應了不同的應用場景。在CP中,實際上Soad,SD,Doip,Soemipxf都是在實現應用層功能。
3.以太網架構完成的主要功能
3.1 Someip業務報文收發
Someip報文收發架構圖
1)SWC通過RTE接口將數據傳遞至RTE中。
2)RTE通過使用SOMEIPXF的功能實現序列化,即將SWC輸出的結構體數據序列化為字節流信號。
3)Ldcom模塊位于RTE與PDUR之間的模塊,負責將RTE中的字節流信號轉換成pdu數據傳遞給PDUR。
4)PDUR模塊作為CP中最重要的路由模塊,能實現模塊與模塊之間的PDU路由,在SOMEIP架構中,以太網通信一定要經過Soad模塊,因此PDUR實現了以太PDU數據在LDCOM與SOAD之間的路由。
5)在上述模塊中,SOMEIP數據本質上還是以PDU的形式進行傳遞,但是以太網是以套節字(包括本地ip地址,遠程ip地址,本地port,遠程port,UDP/TCP協議)為基礎的通信。SOAD實現了在基于PDU的AUTOSAR通信服務模塊和基于SOCKET的TCP/IP堆棧之間創建一個鏈接。為PDU選擇合適套接字進行報文的發送或者接收。
6)在Someip報文發送鏈路中,TCPIP模塊會為以太網報文增加鏈路層,網絡層,傳輸層的報文頭,鏈路層:本地的mac地址以及對端的mac地址。網絡層:本地的ip地址,對端的ip地址,傳輸層:本地的port,對端的port,TCP/UDP協議。
3.2 服務發現SomeipSd報文收發
SomeipSd報文收發架構圖
1)對于SoemipSd服務發現報文的發送與接收,依然會用到Soad,TCPIP,EthIf,Eth模塊,這些模塊屬于公共模塊,無論是doip,sd還是someip都會用到這些模塊做基礎數據傳輸。
2)服務發現報文作為格式固定的報文數據,不需要用戶自定義Payload,直接發送至SD模塊進行處理,不需要通過PDUR,Ldcom等模塊。
3)SD在收到SomeipSd服務發現報文之后,通過內部的協議計算,對Soad的以太網發送進行實時控制。
3.3 基于以太網的診斷報文收發
以太網診斷報文收發架構圖
1)診斷儀或者作為診斷Client端的ECU發送的基于以太的診斷報文通過Switch能夠轉發至對應ECU中。
2)在診斷報文的收發中,Soad,TCPIP.Ethif,Eth作為公共模塊,完成數據鏈路層以及傳輸層的報文接收與發送任務。
3)Doip模塊基于以太網的通訊協議對UDS數據進行傳輸,主要實現的基于ISO13400中規定的協議功能。在Doip模塊收到Soad模塊的診斷報文后,會將診斷報文解析成對應指令通過PDUR傳輸至DCM中,DCM對該診斷指令進行處理(比如11復位指令)。注意:因為PDUR可以支持跨核信號路由,因此DCM可以與以太棧(ETH,TCPIP等)位于不同的核。
4)同時,Doip具有與SD模塊一樣的功能,能對Soad模塊中套接字進行控制,從而達到控制doip發送開關的效果。
3.4 以太網的網絡管理狀態處理
以太網網絡管理架構圖
1)基于以太網的網絡管理功能由兩部分模塊組成,第一部分:以太棧基礎模塊Soad,TcpIp,EthIf,Eth模塊,這部分基本模塊完成以太報文接收發送基本功能。第二部分:ComM,Nm,EthSm,UdpNm,這部分是AUTOSAR中管理棧的模塊,完成通信狀態的管理。
2)UdpNm網絡管理模塊Nm和 TcpIp之間的適配層,主要用于管理NM集群中NM節點的網絡管理狀態機。UdpNm模塊的功能與CanNM類似,CanNm管理的是基于Can的Nm節點的網絡管理狀態機,而UdpNm管理的是基于UDP的Nm節點的網絡管理狀態機。
3)UdpNm在解析完Nm報文并且處理網絡管理狀態機后,將控制指令通過NM模塊傳輸至COMM模塊,最終通過EthSm模塊控制TCPIP以及Ethif模塊,從而達到控制以太報文收發開關的效果。
注意:
對于僅基于Can的網絡管理電器架構,如果需要對以太的報文收發進行控制。需要通過Bswm或者SWC基于can的網絡管理狀態,向COMM模塊請求對應以太網通道的網絡管理狀態。
責任編輯:彭菁
-
電子產品
+關注
關注
6文章
1158瀏覽量
58237 -
模塊
+關注
關注
7文章
2695瀏覽量
47432 -
以太網通信
+關注
關注
2文章
52瀏覽量
11033 -
網絡管理
+關注
關注
0文章
120瀏覽量
27670 -
智能駕駛
+關注
關注
3文章
2505瀏覽量
48736
原文標題:Classic Autosar下的以太網通訊架構概覽
文章出處:【微信號:汽車電子嵌入式,微信公眾號:汽車電子嵌入式】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論