US20200028666A1 - Minimizing timestamp error in ptp systems - Google Patents

Minimizing timestamp error in ptp systems Download PDF

Info

Publication number
US20200028666A1
US20200028666A1 US16/515,991 US201916515991A US2020028666A1 US 20200028666 A1 US20200028666 A1 US 20200028666A1 US 201916515991 A US201916515991 A US 201916515991A US 2020028666 A1 US2020028666 A1 US 2020028666A1
Authority
US
United States
Prior art keywords
signal
clock
1pps
1pps signal
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US16/515,991
Other versions
US10868664B2 (en
Inventor
Leonid Goldin
Michael Rupert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics America Inc
Original Assignee
Integrated Device Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Integrated Device Technology Inc filed Critical Integrated Device Technology Inc
Priority to US16/515,991 priority Critical patent/US10868664B2/en
Assigned to INTEGRATED DEVICE TECHNOLOGY, INC. reassignment INTEGRATED DEVICE TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GOLDIN, LEONID, RUPERT, MICHAEL JOHN
Publication of US20200028666A1 publication Critical patent/US20200028666A1/en
Application granted granted Critical
Publication of US10868664B2 publication Critical patent/US10868664B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/08Speed or phase control by synchronisation signals the synchronisation signals recurring cyclically
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0644External master-clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays

Definitions

  • Embodiments of the present invention are related to systems that employ precise time protocol (PTP) and, in particular, to reducing timestamp error in these PTP systems.
  • PTP precise time protocol
  • PTP Precision time protocol
  • PTP can be used in systems that depend on coordinated actions, such as robotic automation and control systems; measurement and automatic test systems; power generation, transmission and distribution systems; ranging, telemetry and navigation systems; and various telecommunications systems.
  • precise timing coordination between the network elements is important to the safe and efficient execution of the purpose of the network.
  • PTP provides a method to precisely synchronize devices over a Local Area Network (LAN).
  • LAN Local Area Network
  • PTP is capable of synchronizing multiple clocks to better than 100 nanoseconds on a specifically designed LAN, better timing precision is sought for various applications.
  • a method of minimizing timing error in a Precisions Timing Protocol (PTP) local-area network (LAN) system includes receiving an input one-pulse-per-second (1PPS) signal and a clock signal; outputting an output 1PPS signal a number of clock edges after receipt of the input 1PPS signal; adjusting the clock signal until the output 1PPS signal has jumped a clock cycle; and adjusting an offset to bring the output 1PPS signal to within a half clock period.
  • PTP Precisions Timing Protocol
  • LAN local-area network
  • a method of setting a time stamp includes receiving an input 1PPS signal and an input clock signal; adjusting the input clock signal to within one half the clock signal; receiving a further correction of the output 1PPS signal; and providing the time stamp that accounts for the one half clock signal adjustment and the further correction.
  • FIGS. 1A and 1B illustrate PTP system.
  • FIGS. 2A, 2B, and 2C illustrate operation of a PTP system to minimize timestamp error according to some embodiments of the present invention.
  • FIGS. 3A and 3B illustrate operation of a PTP system to correct timestamp error according to some embodiments of the present invention.
  • FIGS. 4A and 4B illustrate processes for operation of a timestamp system according to some embodiments of the present invention.
  • a method of minimizing timing error in a Precisions Timing Protocol (PTP) local-area network (LAN) system includes receiving an input one-pulse-per-second (1PPS) signal and a clock signal; outputting an output 1PPS signal a number of clock edges after receipt of the input 1PPS signal; adjusting the clock signal until the output 1PPS signal has jumped a clock cycle; and adjusting an offset to bring the output 1PPS signal to within a half clock period.
  • Some embodiments also include further adjusting the timestamp to account for a half clock signal adjustment.
  • the method includes receiving an input 1PPS signal and an input clock signal; adjusting an output 1PPS signal to within one half the clock signal; receiving a further correction of the output 1PPS signal; and providing the time stamp that accounts for the one half clock signal adjustment and the further correction.
  • FIG. 1A illustrates a PTP compatible system 100 .
  • system 100 includes a master 102 that is coupled to a slave 106 through a network 104 .
  • PTP uses a time-stamp system to align timing on master 102 and slave 106 . This can be accomplished in hardware, in software, or in a combination of hardware and software.
  • master 102 can be locked to a Global Positioning System (GPS), which can provide precise timing (with accuracy better than 30 ns).
  • GPS Global Positioning System
  • master 102 (sometimes referred to as a Grandmaster) incorporates a local reference oscillator that is synchronized with the GPS time and used with dedicated hardware for precise timestamping of incoming delay request and outgoing sync packets.
  • a one-pulse-per second (1PPS) sync signal from master 102 can be synchronized with a similar 1PPS signal in slave 106 to provide for precise time stamping.
  • slave 106 can include hardware timestamps with a software daemon to provide precise nanosecond timestamp resolution.
  • slave 106 can utilize a software implementation. However, such a solution should compensate for software delays and the quality of the timestamping in a purely software driven implementation may be more imprecise.
  • FIG. 1A illustrates a timestamper (TS) 108 in slave 106 that synchronizes the 1PPS signal generated by master 102 with the internal clock CLK.
  • TS timestamper
  • FIG. 1B further illustrates the PTP system 100 .
  • the protocol defines synchronization messages between master 102 and slave 106 .
  • Master 102 provides time and slave 106 synchronizes time to that defined by master 102 .
  • Messages exchanged in the protocol includes the Master Sync Message, the Master Delay Message, and the Slave Clock Delay Request Message.
  • Each slave 106 in a system synchronizes to the timing of master 102 .
  • Multiple slaves 106 can be synchronized to the master 102 .
  • precise timestamps are captured at both master 102 and slave 106 clocks. These timestamps can then be used to determine the network latency to synchronize slave 106 to master 102 .
  • time stamps T 1 , T 2 , T 3 , and T 4 are captured between master 102 and slave 106 , commonly referred to as time stamps T 1 , T 2 , T 3 , and T 4 .
  • master 102 provides a sync message that is timestamped T 1 , the sync message being received by slave 106 and timestamped time T 2 .
  • the sync message is transmitted periodically, for example every two seconds, from master 102 .
  • the first time stamp T 1 is the precise time that the sync message is transmitted from master 102 and is sent in the sync follow-up message.
  • the second time stamp T 2 is the precise time that the sync message is received at slave 106 .
  • the time delay between master 102 and slave 106 can then be calculated as T 2 -T 1 .
  • the third time stamp T 3 is the precise time that a delay request message is sent from slave 106 and the fourth time stamp T 4 is the precise time that the delay request is received from the master. Consequently, the delay from slave to master is T 4 -T 3 .
  • the delay response message can be periodically available to compare the time delays between master 102 and slave 106 . Meanwhile, master 106 continues to provide the 1PPS signal to keep the timings in synchronization.
  • Modern networks utilize precise time protocol (PTP) described in IEEE1588 standard for precise time distribution.
  • the protocol uses methods of timestamping packets on arrival and departure of a Network Element (NE), or slave 106 , to synchronize the clock at each NE slave 106 .
  • NE Network Element
  • the timestamps on one port have to be aligned with timestamps on other ports.
  • the latest requirements from mobile operators call for a 5 ns alignment between timestampers of different ports on slaves 106 .
  • PHYs physical layers
  • MACs Media Access Control layers
  • time alignment is distributed by time indicator, as discussed above. It is accepted by majority of system vendors that the one Pulse per Second (1PPS) signal emitted from master 106 is the way to distribute time throughout system 100 . However, it takes time for the 1PPS signal propagate to the actual timestamper 108 within a chip of the network element slave 106 . Also, the timestamper 108 runs on a PTP derived clock, which also needs to propagate to and advance the timestamper 108 . A vast majority of timestampers run at a clock speed of 125 MHz. That means that the timestamp counter in the timestamper 108 increments (or decrements) every 8 ns, which is larger than the allowed error. The delays inside the integrated circuit chips that form the timestamper 108 are unknown and the relationship between the clock and the 1PPS at the internal timestamper 108 can be anything, which can cause difficulty for the timing alignment.
  • 1PPS Pulse per Second
  • Some embodiments of the present invention identify the relationship between the 1PPS signal and the PTP clock at the timestamper 108 and use this relationship (i.e. offset) as a correction value for the timestamp counter.
  • Some embodiments include a device on the board which can measure phase offset between two signals, such as with Time to Digital Conversion (TDC) modules that are currently available from Integrated Device Technology, Inc.
  • TDC Time to Digital Conversion
  • embodiments include a timestamping device that outputs a 1PPS signal when a counter in the timestamper hits a specific value, usually 0.
  • the PLL which drives both of them can run a training pattern.
  • the training pattern will slide a phase between the 1PPS signal and the PTP clock by adjusting the output phase of the PTP clock.
  • the timestamper will be loaded every time with a predefined value when the 1PPS signal is sampled at the timestamper. With every phase offset the offset between input and output 1PPS signal will be measured. While the 1PPS signal is sampled within a clock cycle of the clock it will move smoothly. But at some moment, the 1PPS signal will cross a clock edge and will be sampled with another clock edge. This will cause an 8 ns jump on the output 1PPS signal versus the input 1PPS signal. This will indicate that the PTP clock and the 1PPS signal are very closely aligned.
  • the PTP clock can be shifted by a specific value, preferably half of the clock cycle after the transition is found. For 125 MHz that shift would be 4 ns. Then the timestamp calculation can take these 4 ns into account when updating its initial value at every 1PPS signal coming in. This method removes the uncertainty of 8 ns for a 125 MHz clock. In general, for any other clock cycle, shift can be half the clock period.
  • FIGS. 2A, 2B, and 2C illustrate an example operation according to some embodiments of the present invention. Such operation is performed in a timestamper 108 of a slave 106 .
  • FIG. 2A shows that when the input 1PPS signal 1PPS_in is sampled, the timestamper (TS) counter is loaded with a particular value, in this example 3, when 1PPS_in is sampled with the CLK_in signal, in this case on the next rising clock-edge after arrival of 1PPS_in.
  • the counter is decremented on each following clock transition edge of the input clock CLK_in. When the value in the counter becomes 0, the output 1PPS signal 1PPS_out is generated on the next edge of CLK_in.
  • a shift SW can determine when the clock cycle is changed and correct a loading value.
  • the rising edge of 1PPS_in arrives offset from the rising edge of CLK_in, which results in a delay of loading the TS register
  • the clock is shifted, but this does not cause a jump so that the output 1PPS signal is output on the same edge of CLK_in.
  • the clock is shifted with respect to the 1PPS signal as suggested above, which results in a shift of the output 1PPS signal by 1 clock cycle, at which time the 1 ⁇ 2 period correction should be made. Consequently, instead of a precise 1 sec, for example, the initial value of the clock offset should be shifted by 1 ⁇ 2 the period of CLK_IN, or the clock adjustment will be initialized with a value of 1 sec+4 ns, which removes the possibility of a shift in the output of 1PPS_out.
  • FIG. 4A illustrates a process 400 for operation on timestamper 108 as discussed above.
  • timestamper 108 detects according to the CLK_In signal the presence of an asserted 1PPS_in signal, as is illustrated in FIG. 2A .
  • timestamper 108 loads a register, as is also illustrated in FIG. 2A .
  • timestamper 108 decrements the register based on the edges of the CLK_in signal until the register reaches 0.
  • steps 408 when the register reaches 0 in step 406 , timestamper 108 generates a 1PPS_out signal.
  • step 410 timestamper 108 checks to see if the 1PPS_out clock has shifted by 1 clock cycle relative to the 1PPS_out signal generated in previous iterations. If no, then process 400 proceeds to step 412 where an adjustment to the CLK-in signal is determined based on a comparison of the 1PPS_in signal and the 1PPS_out signal. After step 412 , process 400 returns to step 402 for detection of the next 1PPS_in signal in the next iteration. However, if in step 410 , timestamper 108 determines that a jump has been made, as is demonstrated in FIG. 2C , then process 400 proceeds to step 414 . In step 414 , timestamper 108 provides a 1 ⁇ 2 period offset of CLK. At the end of step 414 , an adjustment of the CLK signal in response to 1PPS_in has been made.
  • the discussion above provides a prosses to fix uncertainty between the 1PPS signal and the PTP clock signal at the timestamper 106 . But even if this uncertainty is known, the resolution of timestamper 108 is often not sufficient to meet the required adjustment. For example, if the timestamp needs to be adjusted by 2.5 ns, that adjustment will not be possible with the 8 ns resolution of the typical timestamp. The 1PPS signal can be properly adjusted but the timestamp itself will be incorrect.
  • Embodiments of the present invention use an ability to correct a load value of a timestamper when the 1PPS signal is received.
  • the relationship between the PTP clock and the 1PPS signal is established to half of the PTP clock cycle. For an 8 ns clock cycle, that means that the 1PPS signal can be adjusted to within 4 ns, which will be a correction factor when the timestamper 108 is loaded at the 1PPS signal.
  • FIG. 3A illustrates the clock signal, the input 1PPS signal, the output 1PPS signal, and the time stamp adjustment of +4 ns appropriate for the 4 ns adjustment of the 1PPS output signal.
  • FIG. 4B illustrates a process 450 according to some embodiments.
  • timestamper 108 adjusts the 1PPS phase within one PTP clock cycle accuracy from the target, +/ ⁇ 4 ns in the above example, as indicated in step 400 of process 450 .
  • timestamper 108 adjusts the timestamp load value while fine tuning the 1PPS signal position. For example, if timestamper 108 calculates that it is +2.5 ns from a target time, the 1PPS signal needs to be moved by ⁇ 2.5 ns to the ideal target signal. At the same time timestamper 108 adjusts the load value by ⁇ 2.5 ns.
  • step 454 as illustrated, and as demonstrated in FIG.
  • FIG. 3B illustrates the 1PPS input signal, the clock input signal, the 1PPS output signal, and the time stamp according to this embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

In accordance with some embodiments of the present invention, a method of minimizing timing error in a precise timing protocol system includes receiving an input 1PPS signal and a clock signal; outputting an output 1PPS signal a number of clock edges after receipt of the input 1PPS signal; adjusting the clock signal until the output 1PPS signal as jumped a clock cycle; and adjusting an offset to bring the output 1PPS signal to within a half clock period. In some embodiments, further adjustments can be made to the timestamp.

Description

    RELATED APPLICATIONS
  • This disclosure claims priority to U.S. Provisional Application Ser. No. 62/701,413, entitled “Minimizing Timestamp Error in PTP Systems,” by Leon Goldin and Michael Rupert, filed on Jul. 20, 2018, and claims priority to U.S. Provisional Application Ser. No. 62/703,286, entitled “Correcting Timestamp Error with Insufficient Resolution,” by Leon Goldin, filed on Jul. 25, 2018, both of which are herein incorporated by reference in their entirety.
  • TECHNICAL FIELD
  • Embodiments of the present invention are related to systems that employ precise time protocol (PTP) and, in particular, to reducing timestamp error in these PTP systems.
  • DISCUSSION OF RELATED ART
  • Precise time protocol, as is described in the IEEE1588 standard, is used in various network systems, especially where precise synchronization is desired throughout the network system. PTP can be used in systems that depend on coordinated actions, such as robotic automation and control systems; measurement and automatic test systems; power generation, transmission and distribution systems; ranging, telemetry and navigation systems; and various telecommunications systems. In some of these networks, precise timing coordination between the network elements is important to the safe and efficient execution of the purpose of the network. In particular, PTP provides a method to precisely synchronize devices over a Local Area Network (LAN). Although in some cases, PTP is capable of synchronizing multiple clocks to better than 100 nanoseconds on a specifically designed LAN, better timing precision is sought for various applications.
  • Therefore, there is a need to develop systems that can provide better synchronization in a PTP driven system.
  • SUMMARY
  • In accordance with some embodiments of the present invention, a method of minimizing timing error in a Precisions Timing Protocol (PTP) local-area network (LAN) system includes receiving an input one-pulse-per-second (1PPS) signal and a clock signal; outputting an output 1PPS signal a number of clock edges after receipt of the input 1PPS signal; adjusting the clock signal until the output 1PPS signal has jumped a clock cycle; and adjusting an offset to bring the output 1PPS signal to within a half clock period.
  • In accordance with some embodiments of the present invention, a method of setting a time stamp is presented. The method includes receiving an input 1PPS signal and an input clock signal; adjusting the input clock signal to within one half the clock signal; receiving a further correction of the output 1PPS signal; and providing the time stamp that accounts for the one half clock signal adjustment and the further correction.
  • These and other embodiments are further discussed below with respect to the following figures.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIGS. 1A and 1B illustrate PTP system.
  • FIGS. 2A, 2B, and 2C illustrate operation of a PTP system to minimize timestamp error according to some embodiments of the present invention.
  • FIGS. 3A and 3B illustrate operation of a PTP system to correct timestamp error according to some embodiments of the present invention.
  • FIGS. 4A and 4B illustrate processes for operation of a timestamp system according to some embodiments of the present invention.
  • DETAILED DESCRIPTION
  • In the following description, specific details are set forth describing some embodiments of the present invention. It will be apparent, however, to one skilled in the art that some embodiments may be practiced without some or all of these specific details. The specific embodiments disclosed herein are meant to be illustrative but not limiting. One skilled in the art may realize other elements that, although not specifically described here, are within the scope and the spirit of this disclosure.
  • This description and the accompanying drawings that illustrate inventive aspects and embodiments should not be taken as limiting—the claims define the protected invention. Various changes may be made without departing from the spirit and scope of this description and the claims. In some instances, well-known structures and techniques have not been shown or described in detail in order not to obscure the invention.
  • Elements and their associated aspects that are described in detail with reference to one embodiment may, whenever practical, be included in other embodiments in which they are not specifically shown or described. For example, if an element is described in detail with reference to one embodiment and is not described with reference to a second embodiment, the element may nevertheless be claimed as included in the second embodiment.
  • Some embodiments of the present invention provide for precise timing even when large errors, errors larger than a total alignment requirement, are present in a network. In some embodiments, a method of minimizing timing error in a Precisions Timing Protocol (PTP) local-area network (LAN) system includes receiving an input one-pulse-per-second (1PPS) signal and a clock signal; outputting an output 1PPS signal a number of clock edges after receipt of the input 1PPS signal; adjusting the clock signal until the output 1PPS signal has jumped a clock cycle; and adjusting an offset to bring the output 1PPS signal to within a half clock period. Some embodiments also include further adjusting the timestamp to account for a half clock signal adjustment. The method includes receiving an input 1PPS signal and an input clock signal; adjusting an output 1PPS signal to within one half the clock signal; receiving a further correction of the output 1PPS signal; and providing the time stamp that accounts for the one half clock signal adjustment and the further correction.
  • FIG. 1A illustrates a PTP compatible system 100. As illustrated in FIG. 1A, system 100 includes a master 102 that is coupled to a slave 106 through a network 104. PTP uses a time-stamp system to align timing on master 102 and slave 106. This can be accomplished in hardware, in software, or in a combination of hardware and software. In some embodiments, master 102 can be locked to a Global Positioning System (GPS), which can provide precise timing (with accuracy better than 30 ns). In such a case, master 102 (sometimes referred to as a Grandmaster) incorporates a local reference oscillator that is synchronized with the GPS time and used with dedicated hardware for precise timestamping of incoming delay request and outgoing sync packets. A one-pulse-per second (1PPS) sync signal from master 102 can be synchronized with a similar 1PPS signal in slave 106 to provide for precise time stamping. In some embodiments, slave 106 can include hardware timestamps with a software daemon to provide precise nanosecond timestamp resolution. In some embodiments, slave 106 can utilize a software implementation. However, such a solution should compensate for software delays and the quality of the timestamping in a purely software driven implementation may be more imprecise. FIG. 1A illustrates a timestamper (TS) 108 in slave 106 that synchronizes the 1PPS signal generated by master 102 with the internal clock CLK.
  • FIG. 1B further illustrates the PTP system 100. The protocol defines synchronization messages between master 102 and slave 106. Master 102 provides time and slave 106 synchronizes time to that defined by master 102. Messages exchanged in the protocol includes the Master Sync Message, the Master Delay Message, and the Slave Clock Delay Request Message. Each slave 106 in a system synchronizes to the timing of master 102. Multiple slaves 106 can be synchronized to the master 102. In the protocol, precise timestamps are captured at both master 102 and slave 106 clocks. These timestamps can then be used to determine the network latency to synchronize slave 106 to master 102.
  • Four timestamps are captured between master 102 and slave 106, commonly referred to as time stamps T1, T2, T3, and T4. As illustrated in FIG. 1B, master 102 provides a sync message that is timestamped T1, the sync message being received by slave 106 and timestamped time T2. The sync message is transmitted periodically, for example every two seconds, from master 102. The first time stamp T1 is the precise time that the sync message is transmitted from master 102 and is sent in the sync follow-up message. The second time stamp T2 is the precise time that the sync message is received at slave 106. The time delay between master 102 and slave 106 can then be calculated as T2-T1. The third time stamp T3 is the precise time that a delay request message is sent from slave 106 and the fourth time stamp T4 is the precise time that the delay request is received from the master. Consequently, the delay from slave to master is T4-T3. The delay response message can be periodically available to compare the time delays between master 102 and slave 106. Meanwhile, master 106 continues to provide the 1PPS signal to keep the timings in synchronization.
  • Modern networks utilize precise time protocol (PTP) described in IEEE1588 standard for precise time distribution. The protocol uses methods of timestamping packets on arrival and departure of a Network Element (NE), or slave 106, to synchronize the clock at each NE slave 106. In order for time distribution to be accurate, the timestamps on one port have to be aligned with timestamps on other ports. The latest requirements from mobile operators call for a 5 ns alignment between timestampers of different ports on slaves 106. Several methods of distributing time indicator in multi card NEs with sub-ns accuracy have been disclosed. However, the modern physical layers (PHYs) or Media Access Control layers (MACs), where timestampers 108 are located, can introduce an error larger than a total alignment requirement.
  • Normally time alignment is distributed by time indicator, as discussed above. It is accepted by majority of system vendors that the one Pulse per Second (1PPS) signal emitted from master 106 is the way to distribute time throughout system 100. However, it takes time for the 1PPS signal propagate to the actual timestamper 108 within a chip of the network element slave 106. Also, the timestamper 108 runs on a PTP derived clock, which also needs to propagate to and advance the timestamper 108. A vast majority of timestampers run at a clock speed of 125 MHz. That means that the timestamp counter in the timestamper 108 increments (or decrements) every 8 ns, which is larger than the allowed error. The delays inside the integrated circuit chips that form the timestamper 108 are unknown and the relationship between the clock and the 1PPS at the internal timestamper 108 can be anything, which can cause difficulty for the timing alignment.
  • Some embodiments of the present invention identify the relationship between the 1PPS signal and the PTP clock at the timestamper 108 and use this relationship (i.e. offset) as a correction value for the timestamp counter. Some embodiments include a device on the board which can measure phase offset between two signals, such as with Time to Digital Conversion (TDC) modules that are currently available from Integrated Device Technology, Inc. Further, embodiments include a timestamping device that outputs a 1PPS signal when a counter in the timestamper hits a specific value, usually 0.
  • In order to find the relationship between the 1PPS signal and the PTP clock inside the timestamping device 108, the PLL which drives both of them can run a training pattern. The training pattern will slide a phase between the 1PPS signal and the PTP clock by adjusting the output phase of the PTP clock. The timestamper will be loaded every time with a predefined value when the 1PPS signal is sampled at the timestamper. With every phase offset the offset between input and output 1PPS signal will be measured. While the 1PPS signal is sampled within a clock cycle of the clock it will move smoothly. But at some moment, the 1PPS signal will cross a clock edge and will be sampled with another clock edge. This will cause an 8 ns jump on the output 1PPS signal versus the input 1PPS signal. This will indicate that the PTP clock and the 1PPS signal are very closely aligned.
  • The PTP clock can be shifted by a specific value, preferably half of the clock cycle after the transition is found. For 125 MHz that shift would be 4 ns. Then the timestamp calculation can take these 4 ns into account when updating its initial value at every 1PPS signal coming in. This method removes the uncertainty of 8 ns for a 125 MHz clock. In general, for any other clock cycle, shift can be half the clock period.
  • FIGS. 2A, 2B, and 2C illustrate an example operation according to some embodiments of the present invention. Such operation is performed in a timestamper 108 of a slave 106. FIG. 2A shows that when the input 1PPS signal 1PPS_in is sampled, the timestamper (TS) counter is loaded with a particular value, in this example 3, when 1PPS_in is sampled with the CLK_in signal, in this case on the next rising clock-edge after arrival of 1PPS_in. The counter is decremented on each following clock transition edge of the input clock CLK_in. When the value in the counter becomes 0, the output 1PPS signal 1PPS_out is generated on the next edge of CLK_in. By observing the relationship between 1PPS_in and 1PPS_out, a shift SW can determine when the clock cycle is changed and correct a loading value. In FIG. 2A, the rising edge of 1PPS_in arrives offset from the rising edge of CLK_in, which results in a delay of loading the TS register
  • In FIG. 2B, the clock is shifted, but this does not cause a jump so that the output 1PPS signal is output on the same edge of CLK_in. As illustrated in FIG. 1C, the clock is shifted with respect to the 1PPS signal as suggested above, which results in a shift of the output 1PPS signal by 1 clock cycle, at which time the ½ period correction should be made. Consequently, instead of a precise 1 sec, for example, the initial value of the clock offset should be shifted by ½ the period of CLK_IN, or the clock adjustment will be initialized with a value of 1 sec+4 ns, which removes the possibility of a shift in the output of 1PPS_out.
  • FIG. 4A illustrates a process 400 for operation on timestamper 108 as discussed above. AS illustrated in FIG. 4A, in step 402 timestamper 108 detects according to the CLK_In signal the presence of an asserted 1PPS_in signal, as is illustrated in FIG. 2A. In step 404, upon detection, timestamper 108 loads a register, as is also illustrated in FIG. 2A. In step 406, timestamper 108 decrements the register based on the edges of the CLK_in signal until the register reaches 0. In step 408, when the register reaches 0 in step 406, timestamper 108 generates a 1PPS_out signal. In step 410, timestamper 108 checks to see if the 1PPS_out clock has shifted by 1 clock cycle relative to the 1PPS_out signal generated in previous iterations. If no, then process 400 proceeds to step 412 where an adjustment to the CLK-in signal is determined based on a comparison of the 1PPS_in signal and the 1PPS_out signal. After step 412, process 400 returns to step 402 for detection of the next 1PPS_in signal in the next iteration. However, if in step 410, timestamper 108 determines that a jump has been made, as is demonstrated in FIG. 2C, then process 400 proceeds to step 414. In step 414, timestamper 108 provides a ½ period offset of CLK. At the end of step 414, an adjustment of the CLK signal in response to 1PPS_in has been made.
  • The discussion above provides a prosses to fix uncertainty between the 1PPS signal and the PTP clock signal at the timestamper 106. But even if this uncertainty is known, the resolution of timestamper 108 is often not sufficient to meet the required adjustment. For example, if the timestamp needs to be adjusted by 2.5 ns, that adjustment will not be possible with the 8 ns resolution of the typical timestamp. The 1PPS signal can be properly adjusted but the timestamp itself will be incorrect.
  • Embodiments of the present invention use an ability to correct a load value of a timestamper when the 1PPS signal is received. As discussed above, the relationship between the PTP clock and the 1PPS signal is established to half of the PTP clock cycle. For an 8 ns clock cycle, that means that the 1PPS signal can be adjusted to within 4 ns, which will be a correction factor when the timestamper 108 is loaded at the 1PPS signal. This process is illustrated in FIG. 3A, which illustrates the clock signal, the input 1PPS signal, the output 1PPS signal, and the time stamp adjustment of +4 ns appropriate for the 4 ns adjustment of the 1PPS output signal.
  • FIG. 4B illustrates a process 450 according to some embodiments. At the beginning of clock recovery, timestamper 108 adjusts the 1PPS phase within one PTP clock cycle accuracy from the target, +/−4 ns in the above example, as indicated in step 400 of process 450. In step 452, timestamper 108 adjusts the timestamp load value while fine tuning the 1PPS signal position. For example, if timestamper 108 calculates that it is +2.5 ns from a target time, the 1PPS signal needs to be moved by −2.5 ns to the ideal target signal. At the same time timestamper 108 adjusts the load value by −2.5 ns. In step 454 as illustrated, and as demonstrated in FIG. 3B, instead of loading predefined +4 ns timestamper 108 will load timestamp counter by 4-2.5=1.5 ns. This way the timestamper can be aligned with sub-clock cycle accuracy and deliver the required results. At the same time, the known relationship between the 1PPS signal and the PTP clock remains intact and timestampers do not need to run with sub-ns resolution, which would mean timestamp clocks faster than 1 GHz. FIG. 3B illustrates the 1PPS input signal, the clock input signal, the 1PPS output signal, and the time stamp according to this embodiment.
  • The above detailed description is provided to illustrate specific embodiments of the present invention and is not intended to be limiting. Numerous variations and modifications within the scope of the present invention are possible. The present invention is set forth in the following claims.

Claims (3)

What is claimed is:
1. A method of minimizing timing error in a precise timing protocol system, comprising:
receiving an input 1PPS signal and a clock signal;
outputting an output 1PPS signal a number of clock edges after receipt of the input 1PPS signal;
adjusting the clock signal until the output 1PPS signal as jumped a clock cycle; and
adjusting an offset to bring the output 1PPS signal to within a half clock period.
2. A method of setting a time stamp, comprising:
receiving an input 1PPS signal and an input clock signal;
adjusting the input clock signal to within one half the clock signal;
receiving a further correction of the output 1PPS signal; and
providing the time stamp that accounts for the one half clock signal adjustment and the further correction.
3. The method of claim 2, wherein adjusting the input clock signal comprises:
receiving an input 1PPS signal and a clock signal;
outputting an output 1PPS signal a number of clock edges after receipt of the input 1PPS signal;
adjusting the clock signal until the output 1PPS signal as jumped a clock cycle; and
adjusting an offset to bring the output 1PPS signal to within a half clock period.
US16/515,991 2018-07-20 2019-07-18 Minimizing timestamp error in PTP systems Active US10868664B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/515,991 US10868664B2 (en) 2018-07-20 2019-07-18 Minimizing timestamp error in PTP systems

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862701413P 2018-07-20 2018-07-20
US201862703286P 2018-07-25 2018-07-25
US16/515,991 US10868664B2 (en) 2018-07-20 2019-07-18 Minimizing timestamp error in PTP systems

Publications (2)

Publication Number Publication Date
US20200028666A1 true US20200028666A1 (en) 2020-01-23
US10868664B2 US10868664B2 (en) 2020-12-15

Family

ID=69163263

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/515,991 Active US10868664B2 (en) 2018-07-20 2019-07-18 Minimizing timestamp error in PTP systems

Country Status (1)

Country Link
US (1) US10868664B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061432B2 (en) 2019-11-25 2021-07-13 Silicon Laboratories Inc. Data handoff between two clock domains sharing a fundamental beat
US11088816B1 (en) 2020-03-31 2021-08-10 Silicon Laboratories Inc. Secondary phase compensation assist for PLL IO delay aligning sync signal to system clock signal
US11088819B1 (en) 2020-03-31 2021-08-10 Silicon Laboratories Inc. Secondary phase compensation assist for PLL IO delay
WO2021232260A1 (en) * 2020-05-20 2021-11-25 深圳元戎启行科技有限公司 Method for time synchronization of a plurality of auxiliary devices of autonomous vehicle, vehicle, computer device, and storage medium
US11290250B2 (en) * 2020-04-15 2022-03-29 Skyworks Solutions, Inc. Phase transport with frequency translation without a PLL
US11296806B2 (en) 2018-06-11 2022-04-05 Skyworks Solutions, Inc. Shared communication channel that interleaves 1 PPS signals and messaging
CN114513273A (en) * 2022-01-21 2022-05-17 昆高新芯微电子(江苏)有限公司 Method and device for realizing PTP chip clock module
US11502812B1 (en) 2021-07-14 2022-11-15 Skyworks Solutions, Inc. Data protocol over clock line
US11502764B2 (en) 2020-12-28 2022-11-15 Skyworks Solutions, Inc. FSYNC mismatch tracking
US11526193B2 (en) 2019-03-07 2022-12-13 Skyworks Solutions, Inc. Maintaining the correct time when counter values are transferred between clock domains
CN116671193A (en) * 2021-01-29 2023-08-29 华为技术有限公司 Sampling method, sampling circuit and clock synchronization method of distributed network
US20240048466A1 (en) * 2020-12-09 2024-02-08 Nippon Telegraph And Telephone Corporation Packet Capture Device, Time Stamp Amendment Method, Packet Capture Method and Packet Capture Program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11737044B1 (en) 2022-12-12 2023-08-22 Ultralogic 6G, Llc Mid-symbol timestamp point for precision synchronization in 5G and 6G

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5811794B2 (en) * 2011-11-16 2015-11-11 富士通株式会社 Communication device
CN106559160A (en) * 2015-09-30 2017-04-05 阿尔卡特朗讯 Clock interface with propagation delay calibration function
US10365895B2 (en) * 2016-08-03 2019-07-30 Scott A. Wilber Synchronized true random number generator
GB2568270B (en) * 2017-11-09 2022-05-04 Canon Kk Communication device, cascaded network and internal synchronization method
US11296806B2 (en) * 2018-06-11 2022-04-05 Skyworks Solutions, Inc. Shared communication channel that interleaves 1 PPS signals and messaging

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11863299B2 (en) 2018-06-11 2024-01-02 Skyworks Solutions, Inc. Shared communication channel that interleaves 1 PPS signals and messaging
US11296806B2 (en) 2018-06-11 2022-04-05 Skyworks Solutions, Inc. Shared communication channel that interleaves 1 PPS signals and messaging
US11496234B2 (en) 2018-06-11 2022-11-08 Skyworks Solutions, Inc. Synchronizing update of time of day counters using time stamp exchange over a control plane
US11526193B2 (en) 2019-03-07 2022-12-13 Skyworks Solutions, Inc. Maintaining the correct time when counter values are transferred between clock domains
US11061432B2 (en) 2019-11-25 2021-07-13 Silicon Laboratories Inc. Data handoff between two clock domains sharing a fundamental beat
US11088816B1 (en) 2020-03-31 2021-08-10 Silicon Laboratories Inc. Secondary phase compensation assist for PLL IO delay aligning sync signal to system clock signal
US11088819B1 (en) 2020-03-31 2021-08-10 Silicon Laboratories Inc. Secondary phase compensation assist for PLL IO delay
US11671238B2 (en) 2020-03-31 2023-06-06 Skyworks Solutions, Inc. Secondary phase compensation assist for PLL IO delay
US11664968B2 (en) 2020-03-31 2023-05-30 Skyworks Solutions, Inc. Secondary phase compensation assist for PLL IO delay aligning sync signal to system clock signal
US11290250B2 (en) * 2020-04-15 2022-03-29 Skyworks Solutions, Inc. Phase transport with frequency translation without a PLL
US11777703B2 (en) 2020-04-15 2023-10-03 Skyworks Solutions, Inc. Phase transport with frequency translation without a PLL
WO2021232260A1 (en) * 2020-05-20 2021-11-25 深圳元戎启行科技有限公司 Method for time synchronization of a plurality of auxiliary devices of autonomous vehicle, vehicle, computer device, and storage medium
US20240048466A1 (en) * 2020-12-09 2024-02-08 Nippon Telegraph And Telephone Corporation Packet Capture Device, Time Stamp Amendment Method, Packet Capture Method and Packet Capture Program
US11502764B2 (en) 2020-12-28 2022-11-15 Skyworks Solutions, Inc. FSYNC mismatch tracking
US11876607B2 (en) 2020-12-28 2024-01-16 Skyworks Solutions, Inc. FSYNC mismatch tracking
CN116671193A (en) * 2021-01-29 2023-08-29 华为技术有限公司 Sampling method, sampling circuit and clock synchronization method of distributed network
US11502812B1 (en) 2021-07-14 2022-11-15 Skyworks Solutions, Inc. Data protocol over clock line
CN114513273A (en) * 2022-01-21 2022-05-17 昆高新芯微电子(江苏)有限公司 Method and device for realizing PTP chip clock module

Also Published As

Publication number Publication date
US10868664B2 (en) 2020-12-15

Similar Documents

Publication Publication Date Title
US10868664B2 (en) Minimizing timestamp error in PTP systems
US11863299B2 (en) Shared communication channel that interleaves 1 PPS signals and messaging
US20070260906A1 (en) Clock synchronization method and apparatus
US8819161B1 (en) Auto-syntonization and time-of-day synchronization for master-slave physical layer devices
CN101388741B (en) Highly precised time synchronization device, system and method for computer network
JP5811794B2 (en) Communication device
CN102577194B (en) System and method of synchronizing clocks in a distributed network
CA3131162A1 (en) Method of remotely monitoring the timing performance of a ptp slave
US20090086764A1 (en) System and method for time synchronization on network
CN108023723B (en) Method for frequency synchronization and slave clock
CN102546071A (en) Clock synchronization method and system
TW202017319A (en) Clock synchronization device and clock synchronization method
TW201625040A (en) Method of synchronising clocks of network devices
EP3553994B1 (en) Method for exchanging time synchronisation message, and network device
US11099599B2 (en) Communication device, cascaded network and internal synchronization method
US20180102863A1 (en) Time differential digital circuit
US10853288B2 (en) Bus system
Wu et al. Synchronizing device clocks using IEEE 1588 and Blackfin embedded processors
CN111092713B (en) Clock synchronization device and clock synchronization method
CN113965288A (en) Method and device for improving precision time protocol PTP time synchronization precision
CN112968691A (en) Pulse time delay precision self-adaptive synchronization method
Li et al. Time synchronization of white rabbit network based on kalman filter
JP6198075B2 (en) Time synchronization apparatus, time synchronization method, and time synchronization program
US20230208543A1 (en) Synchronizing update of time of day counters using time stamp exchange over a control plane
CN111884749B (en) High-precision fixed period PTP time synchronization method based on clock split phase

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: INTEGRATED DEVICE TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GOLDIN, LEONID;RUPERT, MICHAEL JOHN;REEL/FRAME:049885/0975

Effective date: 20190729

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: EX PARTE QUAYLE ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO EX PARTE QUAYLE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE