目前的位置: 首页 实验室新闻 正文

TSN与RTOS融合系统


作者:谢国琪,王中甲等

随着自动驾驶、工业自动化等领域对实时性和高精度时间同步的需求不断增加,传统以太网已经难以满足这些应用的要求。基于标准以太网的时间敏感网络(TSN)协议应运而生,有效解决了以太网在时间敏感应用中的各种挑战。然而,要真正发挥TSN协议的优势,底层操作系统的支持至关重要。在这方面,实时操作系统(RTOS)因其高效调度和低延迟的特性成为了与TSN融合的理想平台。


一、TSN协议的核心技术特性

TSN协议基于标准以太网,通过一系列子协议解决了传统以太网数据传输的不确定性。从实时系统的角度来看,TSN的核心特性包括:

  • 优先级调度:通过精细化的优先级控制,保证高优先级实时流(Scheduled Traffic)的抢占式或优先传输;

  • 非固定大小时隙:支持灵活的调度策略,能够适应动态变化的网络需求;

  • 高同步精度:通过精确的时间同步机制,确保网络中所有设备的时钟一致。

这三大特性对应到TSN协议族中的IEEE 802.1Qbu帧抢占、IEEE 802.1Qbv门控列表(GCL)、IEEE 802.1AS时间同步这3个子协议。此外,TSN还提供了其他非常多的子协议,例如IEEE 802.1Qav流量整形(CBS)、IEEE 802.1CB帧复制与消除(FRER)、以及 IEEE 802.1Qci(流量过滤)等等,这些子协议共同构建了确定性的通信环境。


二、TSN场景下RTOS相比Linux的核心优势

主流TSN交换芯片(如Xilinx、NXP、Marvell,以及国产的openTSN)内部都集成了专用的TSN IP核,包括门控调度器(GCL Scheduler)、帧抢占逻辑、硬件时间戳单元(PTP Timestamping)、流量整形器(Shaper)等。这些功能由FPGA或ASIC中的固定逻辑电路实现,即使没有操作系统,也能完成基本的TSN转发任务例如,静态配置好的GCL一旦写入硬件,就能按预设时间窗口精确开启/关闭队列门控,实现微秒级的确定性传输。

但是对于自动驾驶等动态系统,需要不同的GCL时隙分配策略。门控配置必须根据系统状态实时变化,这个时候就需要OS在软件层面做重配,并通过驱动下发到TSN IP核的队列。在这种动态重配场景下,RTOS 相比 Linux 具有两大显著优势:

1、任务从OS到硬件队列这条路线的时间短。如图1所示,Linux的任务经常横跨用户空间和内核空间,包括协议栈、skb缓冲、驱动等,每一层都可能产生延迟和不可预测的抖动。相比之下,RTOS路径极短,任务通过协议栈直接访问驱动、驱动直接写硬件寄存器,整个链路几乎是一条直通链,没有用户态/内核态切换带来的延迟,提升了配置下发的实时性。


FA60


图1:Linux与RTOS任务下发对比

2、调度时间片与 GCL 时隙的精准匹配TSN的GCL是区别其他确定性以太网的核心所在,TSN IP核的GCL时隙通常在10–100微秒。图2展示了Linux与RTOS的任务调度对比,Linux本身的最小调度时间片普遍在1ms以上,即便打了RT补丁,也很难稳定到500µs以下;而RTOS的调度时间片完全可以做到100微秒甚至10微秒,这就与TSN的 GCL时隙(10–100微秒)匹配上了,确定性就更有保障。


4B2A


图2:Linux与RTOS任务调度对比


三、TSN 协议在实时操作系统上的移植实践

基于上述对比分析,RTOS相比Linux在确定性控制与微秒级响应上具有先天优势。因此,如图3所示,我们选择在高度模块化、且对工业和车载协议支持良好的Zephyr RTOS上进行了Xilinx TSN协议栈的完整移植,旨在打造一个高确定性的TSN系统。

273EC

图3:TSN协议在实时操作系统上的移植实践

整个过程可归纳为以下三步:

第一步,TSN驱动移植确保硬件能够正确地与RTOS交互。我们需要将图4中TSN相关的模块与硬件驱动(DMA,MAC、PHY)等移植到RTOS。这是最基础的一步,确保硬件层能够稳定运行。

17E15

图4:TSN核心驱动

第二步,将时间同步机制与RTOS结合以支持TSN的精准时间同步要求。图5展示了Zephyr RTOS的时间同步框架。在协议层,Zephyr网络子系统提供了对gPTP协议栈的支持,能够处理时间同步消息并传递时间戳信息。在硬件及驱动层,TSN PTP驱动与TSN IP硬件时间戳配合工作,利用硬件级的时间戳生成和同步,确保数据包的精确时间标记。


7FD8


图5:Zephyr RTOS时间同步框架

第三步,将RTOS的网络协议栈与TSN的核心协议融合,确保RTOS支持TSN的关键特性,包括优先级调度、VLAN标记和优先级映射等。如图8所示,我们对RTOS的网络协议栈做了以下修改:

  • 应用层:配置VLAN标签和优先级,确保实时数据流优先;

  • 网络层:插入和解析VLAN标签,来进行流量调度

  • 数据链路层:处理VLAN封装、时间同步和流量整形,确保数据按时传输。

12352

图6:RTOS网络协议栈与TSN协议的融合


四、性能测试:时间同步

最后,我们在图7所示的硬件平台(Xilinx Zynq 7020板卡)及一致的测试条件下,对比了Zephyr RTOS 与 Linux 下的PTP时间同步性能。

31B08

图7:硬件测试平台

图8为Linux PTP与Zephyr RTOS时间同步的对比图,结果显示:Zephyr RTOS 的时钟同步漂移稳定在10纳秒范围内,而LinuxPTP的同步误差则常出现几十至上百纳秒的波动。

1DEAD

图8:LinuxPTP与Zephyr RTOS时间同步对比


总结

TSN协议提供了高精度的同步与调度机制,而RTOS则为这些机制提供了低延迟、高精度的执行环境。将TSN与RTOS深度融合,不仅解决了传统以太网的非确定性问题,更提升了系统的灵活性。随着技术的演进,这一融合方案必将为自动驾驶和工业自动化领域带来更多的创新突破。



下一条:三“打”Jailhouse(第二季):ZVM在飞腾D2000上“帽子戏法”Jailhouse‌

关闭

嵌入式与网络计算湖南省重点实验室
版权所有 © 2025 湖南大学