[学习笔记-ETH]会话层服务层 DoIP/SomeIP

DoIP

用于诊断、刷新、OTA,对应CAN协议栈里的CanTp

优势:

拆包组包可由TCP/IP完成,不用自己实现

速度快:比如刷新6M数据,通过CAN需要10分钟,通过DoIP只需100秒

支持并行刷新

DoIP诊断流程:

  1. 因为诊断通常是边缘节点,所以需要通过DHCP动态获取IP地址
  2. UDP广播进行车辆识别(因为支持并行诊断刷新,有多台车),然后车辆向诊断仪发送VIN、MAC、IP地址信息
  3. TCP,握手
  4. TCP,routing activation,目的是获取诊断仲裁(因为可能有其他如CanTp诊断、LinTp诊断等)
  5. TCP,DoIP诊断
  6. TCP,挥手

SomeIP/SD

SOA架构(AUTOSAR AP的基础),一般涉及两套协议:SomeIP/SD + DDS,有些车企如沃尔沃/吉利也会有自己的类似SomeIP的协议(IPCP)

  • SomeIP/SD:在MCU、MPU、SoC上都可以实现
  • DDS:在MCU上实现较为困难,但是可以不局限于以太网,可以通过共享内存实现

场景:

将一个ECU上的SWC挪到另一个ECU上,涉及到的工作有:

  • RTE的连接
  • BSW的配置:通信矩阵会相应变动,涉及Can、CanIf、PduR、COM等模块的配置,测试

尝试解决:让通信矩阵可以动态适应SWC的挪动 ---> SomeIP

内容:

  1. SOME/IP-SD:针对服务发现(Service Descovery)
    1. Client发FindService
    2. Server向所有节点广播/组播自己的信息(OfferService),通过ServiceID配对,然后发单播报文
    3. Client发送订阅请求(SubscribeEventgroup)
    4. Server回复(SubscribeEventgroupAck)
  2. SOME/IP:三种方式通信
    1. method:远程调用api,client发起请求,server回复,也可以做成no return的形式
    2. event:client向server订阅一次(加入event组),server定期给client发
    3. field
  3. 通信时先SOME/IP-SD流程,然后SOME/IP通信
    1. 端口号的变化:SD时固定为30490,用来做服务的发现,someip时为各个应用自己的端口号

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值