STM32F091 can通信配置,can波特率计算方法

以前从没有接触过can通信,最近开始接触can通信,网上搜过一些资料了解关于can通信的一些硬件知识,其实我认为can硬件知识大体了解就可以了,最重要的应用还是在can通信软件代码上的实现,因为can硬件提供了基础,在此基础上懂得怎样对can进行波特率配置以及过滤器配置就可以了。

举个例子,stm32f091上配置SYSCLK=48MHz,can在APB1外设上,也配置为48MHz,

can波特率 = 48/(Tbit* PRV)

Tbit指的是 位时间,它等于TSEG1+TSEG2+TSYNC; PRV是分频值;

其中TSYNC是位同步时间,等于1个TSCL;

而TSEG1 ,TSEG2 各有几个TSCL,这要根据can的采样点以及波特率来计算出合理的值来,网上有这种计算工具,大家可以自己搜索下载一个;

这里说一下采样点:

当波特率 > 800K时,采样点 =75%;

当波特率 > 500K时,采样点 =80%;

当波特率 <= 500K时,采样点 =87.5%;

在计算上输入时钟频率,比如48MHz,输入采样点,以及想要的波特率,就会计算出TSEG1,TSEG2的值来,以及分频PRV的值,根据计算的结果选择最合适最想要的一个就可以了;

这样通过计算来的TSEG1,TSEG2,PRV来进行代码配置就可以了,如下图是我的计算结果:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值