广告

Classic Autosar下的以太网通讯架构概览

2023-08-22 汽车电子与软件 阅读:
本文简要介绍Classic Autosar下的以太网通信架构。
前言
为了让汽车更加智能,智能网联和智能驾驶功能喷涌而出。满足这些需求,就对传统的以CAN通信为核心的电子电器架构带来严峻的考验。对网络负载,传输速率等方面都提出了更为严格的挑战。随着汽车电动化进程的加速推进,人们对汽车音视频系统的需求越来越高,外部电子产品控制车辆以及彼此交互的场景不断扩大,网络带宽也提出了更大的挑战由此,车载以太网应运而生。以太网的首要优势在于支持多种网络介质,同时物理介质与协议无关,因此以太网可以在汽车领域做相应的调整与拓展,形成完整的车载以太网协议。本文简要介绍Classic Autosar下的以太网通信架构。
1.AUTOSAR中以太网功能架构概览
Classic Autosar架构体系下,以太网功能业务涉及大量模块。
1Someip业务相关的模块:EthEthifTcpIpSoadPdurSomeipXfLdComrte
2SoemipSd业务相关的模块:EthEthIfTcpipSoadSdBswm
3Doip诊断业务相关的模块:EthEthIfTcpipSoadDoipPdurDcm
4)网络管理状态处理业务相关的模块:TcpipEthifNmComMUdpNM
上述模块共同协作,完成了基于以太网的SomeIp,服务发现,网络管理,诊断 四大功能。
 
CP以太网模块架构图

2.CP以太网模块与以太网协议

 JiFednc

以太网是一种使用十分广泛的协议,由标准的七层架构组成,但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模块完成。
SomeipSomeipsdDoip位于以太第五层应用层:Someip协议,,Someipsd协议,doip协议本质上是规定了对网络层传递的数据的处理,适应了不同的应用场景。在CP中,实际上SoadSDDoipSoemipxf都是在实现应用层功能。

3.以太网架构完成的主要功能

 JiFednc

3.1 Someip业务报文收发
                                                                Someip报文收发架构图
1)SWC通过RTE接口将数据传递至RTE中。
2)RTE通过使用SOMEIPXF的功能实现序列化,即将SWC输出的结构体数据序列化为字节流信号。
3)Ldcom模块位于RTEPDUR之间的模块,负责将RTE中的字节流信号转换成pdu数据传递给PDUR
4)PDUR模块作为CP中最重要的路由模块,能实现模块与模块之间的PDU路由,在SOMEIP架构中,以太网通信一定要经过Soad模块,因此PDUR实现了以太PDU数据在LDCOMSOAD之间的路由。
5) 在上述模块中,SOMEIP数据本质上还是以PDU的形式进行传递,但是以太网是以套节字(包括本地ip地址,远程ip地址,本地port,远程portUDP/TCP协议)为基础的通信。SOAD实现了在基于PDU AUTOSAR通信服务模块和基于SOCKETTCP/IP堆栈之间创建一个链接。为PDU选择合适套接字进行报文的发送或者接收。
6)在Someip报文发送链路中,TCPIP模块会为以太网报文增加链路层,网络层,传输层的报文头,链路层:本地的mac地址以及对端的mac地址。网络层:本地的ip地址,对端的ip地址,传输层:本地的port,对端的portTCP/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模块请求对应以太网通道的网络管理状态。
责编:Ricardo
文章来源及版权属于汽车电子与软件,EDN电子技术设计仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系Demi.xia@aspencore.com
汽车电子与软件
汽车电子与软件
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了