SOME/IP介绍

1、介绍

        本协议规范规定了AUTOSAR协议“可扩展的面向服务的IP中间件(SOM/IP)”的格式、消息序列和语义。

        SOME/IP是一种自动/嵌入式通信协议,支持远程过程调用、事件通知和底层序列化/有线格式。唯一有效的缩写是SOME/IP。其他缩写(例如Some/IP)是错误的,不应使用。

        SOME/IP应在不同的操作系统(如AUTOSAR、GENIVI和OSEK)上实现,甚至在没有操作系统的嵌入式设备上实现。SOME/IP应用于ECU客户端/服务器之间的串行化。SOME/IP的实现允许AUTOSAR解析RPC PDU并将信号传输到应用程序。

2,首字母缩略词

SOME/IP介绍_第1张图片

         Byte Order Mark,字节顺序标记(BOM)是一个Unicode字符,即U+FEFF字节 订单标记(BOM),其外观为 文本流的开始用于指示所使用的编码。

        Method ,方法,方式。

        Parameters ,方法或事件的输入、输出或输入/输出参数。

        Remote Procedure Call (RPC),从一个ECU到另一个ECU的方法调用,使用
信息。
        Request,客户端向调用方法的服务器发送的消息。
        Response ,服务器向客户端发送的消息,用于传输方法调用
        
        Request/Response communication,由请求和响应组成的RPC
        Event,一种单向数据传输,只在发生变化或循环时调用,从数据生产者发送到消费者。
        Field,一个字段代表一种状态,因此在getter、setter和notifier作用的所有时间都有一个有效值。
        Notification Event,字段通知者的事件消息。
        Getter ,允许对字段进行读访问的一种请求/响应调用。
         Setter,允许对字段进行写访问的一种请求/响应调用。
         Notifier,当字段值发生变化时,发送带有新值的事件消息。
        Service,零个或多个方法、零个或多个事件以及零个或多个字段的逻辑组合。
        Service Interface ,服务的正式规范,包括其方法、事件和字段
         Eventgroup ,服务内字段的事件和通知事件的逻辑分组,以便允许订阅
        Service Instance ,服务的实现,该服务可以在车辆中存在多次,也可以在ECU中存在多次
         Server ,提供服务实例的ECU在该服务实例的上下文中应被称为服务器。
         Client ,在该服务实例的上下文中,使用服务器的服务实例的ECU应被称为客户端。
         Fire and Forget,没有响应消息的请求被称为触发并忘记。
        User Datagram Protocol ,使用简单无连接模型的标准网络协议。
         Union,动态采用不同数据类型的数据结构
        non-extensible (standard) struct ,无标记序列化的结构。最多,新成员可以以兼容的方式添加到结构的末尾,而可选成员是不可能的。
         extensible struct ,用标记序列化的结构。可以在任意位置以兼容的方式添加新成员,并且可选成员是可能的。

3、协议规范

SOME/IP通过网络提供面向服务的通信。它基于列出服务提供的功能的服务定义。一个服务可以由零个或多个事件、方法和字段的组合组成。事件提供的数据是循环发送的,或者是在提供者更改后发送给子描述者的。方法为订户提供了发出在提供者侧执行的远程过程调用的可能性。

字段是以下三项中的一项或多项的组合

a notifier which sends data on change from the provider to the subscribers
从提供者向订户发送有关变化的数据的通知程序
a getter which can be called by the subscriber to explicitly query the provider for
the value
一个getter,订阅者可以调用它来显式地向提供者查询值
a setter which can be called by the subscriber when it wants to change the value
on provider side

 当订阅者想要更改提供者端的值时可以调用的setter

4 SOM/IP消息格式规范

串行化描述了数据在协议数据单元(PDU)中表示为UDP或TCP消息的有效载荷的方式,通过基于IP的车载网络传输。

SOME/IP介绍_第2张图片

 

SOME/IP协议组成包括

•消息ID(服务ID/方法ID)[32位]

•长度[32位]

•请求ID(客户端ID/会话ID)[32位]

•协议版本[8位]

•接口版本[8位]

•消息类型[8位]

•返回代码[8位]

•负载

在应用E2E通信保护的情况下,根据为E2E报头选择的偏移值,将E2E报头放置在返回码之后。默认偏移值为64位,这使E2E标头正好位于返回代码和有效负载之间。SOME/IP介绍_第3张图片

 

Message ID消息ID[32位]

消息ID应为32位标识符,用于识别

•对应用程序方法的RPC调用

•或识别事件。

注意:消息ID的分配由用户/系统设计者决定。但是,假定消息ID对

于整个系统(即车辆)是唯一的。

Method ID方法ID16位
消息ID头字段应构造成16位服务ID头字段(以区分最多2×16个服务)和16位方法ID头字段,以区分最多2×16个服务元素(即方法和/或事件)。
Length长度32位

长度字段应包含以字节为单位的长度,从请求ID/客户端ID开始,直到SOME/IP消息结束。

 Request ID客户端ID32位

请求ID允许提供者和订阅者区分同一方法。

 

ProtocolVersion协议版本8位
协议版本标识使用的SOME/IP报头格式(不包括有效载荷格式)协议版本应为1

 

InterfaceVersion接口版本[8位]

接口版本应为8位字段,包含服务接口的主要版本。

MessageType消息类型[8位]
息类型字段用于区分不同类型的消息
SOME/IP介绍_第4张图片

 

 ReturnCode返回码8位

返回代码应用于指示请求是否已成功处理。为了简化标题布局,每条消息都传输返回代码字段。

SOME/IP介绍_第5张图片

Payload负载

SOME/IP有效载荷字段的大小取决于所使用的传输协议。对于UDP,SOME/IP有效载荷应在0到1400字节之间。需要限制为1400字节,以允许未来对协议栈进行更改(例如,更改为IPv6或添加安全手段)。由于TCP支持有效载荷的分段,因此自动支持更大的尺寸。

 

你可能感兴趣的:(tcp/ip,网络,网络协议)