CAN FD位定时参数完整规则

1. 基本概念

2. 参数计算公式

位时间组成:
总位时间 = (Sync_Seg + TSeg1 + TSeg2) × tq
其中 Sync_Seg 固定为 1 tq
所以:总位时间 = (1 + TSeg1 + TSeg2) × tq
波特率计算:
波特率 = 1 / 总位时间
       = f_clock / (BRP × (1 + TSeg1 + TSeg2))
采样点计算:
采样点位置 = (1 + TSeg1) / (1 + TSeg1 + TSeg2)

3. 参数约束规则

参数最小值最大值推荐范围
BRP12561-32
TSeg11255推荐≥4
TSeg21127推荐≥2
SJW1min(TSeg2, 128)2-4
总tq数8384标准: 12-80, 数据: 10-40
采样点--75%-90%
重要关系:
TSeg1 ≥ TSeg2
TSeg2 ≥ SJW
采样点 ≈ 75%-90% (标准相位)
采样点 ≈ 70%-85% (数据相位)

4.含义解析示例

string BitrateFDUDS = "f_clock_mhz=80, nom_brp=2, nom_tseg1=63, nom_tseg2=16, nom_sjw=1, data_brp=2, data_tseg1=15, data_tseg2=4, data_sjw=4";
时钟基础
  • f_clock_mhz=80:PCAN设备的系统时钟频率 = 80 MHz


标准帧(Nominal Bit Rate)参数

这部分控制仲裁阶段(标准CAN帧)的位定时:

nom_brp=2

  • 波特率预分频器 = 2

  • 时间量子 tq = (BRP) / f_clock = 2 / 80 MHz = 25 ns

nom_tseg1=63

  • 时间段1 = 63 tq

  • 包含传播时间段和相位缓冲段1

  • 实际时间 = 63 × 25 ns = 1.575 μs

nom_tseg2=16

  • 时间段2 = 16 tq

  • 相位缓冲段2

  • 实际时间 = 16 × 25 ns = 0.4 μs

nom_sjw=1

  • 同步跳转宽度 = 1 tq

  • 在位同步时允许调整的最大时间量 = 25 ns


数据帧(Data Phase)参数

这部分控制数据阶段(CAN FD高速传输)的位定时:

data_brp=2

  • 数据相位波特率预分频器 = 2

  • 数据相位时间量子 = 2 / 80 MHz = 25 ns

data_tseg1=15

  • 数据相位时间段1 = 15 tq

  • 实际时间 = 15 × 25 ns = 0.375 μs

data_tseg2=4

  • 数据相位时间段2 = 4 tq

  • 实际时间 = 4 × 25 ns = 0.1 μs

data_sjw=4

  • 数据相位同步跳转宽度 = 4 tq

  • 数据相位允许的最大同步调整 = 4 × 25 ns = 0.1 μs


计算得出的波特率
标准波特率(仲裁阶段)
总位时间 = (nom_tseg1 + nom_tseg2 + 1) tq 
         = (63 + 16 + 1) = 80 tq
         = 80 × 25 ns = 2.0 μs

标准波特率 = 1 / 总位时间 = 1 / 2.0 μs = 500 kbit/s
数据波特率(数据阶段)
数据位时间 = (data_tseg1 + data_tseg2 + 1) tq
          = (15 + 4 + 1) = 20 tq  
          = 20 × 25 ns = 0.5 μs

数据波特率 = 1 / 数据位时间 = 1 / 0.5 μs = 2 Mbit/s

常用CAN FD配置大全

1. 高性能配置 (500k/2M) - 推荐

// 配置1:平衡型 (80%采样点)
string BitrateFD_500K_2M = "f_clock_mhz=80, nom_brp=2, nom_tseg1=63, nom_tseg2=16, nom_sjw=1, data_brp=2, data_tseg1=15, data_tseg2=4, data_sjw=4";

// 配置2:兼容型
string BitrateFD_500K_2M_Compat = "f_clock_mhz=80, nom_brp=5, nom_tseg1=12, nom_tseg2=3, nom_sjw=2, data_brp=2, data_tseg1=7, data_tseg2=2, data_sjw=2";
特性:

- 标准相位:500 kbit/s, 80%采样点
- 数据相位:2 Mbit/s, 80%采样点
- 适用:大多数汽车和工业应用

2. 高速配置 (500k/5M)

// 配置1:5Mbps高速
string BitrateFD_500K_5M = "f_clock_mhz=80, nom_brp=2, nom_tseg1=63, nom_tseg2=16, nom_sjw=1, data_brp=1, data_tseg1=6, data_tseg2=3, data_sjw=2";
// 配置2:5Mbps保守
string BitrateFD_500K_5M_Safe = "f_clock_mhz=80, nom_brp=4, nom_tseg1=31, nom_tseg2=8, nom_sjw=2, data_brp=1, data_tseg1=7, data_tseg2=2, data_sjw=2";
特性:

- 标准相位:500 kbit/s
- 数据相位:5 Mbit/s
- 适用:需要极高数据传输率的应用
- 注意:总线长度必须很短(<10米)

3. 稳健配置 (250k/1M)

// 配置1:高稳定性
string BitrateFD_250K_1M = "f_clock_mhz=80, nom_brp=10, nom_tseg1=31, nom_tseg2=8, nom_sjw=4, data_brp=4, data_tseg1=15, data_tseg2=4, data_sjw=4";

// 配置2:长距离优化
string BitrateFD_250K_1M_Long = "f_clock_mhz=80, nom_brp=20, nom_tseg1=15, nom_tseg2=4, nom_sjw=2, data_brp=10, data_tseg1=7, data_tseg2=2, data_sjw=2";
特性:

- 标准相位:250 kbit/s
- 数据相位:1 Mbit/s
- 适用:长距离、恶劣电磁环境

4. 经典CAN升级配置 (125k/500k)

// 兼容经典CAN网络的FD配置
string BitrateFD_125K_500K = "f_clock_mhz=80, nom_brp=20, nom_tseg1=63, nom_tseg2=16, nom_sjw=4, data_brp=5, data_tseg1=15, data_tseg2=4, data_sjw=4";
特性:

- 标准相位:125 kbit/s (兼容老设备)
- 数据相位:500 kbit/s (性能提升)
- 适用:混合网络升级

配置选择指南

根据应用场景选择:

应用场景推荐配置总线长度特点
汽车ECU500k/2M< 20m高性能,标准兼容
工业控制250k/1M< 40m稳定性优先
测试测量500k/5M< 10m极速数据传输
长距离125k/500k< 100m抗干扰强
混合网络250k/1M< 30m平衡兼容性

根据时钟频率调整:

如果你的PCAN设备时钟不是80MHz,需要重新计算:

// 20MHz时钟的配置示例
string BitrateFD_20Mhz = "f_clock_mhz=20, nom_brp=1, nom_tseg1=31, nom_tseg2=8, nom_sjw=2, data_brp=1, data_tseg1=7, data_tseg2=2, data_sjw=2";
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐