SNAA365 June   2024 LMK5B33216

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Hardware Architecture
    1. 1.1 Clocking Scheme
    2. 1.2 FPGA Design
  5. 2syn1588® Synchronization Algorithm
    1. 2.1 PTP Time-of-Day Clock Adjustment Algorithm
  6. 3Test Setup
    1. 3.1 FMC Adapter Board
    2. 3.2 Compliance Test Setup
    3. 3.3 Compliance Test of Telecom Profile G.8275.1 - Full Timing Support
      1. 3.3.1 Transfer Characteristic
      2. 3.3.2 Absolute Time Error
      3. 3.3.3 Lock Time
    4. 3.4 Compliance Test of Telecom Profile G.8275.2 - Partial Timing Support
    5. 3.5 Compliance Test of Telecom Profile G.8262.1 - SyncE Transient
  7. 4PTP System Application
  8. 5Additional Development
  9. 6Conclusion
  10. 7References

Lock Time

In addition to compliance, the locking behavior of the syn1588® PTP Stack is investigated in the compliance test. The overall lock time can be divided into two intervals. The first interval starts by invoking the PTP Stack, covering the initial message processing that the PTP stack requires to complete prior to accepting a PTP Grandmaster as a time source. The PTP Stack processes the data contained in a series of consecutive PTP Announce messages. The total number of consecutive messages the PTP stack has to consider before accepting a PTP Grandmaster, as well as the rate of the PTP Stack, define the time span. The parameters are user-configurable, with most PTP profiles defining both subranges and default values for each profile.

The second interval depends on the initial synchronization algorithm of the PTP Stack, in combination with the capabilities of the underlying hardware. The design implemented in the syn1588® PTP Stack is described above in the Synchronization Algorithm section. The second interval is most effectively measured by evaluating the data in the log file of the PTP Stack. The respective section of a typical startup process is given in the log output below.

The first line in the log output indicates the point in time where the PTP Stack starts using time information from a PTP Grandmaster. The large offset (-1646305347758870528ns) causes the PTP Stack to asynchronously set the PTP hardware clock indicated by the log output do epoch jump to … on line 2.

The residual offset (in -10ms) is shown in subsequent lines. The PTP Stack calculates the frequency offset using a sequence of downstream PTP event messages. After collecting enough data, the PTP Stack adjusts both the frequency and offset synchronously. As a final step, the PTP Stack enables the PI control loop, which can be seen in the last 5 lines shown in the log output below.

In this test, the length of the second interval is calculated using the system time stamps of the first and last line of the log output, respectively.

*** this is the following text inside an equation block? If this is an equation, please create the equation in the Word equation editor and then upload using the TI Equation tool ***

Equation 1. 12:01:57.09895 - 12:01:53.57872 ≅ 3.5s

If the default values for the Announce rate and timeout are used, the duration of the first interval is less than 1 second.

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>