2. 车载以太网与TSN协议栈速览

车载以太网测试的核心难点,不在于“能不能发一帧报文”,而在于能否把一组相互耦合的时间、调度、冗余和准入机制拆开,分别施加激励并观察其行为。IEEE 802.1 系列标准正是这些机制的来源:802.1AS 负责全车时间基准,802.1Qbv 负责时间感知整形,802.1Qav 负责信用整形,802.1CB 负责帧复制与消除,802.1Qci 负责流过滤与监管。CANoe 并不“实现”这些标准,而是提供配置入口、仿真节点、干扰注入和测量视图,让测试者能够构造边界条件并判定 DUT 是否合规。

五个标准在协议栈中的位置与职责

从分层角度看,802.1AS 属于时间同步层,它通过 gPTP 报文在交换机与端节点之间建立主从关系,最终让各端口的时间误差收敛到亚微秒量级。802.1Qbv、802.1Qav、802.1Qci 属于转发与调度层,作用在出端口队列和入端口过滤上。802.1CB 则跨越发送端与接收端,属于可靠性层,通过序列号、复制和消除实现无缝冗余。理解这一分层,是后续在 CANoe 中定位配置项的前提。

车载以太网 TSN 协议栈分层与 CANoe 测试切入点 时间同步层 IEEE 802.1AS (gPTP) Sync / Follow_Up / Pdelay_Req / Resp CANoe 切入点 gPTP 仿真节点 · 时间偏差测量 · 主从切换 转发与调度层(出端口 / 入端口) 802.1Qbv 时间感知整形 TAS 门控列表 / 周期调度 保护带 Guard Band 802.1Qav 信用整形 CBS idleSlope / sendSlope SR-A / SR-B 类队列 802.1Qci 流过滤与监管 PSFP 流门控 / 流计量 / 帧计数 超速丢弃与门控关闭 可靠性层 IEEE 802.1CB FRER:序列号 · 复制 · 消除 · 恢复 CANoe 切入点 双路径注入 · 丢帧/乱序 · 序列恢复统计 测试激励与观测面 干扰注入 背景流量 / 突发 / 错序 测量视图 时延 / 抖动 / 丢帧 / 门控 判定依据 时间偏差 · 队列时延 · 冗余恢复率

802.1AS:时间基准是所有调度的前提

Qbv 的门控表以时间为索引,如果各节点时间不一致,门控窗口就会错位,高优先级帧可能被低优先级帧挤占。因此测试顺序上,AS 通常先于 Qbv 验证。在 CANoe 中,可以创建一个 gPTP 仿真节点,配置 grandmaster 优先级、clockClass、priority1/priority2 和 stepsRemoved,让它与 DUT 交换机进行 BMCA 选举。观察点包括:Sync 与 Follow_Up 的 preciseOriginTimestamp 是否连续、Pdelay 往返时延是否稳定、以及 DUT 在链路中断后重新收敛的时间。

一个可复现的示例配置是:仿真节点声明为 grandmaster,priority1=100,clockClass=6,Sync 周期 125 ms,Pdelay 周期 1 s。启动后先让系统稳定 30 s,再在 CANoe 的 Trace 窗口中过滤 eth.type == 0x88F7,统计相邻 Sync 报文的 correctionField 与本地接收时间戳之差。若该差值在 ±500 ns 内波动,说明链路时延测量正常;若持续单向漂移,则需检查 DUT 是否启用了不正确的 asCapable 或非对称时延补偿。

802.1Qbv 与 802.1Qav:两类整形机制的测试差异

Qbv 是“时间驱动”,测试重点是门控列表的相位与保护带。在 CANoe 中,通常通过交换机配置接口或诊断服务写入 GCL(Gate Control List),然后用周期报文测量实际出队时刻。例如配置一个 1 ms 周期、门控窗口 200 μs 的队列,发送周期 1 ms 的测试帧,观察其发送时刻是否落在窗口内。若出现帧被推迟到下一个周期,说明保护带不足或 GCL 基准时间偏移。

Qav 是“信用驱动”,测试重点是 idleSlope 与 sendSlope 的配置是否与流量特征匹配。假设某 SR-A 类队列配置 idleSlope = 10 Mbps,端口速率 100 Mbps,则持续注入 20 Mbps 的该类流量时,信用会持续下降,最终触发整形等待。CANoe 中可通过统计该类流量的实际输出速率和队列时延来验证:若输出速率被限制在 10 Mbps 附近且时延随注入速率上升而增大,说明 CBS 生效;若输出速率仍接近 20 Mbps,则需检查队列映射或 idleSlope 是否被正确下发。

802.1CB 与 802.1Qci:冗余与准入的联合验证

FRER 的测试需要构造两条独立路径。在 CANoe 中,可以用两个端口分别连接 DUT 的两条路径,发送端对同一帧流复制并打上序列号,接收端统计消除后的重复帧和丢失帧。典型示例:发送 10 000 帧,序列号 0~9999,人为在其中一条路径上丢弃 200 帧并制造 50 帧乱序。合格表现是接收端恢复出完整的 10 000 帧,且恢复窗口内的重复帧被正确消除,不产生重复上送。

Qci 则作用在入端口,对流进行门控、计量和帧计数。测试时可配置一个流门控在特定时间窗内关闭,观察该流是否被丢弃;或配置计量速率低于实际发送速率,观察超速帧是否被标记或丢弃。CANoe 的统计视图可以按流 ID 分别显示接收、丢弃和通过计数,从而判断 PSFP 是否按预期工作。

建议的验证顺序:先确认 802.1AS 时间偏差收敛,再验证 Qbv 门控窗口,随后验证 Qav 信用整形,最后叠加 Qci 过滤和 CB 冗余。每一步只改变一个变量,避免多个机制同时生效导致归因困难。

CANoe 中的配置对象与观测对象对照

标准CANoe 中的主要配置对象关键观测对象典型判定指标
802.1ASgPTP 仿真节点、BMCA 参数、Sync/Pdelay 周期Sync/Follow_Up 时间戳、Pdelay 往返时延时间偏差 ≤ ±500 ns,重收敛时间
802.1QbvGCL 门控列表、周期、保护带、基准时间帧实际出队时刻、门控状态帧落在门控窗口内,无跨周期推迟
802.1QavidleSlope、sendSlope、队列映射输出速率、队列时延、信用变化输出速率受限于 idleSlope
802.1CB双路径端口、序列号生成与恢复参数序列号、重复帧、恢复计数丢帧/乱序后完整恢复,无重复上送
802.1Qci流门控、流计量、流计数按流统计的通过/丢弃计数超速或门控关闭时正确丢弃