【AUTOSAR案例分析】SOME/IP通信测试,MCU接收SOC某一条Event A丢帧长达1s的时间

目录

一. 背景

二. 排查过程

三. 结论


一. 背景

ECU的内部通信使用SOME/IP进行交互,在实车测试时发现,SOC有一条SOME/IP Event 100ms发送给MCU,但MCU段的会出现偶发连续1s没有接收到该Event,影响业务逻辑的执行

二. 排查过程

1. SOC给MCU发送的Event A数据中的结构体有一个Counter,每发送一条自增1,MCU 20ms读取并打印Counter值,出现问题时,发现MCU有1s时间打印的Event A的Counter值没有变化,恢复之后Counter存在几十的跳动


初步分析:

  • MCU能定期进行log打印,说明MCU的任务调度没有卡滞,说明和MCU的负载没有关系
  • 如果是MCU的ETH底层的DMA接收BUFFER大小不够,那么应当只会出现概率丢1帧或者几帧,不会出现连续丢帧1s的情况,所以也和MCU的底层接收能力没有关系

2. 将MCU和SOC通讯的以太网数据通过Switch的镜像功能抓取出来,发现该Event对应的服务订阅正常,出现问题时刻,该Event正常发送


初步分析:

  • 通过查看该条服务的订阅交互,发现该条服务订阅正常,所以和该服务本身的订阅没有关系
  • 分析丢帧的期间,发现SOC是1s offer该服务一次,丢帧的时间刚好为1s,并且恢复接收时,刚好是下一次该服务重新订阅完成,所以和该服务的SoAd的状态有关,该服务的SoAd状态可能会受其他SOME/IP的行为影响
  • 再次分析log,发现每一次出现问题的前后,都有一条非出现问题的服务的Negative Ack

  • 排查出现问题时刻的SOC的SD(服务发现)的报文,发现某一时刻SOC发送的SD报文的Session id出现翻转的问题,正常其Session id应是连续递增的,如下图所示,SOC发送的两帧SD报文的Session id出现了翻转的问题

  • 查看AUTOSAR文档,确认当Session ID没有增加,并且Reboot Flag为1时,就当作检测到通讯reboot,检查到reboot之后,对于客户端应像处理停止订阅那样处理,对于服务端,应当像处理停止订阅那样处理,所以就会导致其他所有的服务对应也被停止,对应的SoAd状态也被关闭(需重新订阅后恢复),所以就出现了虽然SOC一直在给MCU发Event A,但是由于SOC出现了session id错误,但是和MCU其他的服务的订阅状态其实已经被停止了,这时候虽然MCU底层接收到数据,但是不会给到上层处理,导致SWC出现所谓的丢帧现象,在大约1s后,SOC提供服务,MCU重新进行订阅,这时候又能够接收到Event A了,所以就是丢帧1s的现象

三. 结论


需要SOC修复Session ID回退跳变的问题

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AUTOSAR (Automotive Open System Architecture) 是一个汽车电子领域的标准化开放体系结构,旨在为汽车电子系统提供一种可重用和可扩展的软件架构。而 AUTOSAR SOME/IP(Scalable Service-Oriented MiddlewarE over IP)协议规范则是 AUTOSAR 标准中的一个重要组成部分。以下是关于 AUTOSAR SOME/IP 协议规范的回答: AUTOSAR SOME/IP 协议规范使用了 IP 网络协议作为通信媒介,以支持传输数据的可扩展性和灵活性。该协议规范定义了一种基于服务导向架构的中间件,用于在 AUTOSAR 系统中不同的电子控制单元(ECU)之间进行通信SOME/IP 协议规范支持多种通信模式,包括发出请求并接收响应、发布-订阅模式和事件驱动模式。它还提供了安全威胁的保护机制,包括身份验证和加密,以确保通信的机密性和完整性。 通过使用 SOME/IP 协议规范,不同的 ECU 可以通过标准化的接口和消息格式进行通信,从而能够更好地实现软件组件的复用性和可替换性。这样,汽车制造商可以更加灵活地配置和更新车辆中的电子系统,而无需对整个系统进行重大改动。 总的来说,AUTOSAR SOME/IP 协议规范提供了一种基于 IP 网络的通信架构,以支持灵活、可扩展和安全的汽车电子系统之间的通信。它促进了不同 ECU 之间的跨厂商互操作性,并为汽车制造商提供了更好的可配置性和更新性,从而提高了汽车系统的整体性能和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值