GD32F305VCT6 CAN采样点导致收发失败

本文详细描述了在CAN多节点通信中遇到的问题,包括波特率不准确、硬件匹配、采样点设置等。通过一系列测试,发现CAN采样点位置对通信稳定性有显著影响,尤其是当设置在75%以上时,通信成功率提高。同时,不同型号的MCU对采样点要求可能存在差异,并强调了在CAN网络中保持一致的采样点设置的重要性。此外,随着节点数量增加,需要进一步测试和调整以确保通信正常。
摘要由CSDN通过智能技术生成

问题描述:CAN多节点通信,波特率500K,节点之间通信不良。两路CAN均发送失败。

排查:仿真状态查看寄存器,发送失败标志位置位,仲裁失败无置位,因为发送失败导致三个邮箱都处于发送状态。CAN盒子连接到CAN总线,发现因为打开了自动重传,一直在重复发送单帧数据。检查数据发送结构体,数据长度、ID、DATA内容均正常。主频8,使用外部晶振,未打开PLL。

 

测试:

1.怀疑晶振精度差导致波特率不准,打开PLL,将外部晶振频率分频再倍频到120M,CAN收发问题依旧。

2.检查硬件电路,首位节点焊接120欧姆匹配电阻,问题依然未解决。示波器抓CAN信号位置,波形基本正常。

3.怀疑采样同步问题,调整CAN BS1 BS2段长度,将采样点后移。BS1_8tq,BS2_7tq,此时采样点位置为56.25%,CAN1通信成功,CAN2依此方法设置,依旧发送失败。

4.将采样点位置设置BS1_11tq,BS2_4tq时,此时采样点位置为(11+1)/(11+1+4)= 75%。CAN2两台设备收发正常。网络中设备增加到四台时,发送依旧失败,但每条数据自动重传五六次之后也可能会发送成功。

5.将采样点继续后移,发现每次后移一些,网络中能接纳的节点数就会增加。

结论:

1.CAN采样点位置一般设置在75%以上,大多在80%以上。

2.型号不同,CAN的采样特性也有差异。经过和STM32F105对比,发现GD32的CAN采样优化不好,对采样点位置要求较高。

3.一般CAN网络中,如果有对于采样点的要求,各个设备之间的采样点位置要保持一致。

4.当网络中节点数量比较多时,需要测试多节点通信是否正常。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值