zhuyshuang 发表于 2023-1-3 17:05

N32G457的CAN波特率异常,无法准确设置1Mbps

起因是基于N32G457的bxCAN外设控制关节电机,波特率固定为1Mbps,此前在STM32F407VET6上验证通过了。但是实际调试发现输出有问题,因为手头没有USBCAN分析仪,于是用示波器对比了下两者的波形,同样配置下N32的波特率要低于STM32,也就是输出到不了1Mbps。然后试了下不同的波特率,发现到500K、666K是正常的,800K后就出问题了。后面买个USBCAN分析仪进一步研究下为什么。另外CAN的时钟源貌似不是固定36MHz,我修改系统时钟48MHz后APB1变成24MHz了。不知道有没有朋友遇到过类似的问题,或者是可以输出正确波特率的。


caigang13 发表于 2023-1-3 20:31

CAN2.0跑1M的速率?通信距离多远?

zhuyshuang 发表于 2023-1-4 09:23

caigang13 发表于 2023-1-3 20:31
CAN2.0跑1M的速率?通信距离多远?

距离还蛮近的,二十厘米左右。n32的CAN和stm32的基本是差不多的,stm32的CAN时钟最高到42MHz,N32是36MHz。我还用同是Cortex-M4的单片机STM32F407VET6和PAC5523试过CAN 1Mbps,都可以正常控制关节电机。
也不知道是不是芯片个体偏差,我又买了几片后面把开发板的拆换了再研究下。

zhuyshuang 发表于 2023-1-4 11:29

woc玄学问题啊,我调整了时钟树配置解决了。先是用HSI时钟,系统时钟36MHz,正确输出1Mbps控制关节电机,然后72Mhz也可以。后面改成HSE时钟,从36MHz、72MHz到144MHz系统时钟,都可以正确输出了,之前却不行。

sy12138 发表于 2023-1-4 17:57

CAN用高速度的话对时钟要求比较高,建议使用HSE

hearstnorman323 发表于 2023-1-7 16:59

这个可能就是达不到这么大的频率吧。

jtracy3 发表于 2023-1-9 10:48

1Mhz的频率性能怎么样            

maqianqu 发表于 2023-1-9 11:28

这个波特率不是应该115200吗?

abotomson 发表于 2023-1-9 11:59

最大支持多大的波特率呢?            

timfordlare 发表于 2023-1-9 13:49

这个波特率有什么问题?            

phoenixwhite 发表于 2023-1-9 14:19

CAN有什么问题呢?            

zhuyshuang 发表于 2023-1-15 10:40

hearstnorman323 发表于 2023-1-7 16:59
这个可能就是达不到这么大的频率吧。

1M是最高的了,我现在用内部时钟HSI和外部的HSE都可以设置1Mbps通信了,可能之前时钟配置有问题

zhuyshuang 发表于 2023-1-15 10:41

jtracy3 发表于 2023-1-9 10:48
1Mhz的频率性能怎么样

1Mbps很稳定,控制关节电机

zhuyshuang 发表于 2023-1-15 10:42

maqianqu 发表于 2023-1-9 11:28
这个波特率不是应该115200吗?

CAN最高1Mbps

chenjun89 发表于 2023-1-16 08:43

通信距离多远?

zhuyshuang 发表于 2023-1-19 15:07

chenjun89 发表于 2023-1-16 08:43
通信距离多远?

ISO11898定义的1Mbps下总线最大长度是40m,不过可以加个CAN中继器来延长距离

便携手到老 发表于 2023-1-28 10:22

和你的通讯距离也是有关系的。

数据采集存储 发表于 2023-1-28 10:29

有没有详细的测试过程?

mattlincoln 发表于 2023-2-6 13:04

这个不稳定,是跟时钟有关系的。            

olivem55arlowe 发表于 2023-2-7 20:16

是不是没有匹配出来精准的波特率呢?
页: [1] 2
查看完整版本: N32G457的CAN波特率异常,无法准确设置1Mbps