系列:《从零学懂车载 TSN》
到上一篇为止,我们分别认识了 802.1AS、Qbv、Qbu、Qci、IEEE 802.1CB、Qcc 和 Qav。这一篇不再按标准号背诵,而是跟踪一条示例 Brake Stream,并把数据路径、时间支撑、冗余和测试放在同一张工程地图上。
文中的 ECU、周期、帧长和时延数字都是教学示例。它们不能直接当作量产制动网络的设计指标;最终结论必须基于采用的 TSN Profile、设备能力、拓扑和故障假设验证。
1. 假设有这样一辆车
先看一条没有展开冗余的示例路径:
Brake ECU → Switch A → Switch B → Domain ControllerBrake ECU 每 1 ms 产生一帧控制数据,业务要求端到端时延预算小于 500 μs。
这张图只是“单路径讲解图”。如果业务要求一条路径故障时仍然交付,真实设计应在复制点之后配置两条尽量相互独立的路径,再在消除点去除重复副本。不能把单路径图直接当成已经具备 FRER 的拓扑。
我们接下来依次观察:
需求与配置 → 时间支撑 → 发送 → 逐流检查 → 出口排队与发送选择 → 逐跳转发 → 可选的冗余复制与消除 → 接收端2. 第一步:802.1AS 提供时间支撑
需要参与时间协同的设备加入同一个 gPTP 时间域,通过 IEEE 802.1AS 维护同步时间,并选择合适的时间传递者。它们不一定都要显示完全相同的“墙上时钟字符串”;工程上关心的是同步误差、频率和相位变化是否满足应用与门控要求。
例如,参与 Qbv 协同调度的 Brake ECU、Switch A、Switch B 和接收端设备,需要按照采用的 Profile 和配置保持足够准确的时间关系。802.1AS 是 IEEE 1588 PTP 的一个 Profile,包含时间传输、最佳时间源选择以及同步状态维护等内容。IEEE 802.1AS-2025
需要留意两点:
- Qbv 跨多个设备协同运行时通常需要共同时间;如果只有一个设备独立运行单机计划,要求不同。
- 同步成功不等于应用时延已经满足,也不等于每个设备都必须参与同一个时间域。
3. 第二步:Brake ECU 产生带有 QoS 信息的帧
示例以太网帧可以抽象为:
目的 MAC 源 MAC 802.1Q VLAN Tag(含 PCP) Payload FCS假设 PCP = 7。PCP 是 VLAN Tag 中的优先级字段,可帮助设备完成优先级映射,但 PCP 本身不等于 TSN。
更准确地说,设备依据 Priority-to-Traffic-Class 映射,把 PCP 映射到某个内部 Traffic Class;它不保证一定叫“Traffic Class 7”,也不保证一定使用名为 Queue 7 的队列。映射、队列数量和调度选择由设备和配置决定。
4. 第三步:进入 Switch A 的逐流处理
帧到达 Switch A 的某个入口端口后,设备会依据实现和配置进行流识别、过滤、计量、转发分类与排队。为了入门,可以把 Qci / PSFP 放在这个阶段理解,但不要把下面的顺序当成所有芯片都相同的固定流水线:
识别流 → 匹配 Stream Filter → Stream Gate / Flow Meter 等 PSFP 检查 → 转发、内部优先级与队列处理5. Qci 检查:帧是否符合这条流的约定?
IEEE 802.1Qci 的全称是Per-Stream Filtering and Policing(PSFP,逐流过滤与监管)。它可以按流句柄、优先级和配置规则检查:
是否匹配指定 Stream? SDU 是否超过 Maximum SDU Size? Stream Gate 此刻是否允许通过? 流量速率与突发是否符合 Flow Meter?合法帧可以继续转发;不符合条件的帧则按照配置被丢弃、计数,或执行其他规定的处理。PSFP 的实例可以关联 Stream Gate 和 Meter,也可以按系统需要选择启用哪些检查。PSFP 公开参数说明
6. 第四步:优先级映射、分类与排队
假设 PCP 7 被设备配置为高优先级 Traffic Class A:
PCP = 7 ↓(按设备 Priority-to-TC 配置) Traffic Class A ↓ 出口端口对应队列这里不要写成“PCP 7 必然进入 Queue 7”。在测试中,应先读取或明确优先级映射、队列选择和出口端口,再判断预期行为。
帧进入队列后,只表示它已经具备排队条件,并不意味着可以马上占用链路。出口端口还要综合门控、整形、优先级和其他发送选择规则。
7. 第五步:Qbv 判断发送门状态
假设出口端口的一个示例 GCL 周期为 1000 μs:
[0, 100 μs) Traffic Class A 的门打开 [100, 400 μs) 另一类计划流的门打开 [400, 1000 μs) 允许的背景流量窗口如果 Brake 帧在相对周期起点 50 μs 时已经进入出口队列,并且满足其他发送条件,它可以在本窗口获得发送机会。
如果帧在 200 μs 到达,Traffic Class A 的门已关闭,通常会留在队列中,等下一次打开;这与 Qci 的 Stream Gate 关闭后按规则拒绝帧不同。
Qbv 还有一个容易漏掉的工程条件:门关闭不能把已经开始的普通帧凭空切断。调度计算需要考虑保护带;如果配合 Qbu 和 802.3br,express 帧可以在链路本地暂停 preemptable 帧,减少阻塞。IEEE TSN 概览中的 Qbv 与 Qbu
8. 第六步:Qbu + 802.3br 减少链路级阻塞
假设背景帧已经开始占用链路:
没有抢占: 背景帧 ████████████████████ | Brake 帧 ██启用帧抢占后,前提是链路两端都支持并完成协商和配置:
preemptable 帧 ██████ | 片段 express Brake 帧 ██ preemptable 剩余片段 | ███████Qbu 定义桥接侧的帧抢占服务,802.3br 定义以太网 MAC Merge / Interspersing Express Traffic 相关机制。它是逐链路、逐跳的能力,不是 IP 分片,也不是让任何“高优先级”应用无条件插队。要减少一条端到端路径上的阻塞,每一跳都要检查配置和能力。
9. 第七步:如果关键流需要抗单路故障
若要求一条路径失效时业务仍有机会按时到达,可以在设计好的复制点启用 IEEE 802.1CB FRER:
Path A Brake ECU → 复制点 ───────→ 交换网络 ───────┐ └────────────→ Path B ────────→ 消除点 → Domain Controller复制点发送带有关联序列信息的副本;消除点依据序列恢复规则接受有效副本、删除重复副本。复制和消除功能可以部署在端系统或桥设备中。
802.1CB 提供的是识别、复制、序列恢复和重复消除机制;它不负责替你计算或创建多条网络路径。路径的拓扑、资源和共同故障点需要另行设计。IEEE 802.1CB-2017
10. 如果 Path A 断了
只要 Path B 仍然健康、资源足够、最大路径时延满足期限,接收侧可以从 Path B 获得有效副本,而不必为这一帧等待:
检测故障 → 重新计算路径 → 下发配置 → 恢复通信这正是 FRER 的提前冗余价值。不过,下面这些条件必须写进可靠性论证:
- 两条路径是否真的避免了共同交换机、端口、电源或线束故障?
- 另一条路径的最坏时延是否仍小于业务 deadline?
- 序列恢复历史、乱序窗口和复位超时是否适合两路的时延差?
- 复制本身、网络拥塞或源端错误是否会影响所有副本?
FRER 没有“自动修复错误应用数据”的能力,也不能把不存在的路径变出来。
11. 那些配置从哪里来?
整车的流、端系统、交换机、队列、带宽、门控计划和冗余要求很多,通常需要一套配置模型和资源接纳流程。IEEE 802.1Qcc 定义了 TSN 配置相关的模型、用户/网络接口和配置交互;它不是一个保证“自动找到最优时间表”的通用算法。
在完全集中式模型中,可以这样理解:
Application / End Station │ 需求 ▼ CUC │ ▼ CNC ┌────┼────┐ ▼ ▼ ▼ SW1 SW2 SW3CUC(Centralized User Configuration)协调用户和端系统的需求;CNC(Centralized Network Configuration)结合拓扑、设备能力和已有资源,完成网络侧接纳与配置。Qcc 同时还定义完全分布式、集中式网络/分布式用户等模型,不能把 Qcc 简化为只有 CUC+CNC 的一种架构。IEEE Qcc 配置模型概览
示例需求可以写成:
周期 = 1 ms 每周期最多帧数 = 1 最大帧长 = 按约定统计口径填写 端到端 deadline = 500 μs 发送者/接收者 = 指定端系统 可靠性要求 = 明确故障假设与冗余要求网络配置随后需要把需求落实到路径、优先级映射、队列、带宽、门控、抢占和冗余资源。不能只把 Priority 写成 High,就认为网络已经完成设计。
图1:数据帧的逐跳处理与时间、配置、FRER支撑分层展示;功能关系图不是芯片固定流水线。
12. 最终要证明什么:最坏情况时延
TSN 设计不是只看平均延迟,而是要在明确的流量、配置和故障假设下,分析端到端最坏情况:
端系统处理 + 入口与逐流处理 + 每一跳转发与排队 + 门控等待 + 帧串行化与传播 + 可能的抢占残余阻塞 + 接收端处理可以用一个教学预算说明方法:
ECU processing 30 μs Link serialization 20 μs Switch A processing 60 μs Qbv / queue waiting 40 μs Link propagation 10 μs Switch B processing 60 μs Receiver processing 40 μs -------------------------------- 示例总计 260 μs260 μs 小于 500 μs,只能说明这组假设下的预算有余量。真实分析还要考虑帧长度与链路速率、每一跳最大干扰、门控相位、时钟误差、缓存、再整形、设备实现、流量组合和故障场景。采用 FRER 时,端到端交付时延通常要看能够成功到达的副本中最早的有效副本,同时验证另一条路径的最坏情况和消除点规则,不能简单把两条路径的时延相加。
图2:预算项需要覆盖排队、门控等待和链路占用;数值仅为讲解示例。
13. TSN 最重要的不是“平均更快”
考虑两个系统:
普通 Ethernet:Average = 100 μs,Worst Case = 5 ms TSN: Average = 200 μs,Worst Case ≤ 400 μs对于有 deadline 的控制业务,第二种系统可能更有工程价值,因为上界可以被计算、验证和纳入安全论证。TSN 的价值是可预测、可规划和可验证的通信服务;并不意味着所有流量、所有设备和所有场景都自动获得同一个低延迟上界。
14. 802.1DG-2025 是什么?
IEEE 802.1DG-2025 是Time-Sensitive Networking Profile for Automotive In-Vehicle Ethernet Communications。它不是新的 Shaper,也不是另一个 gPTP;它是面向车载以太网的 Profile,用于从广泛的 IEEE 802.1 TSN 能力中选择适用于车载场景的功能、选项和配置建议。IEEE 802.1DG-2025 发布说明
同理,802.1AS-2025 是时间同步标准本身;Qbv、Qbu、Qci、Qav、802.1CB 和 Qcc 是不同的机制或配置能力。Profile 解决的是“车载场景选择和组合哪些能力、采用哪些参数约束”,不是把所有机制强制装进每一条流。
图3:802.1DG 是车载 Profile;时间同步、配置、逐跳处理和跨路径冗余属于不同的功能层。
15. 如果我是测试工程师,应该怎么理解 TSN?
测试不能只写成“Test Qbv”。更可执行的写法是:
Input + Configuration + Current State + Timing = Expected Behavior + Measurement每条用例至少应明确入口端口、流识别、优先级映射、队列、门控计划、时间参考、帧长、发送时刻、背景流量、故障注入点和验收指标。
16. Qbv 测试用例示例
配置:
CycleTime = 1000 μs [0, 100 μs) Traffic Class A OPEN [100, 1000 μs) Traffic Class A CLOSEDTC-QBV-01:窗口内到达
Arrival = 50 μs Queue = 映射后的 Traffic Class A预期:在满足帧完整发送、端口空闲和其他选择条件时,允许获得发送机会;记录实际发送时间和端到端延迟。
TC-QBV-02:窗口关闭时到达
Arrival = 200 μs预期:不得在关闭窗口内发送;帧通常留在队列,直到后续窗口且其他条件满足。
TC-QBV-03:边界与保护带
分别测试 99 μs、100 μs、101 μs,并测试一个无法在窗口结束前完成发送的长帧。边界的开闭语义、保护带和设备时间戳定义必须以采用的标准版本、Profile 和设备实现为准,不能预先假定所有产品在 100 μs 的行为完全相同。
17. Qci 测试用例示例
配置:
Stream A Maximum SDU Size = 200 Byte Flow Meter = 约定的速率与突发额度TC-QCI-01:合法帧
发送符合流识别条件且 SDU 为 100 Byte 的帧。预期通过,并在计数器和出口观测点体现为一次有效转发。
TC-QCI-02:超大 SDU
发送 SDU 为 300 Byte 的帧。预期按 Maximum SDU Size 规则失败并丢弃;检查计数器和设备报告,避免把“没有到达接收端”误判成某一个特定检查项。
TC-QCI-03:超额速率与突发
以超过配置平均速率的发送序列注入流量,同时分别改变突发大小。验证 Flow Meter 的符合性结果和 Drop/Mark 等已配置动作。测试时统一 SDU、帧长、VLAN 开销和线上时间的计量口径。
18. FRER 测试用例示例
TC-FRER-01:双路径正常
两条路径都发送同一原始帧的副本。验证接收应用只获得一次有效交付,消除点的重复计数符合预期。
TC-FRER-02:单路径故障
在复制点之后注入 Path A 断链或端口故障。验证 Path B 副本仍可在 deadline 内到达,并检查故障没有破坏两路共同资源。
TC-FRER-03:乱序与时延差
人为让 Path B 比 Path A 先到,或扩大两路时延差。验证 Sequence Recovery 的接受、重复消除、历史窗口和复位规则。去重不等于自动排序,也不等于恢复已经丢失的所有帧。
19. 802.1AS 测试用例示例
抓包和状态验证可以覆盖:
Sync / Follow_Up(按配置的传输方式) Pdelay_Req / Pdelay_Resp / Pdelay_Resp_Follow_Up sequenceId sourcePortIdentity correctionField 最佳时间源变化 超时、链路故障与重新收敛 时钟速率和同步误差“抓到 Sync”只证明看到了一个报文。还要检查报文关联、状态机转换、时间偏差、超时处理和恢复后的误差是否满足 Profile 与系统预算。
图4:测试输入、配置、当前状态和时间共同决定预期行为;用例应同时定义观测点和指标。
20. 学习 TSN 最常见的错误
错误 1:TSN = Qbv
Qbv 只是时间感知调度机制。TSN 还包括同步、过滤监管、整形、抢占、冗余、资源配置等能力,具体组合要看业务和 Profile。
错误 2:PCP 7 = TSN
PCP 是 802.1Q 的优先级字段。它可能参与分类,但是否属于 TSN 业务取决于流配置、调度和资源管理。
错误 3:TSN 是新的 TCP/IP 协议
TSN 主要增强 IEEE 802 网络中的时间、转发、排队、整形和可靠性能力。它可以承载上层 IP 或非 IP 的业务,不能把 TSN 归结为一个新的 TCP/IP 协议。
错误 4:延迟越小就越是 TSN
平均延迟很小但上界不可控,仍不能满足需要 deadline 的控制业务。还要看延迟上界、抖动、资源接纳、同步误差、故障模型和可验证性。
错误 5:图上把标准串成固定流水线
802.1AS 和 Qcc 更多是时间与配置支撑;FRER 是跨路径的复制与消除;Qci、队列、整形、门控和抢占则按设备实现逐跳作用。教学图应表达关系,不能暗示每一帧都必须按同一条标准序列经过所有模块。
21. 用一个故事记住整个车载 TSN
把车载网络想成城市交通:
- 802.1AS:需要协同的路口把时钟校准。
- Qbv:路口按时间表切换车道通行权。
- Qbu + 802.3br:express 车辆到来时,正在行驶的可抢占车辆暂时让出链路。
- Qci:逐条检查车辆是否走对路线、尺寸是否超限、流量是否超额。
- 802.1CB / FRER:重要货物提前走多条独立路线,到达后去掉重复件。
- Qcc:根据业务需求和道路资源协调配置。
- 802.1DG:为汽车场景规定这些交通工具如何选择和组合。
这个故事帮助建立框架,但工程结论仍要回到标准条文、设备配置和测量数据。
22. 到这里你应该能回答这些问题
TSN 主要解决什么?
让时间敏感业务获得可分析、可配置、可验证的通信服务为什么协同 Qbv 通常需要 802.1AS?
多设备门控计划需要共同的时间基准和足够小的同步误差Qci 和 Qbv 有什么区别?
Qci / PSFP:逐流检查和监管是否符合约定 Qbv / TAS:出口队列按时间表获得发送资格Qbu 为什么存在?
减少一条链路上 preemptable 长帧对 express 关键帧的阻塞802.1CB 为什么存在?
通过预先配置的多路径副本和重复消除提高容错能力Qcc 为什么存在?
把用户/应用需求转化为可接纳、可交互、可下发的网络配置802.1DG 是什么?
车载以太网 TSN Profile,不是新的 Shaper23. 后续学习路线
接下来可以按下面的顺序深入:
Ethernet / VLAN / PCP 与优先级映射 ↓ 802.1AS gPTP 报文、状态机与同步误差 ↓ Pdelay 与时钟校正 ↓ Qbv GCL、保护带与调度计算 ↓ Qbu / 802.3br 帧抢占 ↓ Qci Filter / Gate / Meter ↓ 802.1CB Sequence Recovery ↓ Qcc / CNC / CUC 与资源接纳 ↓ Wireshark、CANoe / CAPL 抓包与测试 ↓ IEEE 标准条文和车载 Profile当你能从业务需求推导出拓扑、资源、配置、测试输入和预期结果,才算从“知道标准号”进入“会做 TSN 工程”。
参考资料
- IEEE 802.1AS-2025:Timing and Synchronization
- IEEE TSN 概览:Qbv、Qbu、Qci、Qcc 与配置模型
- IEEE 802.1CB-2017:FRER 标准范围
- IEEE 802.1DG-2025 车载 TSN Profile
- PSFP 流过滤与计量参数
- IEEE 802.1Qbu 帧抢占
本文用于技术入门和测试思路梳理。正式符合性判断应以项目采用的 IEEE 标准版本、车载 Profile、设备实现和测试规范为准。