N32G457的CAN波特率异常,无法准确设置1Mbps
起因是基于N32G457的bxCAN外设控制关节电机,波特率固定为1Mbps,此前在STM32F407VET6上验证通过了。但是实际调试发现输出有问题,因为手头没有USBCAN分析仪,于是用示波器对比了下两者的波形,同样配置下N32的波特率要低于STM32,也就是输出到不了1Mbps。然后试了下不同的波特率,发现到500K、666K是正常的,800K后就出问题了。后面买个USBCAN分析仪进一步研究下为什么。另外CAN的时钟源貌似不是固定36MHz,我修改系统时钟48MHz后APB1变成24MHz了。不知道有没有朋友遇到过类似的问题,或者是可以输出正确波特率的。CAN2.0跑1M的速率?通信距离多远? caigang13 发表于 2023-1-3 20:31
CAN2.0跑1M的速率?通信距离多远?
距离还蛮近的,二十厘米左右。n32的CAN和stm32的基本是差不多的,stm32的CAN时钟最高到42MHz,N32是36MHz。我还用同是Cortex-M4的单片机STM32F407VET6和PAC5523试过CAN 1Mbps,都可以正常控制关节电机。
也不知道是不是芯片个体偏差,我又买了几片后面把开发板的拆换了再研究下。 woc玄学问题啊,我调整了时钟树配置解决了。先是用HSI时钟,系统时钟36MHz,正确输出1Mbps控制关节电机,然后72Mhz也可以。后面改成HSE时钟,从36MHz、72MHz到144MHz系统时钟,都可以正确输出了,之前却不行。 CAN用高速度的话对时钟要求比较高,建议使用HSE 这个可能就是达不到这么大的频率吧。 1Mhz的频率性能怎么样 这个波特率不是应该115200吗? 最大支持多大的波特率呢? 这个波特率有什么问题? CAN有什么问题呢? hearstnorman323 发表于 2023-1-7 16:59
这个可能就是达不到这么大的频率吧。
1M是最高的了,我现在用内部时钟HSI和外部的HSE都可以设置1Mbps通信了,可能之前时钟配置有问题 jtracy3 发表于 2023-1-9 10:48
1Mhz的频率性能怎么样
1Mbps很稳定,控制关节电机 maqianqu 发表于 2023-1-9 11:28
这个波特率不是应该115200吗?
CAN最高1Mbps 通信距离多远? chenjun89 发表于 2023-1-16 08:43
通信距离多远?
ISO11898定义的1Mbps下总线最大长度是40m,不过可以加个CAN中继器来延长距离 和你的通讯距离也是有关系的。
有没有详细的测试过程?
这个不稳定,是跟时钟有关系的。 是不是没有匹配出来精准的波特率呢?
页:
[1]
2