SOME/IP 不应仅用于传输 CAN 或 FlexRay 帧。但是,消息 ID 空间需要在两种用例之间进行协调。
传输 CAN/FlexRay 应使用完整的 SOME/IP 标头。
AUTOSAR Socket-Adapter 使用消息 ID 和长度来构建所需的内部 PDU,但不会查看其他字段。因此,必须将 CAN ID(11位或29位)或 FlexRay ID(6+6+11位)编码到消息 ID 字段中。ID 应对齐到消息 ID 的最低有效位,并将未使用的位设置为 0。因此,11位的 CAN 标识符将在位位置 21 到 31 进行传输。
特别是在使用29位CAN-ID或FlexRay-ID时,消息ID空间被大量使用。在这种情况下,建议将SOME/IP和CAN/FlexRay传输绑定到不同的传输协议端口,以便存在不同的消息ID空间。
请记住,当通过以太网传输8字节的CAN帧时,未来可能需要多达100字节的开销(使用IPv6和/或安全机制)。因此,建议使用较大的RPC调用,如文档的前半部分所示,而不是小型的类似CAN的通信。
客户端ID和会话ID应设置为0x0000。
消息类型和返回码应设置为0x00。
协议版本应根据[SIP_RPC_90第14页]进行设置。
接口版本应根据接口规范进行设置。
如果使用SOME/IP传输具有11位CAN-ID的CAN消息,则可以使用以下服务ID和消息ID的布局(示例):
• 服务ID应设置为系统部门定义的值,例如0x1234
• 消息ID分为5位用于指定CAN总线,以及11位用于CAN-ID。
这只是一个示例,实际布局应由系统部门指定。