关于SOME/IP的理解

目录

1. 总体说明

2. 服务说明

2.1 Method

2.2 Event

2.3 Field

3. 解析SOME/IP格式

3.1 Message Type说明

3.2 Payload说明

4. SOME/IP 服务发现SD

4.1 主要功能

4.2 SD报文解析

4.2.1 Entry

4.2.2 Options

4.3 SD状态机 

5. SOME/IP序列化 

5.1 概念

5.2 说明

5.3 举例


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

带有错误信息的回复

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值