关于SOMEIP的理解_新能源技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于SOMEIP的理解 1 总体说明 如上图所示为标准的网络七层架构,SOME/IP?(?Scalable service-Oriented MiddlewarE over IP),即“运行于IP之上的可伸缩的面向服务的中间件”。他在系统中其实就是一个中间件的存在,所谓“Middleware中间件”是一种独立的系统软件或服务程序,分布式应用软件可借助Middleware在不同的技术之间共享资源。所谓的分布式应用软件,在这里指的就是“服务”;不同的技术之间,在这里指的就是“不同的平台或操作系统,比如Adaptive AUTOSAR系统等。 2 服务说明 服务是SOME/IP的最核心概念。在一个服务中,定义了Server和Client两个角色:Server提供服务,Client调用服务。对于同一个服务,只能存在一个Server,但可以同时存在多个Client调用服务。一个Service由0~多个Event/Method/Field组成。与CAN相比,面向服务的通讯方式能够大大降低总线的负载率。 2.1 Method 调用或引用一个进程/函数/子程序,通常由Client发起,并由Server答复。Request是最常见的一种Method,由Client向Server请求数据;Response是Request的结果,由Server答复Client的Request。而Method Fire Forget方式,只Client向Server发起,但Server对该请求不回复。 2.2 Event 一个单向的数据传输,只能是on change类型,用于Server主动向订阅(Subscribe)了相关服务的Client发布(Publish)信息。 2.3 Field 由以下三项内容构成: Notifier:通知,Server的Client订阅了服务后第一时间主动向其发送数据。 Getter:获取,由Client向Server请求数据。 Setter:设置,由Client修改Server的数据。 3 解析SOME/IP格式 3.1 Message Type说明 值 报 文类型 说明 0x00 REQUEST 请求,需要回复 0x01 REQUEST_NO_RETURN 请求,不需要回复 0x02 NOTIFICATION Notifier/Event,不需要回复 0x80 RESPONSE 回复 0X81 ERROR 带有错误信息的回复 3.2 Payload说明 通常在传输数据时,为了使数据传输更可靠,要把原始数据分批传输,并且在每一批数据的头和尾都加上一定的辅助信息,比如数据量的大小、校验位等,这样就相当于给已经分批的原始数据加一些外套,这些外套起标示作用,使得原始数据不易丢失,一批数据加上“外套”就形成了传输通道的基本传输单元,叫做数据帧或数据包,而其中的原始数据就是payload。 4 SOME/IP 服务发现SD 由于服务需要由Server和Client共同完成,因此在进行正常的数据传输之前,需要一系列的准备工作确认Server和Client之间是否已有网络连接。之后,Client还要询问Server能否提供所需的服务,并对服务的Event进行订阅。这些工作都是通过SOME/IP服务发现(Service Discovery)实现的。 SOME/IP服务发现用于定位服务实例、检查服务是否可用以及部署发布和订阅句柄。服务发现只能通过UDP实现。 服务发现的报文格式与一般的SOME/IP报文相同,但是其Message ID固定为0xFFFF8100。 4.1 主要功能 定位服务实例 检测服务实例是否在运行(即服务实例的状态) 发布/订阅行为的管理 4.2 SD报文解析 SOME/IP SD报文也是一种SOME/IP报文,是在SOME/IP报文的基础上进行了扩展,增加了Entry、Option等字段;Entries用于同步服务实例的状态和发布/订阅的管理,Options用于传输Entries的附加信息。 SOME/IP SD报文的ServiceID(0xFFFF)、MethodID(0x8100)、Request ID(0x0000)、ProtocolVersion(0x01)、Interface Version(0x01)、MessageType(0x02)、ReturnCode(0x00)等属性都是固定值。 4.2.1 Entry Entry字段可以理解为服务实例的“入口”,该入口包含服务实例以及需要订阅的事件组的信息。主要通过Entry实现提供服务、发现服务,以及订阅事件组的功能。 供服务用Entries 供EventGroup用Entries 报文中Type内容解释如下: 类别 Type值 Type名称 Service? 0x00

文档评论(0)

play + 关注
实名认证
文档贡献者

分享有帮助的文档

1亿VIP精品文档

相关文档