TSN/AVB 时间敏感网络:时间感知整形、门控与带宽预留
更新时间:2026-09-19。前置:以太网 MAC 数据通路、PTP 1588 时间戳、FlexRay 时间触发。普通以太网靠排队/竞争,延迟随拥塞变化;工业控制、车载、音视频需要有界低延迟、低抖动。AVB/TSN 是给标准以太网加确定性的一组 IEEE 802 标准。
一、确定性的三个支柱
- 共同时间(全网时钟同步):没有统一时钟就做不了时间门控。
- 带宽/资源预留:关键流要预先保证不超卖。
- 流量整形/调度:让关键帧在确定时刻通过、不被普通流量阻塞。
二、时间同步:802.1AS(gPTP)
- 802.1AS 是基于 IEEE 1588 PTP 裁剪的「广义精确时间协议 gPTP」,全网建立单一主时钟(grandmaster,BMCA 选举),网桥逐跳打硬件时间戳(见 PTP 时间戳 MAC 设计)。
- 每跳用 peer delay 机制测链路传播延迟和邻居时钟偏差,逐级把从时钟锁到主时钟(类似 FlexRay 全局时间,但在包交换网上)。
- 同步精度通常亚微秒;TSN 门控、AVB 呈现时间都以这个共同时基为基准。安全变体 802.1AS-2020 增加对恶意主时钟/时间攻击的防护。
三、AVB:带宽预留 + 信用整形 CBS
早期 AVB(IEEE 802.1BA)定义两类实时流:SR-A/SR-B(class A/B),用:
- SRP(Stream Reservation Protocol,802.1Qat):发流前沿路径注册预留带宽,任一跳资源不足则拒绝,保证不超卖(准入控制)。
- CBS(Credit-Based Shaper,802.1Qav):给 SR 类一个随时间累积/消耗的「信用」,信用非负才允许发该类帧,发帧消耗信用、空闲积攒;防止音频流突发占满链路并给其他类留机会。它给出有界最大延迟但不是严格周期性时刻。
- 呈现/播放时间(presentation time):每帧带共同时基下的呈现时刻,接收端缓冲后同时播放,吸收抖动(与 ASRC 的时钟域问题相关,AVB 用共同时基而非 ASRC 对齐)。
四、TSN 时间感知整形:802.1Qbv 门控(核心)
为得到硬周期性、零阻塞的控制流,引入时间门控调度:
bash
每个出端口多个队列(每流量类),每队列前有一道「门」(open/closed)
一张 GCL(Gate Control List,门控表)按 802.1AS 全局时间周期性地
在精确时刻打开/关闭各队列的门;只有门开的队列能向线路发帧
┌ Q0 控制流: 门只在周期起点的小窗开 → 确定性时隙(像 TDMA)
时间 → ┤ Q1 AVB: 其余时间,CBS 整形
└ Qn 普通 BE: 剩余时间,可被抢占- GCL(Gate Control List):一张循环时间表,定义每个时间点各门状态;全网交换机和端点按同一时钟执行同一张调度表,使关键帧像 TDMA 一样在固定时隙无冲突通过(思想同 FlexRay 静态段)。
- 必须保证一个普通长帧不会「跨过」关键窗口把门占住——配合以下机制:
- 802.1Qbu/802.3br 帧抢占(frame preemption):把帧分 express(快速)/preemptable(可抢占)两类,关键 express 帧到达可打断正在发的可抢占长帧(按 MAC 分片),发完再续,显著降低关键帧最坏等待,而不必把普通 MTU 整块预留。
- 或把 GCL 窗口/guard band(保护带)留足一个最大帧长度,窗口前禁止启动可能越界的普通帧(浪费带宽)。
五、其他关键 TSN 标准(按需)
- 802.1Qci 逐流过滤与监管(PSFP):按流做门控/限速,错误或 babbling 端点不能注入超量/错位帧(功能安全,类比 FlexRay 总线监护)。
- 802.1CB FRER 帧复制与消除:关键流沿两条路径发两份,收端去重,容忍单链路/交换机故障(高可用)。
- 802.1Qch CQF(循环排队转发)/ 802.1Qch:按周期「接收队列/发送队列」乒乓,每跳延迟为确定的整数周期,端到端延迟可算(peristaltic shaper)。
- 802.1CB/Qcc:流预留/配置增强(CNC 集中网络配置、集中用户配置 CUC),离线生成并下发 GCL 调度表。
- TAS/调度表通常由调度工具离线生成(关键流时隙 + 普通流填谷),再经 NETCONF/RESTCONF 下发到各交换机。
六、芯片/端点设计要点
- MAC 需支持多队列、每队列整形器(CBS)、时间门控、抢占 MAC、硬件时间戳和可由全局时间触发的发送(见 MAC 数据通路)。
- 端点发送要能按「launch time」在指定时刻把帧送上路(time-triggered send,定时器+发送门控),否则即使交换机有 Qbv,源头乱发也破坏调度。
- gPTP 时间戳点(Ingress/Egress latency、PHY 延迟)要标定补偿,跨交换芯片时延迟不对称会带来偏差(见 PTP 硬件时间戳)。
七、常见的坑
- 没有可靠时间同步就开 Qbv:1AS 不同步/精度差,门控错位,确定性不成立。
- GCL 全网不一致/未对齐:各跳时间表不匹配,关键帧在某跳仍排队。
- 普通长帧跨过关键窗口:无抢占又没保护带,关键帧被尾延迟阻塞。
- 保护带过大浪费带宽:简单按最大 MTU 留 guard band,可用帧抢占减小。
- 端点不按 launch time 发:只在交换机做整形,源头抖动照样破坏周期。
- CBS 参数超卖:SRP 准入没配或预留超链路能力,关键流仍丢帧。
- 忽略时间戳延迟非对称:PHY/MAC 入出延迟标定错,gPTP 偏差。
- 时间同步安全:恶意/故障 grandmaster 发布错误时间(需 1AS-2020/BMCA 加固)。
- 无 Qci 监管:故障节点 babbling 注入错位帧,全网调度被扰(需入向门控)。
- 抢占边界/校验处理错:续帧分片重组、CRC/fragment 计数实现错导致丢包。
- CQF 周期与任务周期不配:应用采样周期和网络循环不对齐,增加延迟。
- 混合流量规划不足:BE 流被压到很少时间窗口而饿死,要离线调度兼顾。
相关与延伸
MAC 实现见 以太网 MAC 收发;同步底层见 PTP 1588 时间戳;时间触发对照见 FlexRay;音频时钟域见 ASRC、S/PDIF。
总结
TSN/AVB 是给标准以太网加确定性的一组标准:先用 802.1AS(gPTP)基于硬件时间戳和逐跳链路延迟测量把全网时钟锁到亚微秒共同时基,用 SRP 做带宽准入预留,再用 802.1Qav 信用整形器给 AVB 音频流有界延迟;要硬周期保证时由 802.1Qbv 时间感知整形器按全局时钟执行周期性门控表 GCL,让控制流像 TDMA 一样在固定时隙通行,并用 802.1Qbu 帧抢占或保护带防止普通长帧跨越关键窗口,配合 802.1Qci 逐流监管防 babbling、802.1CB 帧复制消除做冗余、802.1Qch 循环排队给出可算的整数跳延迟;GCL 由调度工具离线生成、全网和端点按同一时钟执行——时间不同步、门控表不一致、长帧越窗和端点不按 launch time 发送是确定性被破坏的四大根因。