CAN周期波动的优化方法有哪些?

发布时间:2023-08-01  

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

602f89d0-eb9a-11ed-90ce-dac502259ad0.png

▲图1 GBT 34658-2017中要求

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

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

60446512-eb9a-11ed-90ce-dac502259ad0.jpg

▲图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将数据向上传递。

wKgZomRVqU6AMX1hAAB0YVZofhs353.jpg

▲图3 CAN报文接收流程

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

wKgaomRVqT2AMdkyAABWbcYqJnM468.jpg

▲图4 CAN报文发送流程

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

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

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

wKgZomRVqS2AELuRAADK26E9Ork123.jpg

▲图4 内部优先级翻转

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

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

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


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    。 事实上,这个变化周期和DRAM存储芯片的价格波动周期......
    万片。 对于是否涨价,中芯国际表示,集成电路行业有其波动周期,公司会根据业界供求关系的变化,经与客户良好沟通,进行相应的价格调整。 有投资者问及上半年经营情况,中芯国际指出,根据......
    仿真目的,在仿真开始时,假定电池电量为90%SOC(初始充电状态)。以下基本参数用于表征电池: 驱动周期: “Drive cycle Editor行驶周期编辑器”工具正在使用标准的典型城市行驶周期......
    确认信息 3.提供产品,定期跟进体验 4.归还产品,填写测评反馈 活动周期: 报名时间:即日起至2024年3月30日 样机寄送:2024年4月 试用周期:1个月(自样机签收起),可根据项目情况酌情延期 如有......
    . 冷却休息:让设备冷却5到10分钟,以允许设备因过载而产生的热量散发出去。   4. 缩短启动周期:设置加速或软启动时间,或者增加过流等保护的延时时间,以缩短启动周期,避免......
    多数被动元器件代理商2019年营收都出现了下滑,而这跟2019年半导体产业大环境、中美贸易战以及被动元器件供需波动周期相关联。   首先来看半导体大环境。据世界半导体贸易协会(WSTS)报告称,2019年全......
    在线实时转速提取。 以下图左侧图形为例,由于电机转速的波动,导致电机振动的频率出现明显的周期变化,这种频率的周期变化与转速的周期变化存在线性等比关系,所以可以利用这些振动频谱,提取转速数据。下图......
    满足频率比为整数比: 其中 n1 , n 2为不可约的整数, n1 和n 3为不可约的整数,那么存在: T=nT1其中1 T 是x 方向的振动周期,n 是1 n 和2 n 的最小公倍数,T就是(1)式描述的空间曲线的参数周期......
    ( T = 25μs) 内是标准正弦波,则在发射头振动板运动周期数n ≤发射头激励脉冲数N 时,发射头振动板运动满足: x = A ( n) sinωt (1) 式中t ∈[ ( n - 1) T , nT......
    。LTC3836 具有一个内部 1ms 软起动周期,该周期可利用一个外部电容器来延长。一个跟踪输入允许第二个输出在启动期间跟踪第一个输出。LTC3836 采用纤巧的耐热增强型 (4mm x 5mm) QFN......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>