This invention relates to timing synchronization and particular to the use of 1 PPS signals in synchronization.
In conventional implementations, 1 Pulse Per Second (PPS) signals generated by various boards in a distributed system need to be synchronized so that they occur at nearly the same instant throughout the system. Since these 1 PPS signals are simultaneous, separate communications paths are required for every source of these 1 PPS signals. This has two problems: (1) multiple dedicated communications paths and (2) the lengths of these paths to and from the central timing card are not identical, adding uncompensated delay, and causing misalignments. The control and coordination of these systems is performed over yet another shared communications channel, adding more uncertainty. Improvements in system timing synchronization are desirable.
Accordingly, embodiments described herein utilize a shared bus that time interleaves 1 PPS signals and control and coordination information in such a manner that the delays introduced by interleaving the 1 PPS signals in time can be precisely removed. Furthermore, the shared bus can also be utilized to send control and coordination information, avoiding the use of another system and increasing utilization of an available communication path.
In an embodiment, a method includes sending a first 1 pulse per second (1 PPS) pulse over a time information bus from a primary timing source to a first line card during a first portion of a one second interval. The method further includes sending information from the first line card over the time information bus to the primary timing source during a second portion of the one second interval and sending information from a second line card to the primary timing source over the time information bus during a third portion of the one second interval.
In another embodiment an apparatus includes a first line card. A primary timing source is coupled to a bidirectional time information bus and configured to send a first 1 pulse per second (1 PPS) signal over the bidirectional time information bus to the first line card during a first portion of a one second interval on the bidirectional time information bus. The first line card is configured to send information from the first line card to the primary timing source over the bidirectional time information bus during a second portion of the one second interval. A second line card is configured to send information from the second line card to the primary timing source over the bidirectional time information bus during a third portion of the one second interval.
The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
The use of the same reference symbols in different drawings indicates similar or identical items.
Embodiments described herein describe approaches to distribute Time-of-Day (ToD) and the 1 PPS signal to master line cards in an IEEE 1588 Central Timing Architecture. These methods overcome challenges such as (a) ToD and 1 PPS signal alignment across all line-cards <1 ns (+/−500 ps) (b) backplane trace lengths should be matched or compensated c) delay uncertainty of backplane drivers/receivers should be considered in the timing budget d) I/O delay of the line card PLL should also be considered in the budget.
At present the alignment of ToD and 1 PPS is a manual, cumbersome and an open-loop process. The approaches outlined in this disclosure provide more accurate closed loop measurement and adjustment techniques. Some embodiments use existing hardware and/or software infrastructure to distribute ToD and the 1 PPS signal with <1 ns alignment accuracy across all line-cards.
One assumption made for embodiments illustrated in
Thus, roundtrip delay through existing backplane communication paths can be measured for each line card at startup and other suitable times and appropriate compensation made based on the roundtrip measurements. That improves on the alignment of ToD and 1 pps using a manual and an open-loop process.
The system 700 further includes a slave line card 703, master line cards 705, and master timing card 707 and a backup timing card 708. If the slave line card 703 goes down, then the system switches to using one of the master line cards 705 as the slave card. That is possible because there are control plane inputs and outputs to every line card. Thus, there is infrastructure available for sharing time stamps between all line cards and the timing card 707. All though not shown in
Assume the slave line card 703 becomes synchronized with the grand master (not shown in
The timing card distributes a system clock 711 through the backplane 715 (or motherboard) to all of the line cards, including slave line card 703 and the master line cards 705. The line cards are frequency locked to the system clock 711 through their PLLs 718. Each of the master line cards 705 include a ToD counter that needs synchronization. For example, one of the master line cards 705 includes a ToD counter ToDB. The slave line card 703 initiates a time stamp exchange 709 over the control plane with the one of the master line cards 705 to synchronize the ToDA counter and ToDB counter but with the advantage that master and slave are working with the same frequency using existing backplane frequency distribution of the system clock 711. Based on the time stamp exchange, the one way delay
and error offset
(see 107 in
There is low packet delay variations in the system because the time stamp exchange is localized. Although no longer necessary to align the ToD counters, the 1 PPS signal indicating rollover of the ToD counters can also be adjusted through this approach (time stamp exchange) if there is a desire to distribute the 1 PPS signal. Thus, the alignment of distributed 1 PPS signals can be improved using the time stamp exchange. Any kind of static asymmetry can be calibrated out. In addition, the control plane should be 1588 aware. That is the physical layer (PHYs) used in the control plane to exchange the time stamps should not add their own delay to the time stamp messages and instead use transparent clocking to pass the time stamp without adding delay by accounting for latency through the circuits of the PHY either by adjusting the time stamp to account for the latency or sending an additional message that indicates the latency.
In addition to the need for 1588 awareness, to achieve desired accuracy for the ToD, the time stamp should be high resolution. For example, a time stamp with nanosecond resolution or higher would be considered high resolution in this context. Such resolution is available in high performance timing integrated circuits. Network processors (NPs), FPGAs, and PHYs on the line cards and the timing card may be used to provide high resolution time stamping. An advantage of the embodiment in
Option 4
1 PPS signals generated by various boards in a distributed system need to be synchronized so that they occur at nearly the same instant throughout the system. To achieve that degree of synchronization, and referring again to
Referring to
When the system starts, the timing card 905 functions as the primary timing source. At some point in time, one of the line cards becomes a Precision Time Protocol (PTP) slave and in embodiments the PTP slave line card 903 assumes the primary timing source role. In the embodiment of
The timeslots can also serve as dedicated data channels for transmitting timestamp (TS) data t1, t2, t3, and t4. The time stamp logic is shown at 910 in the line cards 903 and 907 and 919 in the timing card 905. Due to the time slots, certain time stamp information is already known. For example, assume the 1 PPS signal from the primary timing source (or any other signal at a known location in the time slot) serves as the first time stamp. The time stamp itself is known a priori by the primary timing source based on the time slot number for the timing pulse. The t2 time stamp indicates the time the 1 PPS signal is received by the line card and can have, e.g., a range of ±1 μs to encompass worst case backplane travel. An 11 bit time stamp in time stamp logic 910 provides for 1 nanosecond accuracy, while a 15 bit time stamp gives 100 picosecond resolution. The t3 timestamp represents the local time the message is sent to the primary timing source and is known a priori by the time slot number (since each line card is assigned a unique time slot number) and assuming the time stamp is sent at a known location in the time slot. The t4 time stamp represents the time the t3 message is received by the primary timing source. Again, a range of ±1 μs should encompass worst case backplane travel. An 11 bit time stamp provides for 1 nanosecond accuracy, while a 15 bit time stamp provides 100 picosecond resolution. The length of the time stamp depends on the accuracy requirements of the particular implementation. The one way delay
and error offset
(see 107 in
Trace delays between the primary timing source and the line cards can also be determined in a test mode by the primary timing source sending a pulse, which the line card returns over the time information bus. The symmetry on the bus makes the calculation of the delay a divide by two that can be used to accurately compensate for the delay in the backplane between the primary timing source and each of the line cards.
While the embodiment of the time slots shown in
In an embodiment, time slot 0 belongs to the primary timing source and when functioning as the primary timing source, the timing card assumes the time slot of the primary timing source. However, the assignment of the primary timing source does not have to be static and whichever card is the primary timing source can assume the first time slot.
Present implementations have a separate system for incorporating 1 PPS information into distributed systems from satellite timing signals such as GPS (United States), Galileo (Europe), BeiDou (China) and other types of Global Navigation Satellite System (GNSS) technology. By timestamping the received satellite 1 PPS signal, a single approach can be used to interface an IEEE 1588 system 900 to other networked IEEE 1588 systems and GNSS signals.
The source of the “system” for 1 PPS/ToD will move to where the primary timing signal is coming into the system. The primary timing signal may come into the system from the line card that has the primary Precision Time Protocol (PTP) role (i.e. the PTP slave). In embodiments, when the system is in GPS (or other satellite system) operation or initial bring-up or free-run, the timing card provides the source of the system timing. The timing card has a GPS unit, which can be used as a backup in case the PTP slave goes down. Moving the source of the system to where the primary timing signal is coming into the system helps reduce the degradation of the timing information as it is being processed by more cards.
Embodiments in GPS operation use a timestamper, which simplifies the operation of the system considerably. Use of the timestamper keeps the PTP timestamp concept used for the PTP slave, but switches to using timestamps based on the GPS 1 PSS signal. The operation is similar to the PTP one-way time sync configuration. That is, with a GPS signal, there is no communications back to the GPS system. Once the GPS information is time-stamped the system treats the GPS information as a primary timing source. Thus, referring back to
Switching between PTP and GPS can be smoother (since the same control loop is used) if time stamps are used to align all of the line cards in the system over a dedicated time information bus since any concerns about buffer delays of a shared communications resource are eliminated. Similar to PTP, timestamp data is exchanged between the primary timestamper, e.g., the timing card 905, and the distributed timestampers, e.g., the line cards 907. The data is exchanged via the time information bus 901. Note that the time stamper in the line cards and the timing card may reside in field programmable gate arrays (FPGAs) 928 or other types of integrated circuits and in embodiments the timestamper has the ability to time stamp internal signals or external signals received by the integrated circuit as needed to implement the 1588 time stamp exchange.
When the primary timing source is moved, e.g., from the slave line card coupled to the grand master to the timing card coupled to receive a GPS signal, the current primary timing source, the slave line card goes into holdover. In holdover, the phase and frequency of the 1 PPS signal is held to its current phase and frequency. In addition, the timing card enters holdover of the system clock (SysClk), which is distributed over the backplane to the line cards and synchronized to 1 PPS/ToD used in the system. Thus, the system clock is held at its current phase and frequency. The new primary timing source (the timing card 905) does the equivalent to phase jamming of its 1 PPS, that is adjusting the phase of 1 PPS signal to match the new primary timing source. Remember the system was locked, so the system clock is very close in frequency to what it should be, as is the 1 PPS signal. In an embodiment, the communication regarding the change in primary timing source occurs over the time information bus. Thus, the current or future timing source sends a message over the time information bus requesting the change, which is acknowledged by the message recipient. Additional messages as needed to make the change are exchanged over the time information bus. Thus, e.g., the new primary timing source (the timing card 905) communicates to the PTP Slave line card 903 that starting, e.g., at the next frame, the new primary timing source (the timing card 905) will be supplying the 1 PPS signal. Once nominally locked, the timing card 905 exits holdover. New time stamps are exchanged with all the line cards since the path lengths between the new primary timing source and the line cards differs from the path lengths between the previous primary timing source and the line cards. Note that path asymmetries (to and from) the line cards are nil since the time information bus is being used for communication in both directions. The time stamper measures, at the pin, the outgoing pulse as well as the incoming pulses. The only sensitivity is to the variability in the path between the pin of the integrated circuit to the time stamper internal to the integrated circuit.
Thus, the time information bus may be utilized to provide both the 1 PPS signal and provide bidirectional communication between the primary timing source and the other cards (e.g., line cards or timing card) in the system. The time information bus may be used to exchange time stamps between the primary timing source and the other cards in the system. The time information bus may also be used when the primary timing source changes from, e.g., the timing card based on a satellite 1 PPS signal to the PTP slave line card coupled to the GrandMaster or vice versa.
The terms “first,” “second,” “third,” and so forth, as used in the claims, unless otherwise clear by context, is to distinguish between different items in the claims and does not otherwise indicate or imply any order in time or location. For instance, “a first time slot,” “a second time slot,” does not indicate or imply that the first time slot occurs in time before the second slot or in a particular location in a frame.
Thus, various aspects have been described related to use of a time information bus to transport the 1 PPS signal. The description of the invention set forth herein is illustrative, and is not intended to limit the scope of the invention as set forth in the following claims. Other variations and modifications of the embodiments disclosed herein, may be made based on the description set forth herein, without departing from the scope of the invention as set forth in the following claims.
This application is a continuation of U.S. patent application Ser. No. 16/235,232, filed Dec. 28, 2018, entitled “Shared Communication Channel That Interleaves 1 PPS Signals and Messaging,” naming Robert P. Coulter as inventor, which application claims benefit of U.S. Provisional Application No. 62/683,464, filed Jun. 11, 2018, entitled “Distribution of Time-of-Day (TOD) and 1 Pulse-Per-Second (1 PPS) to Line Cards in IEEE 1588 Central Timing Architecture”, naming Srisai Rao Seethamraju, Russell Croman, and Robert P. Coulter as inventors, which applications are incorporated herein by reference in their entirety. This application relates to the U.S. patent application Ser. No. 16/235,784, filed Dec. 28, 2018, entitled “Synchronizing Update of Time of Day Counters Using Time Stamp Exchange Over A Control Plane”, naming Srisai Rao Seethamraju as inventor, which application is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5140611 | Jones | Aug 1992 | A |
5509038 | Wicki | Apr 1996 | A |
5644604 | Larson | Jul 1997 | A |
5964880 | Liu | Oct 1999 | A |
6549046 | Klecka, III | Apr 2003 | B1 |
6760586 | Lee | Jul 2004 | B1 |
6839858 | James | Jan 2005 | B1 |
6885647 | Chung | Apr 2005 | B1 |
7002996 | Dougherty et al. | Feb 2006 | B1 |
7079589 | Maksimovic | Jul 2006 | B1 |
7116743 | Wang | Oct 2006 | B1 |
7203227 | Currivan | Apr 2007 | B1 |
7417510 | Huang | Aug 2008 | B2 |
7451337 | Hewitt | Nov 2008 | B1 |
7451339 | Smith, Sr. | Nov 2008 | B2 |
7535893 | Beladakere | May 2009 | B1 |
7860205 | Aweya et al. | Dec 2010 | B1 |
7903681 | Roberts et al. | Mar 2011 | B2 |
8355476 | Lee | Jan 2013 | B2 |
8942561 | Boyd et al. | Jan 2015 | B2 |
9246615 | Ellegard et al. | Jan 2016 | B2 |
9369270 | Spijker | Jun 2016 | B1 |
9426762 | Ehlers et al. | Aug 2016 | B2 |
9479182 | Baidas | Oct 2016 | B1 |
9594396 | Turner et al. | Mar 2017 | B2 |
9628255 | Baidas | Apr 2017 | B1 |
9665121 | Aweya | May 2017 | B2 |
9673970 | Aweya et al. | Jun 2017 | B1 |
9860004 | Joergensen | Jan 2018 | B2 |
9960873 | Yang | May 2018 | B2 |
10007639 | Mitric | Jun 2018 | B2 |
10075284 | Rodrigues | Sep 2018 | B1 |
10084559 | Devineni | Sep 2018 | B1 |
10158444 | Darras | Dec 2018 | B1 |
10511312 | Pastrello et al. | Dec 2019 | B1 |
10536258 | Choo et al. | Jan 2020 | B2 |
10594423 | Anand et al. | Mar 2020 | B1 |
10715307 | Jin | Jul 2020 | B1 |
10727845 | Balakrishnan | Jul 2020 | B1 |
10797686 | Terstrup et al. | Oct 2020 | B1 |
10917097 | Meyer et al. | Feb 2021 | B1 |
10951216 | Barnette | Mar 2021 | B1 |
11061432 | Sarda | Jul 2021 | B2 |
11088816 | Sarda | Aug 2021 | B1 |
11088819 | Sarda | Aug 2021 | B1 |
11290250 | Sarda | Mar 2022 | B2 |
11296806 | Coulter | Apr 2022 | B2 |
11496234 | Seethamraju | Nov 2022 | B2 |
20060020733 | Sarda | Jan 2006 | A1 |
20060280182 | Williams | Feb 2006 | A1 |
20070046516 | Dombusch | Mar 2007 | A1 |
20080080563 | Kataria | Apr 2008 | A1 |
20080240169 | Cui | Oct 2008 | A1 |
20090024865 | Fugaro | Jan 2009 | A1 |
20090168808 | Cho | Jul 2009 | A1 |
20090251226 | Kathuria et al. | Oct 2009 | A1 |
20100118894 | Aweya et al. | May 2010 | A1 |
20110296226 | Sorbara | Dec 2011 | A1 |
20120300795 | Joergensen | Nov 2012 | A1 |
20120319734 | Nagaraj | Dec 2012 | A1 |
20130121347 | Saito | May 2013 | A1 |
20140068315 | Aweya | Mar 2014 | A1 |
20140320181 | Mitric | Oct 2014 | A1 |
20150092797 | Aweya | Apr 2015 | A1 |
20150185759 | Hinderer et al. | Jul 2015 | A1 |
20150200770 | Rahbar et al. | Jul 2015 | A1 |
20150207620 | Colby | Jul 2015 | A1 |
20150222276 | Milijevic | Aug 2015 | A1 |
20150326275 | Picard | Nov 2015 | A1 |
20160170439 | Aweya | Jun 2016 | A1 |
20160182217 | Hashizume | Jun 2016 | A1 |
20170135053 | Shenoi | May 2017 | A1 |
20170288801 | Aweya | Oct 2017 | A1 |
20170373824 | Mitchler | Dec 2017 | A1 |
20190020333 | Koch et al. | Jan 2019 | A1 |
20190036804 | Mihelic et al. | Jan 2019 | A1 |
20190379474 | Coulter | Dec 2019 | A1 |
20190379475 | Seethamraju | Dec 2019 | A1 |
20200021379 | Aweya | Jan 2020 | A1 |
20200028666 | Goldin et al. | Jan 2020 | A1 |
20200050575 | Mishra | Feb 2020 | A1 |
20200127752 | Tai et al. | Apr 2020 | A1 |
20200285265 | Rananathan et al. | Sep 2020 | A1 |
20210157355 | Sarda et al. | May 2021 | A1 |
20210297083 | Nishikawa | Sep 2021 | A1 |
20210328758 | Sarda | Oct 2021 | A1 |
Number | Date | Country |
---|---|---|
102291233 | Dec 2011 | CN |
103684727 | Mar 2014 | CN |
104378193 | Feb 2015 | CN |
107294634 | Oct 2017 | CN |
2015003364 | Jan 2015 | WO |
Entry |
---|
NXP Semiconductors, AN-12149, Implementing an IEEE 1588 V2 on i.MX RT Using PTPd, FreeRTOS, and IwIP TCP/IP stack, Sep. 2018 (Year 2018) 28 pages. |
Broadcom Corp., “Ethernet Time Synchronization Providing Native Timing Within the Network,” White Paper, Oct. 2008, 36 pages. |
Eidson, J., “IEEE—1588 Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems,” Agilent Technologies, 2005, 94 pages. |
Gallant, D., “Practical Implementation of a IEEE 1588 Based Synchronization Distribution System,” Silicon Laboratories, WSTS Jun. 19, 2018, 15 pages. |
International Telecommunication Union, G.8273/Y.1368 (2018)—Amendment 1, Framework of phase and time clocks, ITU-T, Mar. 2020 (Year 2020) 38 pages. |
Renesas, “Synchronization Management Unit,” 8A34002 Datasheet, Renesas Electronics Corporation, Sep. 8, 2020, 107 pages. |
Renesas, 82P33831, Synchronization Management Unit for IEEE 1588 and 10G/40G/100G Synchronous Ethernet, Jul. 10, 2018 (Year 2018) 75 pages. |
Renesas, AN-1033, “Delay Variation Measurement and Compensation”, Aplication Note, Feb. 8, 2019 (Year: 2019) 13 pages. |
Renesas, AN-950, “82P338XX/9XX Usage of a SYNC Input for Clock Alignment”, Application Note, Nov. 10, 2016 (Year: 2016) 13 pages. |
Silicon Labs, “UG103.05: IoT Endpoint Security Fundamentals,” silabs.com, Rev. 1.2, downloaded Oct. 22, 2020, 12 pages. |
Stanton, K., 802.1AS Tutorial, Intel Corporation, Nov. 13, 2008, 42 pages. |
U.S. Appl. No. 17/134,818, filed Dec. 28, 2020, entitled FSYNC Mismatch Tracking, by Vivek Sarda. |
U.S. Appl. No. 17/375,634, filed Jul. 14, 2021, entitled “Data Protocol Over Clock Line,” by Vivek Sarda. |
Number | Date | Country | |
---|---|---|---|
20220224432 A1 | Jul 2022 | US |
Number | Date | Country | |
---|---|---|---|
62683464 | Jun 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16235232 | Dec 2018 | US |
Child | 17708190 | US |