4. 物理层与链路层测试实战

车载以太网(100BASE-T1 / 1000BASE-T1)的物理层一致性测试,核心是把 IEEE 802.3bw / 802.3bp 定义的电气与编码指标,通过 CANoe 与 VT System 的硬件通道真实地“测出来”。与协议层测试不同,物理层测试的对象是差分信号本身:幅度、对称性、抖动、眼图、编码错误、链路训练状态机以及时钟同步质量。本节围绕 PMA(Physical Medium Attachment)、PCS(Physical Coding Sublayer)、PMA 链路训练、主从时钟同步、链路建立时间五类典型用例,说明测试对象、连接方式、关键参数与判读依据。

一、测试拓扑与信号链

典型配置为:CANoe 作为测试主机运行 CANoe.Ethernet 与 Test Feature Set,VT System 提供 VT6306(以太网接口模块)或 VT2816 等具备 100/1000BASE-T1 能力的通道。DUT(被测 ECU)通过一对差分线(UTP 或屏蔽双绞)与 VT 模块的 MDI 相连,VT 模块内部完成 PHY 收发、信号采集与损伤注入。测试中需要区分三个观察点:MDI(介质相关接口,差分线端)、PMA 子层输出(编码后符号流)、PCS 输出(MII/GMII 侧数据)。

车载以太网物理层一致性测试信号链与观察点 DUT ECU PHY + MAC Master/Slave MDI 差分对 TRD_P TRD_M 观察点① MDI VT System 通道 PMA 收发 / 信号采集 PCS 编解码 / 损伤注入 MII/GMII 数据接口 CANoe Test Feature Set CAPL 测试用例 结果判定 / 报告 观察点② PMA 符号流 观察点③ PCS/MII 测试要点:VT 模块在 MDI 侧注入幅度/抖动/共模干扰,CANoe 在 PCS 侧统计误码与链路状态; 链路训练与主从时钟同步需同时观察 MDI 波形与 PCS 侧 link_status、sync_ok 等状态位。

二、PMA 测试:差分信号质量

PMA 测试关注 MDI 处的模拟特性。以 100BASE-T1 为例,发送端差分输出幅度典型为 1.0 Vpp(差分),共模电压约 1.5 V;测试项包括发送差分幅度、幅度对称性、上升/下降时间、发送抖动、回波损耗与共模抑制。在 CANoe 中,通常由 VT6306 采集波形,通过 Test Feature Set 的以太网物理层测量函数读取眼图模板与抖动直方图。

一个可复现的示例流程:将 DUT 配置为 Master 并发送 100BASE-T1 的 3 电平 PAM3 空闲序列(如 /I/ 或 /T/ 码型),VT 模块以 1 GS/s 采样率采集 10 μs 波形,计算差分幅度 Vdiff = V(TRD_P) − V(TRD_M)。若测得 Vdiff 峰峰值落在 0.85~1.15 V 区间、上升时间 2~5 ns、峰峰抖动小于 0.3 UI,则判为通过。注意:以上数值为教学示例,实际限值应以 IEEE 802.3bw 及 OEM 规范为准。

三、PCS 测试:编码与误码

PCS 子层负责 4B/5B(100BASE-T1)或 80B/81B(1000BASE-T1)编码、扰码与空闲码生成。PCS 测试的核心是验证编码正确性与误码率。CANoe 侧通过 MII 接口发送已知伪随机序列(PRBS9/PRBS31),在接收端比对,统计误码。典型判据为 BER ≤ 1×10⁻¹⁰(示例值)。

实操中,可在 CANoe 的 CAPL 测试节点中调用以太网物理层测试库,构造如下测试序列:

// 示例:PCS 误码率测试片段(CAPL 伪代码)
ethernetPhySetMode(ch1, ePhyModeMaster);
ethernetPhyStartPrbs(ch1, ePrbs31);
write("PRBS31 发送已启动");
testWaitForTimeout(5000);          // 持续 5 s
long err = ethernetPhyGetBitErrorCount(ch1);
double ber = (double)err / (1e9 * 5.0);
testEvaluate("BER", ber, "<=", 1e-10);

若 BER 超标,应优先排查 MDI 连接器接触、线束长度与屏蔽、以及 VT 模块的采样门限设置,而不是直接判定 DUT 失败。

四、PMA 链路训练与主从时钟同步

1000BASE-T1 在链路建立前必须完成 PMA 链路训练(Link Training),双方通过交换训练序列协商主从角色、均衡器系数与发送电平。训练过程可划分为:训练初始化、系数交换、训练完成、进入数据模式。CANoe 可通过读取 PHY 寄存器或链路状态位观察训练阶段。

主从时钟同步是链路训练的关键约束:Master 提供参考时钟,Slave 通过时钟恢复锁定到 Master 频率,频率偏差通常要求优于 ±100 ppm(示例)。测试时,将 DUT 设为 Slave,VT 模块设为 Master,注入 ±50 ppm 的频率偏移,观察 Slave 的 sync_ok 位是否在 100 ms 内稳定置位。若同步失败,常见原因是参考时钟抖动过大或训练序列被干扰。

五、链路建立时间测试

链路建立时间指从上电或链路断开恢复,到 link_status 变为 UP 的时间。100BASE-T1 典型要求小于 100 ms,1000BASE-T1 因需链路训练,通常要求小于 300 ms(示例值)。测试方法:CANoe 控制 VT 模块断开 MDI 链路,记录断开时刻 t0;随后恢复链路,轮询 link_status,记录置位时刻 t1,则建立时间 = t1 − t0。

为提高测量精度,建议使用 CANoe 的硬件时间戳而非软件轮询。若建立时间超标,应检查链路训练是否反复重试、时钟同步是否收敛缓慢,以及 DUT 的 PHY 初始化流程是否存在额外延时。

判读要点:物理层测试的“通过”必须同时满足波形指标、误码率、训练状态与时间约束四类判据。任何一项超标都应先排除测试夹具、线束与 VT 模块配置问题,再定位 DUT。

常见误区:把 PCS 误码率测试当作协议层丢包测试。两者观察点不同:前者在 MII 侧统计比特错误,后者在 MAC 以上统计帧丢失。混用会导致误判。

六、测试用例参数速查(示例)

测试项观察点关键参数示例判据
PMA 差分幅度MDIVdiff 峰峰值0.85~1.15 V
PMA 抖动MDI峰峰抖动< 0.3 UI
PCS 误码率MIIBER≤ 1×10⁻¹⁰
链路训练PHY 寄存器训练阶段进入数据模式
主从时钟同步PCS 状态位频率偏差±100 ppm 内 sync_ok
链路建立时间link_statust1 − t0< 100 ms / 300 ms

以上参数均为教学示例,实际工程中应以 IEEE 802.3bw/bp、OPEN Alliance TC 规范及整车厂企业标准为准。掌握信号链上的三个观察点,就能把 PMA、PCS、链路训练、时钟同步与建立时间这五类用例串成一条完整的物理层一致性验证路径。