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的以太网发送进行实时控制。