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

STM32G4 CAN无法检测到bus-off状态?

[复制链接]
lthuijoljnk 提问时间:2024-12-22 17:12 / 未解决

我将STM32G473的板子配置了CAN,并周期发送了报文,使用USBCANFD-200U进行了接收。

1、起先在CAN盒子的接口处直接对总线CAN-H和CAN-L进行短接,发现无法进入bus-off。

2、随后我将盒子断开,总线处于开路,只有STM32板子这一个节点,此时注意到在开路状态下并没有处于bus-off,外设的TEC计算器并没有超过255。

3、接着我在开路状态下继续对总线进行短接,最开始是在总线的末端,没有进入bus-off。当我在对板子的CAN收发器接口处进行短接时进入了bus-off。我意识到好像与短路的距离有关,我开始用一节金属丝重新再总线的末端短接,并将CAN-H和CAN-L末端在金属导线上滑动以减小短接的距离,发现距离减小到一定时就进入了bus-off。

4、细节:总线除了CAN盒子(接上位机)后只有板子,直接通过两根线进行了连接,总线长还不到0.5m。当我将总线开路时只有板子和这段线进行连接。在板子上收发器输出是有120欧的电阻的。总线其它位置没有电阻。

这让我有两个问题。一个是为什么直接开路后没有进bus-off,另一个是总线短路为什么还和距离有关,直接在板子接口短接就能进bus-off。这是硬件有什么问题吗?还是软件配置的原因,我附上我的CAN外设配置如下:

image.png

image.png
赞 收藏 评论3 发布时间:2024-12-22 17:12

举报

3个回答
xmshao 回答时间:2024-12-23 10:08:01
如果你没有在CAN总线的两端分别使用120欧姆电阻的话,建议配置好后再行测试。
lthuijoljnk 回答时间:2024-12-23 14:34:33

xmshao 发表于 2024-12-23 10:08
如果你没有在CAN总线的两端分别使用120欧姆电阻的话,建议配置好后再行测试。 ...

今天找到了原因,CAN收发器输出接了两个保险丝。将保险丝用零欧电阻替代测试就正常了

xmshao 回答时间:2024-12-23 16:46:01

lthuijoljnk 发表于 2024-12-23 14:34
今天找到了原因,CAN收发器输出接了两个保险丝。将保险丝用零欧电阻替代测试就正常了
...

呵呵 你是说在总线上接了保险丝吧。按理保险丝电阻也该很小才对。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版