CAN周期波动优化方法

admin 2023年6月5日22:22:53评论19 views字数 2091阅读6分58秒阅读模式

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯


CAN周期波动优化方法

对于车载控制器来说,CAN周期的波动通常是有严格的标准,国标要求如下,基于国标,各个主机厂在这一块稍微有些差异,不过大部分要求是不超过10%,比如10ms的报文,周期波动范围是9~11ms。

CAN周期波动优化方法

图1 GBT 34658-2017中要求

那如果遇到报文周期偏大的问题该从何下手,或者说有哪些解决办法呢?

首先来梳理一下CAN报文的发送流程,CAN通信协议栈的整体架构如下图所示,包括应用层,交互层,网络层,数据链路层,物理层。

CAN周期波动优化方法

▲图2 CAN通信从应用层到硬件的流程(来源CSDN)

从各层的交互接口来看,报文接收polling接收方式的流程如下图所示。

Can_MainFunction_Read函数周期调用访问CanController(硬件)的寄存器,并读取这些寄存器的数据;数据读取结束后,继续调用CAN Interface模块的CanIf_RxIndication函数,将数据传给CanIf模块;CanIf再调用PduR模块的PduR_RxIndication函数,将数据传到PduR模块;PduR模块路由到COM模块,调用Com_RxIndication函数,将数据传到COM模块,COM模块将会把数据存入其缓存,供应用层软件读取使用。

如果是CAN报文的接收采用的是中断方式,数据则是在中断中接收,并调用 CanIf_RxIndication将数据向上传递。

CAN周期波动优化方法

图3 CAN报文接收流程

报文发送流程如下图所示。通过Com_ManfunctionTx将数据一层一层传递到CAN模块,并且通过Polling或者中断的形式将数据发送出去。

CAN周期波动优化方法

图4 CAN报文发送流程

上述基本梳理了一下CAN报文收发的流程,那下面就来分析一下总线报文周期波动过大问题的可能问题点。

第一种可能是同一节点发送报文很多,并且大部分报文周期都相同,这就导致同一时刻,大量报文需要发送,导致报文发送阻塞。如果是这种情况的话,可以在Com层对报文的发送增加offset,offset一般是Com周期的倍速,这里可以适当地调低Com Mainfunction的周期。

第二种可能就是需要检查Canif和CAN是否大量报文发送仅使用一个发送缓冲区,并且采用FIFO的方式进出,这样就会出现报文周期波动,其影响的原因是,假如大CANID的报文在前,小CANID的报文在后,大ID由于总线仲裁,无法发送,会导致小CANID的无法发送,从现象来看就是报文优先就翻转。

CAN周期波动优化方法

图4 内部优先级翻转

这里还可以从总线log来分析,查看小CANID周期间隔点,发送的报文是哪些,如果那会儿大ID在发,那就有可能是这种原因。

第三种有可能系统负载的原因,比如系统负载过高,导致Com_MainFuncionTx的调度发生波动,导致总线上报文周期波动,或者是以中断的模式发送,中断优先级过低,导致被其他高优先级的中断打断,导致报文无法发送,这里可以通过打时间戳的形式来确认,在任务中打时间搓或者是在idle 任务中打来实锤。

如果是这种,从问题角度来看,就是降负载,或者调高任务或者中断的优先级。更深层次来看,就是系统设计有问题,导致基本的报文发送波动,需要从系统层面优化。

以上就是一些简单的经验梳理总结,有问题的地方大家可以在留言指正。

CAN周期波动优化方法

CAN周期波动优化方法

码上报名

2023第六届无人驾驶及智能驾舱中国峰会,5月11-12日,上海



CAN周期波动优化方法

CAN周期波动优化方法

码上报名

AutoSec 7周年年会暨中国汽车网络安全与数据安全合规峰会,5月11-12日,上海



CAN周期波动优化方法

CAN周期波动优化方法

码上报名

AES 2023 第四届中国国际汽车以太网峰会,6月8-9日,上海


更多文章

智能网联汽车信息安全综述

华为蔡建永:智能网联汽车的数字安全和功能安全挑战与思考

汽车数据合规要点

车载以太网技术发展与测试方法

车载以太网防火墙设计

SOA:整车架构下一代的升级方向

软件如何「吞噬」汽车?

汽车信息安全 TARA 分析方法实例简介

汽车FOTA信息安全规范及方法研究

联合国WP.29车辆网络安全法规正式发布

滴滴下架,我却看到数据安全的曙光

从特斯拉被约谈到车辆远程升级(OTA)技术的合规

如何通过CAN破解汽

会员权益: (点击可进入)谈思实验室VIP会员


END

CAN周期波动优化方法

微信入群

谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。

 

每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全功能安全自动驾驶TARA渗透测试SOTIFWP.29以太网物联网安全等,现专题社群仍然开放,入满即止。


扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。

CAN周期波动优化方法


谈思实验室,为汽车科技赋能,推动产业创新发展!

原文始发于微信公众号(谈思实验室):CAN周期波动优化方法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月5日22:22:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CAN周期波动优化方法http://cn-sec.com/archives/1706451.html

发表评论

匿名网友 填写信息