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

STM32G474 发送CANFD数据出现异常,FIFO满,没有bus-off

[复制链接]
AgiYiXian 提问时间: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一直满的情况,还发送不出数据到总线

收藏 评论2 发布时间:2024-5-10 21:51

举报

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

y369369 发表于 2024-5-13 09:19
重置CAN控制器或重新初始化CAN模块试试清理一下错误状态。

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

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版