stm32g474 发送canfd数据出现异常,fifo满,没有bus-pg电子直营网

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32g474 发送canfd数据出现异常,fifo满,没有bus-off

[复制链接]
提问时间:2024-5-10 21:51 / 未解决

环境:stm32g474re,加上主板,can总线上一共有9个节点,其中有一个节点是can扩展帧协议,其他为canfd brs开启,标准帧

配置:仲裁域 1m 80%,数据域 5m 75%,开启自动重传

问题现象:通信过程,长时间测试,偶现主板无法往总线上刷数据,我们是一主多从方式,主板依次轮询每个节点的信息,一问一答式,总线上测到无信号,can寄存器看到无bus-off,dlec 和lec错误码都为7,tec为0,rec为1,txfifo为满

尝试手段

can h和can l短路,这样会导致bus off,和我们看到的寄存器状态不匹配,排除;

把主板的can从总线断路,txfifo为满,应该是开了重传,fifo数据一直在尝试重发,新的数据进不来。这样符合看到问题时的寄存器状态,但是重新接回总线,异常能够恢复,fifo恢复正常,但是我们的问题是出现后,一直无法恢复,通过重新初始化can能够恢复,所以不像是can总线接触不良。

问题:所以还有什么情况会造成fifo一直满的情况,还发送不出数据到总线

发布时间:2024-5-10 21:51
2个回答
回答时间:2024-5-13 09:19:08
重置can控制器或重新初始化can模块试试清理一下错误状态。
回答时间:2024-5-13 14:34:32
y369369 发表于 2024-5-13 09:19
重置can控制器或重新初始化can模块试试清理一下错误状态。

这样是可以解决的,但我想知道原因在哪。感觉can的fifo被挂起推不出数据了。

关于意法半导体
联系pg电子有官方网站吗试玩
隐私策略
关注pg电子直营网
微信公众号
手机版
网站地图