编辑推荐: |
本文主要介绍了车载以太网-SOME/IP相关知识。希望对您的学习有所帮助。
本文来自于微信公众号汽车电子嵌入式软件,由火龙果软件Linda编辑、推荐。
|
|
汽车电子技术以其高可靠性著称,汽车上的通信技术在性能和安全性方面一直以后者为主,所以通信性能稍显逊色,车载以太网借鉴消费类电子通信以太网技术,并做了更适用于车辆的调整。从物理连接上来看,与传统的CAN通信结构一致。
SOME/IP,Scalable service-Oriented MiddlewarE over
IP,是一种专用于汽车嵌入式的客户端/服务器通信机制。车载以太网协议是一组多个不同层次上的协议簇,但通常被认为是一个4层协议系统:应用层、传输层、网络层、数据链路层,每一层具有不同的功能。4层结构对应于
OSI 参考模型,并且提供了各种协议框架下形成的协议簇及高层应用程序,车载以太网及其支持的上层协议的技术架构见下图。
OME/IP的主要功能如下
1.数据的结构化处理
在AUTOSAR中是指数据在PDU中的表达形式,可以理解为来自应用层的真实数据转换成固定格式的字节序,以实现数据在网络上的传输。软件组件将数据从应用层传递到RTE层,在RTE层调用SOME/IP
Transformer,执行可配置的数据序列化(Serialize)或反序列化(Deserialize)。SOME/IP
Serializer将结构体形式的数据序列化为线性结构的数据;SOME/IP Deserializer将线性结构数据再反序列化为结构体形式数据。在服务端,数据经过SOME/IP
Serializer序列化后,被传输到服务层的COM模块;在客户端,数据从COM模块传递到SOME/IP
Deserializer反序列化后再进入RTE层。
2.RPC远程调用机制
远程调用机制包括以下几种:
1)远程请求/响应(R/R)通信
该通信过程中客户端发送请求,服务端响应该请求。
2)执行 & 丢弃(F & F)通信
客户端向服务端发送调用方法请求,无需服务端响应消息的请求称为fire&forget。
3)通知事件(Notification Event)
事件通知功能,与CAN报文类似,当客户端订阅Event Group后,当发生某些特定事件时(周期更新、值发生改变),服务器就会给客户端发送Event报文。
4)域(Field)功能
Field是Getter、Setter和Notifier的组合。Getter是一个请求/回应调用,请求报文的payload为空,Field的值置于响应报文的payload中。同样Setter也是一个请求/回应调用,将要设置的Field的值置于请求报文的payload中,响应报文的payload也要放置Field设置的值。Notifier同Event类似,Field中的事件报文在Field值更新时会发送出来,但遵循事件发送规则。
3、管理整个网络中服务的状态
SOME/IP通过以太网提供面向服务的通讯,采用SOME/IP-Service Discovery定位服务实例,并检测服务的运行状态,同时发布订阅处理功能。
客户端收到需要的服务,会发送订阅报文,服务端给出订阅ACK后,开始发送Event。所有需要Event或NotificationEvent的客户端必须在运行时间中利用SOME/IP-SD在某个server上注册。
SOME/IP与AUTOSAR的关系
在AUTOSAR架构中,SOME/IP-SD模块位于AUTOSAR BSW Mode Manager
module(BswM)和AUTOSAR Socket Adaptor module (SoAd)之间,如图11所示。BswM模块提供了通用模式请求和服务请求之间的连接。SoAd模块则处理以太网堆栈和Sd模块之间的服务请求。通过配置SoAd中的SocketConnection表,可以接收其他ECU的Sd模块发来的单播和多播报文。
|