ZHCAE48 June   2024 LMK5B33216

 

  1.   1
  2.   摘要
  3.   商标
  4. 1硬件架构
    1. 1.1 时钟方案
    2. 1.2 FPGA 设计
  5. 2syn1588® 同步算法
    1. 2.1 PTP 计时时钟调整算法
  6. 3测试设置
    1. 3.1 FMC 适配器板
    2. 3.2 合规性测试设置
    3. 3.3 电信规范 G.8275.1 合规性测试 - 全时序支持
      1. 3.3.1 传输特性
      2. 3.3.2 绝对时间误差
      3. 3.3.3 锁定时间
    4. 3.4 电信规范 G.8275.2 合规性测试 - 部分时序支持
    5. 3.5 电信规范 G.8262.1 合规性测试 - SyncE 瞬态
  7. 4PTP 系统应用
  8. 5其他开发
  9. 6结语
  10. 7参考资料

锁定时间

除了是否合规之外,合规性测试还会研究 syn1588® PTP 协议栈的锁定行为。总体锁定时间可分成两个区间。第一个区间从调用 PTP 协议栈开始,包括 PTP 协议栈在接受 PTP Grandmaster 作为时间源之前需要完成的初始报文处理。PTP 协议栈将处理一系列连续 PTP 通知报文中包含的数据。时间跨度由 PTP 协议栈在接受 PTP Grandmaster 之前必须考虑的连续报文总数以及 PTP 协议栈的速率确定。这些参数可由用户配置,大多数 PTP 规范中的每个都定义了子范围和默认值。

第二个区间取决于 PTP 协议栈的初始同步算法以及底层硬件的功能。上文的同步算法部分介绍了 syn1588® PTP 协议栈中实现的设计。通过评估 PTP 协议栈日志文件中的数据,可以非常有效地测量第二个区间。下面的日志输出中提供了典型启动过程的相应部分。

日志输出中的第一行指示 PTP 协议栈开始使用 PTP Grandmaster 时间信息的时间点。较大偏移 (-1646305347758870528ns) 会导致 PTP 协议栈异步设置由第 2 行的日志输出 do epoch jump to … 指示的 PTP 硬件时钟。

残余偏移量(以 -10ms 为单位)显示在随后的行中。PTP 协议栈使用一系列下游 PTP 事件报文来计算频率偏移。收集足够的数据后,PTP 协议栈会同步调整频率和偏移。最后一步,PTP 协议栈将启用 PI 控制环路,这可从下面日志输出的最后 5 行中看到。

在此测试中,分别使用日志输出第一行和最后一行的系统时间戳来计算第二个区间的长度。

*** 以下文本是否在方程块内?如果这是方程,请在 Word 方程编辑器中创建方程,然后使用 TI 方程工具上传 ***

方程式 1. 12:01:57.09895 - 12:01:53.57872 ≅ 3.5s

如果使用通知速率和超时的默认值,则第一个区间的持续时间小于 1 秒。

12:01:53.57872 TimestampStats<meanTime=1996-02-01 06:31:16 ptp, pathDelay=577ns, offset=
   -1646305347758870528ns>
12:01:53.57875 do epoch jump to 2022-03-03 12:02:30 ptp
12:01:54.32878 do no adjust as filters are not ready
12:01:54.81291 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=596ns, offset=-10985308ns>
12:01:54.81294 change to CALIBRATE state
12:01:54.86872 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=591ns, offset=-10985333ns>
12:01:54.91748 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=590ns, offset=-10985367ns>
12:01:54.95272 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=570ns, offset=-10985410ns>
12:01:55.03707 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=586ns, offset=-10985460ns>
12:01:55.09210 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=580ns, offset=-10985494ns>
12:01:55.17129 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=588ns, offset=-10985541ns>
12:01:55.26151 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=575ns, offset=-10985619ns>
12:01:55.32995 do no adjust as filters are not ready
12:01:55.34612 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=591ns, offset=-10985666ns>
12:01:55.40650 TimestampStats<meanTime=2022-03-03 12:02:31 ptp, pathDelay=577ns, offset=-10985701ns>
12:01:55.46685 TimestampStats <meanTime=2022-03-03 12:02:31 ptp, pathDelay=578ns, offset=-10985745ns>
12:01:55.50951 TimestampStats <meanTime=2022-03-03 12:02:31 ptp, pathDelay=576ns, offset=-10985782ns>
12:01:55.60322 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=592ns, offset=-10985832ns>
12:01:55.64053 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=576ns, offset=-10985870ns>
12:01:55.77892 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=578ns, offset=-10985957ns>
12:01:55.83618 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=578ns, offset=-10985998ns>
12:01:55.89710 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=580ns, offset=-10986037ns>
12:01:55.94715 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=572ns, offset=-10986066ns>
12:01:56.02576 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=591ns, offset=-10986119ns>
12:01:56.11254 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=582ns, offset=-10986174ns>
12:01:56.16287 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=581ns, offset=-10986208ns>
12:01:56.22994 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=587ns, offset=-10986256ns>
12:01:56.30856 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=593ns, offset=-10986300ns>
12:01:56.32965 do no adjust as filters are not ready
12:01:56.36520 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=591ns, offset=-10986335ns>
12:01:56.42143 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=585ns, offset=-10986379ns>
12:01:56.46719 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=582ns, offset=-10986415ns>
12:01:56.56008 TimestampStats <meanTime=2022-03-03 12:02:32 ptp, pathDelay=588ns, offset=-10986468ns>
12:01:56.65093 TimestampStats <meanTime=2022-03-03 12:02:33 ptp, pathDelay=579ns, offset=-10986542ns>
12:01:56.70391 TimestampStats <meanTime=2022-03-03 12:02:33 ptp, pathDelay=573ns, offset=-10986581ns>
12:01:56.77593 TimestampStats <meanTime=2022-03-03 12:02:33 ptp, pathDelay=585ns, offset=-10986615ns>
12:01:56.84436 TimestampStats <meanTime=2022-03-03 12:02:33 ptp, pathDelay=583ns, offset=-10986664ns>
12:01:56.93805 TimestampStats <meanTime=2022-03-03 12:02:33 ptp, pathDelay=588ns, offset=-10986722ns>
12:01:57.01258 TimestampStats <meanTime=2022-03-03 12:02:33 ptp, pathDelay=570ns, offset=-10986790ns>
12:01:57.01261 adjust drift -6.65936e-07s/s
12:01:57.01264 Adjust rate by -665.936 ns/s (speeding up)
12:01:57.01269 compensate Offset -0.0109868s
12:01:57.01274 change to COLLECT_DATA state
12:01:57.09895 TimestampStats <meanTime=2022-03-03 12:02:33 ptp, pathDelay=577ns, offset=-10ns>