SOMEIP

30 阅读2分钟
  • SOME/IP专为车载网络设计,提供面向服务的高效通信,支持动态服务发现和标准化数据格式,适合实时性要求高的场景
  • TCP/IP是通用协议,适合互联网和局域网,但在车载网中缺乏对服务架构和实时性的直接支持。

通信模式

服务是包含方法、字段和事件的接口,由这些服务接口定义,包括以下:

  • 方法(Method)
    • 带响应的方法:Request/Response
    • 不带相应的方法: Fire/Forget
  • 事件(Event):当某些事情发生时,服务器向客户端发送消息(类似通知功能)
  • 字段(Field):属性或状态的获取器(Getter)、设置器(Setter)、通知器(Notifier)(类似“状态监控”功能,例如手机的设置亮度调节,可以获取亮度,设置亮度,亮度变化时收到通知)
  • 事件组(EventGroup):用于发布/订阅处理的事件和字段的逻辑组

SOME/IP-SD:服务发现,负责服务的发现和订阅管理,确保客户端能够找到并连接所需的服务,需要明确以下信息:

  • 服务实例的状态是否可用或不可用
  • 如何访问服务
  • 发布/订阅机制
  • 客户端需要哪些事件或字段

SOME/IP:负责具体的服务通信,实现数据的传输和处理

SOME/IP报文格式

包头+payload:

  • MessageID:报文的唯一标识符,占32位,
    • 0-15,MethodID,
    • 16-31:EventID
  • Length: 32bits
  • Request ID:
    • clientID,16bits, 区分请求同一服务Service的不同客户端
    • SessionID, 16bits,同一个客户单请求同一服务Sservice的次数
  • Protocol Version:8 bits
  • Interface Version:8 bits
  • Message Tpye:8 bits
  • Return Code:8 bits

  • Payload:32bit

序列化功能