车载以太网通常采用OSI(开放系统互连)模型的分层结构,该模型将网络通信划分为七个不同的层次,每个层次负责不同的功能。以下是车载以太网的分层结构,与OSI模型的对应关系:
应用层(Application Layer):
负责定义应用程序之间的通信和数据交换规则。
用于实现车辆应用层的数据交换,如车载娱乐系统、导航系统等。
表示层(Presentation Layer):
主要负责数据格式的转换、加密和压缩等,以确保不同设备间的数据格式兼容。
在车载以太网中可能用于数据的编解码,以便不同系统之间的通信。
会话层(Session Layer):
管理和维护数据传输中的会话和连接。
可以用于车载网络中的连接管理和状态维护。
传输层(Transport Layer):
负责数据分割、重组和错误检测等,以确保数据可靠传输。
在车载以太网中可能用于TCP(传输控制协议)或UDP(用户数据报协议)传输,以满足不同应用的需求。
网络层(Network Layer):
负责数据的路由和寻址,确保数据能够在网络中正确传输。
在车载以太网中可能涉及IP(Internet协议)寻址和路由。
数据链路层(Data Link Layer):
分为两个子层:逻辑链路控制(LLC)子层和介质访问控制(MAC)子层。
MAC子层负责帧的组装和解析,以及访问物理媒体的控制。
在车载以太网中,常使用Ethernet协议作为数据链路层的协议。
物理层(Physical Layer):
负责实际的物理信号传输,包括电压、频率、编码方式等。
在车载以太网中,物理层实现了数据的电气传输,如使用双绞线、光纤等传输介质。
简化为如下五层分层结构:
Someip,Someipsd,Doip位于以太第五层应用层:Someip协议,,Someipsd协议,doip协议本质上是规定了对网络层传递的数据的处理,适应了不同的应用场景。在CP中,实际上Soad,SD,Doip,Soemipxf都是在实现应用层功能。
SOME/IP的业务流程:
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协议。
SOME/IP SD服务发现的流程:
1)对于SoemipSd服务发现报文的发送与接收,依然会用到Soad,TCPIP,EthIf,Eth模块,这些模块属于公共模块,无论是doip,sd还是someip都会用到这些模块做基础数据传输。
2)服务发现报文作为格式固定的报文数据,不需要用户自定义Payload,直接发送至SD模块进行处理,不需要通过PDUR,Ldcom等模块。
3)SD在收到SomeipSd服务发现报文之后,通过内部的协议计算,对Soad的以太网发送进行实时控制。
DoIP的流程:
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发送开关的效果。
基于以太网的网络管理报文:
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模块,从而达到控制以太报文收发开关的效果。
-END-