中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 177查看
  • 0回复

[模块网络] 如何计算CAN通信波特率

[复制链接]

该用户从未签到

发表于 28-1-2024 17:39:10 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


在CAN总线系统中,波特率的计算是一个关键步骤,它确保网络上的所有设备能够以相同的速率进行通信。

1、理论

波特率的计算涉及到几个关键参数,包括CAN控制器的时钟频率、分频因子、以及位时间的不同部分。

时钟频率(Fclk)



    CAN控制器的时钟频率。

    这是CAN模块的输入时钟,通常来自于微控制器的主时钟。


分频因子(Prescaler)



    用于从主时钟频率中分频得到位时间计数器的时钟频率。

    分频因子可以增大位时间,使得CAN总线能够在较低的波特率下工作。


位时间(Bit Time)



    位时间由几个部分组成,总共需要满足规定的时间量子(Time Quanta,TQ)数:



      同步段(Sync Seg):

      用于同步不同节点上的数据边缘,固定为1 TQ。

      传播时间段(Prop Seg):

      用于补偿网络中的物理延迟,长度可以调整。

      相位缓冲段1(Phase Seg1)和相位缓冲段2(Phase Seg2):

      用于对抗信号抖动和网络延迟,长度可调。



基于上述参数,CAN波特率的计算公式如下:

波特率 = Fclk / (Prescaler * Bit Time)

其中,Bit Time = Sync Seg + Prop Seg + Phase Seg1 + Phase Seg2。

假设一个CAN控制器有如下参数:



    Fclk = 16 MHz

    Prescaler = 8

    Sync Seg = 1 TQ

    Prop Seg = 2 TQ

    Phase Seg1 = 3 TQ

    Phase Seg2 = 2 TQ

    Bit Time = 1 + 2 + 3 + 2 = 8 TQ


则波特率为:

波特率 = 16 MHz / (8 * 8 TQ) = 16,000,000 / 64 = 250,000 bps (或250 kbps)

2、实践

以AT32F413这款MCU为例,CAN波特率计算公式如下所示:

如何计算CAN通信波特率w2.jpg

CAN 总线的额定位时间由 3 部分组成:

1、同步段(SYNC_SEG),该段占用 1 时间单元,即公式中的1 x t?。

2、位段 1(BIT SEGMENT 1),包括 CAN 标准里的 PROP_SEG 和 PHASE_SEG1,记为 BSEG1, 该段占用 1 至 16 时间单元,时间单元个数由 BTS1[3:0]位定义,即公式中的t????1 = (1 + BTS1[3:0]) x t?。

3、位段 2(BIT SEGMENT 2),包括 CAN 标准里的 PHASE_SEG2,记为 BSEG2,该段占用 1 至 8 时间单元,时间单元个数由 BTS2[2:0]位定义,即公式中的t????2 = (1 + BTS2[2:0]) x t?。

时间单元的长度由 CAN 位时序寄存器(CAN_BTMG) 的 BRDIV[11:0]位及 PCLK 定义,即公式中的t?。

如何计算CAN通信波特率w3.jpg

按照公式继续推导如下:

如何计算CAN通信波特率w4.jpg

其中, BRDIV[11:0]、 BTS1[3:0]和 BTS2[2:0]为 CAN 位时序寄存器 (CAN_BTMG)中参数,在 AT32F413的 BSP 程序中对应结构体对照表如下:

如何计算CAN通信波特率w5.jpg

举个例子,设定f??????=192MHz, f???1??? = f????=24MHz 时, 1M 波特率的软件设置如下:

如何计算CAN通信波特率w6.jpg

3、注意事项


    确保总的Bit Time在CAN控制器的可配置范围内。

    不同的CAN控制器可能有不同的最大和最小TQ限制。

    适当设置波特率可以减少误差,提高网络的稳定性和可靠性。

    高波特率适用于短距离通信,而长距离通信则需要降低波特率以减少误差。

如何计算CAN通信波特率w1.jpg
如何计算CAN通信波特率w7.jpg

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 27-4-2024 18:41 , Processed in 0.350342 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.