To save spec as PDF - select text below (including images) -> right click -> Print -> Save as PDF
Time Card is the heart of the Open Time Server Project.
You can find the IEEE publication for it.
In addition to the ongoing IEEE PAR (P3335: Standard for Architecture and Interfaces for Time Card) on this link
This spec can be accessed using http://www.timingcard.com or http://timecard.ch
- General
- Where can I get one
- Form Factor
- GNSS
- Clock
- Bridge
- Interfaces
- Precision
- Repository content
- License
List Of Images | Description |
---|---|
Figure 1 | GNSS Receiver |
Figure 2 | Atomic Clock Example |
Figure 3 | Time Card Block Diagram |
Figure 4 | Bridge Block Diagram |
Time Server is a critical part of a PTP enabled network. It provides accurate time via GNSS while maintaining accuracy in case of GNSS failure via a high stability (and holdover) oscillator such as an atomic clock. Existing products in the market are often closed sourced and are far from having sufficient features. The Time Card project presents an open source solution via a PCIe card called Time Card which is called Open Time Server.
Here are 4 options to get your hands on this Time Card.
You can purchase the Time Card with the OCXO daughter card, the NEO-M9N RCB, fully programmed and assembled from Makerfabs. Makerfabs Time Card
You have all necessary source code, BOM, Gerber files and binaries to build it yourself. Follow these videos to Fabricate Time Cards with PCBWay, and purchase the accessories to assemble them.
The 3rd option is of course to source and produce the Time Card with the manufacturers you seek out yourself.
The 4th option is to purchase a Time Card available on the OCP Marketplace or other compatible Time Card from 3rd parties. Of course, this is the conveniet way to get your hands on a Time Card. Keep in mind, there is a cost associated with the vendors manufacturing the card and providing you all kinds of support in addition to their profit margins. It is good to know how much you are paying for parts and how much you are paying for the covenience.
There are various parts that can sit on the Time Card as options and can change the total price. Here we have a breakdown:
- Time Card's mainboard: PCB with Assembly (Parts soldered on the PCB) should be about $200.
- Alinx SOM (AC7100B) should be about $250.
- GNSS recevier: The u-blox RCB-F9T is about $300. Other GNSS modules may vary in price based on their performance and capabilities in range of $50 to $500.
- Atomic Clock: The SA-53 is about $1995 (from microchipdirect). You can use a TCXO or OCXO board as well which can be around $100 - $200 So, in conclusion:
- A Time Card with a RCB-F9T GNSS and a TCXO costs about $200 + $250 + $300 + $100 = $850 in parts.
- A Time Card with a RCB-F9T GNSS and a MAC (SA-53) costs about $200 + $250 + $300 + $1995 = $2695 in parts.
These are Time Cards made by other companies that are developed with different hardware yet compatible with the architecure and the driver of the Time Card:
- Safran ART2 (fully open sourced and available on this link)
- ADVA OSA5400
- Standard PCIe Stand-up Card
- Single Slot - Passive Cooling Solution
The GNSS receiver can be a product from ublock or any other vendor as long as it provides PPS output and the TOD using any suitable format.
This is the recommended module: u-blox RCB-F9T GNSS time module
Figure 1. GNSS Receiver
There are 2 main attack vectors on GNSS receiver
Jamming is the simplest form of attack. In order to keep operations while under attack the most reliable approach is to perform a long run holdover.
See more about holdover in the clock section.
GNSS authenticity is relevant today. A mechanism to protect against over-the-air spoofing incidents is desirable. With special equipment it is possible to simulate a GNSS constellation and spoof the receiver. Basic principals to protect against such attack:
- Use high-quality GNSS receivers which verify packet signature
- Disciplining implementations see more in bridge section should protect against sudden jumps in time and space. For the datacenter use cases jump in space could be completely forbidden.
GNSS requires "clear sky" to function properly. Moreover there were several historical events of a short term time jumps by some GNSS constallations. Because of reliability and in combination with the security concerns an additional holdover should be performed by high quality XO. An example could be AC, OCXO, TCXO etc. In order to perform sustainable operation we recommend to use an AC with a holdover ± 1us or HQ OCXO with a holdover ± 22 µs.
Atomic clock examples:
Figure 2. Atomic Clock Examples
OCXO examples:
-
ROD2522S2 from Rakon, PPS disciplined oscillator
-
Taitien PN: NJ-10M-075 , Stratum 3E oscillator footprint compatible with ROD2522S2
TCXO examples:
-
SiT5501 Super-TCXO
-
Taitien PN: M0166-T-001-3 , footprint compatible with SiT5501 family
The bridge between the GNSS receiver and the Atomic clock can be implemented using software or hardware solutions. The hardware implementation is preferred and is our end goal.
Here is one of the examples of hardware implementations.
- FPGA is responsible for most of the functionality
- Exposed /dev/phc and /dev/pps are read by open source software such as ptp4l and chronyd
Figure 3. Time Card Block Diagram
Figure 4. Bridge Block Diagram
Software implementation still requires most of the components, however the communication between components is done with user space software:
- GPSd exposing /dev/ppsY and provides TOD via SHM
- FPGA board reads 1 PPS from different sources
- Host daemon monitors the offset and steers oscillator
- phc2sys can copy data between clocks, including between GPSd and Atomic and then Atomic to PHC on the NIC
- PCIe
- PCIe x1 (18 pins) generation 1.0 or above on a x4 form-factor
- Generic, supporting multiple OS versions
- Exposes PHC device in Linux (/dev/ptpX) as well as PPS (/dev/ppsY)
- Exposes leap second indicator to a shared memory segment read by chrony/ptp4l
- 1PPS / 10MHz SMA output
- 1PPS / 10MHz SMA input
- IRIG-B input output
- DCF77 input output
- GNSS Antenna SMA input
An LED should be used to provide externally visible status information of the time card.
For example:
- Off - card is not powered or not properly fitted
- Solid green - card is powered, GNSS ok, 1PPS/10MHz output ok
- Flashing green - card is in warm-up, acquiring satellites
- Solid red - alarm / malfunction
Time card got 4 SMA connectors that can be configured as outputs and outputs for various things such as 10Mhz, PHC, MAC, GNSS, GNSS2, IRIG, DCF for output and 10Mhz, PPS1, PPS2, TS1, TS2, IRIG, DCF for input.
Using a Calnex Sentinel device are comparing various things. Here we are comparing the 1PPS output (Channel A) and the 10Mhz output (Channel B) from the MAC (SA.53).
- Bill of Materials (parts from Digikey)
- Schematic and PCB of the time card
- Driver (Kernel Module) CentOS 8
- CAD files for the custom PCIe bracket
Hereby we would like to thank these individuals who helped with the initiative, archirecture, design, software development, hardware issue maintanance and upgrades.
Individual | Main Contribution |
---|---|
Mike Lambeta | Layout and Schematic Design |
Oleg Obleukhov | Open Time Server Software |
Jonathan Lemon | Inital Linux Driver |
Thomas Schaub | FPGA Design and Code |
Joyce Hsu | Logo Design |
Armando Pinales | RCB Boards |
Julian St.James | Hardware Upgrade |
Vadim Fedorenko | Driver Upgrade |
Spencer Burns | PCIe Bracket Design |
Collin Richardson | Placement Optimization |
Nhan Hoang | PCIe Bracket Upgrade |
Ahmad Byagowi | Idea and Architecture |
Contributions to this Specification are made under the terms and conditions set forth in Open Web Foundation Contributor License Agreement (“OWF CLA 1.0”) (“Contribution License”) by:
You can review the signed copies of the applicable Contributor License(s) for this Specification on the OCP website at http://www.opencompute.org/products/specsanddesign Usage of this Specification is governed by the terms and conditions set forth in Open Web Foundation Final Specification Agreement (“OWFa 1.0”) (“Specification License”).
You can review the applicable Specification License(s) executed by the above referenced contributors to this Specification on the OCP website at http://www.opencompute.org/participate/legal-documents/ Notes:
-
The following clarifications, which distinguish technology licensed in the Contribution License and/or Specification License from those technologies merely referenced (but not licensed), were accepted by the Incubation Committee of the OCP:
None
NOTWITHSTANDING THE FOREGOING LICENSES, THIS SPECIFICATION IS PROVIDED BY OCP "AS IS" AND OCP EXPRESSLY DISCLAIMS ANY WARRANTIES (EXPRESS, IMPLIED, OR OTHERWISE), INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, OR TITLE, RELATED TO THE SPECIFICATION. NOTICE IS HEREBY GIVEN, THAT OTHER RIGHTS NOT GRANTED AS SET FORTH ABOVE, INCLUDING WITHOUT LIMITATION, RIGHTS OF THIRD PARTIES WHO DID NOT EXECUTE THE ABOVE LICENSES, MAY BE IMPLICATED BY THE IMPLEMENTATION OF OR COMPLIANCE WITH THIS SPECIFICATION. OCP IS NOT RESPONSIBLE FOR IDENTIFYING RIGHTS FOR WHICH A LICENSE MAY BE REQUIRED IN ORDER TO IMPLEMENT THIS SPECIFICATION. THE ENTIRE RISK AS TO IMPLEMENTING OR OTHERWISE USING THE SPECIFICATION IS ASSUMED BY YOU. IN NO EVENT WILL OCP BE LIABLE TO YOU FOR ANY MONETARY DAMAGES WITH RESPECT TO ANY CLAIMS RELATED TO, OR ARISING OUT OF YOUR USE OF THIS SPECIFICATION, INCLUDING BUT NOT LIMITED TO ANY LIABILITY FOR LOST PROFITS OR ANY CONSEQUENTIAL, INCIDENTAL, INDIRECT, SPECIAL OR PUNITIVE DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS SPECIFICATION, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND EVEN IF OCP HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.