3. CAN FD物理层特性
CAN FD(CAN with Flexible Data-rate)物理层继承了经典CAN的差分信号机制,但在位时间结构、采样点配置以及总线拓扑约束上提出了更严格的要求。物理层是CAN FD协议栈的基石,任何电平偏差、采样点偏移或终端匹配不当,都会直接导致位错误、CRC错误甚至总线离线。本章围绕显性/隐性电平判定、位时间参数分解、采样点设置方法、总线拓扑与终端电阻要求五个核心维度展开,并结合ISO 11898-2:2016与CiA 601-3规范,给出可落地的测试方法与工程判断准则。
3.1 显性/隐性电平判定与测试方法
核心原理
CAN FD总线采用差分电压传输,两条总线导线CANH和CANL之间的电压差(Vdiff = VCANH - VCANL)决定总线状态。显性状态(Dominant)对应逻辑"0",隐性状态(Recessive)对应逻辑"1"。ISO 11898-2:2016规定:显性电平下,Vdiff应大于1.2V(典型值2.0V);隐性电平下,Vdiff应小于0.5V(典型值0V)。收发器内部通过比较器对差分信号进行判定,其阈值通常设定在0.7V~0.9V之间,但一致性测试要求更严格的边界。
在CAN FD高速数据阶段(Data Phase),位时间缩短至数百纳秒,电平切换速率加快,此时对收发器的压摆率(Slew Rate)和对称性提出更高要求。测试时需分别测量显性输出电平(Vdiff_dom)、隐性输出电平(Vdiff_rec)、显性输入阈值(Vdiff_dom_in)和隐性输入阈值(Vdiff_rec_in),确保收发器在-40°C~+125°C全温度范围内满足规范。
判断方法与操作流程
- 测试准备:使用500MHz以上带宽示波器,搭配1:1差分探头(如Tektronix TDP1500),探头地线长度不超过5cm,避免引入共模噪声。
- 静态电平测量:将DUT(待测设备)接入测试网络,发送显性位和隐性位各持续1ms以上,在示波器上读取Vdiff稳定值。
- 动态切换测量:发送0x55(交替位模式)数据帧,测量显性到隐性、隐性到显性的转换时间(Tr/Tf),要求Tr/Tf在显性位时间的5%~20%范围内。
- 共模电压验证:测量VCANH和VCANL对地的共模电压Vcm,要求Vcm在1.5V~3.5V范围内(典型值2.5V)。
| 参数 | 符号 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|---|
| 显性差分输出 | Vdiff_dom | 1.2 | 2.0 | 3.0 | V |
| 隐性差分输出 | Vdiff_rec | -0.5 | 0 | 0.5 | V |
| 显性输入阈值 | Vdiff_dom_in | 0.8 | — | 1.2 | V |
| 隐性输入阈值 | Vdiff_rec_in | 0.4 | — | 0.8 | V |
| 共模电压 | Vcm | 1.5 | 2.5 | 3.5 | V |
3.2 位时间参数分解与同步机制
核心原理
CAN FD的位时间(Bit Time)由四个段组成:同步段(Sync_Seg)、传播段(Prop_Seg)、相位缓冲段1(PS1)和相位缓冲段2(PS2)。同步段固定为1个时间量子(Tq),用于同步总线上的所有节点;传播段用于补偿信号在总线上的传播延迟和收发器内部延迟;PS1和PS2用于补偿振荡器漂移,并配合重同步机制调整采样点位置。
在CAN FD中,位时间分为仲裁阶段(Arbitration Phase)和数据阶段(Data Phase)两套独立配置。仲裁阶段位时间通常为1μs(1Mbps),数据阶段可缩短至125ns(8Mbps)甚至更短。数据阶段的位时间配置必须满足:Prop_Seg + PS1 ≥ 2 × (总线传播延迟 + 收发器延迟),否则采样点会落在不稳定的电平区域。
位时间参数计算流程
已知条件:
- 总线长度 L = 10m,信号传播速度 v = 5ns/m(双绞线)
- 收发器环路延迟 T_loop = 200ns(典型值)
- 振荡器容差 Δf = ±0.3%(CAN FD数据阶段要求)
计算步骤:
1. 总线传播延迟 T_bus = 2 × L × v = 2 × 10 × 5 = 100ns
2. 总延迟 T_total = T_bus + T_loop = 100 + 200 = 300ns
3. 选择数据阶段位时间 T_bit = 250ns(4Mbps)
4. 时间量子 Tq = T_bit / 20 = 12.5ns(假设20个Tq)
5. Sync_Seg = 1 × Tq = 12.5ns
6. Prop_Seg = ceil(T_total / Tq) = ceil(300/12.5) = 24 Tq → 超过位时间,需调整
7. 重新选择 T_bit = 500ns(2Mbps),Tq = 25ns
8. Prop_Seg = ceil(300/25) = 12 Tq,PS1 = 4 Tq,PS2 = 3 Tq
9. 采样点 = (1 + 12 + 4) / 20 = 85%
案例拆解:位时间配置不当导致通信失败
背景:某车载网关项目,CAN FD数据阶段配置为5Mbps,总线长度约5m,使用NXP TJA1145收发器。实测发现,当总线温度升高至85°C时,出现间歇性CRC错误。
分析过程:通过CANoe的位时间分析功能,发现采样点实际位置偏移至78%(配置值为80%)。进一步测量收发器环路延迟,在高温下从200ns增加至260ns,导致传播段余量不足。
解决方案:将数据阶段位时间从200ns(5Mbps)调整为250ns(4Mbps),重新计算Prop_Seg=14 Tq,PS1=3 Tq,PS2=2 Tq,采样点=80%。同时将振荡器从20MHz更换为40MHz温补晶振(TCXO),频率容差从±0.3%提升至±0.1%。
结果:在-40°C~+125°C温度循环测试中,连续运行72小时无错误帧。代价是数据速率降低20%,但换取了全温度范围的可靠性。
3.3 采样点设置与一致性测试
核心原理
采样点是接收器对总线电平进行采样的时刻,通常位于位时间的75%~85%处。采样点设置过前(<70%),可能采样到前一位的残余电平;设置过后(>90%),可能来不及完成电平稳定。CAN FD数据阶段位时间短,采样点精度要求更高,推荐设置在80%±2%范围内。
采样点由PS1和PS2的比值决定:采样点 = (Sync_Seg + Prop_Seg + PS1) / (Sync_Seg + Prop_Seg + PS1 + PS2)。通过调整PS1和PS2的Tq数量,可以精确控制采样点位置。同时,CAN FD支持三次采样模式(采样点前后各增加一次采样),用于抑制总线上的毛刺干扰,但会引入额外延迟,需谨慎使用。
采样点扫描测试方法
- 使用CANoe或CANscope的采样点扫描功能,从60%到95%以1%步进扫描。
- 在每个采样点位置发送1000帧测试报文,统计错误帧数量。
- 绘制"采样点-错误率"曲线,确定无错误区间(通常为75%~88%)。
- 选择无错误区间的中心点作为最终采样点配置。
| 采样点位置 | 错误率(%) | 判定 | 备注 |
|---|---|---|---|
| 65% | 12.5 | 不合格 | 采样过早,电平未稳定 |
| 70% | 0.8 | 边缘 | 接近下限 |
| 75% | 0 | 合格 | 进入稳定区间 |
| 80% | 0 | 最优 | 推荐位置 |
| 85% | 0 | 合格 | 仍可接受 |
| 90% | 2.3 | 不合格 | 采样过晚,接近下一位 |
3.4 总线拓扑与终端电阻要求
核心原理
CAN FD总线采用直线型(总线型)拓扑,所有节点通过短支线(Stub)连接到主干线。ISO 11898-2规定:主干线两端必须各接一个120Ω终端电阻(等效并联60Ω),用于匹配传输线阻抗,防止信号反射。终端电阻的精度要求为±1%,且应直接连接在CANH和CANL之间,避免通过连接器或线束引入额外阻抗。
在CAN FD高速数据阶段,信号反射对位错误的影响更为显著。当支线长度超过0.3m时,反射信号会在采样点处叠加,导致电平误判。因此,CAN FD网络对拓扑结构提出更严格要求:支线总长度应小于0.3m,节点间距应大于0.1m,主干线长度不超过40m(在2Mbps以上速率时建议不超过20m)。
终端电阻测试与拓扑验证
终端电阻测试步骤:
1. 断开DUT电源,确保总线无源
2. 使用万用表测量CANH与CANL之间的电阻
3. 正常值应为60Ω(两个120Ω并联)
4. 若测量值为120Ω,说明一端终端缺失
5. 若测量值为0Ω,说明总线短路
6. 若测量值为无穷大,说明总线断路
TDR(时域反射计)测试:
- 在总线一端注入阶跃信号,观察反射波形
- 反射系数 ρ = (Z_L - Z_0) / (Z_L + Z_0)
- 理想终端:无反射(ρ = 0)
- 开路终端:正反射(ρ = +1)
- 短路终端:负反射(ρ = -1)
案例拆解:终端电阻缺失导致高速通信失败
背景:某新能源车型BMS(电池管理系统)与VCU(整车控制器)之间采用CAN FD通信,数据阶段速率4Mbps。整车下线检测时发现,约5%的车辆在BMS唤醒后出现通信超时。
初始现象:CANoe监控显示,BMS发送的报文在VCU端CRC错误率高达8%,且错误集中在数据阶段的前4个字节。
分析过程:使用TDR测试发现,BMS端终端电阻正常(60Ω),但VCU端终端电阻为120Ω(仅一个电阻)。进一步检查发现,VCU的终端电阻焊接在PCB背面,部分批次存在虚焊。反射信号在数据阶段位时间(250ns)内往返传播,导致采样点处电平叠加。
操作步骤:① 对所有VCU进行X-ray检测,筛选虚焊批次;② 将终端电阻从1206封装改为2512封装,提高焊接可靠性;③ 在VCU连接器端增加0Ω电阻作为备用终端焊盘,便于产线返修。
结果:更换后,通信错误率降至0%,整车下线合格率恢复至99.9%。代价是单板成本增加0.3元,但避免了售后返修的高额费用。
3.5 物理层一致性测试综合流程
测试环境搭建
完整的CAN FD物理层一致性测试需要以下设备:① 500MHz以上带宽示波器(推荐1GHz);② 差分探头(带宽≥500MHz);③ CANoe或CANscope一致性测试软件;④ 可编程直流电源(模拟12V/24V车载电源);⑤ 温度试验箱(-40°C~+125°C);⑥ 可编程终端电阻箱(0~100Ω,步进1Ω)。
测试执行顺序
- 静态参数测试:测量显性/隐性电平、共模电压、输入阈值。
- 动态参数测试:测量压摆率、对称性、位时间精度。
- 采样点扫描:确定最优采样点位置及容差范围。
- 终端电阻验证:测量终端电阻值、TDR反射系数。
- 拓扑合规检查:测量支线长度、节点间距、主干线长度。
- 温度循环测试:在-40°C、25°C、85°C、125°C四个温度点重复上述测试。
| 测试项目 | 测试条件 | 合格判据 | 测试设备 |
|---|---|---|---|
| 显性输出电平 | VCC=12V, RL=60Ω | 1.2V ≤ Vdiff ≤ 3.0V | 示波器+差分探头 |
| 隐性输出电平 | VCC=12V, RL=60Ω | |Vdiff| ≤ 0.5V | 示波器+差分探头 |
| 压摆率 | 数据阶段2Mbps | Tr/Tf ≤ 位时间×20% | 示波器 |
| 采样点 | 扫描60%~95% | 无错误区间≥10% | CANoe |
| 终端电阻 | 断电测量 | 60Ω ± 1% | 万用表/TDR |
| 共模电压 | 正常通信 | 1.5V ≤ Vcm ≤ 3.5V | 示波器 |