打印
[STM32G4]

CAN总线速率调得太高会丢包?

[复制链接]
622|41
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
童雨竹|  楼主 | 2025-5-3 07:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用了500Kbit就偶尔收不到帧,是线缆问题,还是MCU处理不过来了?

使用特权

评论回复
沙发
Clyde011| | 2025-5-3 07:24 | 只看该作者
开双缓冲试试看效果。

使用特权

评论回复
板凳
公羊子丹| | 2025-5-3 07:25 | 只看该作者
500K我也丢过,降成250K就稳了。

使用特权

评论回复
地板
周半梅| | 2025-5-3 07:26 | 只看该作者
是不是终端电阻没加?

使用特权

评论回复
5
帛灿灿| | 2025-5-3 07:26 | 只看该作者
线缆多长?超过10米就不稳了。

使用特权

评论回复
6
童雨竹|  楼主 | 2025-5-3 07:27 | 只看该作者
MCAN模式比bxCAN稳定些。

使用特权

评论回复
7
万图| | 2025-5-3 07:28 | 只看该作者
收数据用FIFO模式更安全点。

使用特权

评论回复
8
Wordsworth| | 2025-5-3 07:29 | 只看该作者
G431的CAN要开时钟别忘了。

使用特权

评论回复
9
Bblythe| | 2025-5-3 07:30 | 只看该作者
是不是主从频率配得不一样?

使用特权

评论回复
10
Pulitzer| | 2025-5-3 07:30 | 只看该作者
有没有试过抓CAN帧看看具体丢哪?

使用特权

评论回复
11
Uriah| | 2025-5-3 07:32 | 只看该作者
我觉得滤波器配错也会丢。

使用特权

评论回复
12
abotomson| | 2025-5-4 22:06 | 只看该作者
CAN总线速率提高后,信号在传输线上的衰减会加剧,可能导致接收端无法正确识别信号电平,进而引发丢包。

使用特权

评论回复
13
sdlls| | 2025-5-13 16:01 | 只看该作者
CAN通信依赖精确的位时钟同步。速率过高可能导致节点间时钟偏差累积,使得数据帧的位对齐出现偏差,最终导致丢帧

使用特权

评论回复
14
minzisc| | 2025-5-13 16:46 | 只看该作者
改用屏蔽双绞线              

使用特权

评论回复
15
sdCAD| | 2025-5-13 17:39 | 只看该作者
高速率信号对电磁干扰(EMI)更敏感。噪声可能导致信号畸变,使接收节点误判为错误帧或直接丢包

使用特权

评论回复
16
elsaflower| | 2025-5-13 18:26 | 只看该作者
CAN 总线的信号传播需要一定时间,速率提高后,每一位数据的传输时间缩短。如果总线长度较长,信号从发送节点传播到接收节点的时间占每一位数据传输时间的比例增大。

使用特权

评论回复
17
sdlls| | 2025-5-13 19:42 | 只看该作者
增加滤波和屏蔽措施,减少电磁干扰对信号的影响。

使用特权

评论回复
18
hilahope| | 2025-5-13 20:35 | 只看该作者
高速率下,若总线上的节点数量过多或消息发送频率过高,可能导致总线带宽被过度占用,引发消息冲突和丢包。

使用特权

评论回复
19
远山寻你| | 2025-5-14 09:18 | 只看该作者
一般情况你再快也快不了了啊

使用特权

评论回复
20
一秒落纱| | 2025-5-14 09:57 | 只看该作者
你要是距离比较长,是容易丢包的,但是有协议在,有校验就不怕

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

4816

帖子

2

粉丝