对学习而言,学习之后的思考、思考之后的行动、行动之后的改变更重要,如果不盯住内层的改变量,那么在表层投入再多的学习量也事倍功半,因此从权重上看,改变量>行动量>思考量>学习量。
”图片
本文主要-> 1、SOME/IP 协议功能介绍-> 2、SOME/IP 协议服务接口介绍-> 3、SOME/IP 协议技术价值及车载应用场景一、SOME/IP 协议功能介绍SOME/IP(Scalable service-Oriented MiddlewarE over IP)是指基于 IP 的可扩展的面向服务的中间件。SOME/IP 协议于2011年由BMW集团的一位工程师设计,是一种面向服务的车载以太网通信协议,位于 TCP/UDP 之上,兼容当前国际共同探讨的基础软件开发平台。区别于传统CAN/LIN等总线面向信号(Signal-Oriented)的通信方式,SOME/IP用于面向服务(Service-Oriented)的通信,正是以太网在汽车通信架构应用的最大优势。面向服务的通信传输是服务的相关信息,汽车以太网应用方面最重要的是面向服务的架构,简称为SOA(Service Oriented Architecture)。SOA的核心是服务,服务可以简单理解为是实现某种功能的函数或算法。便于硬件预埋,软件升级功能。SOME/IP 协议采用 C/S(Client/Server)的通信架构,其中 Server 是服务提供者,Client 是服务消费者。根据服务接口类型,使用远程服务调用(Remote Procedure Call)机制,通过数据序列化和反序化(Serialization/Deserialization)使得数据得以在网络中传输。通过可用服务发现 SD(Service Discovery)机制来实现服务的动态配置。SOME/IP 主要可以提供以下功能:-> 数据序列化与反序列化(Serialization/Deserialization):服务通信数据与二进制数据流之间的双向转换;-> 可用服务发现(SD):管理服务状态,发现和提供服务,动态配置 SOME/IP 报文发送;-> 服务发布与订阅(Publish/Subscribe):管理服务的发布与订阅关系;-> 远程服务调用(RPC):实现控制器(Client)使用网络内其他控制器(Server)提供的服务.图片
二、SOME/IP 协议服务接口介绍数据路径中,服务接口(Service Interface)是描述服务与外界通信的接口。而SOME/IP作为中间件所打包的数据内容,也就是服务接口的内容。SOME/IP所对应的服务接口包含以下四种形式:Method(方法):客户端发送请求,服务端回复响应,该方式是一种有问有答的对话方式;F&F Method(单向方法):客户端发送请求,服务端不需要响应;是一种只问不答的对话方式;Event(事件):客户端向服务端订阅一个事件,服务端向客户端发布该事件;当该事件发生时,服务端就会自动给订阅了该事件的客户端发送相关的通知(Notification),是一种类似于生活中订阅报纸期刊的方式;即订阅之后不用询问会主动通知的对话方式;Fields(字段):是服务里一系列的属性值(Attributes),这些属性值可以通过设置器(Setter)、获取器(Getter)和通知器(Notifier)进行操作,可以理解成一组参数通过Method(Setter/Getter为Method的方式)和Event(Notifier为Event的方式)的组合进行操作。SOME/IP 协议以服务元素为单位管理数据信息,服务元素可分为 Event、Method、Field 三种类型。图片
-> Event 是一种单向的数据传输方式,由 Server 向其订阅者发布服务事件;-> Method 是一种远程函数调用的通信方式;-> Field 类似于 Event 和 Method 的结合体,允许 Client 获取 / 设置 / 订阅 Server 端事件的状态信息。通过 Service Interface 实现数据信息的传输与共享。基于 SOME/IP 通信协议,以两个控制器为例,空调 ECU 作为 SOME/IP 服务提供者(Server),中控作为SOME/IP服务请求者(Client),两个控制器分别以Event、Method、Field服务元素实现其通信行为,示意图如下:图片
Method 服务元素示例如下图所示。-> Client可通过Method封装Request消息对Server进行远程方法调用(RPC);-> Server对于Method 调用的执行结果可通过封装 Response 消息返回给 Client(Request & Return),或者不需要Server返回消息(Fire & Forget);-> 需要事先向Server订阅服务(SD)图片
Field 服务元素示例如下图所示。-> Getter:Client 主动获取 Field 值;-> Setter:Client 主动设置 Field 值;-> Notifier:Server 达到触发条件后向订阅的 Client 发送 Field 最新值;-> 需要事先向 Server 订阅服务(SD)。图片
Event服务元素示例如下图所示。-> 由 Server 向 Client 单向发送消息;-> 可周期发送或根据事件状态(如值改变、特定条件满足等)发送通知类消息;-> 需要事先向 Server 订阅服务(SD)图片
三、SOME/IP 协议技术价值及车载应用场景随着汽车通信总线及整车电子电气架构的不断发展,基于 CAN 总线的面向信号的通信模式已不能满足智能汽车 SOA 架构的发展要求,SOME/IP 协议是当前汽车通信实现 SOA 架构最核心的通信协议之一。SOME/IP 协议被广泛应用于车载以太网控制器中,尤其是智驾域、座舱域、车身域控等通信数据量大、对通信带宽要求高的控制器中。另外,基于 SOME/IP 实现 Signal to Service 的转换,也已经是域控制器中必不可少的技术。除本文提到的SOME/IP的概念与报文格式、SD的概念与格式以外,SOME/IP还有序列化、UDP报文分段、通信数据库开发、通信仿真等内容,日后再慢慢展开。SOME/IP相关参数的设计是汽车以太网面向服务的架构(SOA)设计中的主要设计内容,在本文中介绍的服务、服务的提供者、消费者、服务接口的各种方法、事件、字段等内容,以及文中未提到的TCP/IP通信中的配置信息,都是以太网SOA设计中的主要内容,因此对SOME/IP中各种参数的理解,对于整个架构和通信设计都非常重要。随着汽车绿色、智能、互联的快速发展和技术不断迭代,对汽车运行时的高灵活性、车辆内部与外部服务的可关联、服务和软件的扩展与升级等需求都提出了更高的要求,此时面向服务架构(Service Oriented Architecture)的优势也变得越来越凸显。SOME/IP作为面向服务架构的通信基础,将会得到越来越多的应用。SOME/IP-SD可以被当作SOME/IP的一种特殊服务,前面提到过,client可以远程调用server提供的服务,或者订阅server发布的内容,那么client是怎么知道server提供哪些服务呢,就是通过SOME/IP-SD来实现服务发现过程的。后续具体内容在下一个文章对该内容更新!图片
搁笔分享完毕!愿你我相信时间的力量做一个长期主义者!图片
车载软件架构——基础软件供应商&开发工具链(二)
车载软件架构——基础软件供应商&开发工具链(一)
车载软件架构 —— 闲聊几句AUTOSAR OS(十一)
车载软件架构 —— 闲聊几句AUTOSAR OS(十)
车载软件架构 —— 闲聊几句AUTOSAR OS(九)
车载诊断数据库——诊断问卷调查表与CDD关联关系
车载软件架构 —— 闲聊几句AUTOSAR OS(八)
车载软件架构 —— 闲聊几句AUTOSAR OS(七)
电子电气架构——车载DoIP通信汇总
车载软件架构 —— 闲聊几句AUTOSAR OS(六)
诊断测试工具CANoe.DiVa从入门到精通系列——开门见山
电子电气架构 —— OEM关于DTC具体实现相关见解
车载软件架构 —— 闲聊几句AUTOSAR OS(五)
车载软件架构 —— 闲聊几句AUTOSAR OS(四)
车载诊断协议 —— 诊断服务Service 11
车载软件架构 ——闲聊几句AUTOSAR OS(三)
车载软件架构 —— 闲聊几句AUTOSAR OS(二)
车载诊断协议-ISO 14229
车载诊断协议-ISO 14229 / 13400 /15765
车载软件架构——闲聊几句AUTOSAR OS(一)
电子电气架构——IP地址获取方式
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。