前言
本文是学习笔记。若涉及侵权,请告知。
车载以太网
SOME/IP (Scalable service-Oriented MiddlewarE over IP) 位于OSI模型的第四层,这点同TCP。
CAN总线为主的车载网络 | SOME/IP | |
---|---|---|
通信过程 | 面向信号(除诊断通信之外),特点是:这是一种根据发送者需求实现的通信过程,当发送者发现信号变化或发送周期到了就会发送信息,而不考虑接受者是否有需求。 | 在接受者有需求时,才发送。 |
优点 | 总线上不会出现过多不必要的数据,从而降低负载。 |
在车载网络中,一个ECU有时会调用另一个ECU上的某个服务,两者角色可认为是client/server,SOME/IP是实现这种远程服务调用的接口。
SOME/IP数据在以太网报文中的位置
SOME/IP是构架在传输层之上的应用层通信协议。
SOME/IP数据的格式
其中的Message Type,取值有:
- REQUEST 期待相应的请求
- REQUEST_NO_RETURN 不期待相应的请求
- NOTIFICATION 事件通知
- RESPONSE 响应消息
- ERROR 报错消息
在ECU之间调用服务时
Message Type | 介绍 |
---|---|
REQUEST | 在两个ECU之间,有request and response. |
REQUEST_NO_RETURN | 只有request |
NOTIFICATION | 分为Event和Field。这两类都需要首先使用SOME/IP-SD (Service Discovery)进行服务订阅,然后发布通知。Event:client和server之间有 订阅→,告知←,事件通知←。 Field:在Event的基础上,还可以对信息进行getter/setter |
SOME/IP-SD (Service Discovery)
它是一种特殊的SOME/IP格式,它对SOME/IP-SD报文中的Payload进行了定义和实现。
SOME/IP-SD 提供两种动态发现服务的机制。
- Offer Service, 由server向网络上的伙伴告知它所提供的服务。
- Find Service, 由client向别人请求可用的服务。
参考
https://zhuanlan.zhihu.com/p/48424110
http://www.some-ip.com/