ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

[BUG记录]Can没有按照预期的周期刷新

[BUG记录]Can没有按照预期的周期刷新 目录关键词平台说明一、背景二、根本原因2.1 Com模块2.2 SWC调用周期三、措施关键词嵌入式、C语言、autosar、TDA4回到总目录平台说明项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言CC编译器HighTec (GCC)一、背景接上一篇笔记一种ECU间CAN通信的优化方法基于此基础上又出现了新的现象can信号更新速度比预期的慢。例如10ms的周期性信号有时候会20m才更新因此在SWC中的功能性能会受到影响。二、根本原因2.1 Com模块在此模块中配置ComIPduSignalProcessing有两种配置分别是immediate和deferred区别deferred当 Com_Rxindication被调用的时候Rx_Signal_buffer 不会被立即更新而是在Com_MainFunction 被调用时所以有可能会延迟一个mainfuction的时候更新。immediate当 Com_Rxindication被调用的时候Rx_Signal_buffer 会被立即更新。所以在性能足够的情况下尽量选择immediate。2.2 SWC调用周期对于周期帧来说SWC的调用周期最好为can周期的50%-70%因为要考虑到MCU的瞬时负载。例如帧周期为10ms那么SWC周期最好为5ms。三、措施ComIPduSignalProcessing 配置为immed 并且SWC周期合理配置后问题解决但是CPUload有所增加。回到总目录
返回列表