NXP MCU 技术论坛
直播中

笑尽往事

9年用户 841经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

S32K118在高负载时Busoff中断丢失的原因?

测试用例反复短路 CANH 和 CANL。
如果 S32K118 的负载较低,则恢复策略可以正常工作。
步骤1。Busoff 引发中断并设置标志。第2步。在主循环中,如果标志被设置,DeInit & Init CAN。步骤 3. 等待 100ms。步骤 4. 发送一帧数据。步骤 5. Busoff 再次加注。
但是当负载很高时(ADC 中断每 10 毫秒上升一次),出现不同的症状的概率非常低。开始的 4 个步骤是相同的​​。
步骤1。Busoff 引发中断并设置标志。第2步。在主循环中,如果标志被设置,DeInit & Init CAN。步骤 3. 等待 100ms。步骤 4. 发送一帧数据。
但是在第 5 步中,Busoff 中断没有被触发。相反,Busoff Done Int(ESR1 的第 19 位)被设置并且 ESR1 的 FLTCONF 从 0x00 变为 0x11,这意味着总线关闭状态。
不知道为什么CAN的状态变成了BusOff。但是 BufOff Int 标志(ESR1 的第 2 位)未设置。相反,Busoff Done Int 被设置。

更多回帖

发帖
×
20
完善资料,
赚取积分