五月天app看片 -五月天app官网无限观看
0731-84728105
15116127200
基于FAST的TSN交流(6)基于FPGA的PTP时间 同步完成 v2
宣布时间 :2019-04-02
     时间 同步是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 FAST-TSN-04的PTP完成 模子
   (1)主要 成效 模块
     每个从接口吸收 的分组首先进入RxC模块。RxC模块首先不加区分的为每个分组打上48比特吸收 时间 戳。吸收 时间 戳被填写在分组的元数据中,随着分组一同进入FAST流水线处置赏罚 。因为 接口时钟频率为125MHz,是以 时间 戳的精度为8ns。RxC模块位于输入 缓存之前,是以 输入 缓存的淤塞 和调治机制不浸染 吸收 时间 戳记号 的准确 度。
     PTP-UDA模块位于FAST流水线的最先 ,仔细 PTP协议的处置赏罚 。凭证 软件设置 ,PTP-UDA可以事情在时间 主形式 或是时间 从形式 。PTP-UDA外部 的形状 机控制整个时间 同步历程,因为 时间 同步完全由硬件完成 ,是以 同步历程中不需求 followup旧事 ,主从之间只交流sync、delay_req和delay-resp三类旧事 ,关于PTP旧事 详细的交互流程以及offset的盘算已有少量 文章先容 ,本文不再赘述。
     若PTP-UDA事情在时间 从形式 ,则每次同步都市发作 一个外地 时钟与主时钟的误差 offset,该offset用于修合理 地的全局时间 。PTP-UDO模块位于输入 缓存之后,PTP-UDO模块凭证 输入 分组元数据中协议尺度类型(PST)来判别 该分组能否 为PTP的sync/delay-req/delay-resp分组。
     若是 输入 分组是上述PTP分组,则该分组在PTP协议头中会携带透明 时钟(Transparent Clock)字段TC,PTP-UDO模块会凭证 分组头部携带的时间 戳信息,以后 时间 信息盘算分组从PTP-UDA收回 经交流缓存和输入 缓存的延时,将该延时累计到透明 时钟字段中。若是 分组不是上述PTP分组,则PTP-UDO模块将该分组收回 而不做任何修正 。
   (2)多时钟域时钟同步
     在基于FPGA的FAST千兆交流完成 历程中,FPGA外部 最多有2N+1个时钟域,其中N为接口数目。其中每个千兆接口都有一个自力 的吸收 时钟,该时钟频率与通讯 对端的发送时钟分歧 。每个接口都有一个发送时钟,仔细 将数据经过 GMII/RGMII接口发送给PHY芯片。同时兴 有 一个自力 于吸收 和发送接口时钟的焦点时钟,作为FAST流水线的事情时钟。
     虽然FAST-TSN-04的接口时钟和焦点时钟都额外 为125MHz,但能够 存在纤细 的分别 。例如两个20ppm的125MHz晶振,设基于这两个晶振的时间 每秒误差 为D,则:Dmax=8ns*(125M*(1+20ppm)-125M*(1-20ppm))=40us是以 FPGA外部 分别 时钟域的时间 信息之间也需求 同步,片上跨时钟域的时间 同步有单信号同步和多信号同步等方式,这里不再赘述。
二、PTP协议同步完成
   (1)时间 信息的记号 和处置赏罚
     基于RxC、PTP-UDA和PTP-UDO模块的FAST-TSN-04的PTP时间 同步完成 原理如下图所示。每个sync/delay_req/delay-resp的协议分组都由PTP-UDA收回 和吸收 。
     FAST-TSN-04需求 发送PTP分组时, PTP-UDA发作 PTP分组,并将分组从PTP-UDA脱离 的时间 t0填写到分组的元数据中,假定 该分组抵达 PTP-UDO时间 为t1,则该分组在交流机外部 的延时将会填写到分组的透明 时钟域TC中,随分组从网络接口收回 。

图2 PTP协议分组处置赏罚 流程
      FAST-TSN-04吸收 PTP分组时首先将吸收 时间 戳t2填写到分组元数据中,然后送到FAST流水线的PTP-UDA模块,设PTP-UDA模块收到分组的时间 为t3。后续的PTP分组处置赏罚 有两种情形 。
     一是分组的目的MAC是外地 接口MAC地址,则该分组会送到外地 PTP-UDA处置赏罚 。外地 PTP-UDA首先对分组的透明 时钟域举行 修正,增添 值为该分组进入FPGA后的延时t3-t2,然后再对分组数举行 剖析 ,凭证 PTP协议要求举行 后续处置赏罚 。
     二是分组目的不是外地 MAC,即该分组需求 被TSN交流机转发。PTP-UDA不处置赏罚 该分组,直接将分组送FAST流水线举行 后续交流处置赏罚 。设分组抵达 输入 接口的PTP-UDO时间 为t4,则分组在交流机中的延时t4-t2将被累加到TC域中。
   (2)同步盘算关键 时间 点的获取
     基于PTP的时间 同步原理如下图所示,时间 从装备 经过 与时间 主装备 的三种类 型分组的交互获取四个关键 的时间 点信息,T1,T2,T3和T4,并凭证 这些关键 时间 点信息盘算自己 时间 与时间 主装备 时间 的误差 offset,并凭证 这个误差 调整自己 的时间 计数器。

图3 一次PTP协议时间 同步的历程
     时间 从装备 与时间 主装备 的交互并获取四个关键 时间 点的详细要领如下表所示,时间 点记号 参拜 图1。
   (3)全局时间 的表现 与修正
     五月天app官网无限观看将在后续文章中,对TSN的CQF转发模子 ,以及PTP UDA、PTPUDO以及CFQ UDO模块的成效 完成 举行 详细先容 。
     PTP主和PTP从装备 的全局时间 计数器time_cnt均在PTP-UDA外部 维护,长度为48比特。每隔8ns加1,是以 计数器计数的时长凌驾200天,这关于 TSN交流原型系统 来说已经足够。
     TSN交流系统 复位时,time_cnt置为全0,并随时钟自在 增添 。从装备 在第一次吸收 到sync同步帧时,将自己 的time_cnt设置为T1,后续同步历程运用 offset修正本 人 的time_cnt计数器。此外,在每个时钟同步周期内,每个TSN装备 的time_cnt要与中心 时钟域的时间 举行 一次同步。
三、进一步讨论
   (1)端系统 PTP处置赏罚 的完成
     在TSN网络中,时间 主装备 可以是TSN交流机,也可以 是具有高精度时间 的终端装备 。因为 FAST架构的焦点就是基于软硬件协同的方式举行 分组处置赏罚 ,FPGA OS外部 已经嵌入DMA通道,完成 与CPU软件举行 通讯 ,是以 基于FAST扩展流水线的PTP协议处置赏罚 可利便 的在网卡上完成 ,而且不需求 任何软件参与 。
   (2)PTP同步频率
     因为 一切 的PTP同步逻辑由FPGA硬件完成 ,不会给软件增添 开支 ,是以 在规模有限的TSN网络中,可以增添 同步的频度。凭证 上述剖析 ,当两个节点的晶振精度都为20ppm时,每秒时间 误差 可达40us。若将同步距离 增加 到1ms,则同步误差可增加 到40ns左右,可以知足 绝大少数 TSN场景的需求