打印
[STM32G4]

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

[复制链接]
楼主: 童雨竹
手机看帖
扫描二维码
随时随地手机跟帖
21
这个咋说呢,丢包都有可能,你得有数据完整性机制啊

使用特权

评论回复
22
别乱了阵脚| | 2025-5-14 11:00 | 只看该作者
高波特率下,信号完整性要求更高,若线路阻抗不匹配(如未加终端电阻)、电缆质量差或存在电磁干扰,信号易发生反射、衰减或噪声干扰,导致接收端误判位电平

使用特权

评论回复
23
淡漠安然| | 2025-5-14 11:39 | 只看该作者
高波特率下单位时间传输数据量增大,若总线节点过多或消息频率过高,易触发仲裁丢失或缓冲区溢出

使用特权

评论回复
24
三生万物| | 2025-5-14 13:28 | 只看该作者
多主站组网时,高优先级节点频繁发送数据,低优先级节点可能因仲裁失败丢包

使用特权

评论回复
25
夜阑风雨| | 2025-5-14 14:07 | 只看该作者
高速CANISO11898)要求总线两端加120Ω终端电阻,若未加或阻值偏差,信号反射会导致丢包。

使用特权

评论回复
26
光辉梦境| | 2025-5-14 15:00 | 只看该作者
STM32G4bxCAN控制器支持最高1Mbps速率,但若发送邮箱被占用(STM323个发送邮箱)或接收FIFO溢出,会导致丢包

使用特权

评论回复
27
暖了夏天蓝了海| | 2025-5-14 16:03 | 只看该作者
加终端电阻,在总线两端加120Ω电阻,减少信号反射。可能解决你的问题

使用特权

评论回复
28
江河千里| | 2025-5-14 18:00 | 只看该作者
用屏蔽电缆,采用符合ISO11898的屏蔽双绞线,降低电磁干扰。降低丢包概率

使用特权

评论回复
29
sesefadou| | 2025-5-14 21:24 | 只看该作者
高速率下,单位时间内传输的数据量增大。若总线负载接近极限(如多节点频繁发送长消息),会增加消息碰撞概率,触发CAN协议的冲突重发机制,进而导致丢包

使用特权

评论回复
30
zhengshuai888| | 2025-5-14 21:47 | 只看该作者
速率要跑上去,和通信距离、传输阻抗、电磁干扰等都有关系。

使用特权

评论回复
31
uytyu| | 2025-5-15 10:01 | 只看该作者
选择合适的总线速率,根据实际应用场景和节点处理能力进行合理设置。

使用特权

评论回复
32
mnynt121| | 2025-5-15 10:55 | 只看该作者
CAN总线速率与最大通信距离成反比。

使用特权

评论回复
33
cemaj| | 2025-5-15 11:38 | 只看该作者
调整 CAN 节点的采样点和位定时参数,以适应不同的总线速率。

使用特权

评论回复
34
mollylawrence| | 2025-5-15 12:47 | 只看该作者
终端匹配电阻阻值不正确或连接不良可能导致信号反射和干扰,进而引发丢包。

使用特权

评论回复
35
sanfuzi| | 2025-5-15 14:38 | 只看该作者
增加中间节点的终端电阻              

使用特权

评论回复
36
1988020566| | 2025-5-15 15:56 | 只看该作者
需避免频繁发送不必要的消息,必要时可将多个小消息合并为较大的消息,以减少总线负载。

使用特权

评论回复
37
mmbs| | 2025-5-15 16:21 | 只看该作者
高速传输时,信号的上升沿和下降沿时间变短,若采样点设置不准确,可能导致接收端误判数据位,造成丢包。

使用特权

评论回复
38
sdCAD| | 2025-5-15 17:13 | 只看该作者
若软件层的接收缓冲区大小未随速率提升而增加,高速数据流可能快速填满缓冲区,导致后续数据被丢弃

使用特权

评论回复
39
xiaoyaodz| | 2025-5-15 18:18 | 只看该作者
CAN 节点在接收数据时,需要在特定的采样点对总线上的信号进行采样,以确定数据的逻辑电平。总线速率提高后,采样点的设置可能不再合适。

使用特权

评论回复
40
lihuami| | 2025-5-15 19:18 | 只看该作者
高速CAN总线对电磁干扰(EMI)更为敏感,外部电磁场可能打乱信号传输,导致丢包。

使用特权

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

本版积分规则