专栏中心

EEPW首页 > 专栏 > 如何计算CAN通信波特率

如何计算CAN通信波特率

发布人:美男子玩编程 时间:2024-01-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 总线的额定位时间由 3 部分组成:

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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

关键词: CAN

相关推荐

基础知识之CAN总线

嵌入式系统 2024-04-09

南芯科技推出车规级高速CAN/CAN FD协议收发器

如何配置控制器局域网络(CAN)位时序实现系统性能优化?

汽车电子 2024-11-21

一文读懂|CAN总线为何要加终端电阻

2024-04-18

CAN 教程

PHILIPS_CAN_控制器SJA1000的BasicCAN控制模块

CAN简介与Atmel Start上CAN驱动开发培训教程

CAN资料

FullCAN函数库V1.0

资源下载 2008-01-16

驱动汽车电子创新:RIGOL CAN-FD总线分析解决方案

测试测量 2025-05-23

dsPIC33EV 5V CAN-LIN入门工具包

车载以太网 10BASE-T1S 迎来升级,太比特级传输速率已提上日程

低速串行总线调试-CAN译码

视频 2010-01-13

ISO 16845标准详解

汽车电子 2025-03-27

高工作电压5.7 kV rms隔离式CAN FD收发器

视频 2020-12-21

使用 3.3V CAN 收发器在工业系统中实现可靠的数据传输

模拟技术 2025-01-08

Microchip推出集成式紧凑型CAN FD系统基础芯片解决方案,专为空间受限应用而设计

CAN入门书

集成隔离式 CAN 收发器 - ISO1050

视频 2010-03-18

国内首颗:纳芯微CAN FD收发器NCA1044-Q1通过丰田VeLIO认证

更多 培训课堂
更多 焦点
更多 视频

技术专区