TSN基本常识
TSN不仅仅是一套规范,它也代表了一种设计思想,即通过扩展传统以太网,使其能够满足工业自动化、汽车网络、音视频传输等领域对确定性、低延迟和高可靠性的需求。这种思想的核心是:
- TSN(Time-Sensitive Networking,时间敏感网络)既不是开源代码,也不仅仅是一种思想,而是一套标准规范。它由IEEE 802.1工作组定义,旨在扩展传统以太网,使其能够支持时间敏感的应用需求。
-
TSN的本质
TSN是一套标准规范,由多个IEEE标准组成,定义了如何在以太网中实现确定性通信、低延迟和高可靠性的机制。这些标准涵盖了时间同步、流量调度、帧优先级、冗余路径等多个方面。
2. TSN的核心组成部分
TSN由多个IEEE标准组成,以下是一些关键标准:
-
IEEE 802.1AS:时间同步协议,基于IEEE 1588 Precision Time Protocol (PTP),用于实现设备间的高精度时间同步。
-
IEEE 802.1AS是一个标准规范,定义了时间同步的行为和协议,但没有具体的代码。
-
PTP是实现时间同步的具体协议,提供了消息格式和同步机制,可以通过代码实现(如Linux中的
linuxptp
)。
-
-
IEEE 802.1Qbv:时间感知调度器(Time-Aware Shaper),用于确保时间敏感流量的确定性传输。
-
IEEE 802.1Qbu 和 IEEE 802.3br:帧抢占(Frame Preemption),允许高优先级帧中断低优先级帧的传输。
-
IEEE 802.1CB:帧复制和消除(Frame Replication and Elimination),提供冗余路径以提高可靠性。
-
IEEE 802.1Qci:流过滤和监管(Per-Stream Filtering and Policing),用于管理网络流量。
-
Linux内核:已经支持部分TSN功能(如IEEE 802.1AS时间同步)。
-
开源项目:如OpenAVB(音视频桥接)和OP-TSN(开源TSN实现)等,提供了TSN的部分实现。
-
硬件厂商:如英特尔、恩智浦等,提供了支持TSN的芯片和开发工具。
-
融合网络:将时间敏感流量和普通流量融合在同一网络中。
-
确定性通信:通过时间同步和流量调度,确保关键数据的传输延迟和抖动可控。
-
向后兼容:兼容现有以太网基础设施,降低部署成本。
TSN(Time-Sensitive Networking,时间敏感网络)中的时间同步主要通过IEEE 802.1AS协议实现,该协议基于IEEE 1588 Precision Time Protocol (PTP),用于在局域网中实现高精度的时间同步。以下是TSN时间同步的详细流程:
1. TSN时间同步的核心目标
TSN时间同步的目标是确保网络中的所有设备共享一个统一的时间基准,从而实现确定性通信和低延迟传输。时间同步的精度通常达到亚微秒级别。
2. TSN时间同步的关键角色
-
Grandmaster Clock(主时钟):网络中选出的时间基准源,负责提供最准确的时间信息。
-
Slave Clock(从时钟):网络中的其他设备,需要与主时钟同步。
-
Transparent Clock(透明时钟):在网络中转发时间同步消息的设备,能够修正消息的传输延迟。
3. TSN时间同步的基本流程
TSN时间同步的流程可以分为以下几个步骤:
步骤1:主时钟选举
-
在网络启动时,设备通过Best Master Clock Algorithm (BMCA) 选举出主时钟(Grandmaster Clock)。
-
主时钟通常是网络中时间精度最高的设备。
步骤2:时间信息传递
-
主时钟周期性地发送Sync消息,包含当前时间戳。
-
如果主时钟支持两步模式(Two-Step Clock),它还会发送Follow_Up消息,提供Sync消息的精确发送时间。
步骤3:延迟测量
-
从时钟收到Sync消息后,记录接收时间。
-
从时钟向主时钟发送Delay_Req消息,并记录发送时间。
-
主时钟收到Delay_Req消息后,记录接收时间,并回复Delay_Resp消息,包含Delay_Req消息的接收时间。
步骤4:时间校正
-
从时钟根据以下信息计算时间偏差和路径延迟:
-
Sync消息的发送时间(来自Follow_Up消息)。
-
Sync消息的接收时间(从时钟记录)。
-
Delay_Req消息的发送时间(从时钟记录)。
-
Delay_Req消息的接收时间(来自Delay_Resp消息)。
-
-
通过公式计算时间偏差(Offset)和路径延迟(Delay),并调整本地时钟。
4. TSN时间同步的详细流程
以下是时间同步的详细步骤:
-
Sync消息:
-
主时钟发送Sync消息,记录发送时间 t1t1。
-
从时钟接收Sync消息,记录接收时间 t2t2。
-
-
Follow_Up消息(如果支持两步模式):
-
主时钟发送Follow_Up消息,包含Sync消息的精确发送时间 t1t1。
-
-
Delay_Req消息:
-
从时钟发送Delay_Req消息,记录发送时间 t3t3。
-
主时钟接收Delay_Req消息,记录接收时间 t4t4。
-
-
Delay_Resp消息:
-
主时钟发送Delay_Resp消息,包含Delay_Req消息的接收时间 t4t4。
-
-
时间校正计算:
-
计算路径延迟(Delay):
Delay=(t2−t1)+(t4−t3)2Delay=2(t2−t1)+(t4−t3) -
计算时间偏差(Offset):
Offset=t2−t1−DelayOffset=t2−t1−Delay -
从时钟根据Offset调整本地时钟。
-
5. TSN时间同步的特点
-
高精度:支持亚微秒级的时间同步。
-
分布式:适用于大规模网络,支持多级时钟同步。
-
灵活性:支持多种网络拓扑和设备类型。
6. TSN时间同步的应用
-
工业自动化:如运动控制、机器人协作。
-
汽车网络:如自动驾驶、车载通信。
-
音视频传输:如专业音视频制作、实时流媒体。