车载以太网之要火系列 - 第66篇郭大侠学TSN(帧抢占):紧急数据插队走,不用排队不用愁
2026/6/12 2:14:49 网站建设 项目流程

写在开篇·蓉儿又挖坑

上回说到,郭靖搞清楚了TAS——通过时间门控,给关键数据开专用窗口。

郭靖合上笔记本,若有所思:“蓉儿,TAS虽然好,但有个问题——如果刹车指令来得不是时候,刚好在视频窗口,还得等下一个刹车窗口。那不就延迟了吗?”

黄蓉咬了口糖葫芦:“问得好!TAS是‘定时发’,帧抢占是‘插队发’。今天就把帧抢占讲清楚——它是什么,和TAS有什么区别,什么时候用它。”

一、帧抢占是什么?为什么需要它?

黄蓉在白板上写下定义:

帧抢占 = Frame Preemption = 高优先级数据可以打断低优先级数据的发送

IEEE 802.1Qbu 标准定义

核心思想:正在发一个长包(比如大视频帧),突然来了一个紧急刹车指令,立刻打断,先发刹车,发完再继续发视频。

没有帧抢占:

┌─────────────────────────────────────────────────────────────────────┐ │ 视频流(1500字节)正在发送... │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ [视频帧头][视频数据...][刹车指令来了,排队!][视频数据续] │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ ↑ │ │ 刹车排队,等视频发完 │ └─────────────────────────────────────────────────────────────────────┘

有帧抢占:

┌─────────────────────────────────────────────────────────────────────┐ │ 视频流正在发送... │ │ ┌─────────────────────┐ │ │ │ [视频帧头][视频数据]│← 刹车指令来了,打断! │ │ └─────────────────────┘ │ │ ↓ │ │ ┌─────────┐ │ │ │ [刹车] │ ← 刹车指令插队,先发 │ │ └─────────┘ │ │ ↓ │ │ ┌─────────────────────────────────────┐ │ │ │ [视频数据续][视频帧尾] │ ← 继续发视频 │ │ └─────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────┘

二、帧抢占是怎么工作的

黄蓉画了帧抢占的核心机制:

┌─────────────────────────────────────────────────────────────────────┐ │ 帧抢占原理 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 普通以太网帧: │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ 前导码 │ 帧头 │ 数据(最大1500字节) │ CRC │ │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ 帧抢占改造: │ │ ┌──────────────────────────┐ ┌───────────────────────────────┐ │ │ │ 前导码 │ 帧头 │ 分片1 │ │ 前导码 │ 分片2 │ CRC │ │ │ └──────────────────────────┘ └───────────────────────────────┘ │ │ ↑ ↑ │ │ 可被抢占的部分 不可抢占的部分(带特殊标记) │ │ │ │ 流程: │ │ ① 开始发视频帧(长包) │ │ ② 刹车指令来了 → 视频帧在可抢占点被打断 │ │ ③ 立即发刹车指令(短包) │ │ ④ 刹车发完,继续发视频帧剩余部分 │ │ │ └─────────────────────────────────────────────────────────────────────┘

三、帧抢占 vs TAS:什么时候用哪个

郭靖问:“TAS和帧抢占都能保障关键数据,有什么区别?怎么选?”

黄蓉画了一张对比表:

对比项TAS(时间感知整形)帧抢占
核心机制时间门控,定时发送打断低优先级,插队发送
依赖条件需要gPTP时间同步不需要时间同步
适用场景周期性关键数据偶发性紧急数据
延迟保障确定性(最坏等待时间可算)极致低延迟(几乎不用等)
配置复杂度高(需要配置GCL表)低(只需标记优先级)
硬件要求支持802.1Qbv支持802.1Qbu
典型应用摄像头视频流(周期30fps)刹车指令(偶发紧急)

TAS适合周期性的关键数据,帧抢占适合偶发性的紧急数据。两者可以配合使用。

四、TAS + 帧抢占 = 黄金搭档

黄蓉画了配合使用场景:

┌─────────────────────────────────────────────────────────────────────┐ │ TAS + 帧抢占 配合使用 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 时间轴:│ 刹车窗口 │ 视频窗口 │ 视频窗口 │ 刹车窗口 │ │ │ │ 100μs │ 500μs │ 500μs │ 100μs │ │ │ │ │ 场景1:刹车指令在刹车窗口内到来 │ │ └── TAS保障:直接走专用窗口,不用抢 │ │ │ │ 场景2:刹车指令在视频窗口内到来(偶发) │ │ └── 帧抢占保障:打断视频,插队发送 │ │ │ │ TAS负责正常调度,帧抢占负责突发情况——双保险! │ │ │ └─────────────────────────────────────────────────────────────────────┘

五、帧抢占的局限

黄蓉提醒郭靖:“帧抢占也有几个注意事项:”

问题说明
需要硬件支持不是所有交换机都支持帧抢占
分片开销打断后需要额外的帧头来标识分片
最小帧限制被打断的帧分片不能太短(以太网最小64字节)
不适用于所有流量只有标记为“可抢占”的流量才能被打断
配置需谨慎打断太频繁会增加网络开销

六、车载典型应用场景

黄蓉画了一张应用场景表:

数据类型推荐机制原因
刹车指令帧抢占 + TAS偶发紧急,需要极致低延迟
转向指令帧抢占 + TAS同上
摄像头视频TAS周期性,确定延迟就够了
激光雷达点云TAS大数据量,周期性
诊断数据无(普通尽力而为)不要求实时
娱乐视频无(普通尽力而为)可容忍延迟

七、黄蓉的小本本

郭靖翻开她的笔记本,上面写着:

帧抢占核心要点:

1. 帧抢占是什么:高优先级数据可以打断低优先级数据的发送(IEEE 802.1Qbu)

2. 核心价值:偶发性紧急数据不用等周期窗口,来了就发

3. 和TAS的区别

  • TAS:定时发,适合周期性关键数据

  • 帧抢占:插队发,适合偶发性紧急数据

4. TAS + 帧抢占 = 黄金搭档

  • TAS负责正常调度

  • 帧抢占负责突发保障

5. 局限:需要硬件支持、分片有开销、配置需谨慎

一句话:TAS是“定时公交”,帧抢占是“救护车”。一个按点发,一个插队走。

写在最后

郭靖合上笔记本:“帧抢占让紧急数据可以打断低优先级数据,不用等周期窗口。TAS适合周期性的关键数据,帧抢占适合偶发性的紧急数据。两个配合,才是黄金搭档。”

黄蓉咬了口糖葫芦:“帧抢占讲完了。那如果网络断了,关键数据怎么办?”

郭靖摇头。

下篇预告:冗余传输——关键数据走双路,一条断了另一条上。

打完收工,886。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询