基于FAST的TSN交换(6)基于FPGA的PTP时间同步实现
时间同步是TSN交换实现的前提。802.1AS规范定义了TSN网络同步的方法,其基本思路还是利用IEEE 1588v2定义的PTP协议,将网络中所有的时间从设备与时间主设备的时间进行同步。在基于FAST流水线的TSN实现中,与PTP协议相关的逻辑主要有接收控制逻辑(RXC),PTP-UDA模块以及PTP-UDO模块。这三个模块密切协同实现PTP时间同步而不需要软件参与。
一、FAST-TSN-04的PTP实现模型
在FAST-TSN-04的PTP协议实现模型如下图所示,主要由RxC、PTP-UDA和PTP-UDO模块组成。其中RxC模块位于FPGA OS内部,是FAST平台固有的逻辑,而PTP-UDA和PTP-UDO是FAST扩展的流水线模块,只有需要支持PTP协议的流水线才需要嵌入这两个模块。
(1)主要功能模块
每个从接口接收的分组首先进入RxC模块。RxC模块首先不加区分的为每个分组打上48比特接收时间戳。接收时间戳被填写在分组的元数据中,随着分组一同进入FAST流水线处理。由于接口时钟频率为125MHz,因此时间戳的精度为8ns。RxC模块位于输入缓存之前,因此输出缓存的拥塞和调度机制不影响接收时间戳标记的准确度。
PTP-UDA模块位于FAST流水线的开始,负责PTP协议的处理。根据软件配置,PTP-UDA可以工作在时间主模式或是时间从模式。
PT