[应用相关]

CAN波特率计算工具

[复制链接]
4425|12
手机看帖
扫描二维码
随时随地手机跟帖
hoop|  楼主 | 2021-6-6 12:50 | 显示全部楼层 |阅读模式
本帖最后由 hoop 于 2022-3-19 14:16 编辑

最近偶得一个CAN波特率计算工具,分享给有需要的朋友
注意:工具好像在某些Win7系统上运行不起来,我也没找到原因。且工具非本人开发,因此不具备维护及后续支持能力哦。不过可以一起分享探讨使用心得。
如下在403A上的使用示例
1)选择CAN Bit Rate
初始CAN波特率计算界面.PNG
2)设定波特率及可容忍的偏差
本例设置1000K且不允许偏差
波特率及可容忍的偏差设定.PNG
3)设定时钟源及采样点
Frequencies:403A的HCLK=240M,PCLK=120M,图中的Frequencies为CAN时钟,其由120M的PCLK分频获得,因此可选择60/40/30/24/20这些选项;
Nominal sample piont:通常1000K波特率时采样点设定在75%;
Nominal bit duration:由实际项目需求来做限定,本例不做实际筛选,设定在8~25之间。
时钟源采样点位时长.PNG
4)获取计算结果
如下图工具将会计算出各种符合要求的配置
计算结果获取.PNG
5)选用计算出来的配置值
结合1≤BRP≤0x400,1≤TSEG1≤16,1≤TSEG2≤8,1≤SJW≤4,可以筛选出最终符合要求的选项
本例实际最终选用图示中的BRP=5(因为PCLK到Frequencies有一个2分频,因此实际最终BRP为5*2),TSEG1=8,TSEG2=3,SJW=3
故应用到代码中为
/* can baudrate, set baudrate = pclk/(baudrate_div *(3 + bts1_size + bts2_size)) */
  can_baudrate_struct.baudrate_div = 10;
  can_baudrate_struct.rsaw_size = CAN_RSAW_3TQ;
  can_baudrate_struct.bts1_size = CAN_BTS1_8TQ;
  can_baudrate_struct.bts2_size = CAN_BTS2_3TQ;
  can_baudrate_set(CAN1, &can_baudrate_struct);

BitRateCalculationTool.zip

1.69 MB

使用特权

评论回复
muyichuan2012| | 2021-6-8 13:18 | 显示全部楼层
这个工具对于配置CAN参数很实用,感谢分享。

使用特权

评论回复
便携手到老| | 2021-6-8 16:59 | 显示全部楼层
我也没找到原因

使用特权

评论回复
084425| | 2021-6-12 09:21 | 显示全部楼层
看起来不错的样子

使用特权

评论回复
aple0807| | 2021-6-21 11:05 | 显示全部楼层
can位时间,sync,bps1和bps2的长度关系有哪些限制?

使用特权

评论回复
hoop|  楼主 | 2021-6-21 18:25 | 显示全部楼层
sync固定为1,BS1要大于BS2,采样点位于BS1末尾,整体波特率设定遵循采样点位于:
75%位置(当波特率>800K时)
80%位置(当500K<波特率≤800k时)
87.5%位置(当波特率≤500K时)

使用特权

评论回复
睡觉的懒猫| | 2021-12-13 15:10 | 显示全部楼层
在电脑上就运行不起来
我用的win7 64位系统

使用特权

评论回复
lajfda001| | 2021-12-13 15:22 | 显示全部楼层
还没有找到原因吗?还是发现啥?

使用特权

评论回复
hoop|  楼主 | 2021-12-13 18:10 | 显示全部楼层
lajfda001 发表于 2021-12-13 15:22
还没有找到原因吗?还是发现啥?

抱歉,之前跟开发人员确认过,说是个别win7系统插件不足。他也不愿意维护处理。
如果你的电脑用不了的话,就去网上下载一个其他类似工具吧。搜索“CAN波特率计算工具”还是有一大堆软件的。

使用特权

评论回复
qianye1994| | 2021-12-17 09:04 | 显示全部楼层
我用ATF103下载程序,can通信失败,不知道啥原因,stm32f103就没事

使用特权

评论回复
hoop|  楼主 | 2021-12-18 13:49 | 显示全部楼层
qianye1994 发表于 2021-12-17 09:04
我用ATF103下载程序,can通信失败,不知道啥原因,stm32f103就没事

ATF103是?建议你先对比时钟是否有差异

使用特权

评论回复
qianye1994| | 2021-12-19 20:01 | 显示全部楼层
hoop 发表于 2021-12-18 13:49
ATF103是?建议你先对比时钟是否有差异

写错了,是AT32F403A

使用特权

评论回复
asmine| | 2022-1-6 13:16 | 显示全部楼层
这个,挺好啊

使用特权

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

本版积分规则

80

主题

322

帖子

0

粉丝