PPS Analyzer

PPF proved
UPA

NetTimeLogic's PPS Analyzer was built for (PTP) Plugfests, where many devices synchronize each other and each device's accuracy is measured against a reference PPS. It measures 8 PPS inputs simultaneously, locks to a reference PPS input, and provides a PPS output of the synchronized clock. Multiple analyzers can run on one host and are discovered automatically.

It connects over USB-serial or Ethernet to the FPGA registers and needs no configuration. Measurements can be saved as an image and logged as CSV.

The analyzer comes in two editions: the Classic Edition (Qt, for Windows and Linux) and the new browser-based Web Edition (UPA-Web), which runs from a single HTML file with no installation. Both read the measured offsets over USB-UART and display them as live charts.

▶ Try the Web Edition now: https://upa.ntl.dev/ - works in demo mode without hardware.


Block Diagram

PPS Analyzer

Hardware

The hardware used for the PPS Analyzer consists of a custom PPS shield for the ArtyA7-35T (no longer in production), ArtyA7-100T or ArtyS7-50 boards from Digilent.

PPS Analyzer shield from NetTimeLogic without and with aluminum case

Universal PPS Analyzer Tool

Even Jeff Geerling is using our PPS Analyzer! See it in action for PPS time measurement in his "DIY Atomic Clock mini rack" video:

PPS Screen

Grey: Reference PPS, Colored: PPS from devices under test

PPS Config

This is the screen to change the individual delays in case cable delays differ or if some additional buffers are in place

This is the screen to set threshold values which will be signaled on additional pins if exceeded and indicated in the GUI

This is a saved screen (you can save the current screens as PNG, TIFF or BMP) from the swiss PTP Plugfest 2017

Features

  • 8 PPS inputs per analyzer
  • 1 reference PPS input per analyzer
  • 1 PPS output per analyzer
  • Synchronized Clock via PPS
  • Timestamp resolution 1ns with TDC
  • USB-UART or Ethernet connection (Ethernet only available with ArtyA7-35T or ArtyA7-100T)
  • Multi Analyzer and Multi User capable
  • PPS compensated for synchronization error introduced by the reference PPS
  • Multiple Analyzers supported (in the same Screen)
  • Individual Delay compensation per PPS
  • Enable and disable individual PPS
  • Renaming of PPS signals
  • Optional EEPROM for Buffer delay compensations and storage of IP and MAC
  • Optional Threshold configuration and signals to alarm when the offset exceeds the defined range
  • Auto scale or fixed scale
  • Long-term measurements (up to 100000 seconds with sliding screen window)
  • Self-discovery of all Analyzers
  • Save screen as PNG, TIFF or BMP
  • Log values as CSV
  • Min, Max, Mean and Standard Deviation shown
  • Python Script for measurements from a script or custom measurements
Web Edition features
  • Runs in the browser from a single HTML file - no install, no server
  • Demo mode with synthetic samples - works in every browser, including Safari, with no hardware
  • Auto-discovery and one-click Auto-connect to authorized serial ports
  • Per-board profiles stored in the browser (names, colors, cable delays, polarity, channel visibility, reference channel)
  • PPS polarity configurable and rewritten to the FPGA on every connect
  • Per-channel thresholds with live breach detection and optional FPGA alarm pins
  • MAC / IP read and write via the shield's EEPROM over serial (Settings -> Network)
  • 1 Hz capture tick in a Web Worker - immune to background-tab throttling
  • Dark / light / system theme, with a footer diagnostic strip

Pricing

All prices are in US Dollars without VAT and shipping costs. The prices are without the ArtyA7-35T/ArtyA7-100T/ArtyS7-50 board from Digilent, this has to be purchased individually:

  • Assembled and calibrated PPS Analyzer SMD Shield:
    • Ready to run PPS Analyzer Shield, assembled and calibrated
  • Pre-assembled and calibrated PPS Analyzer SMD Shield with aluminum case
    • Ready to run PPS Analyzer Shield, pre-assembled and calibrated
    • Aluminum case which can be mounted on a DIN rail

All prices are non-binding estimates – please use the contact form for definitive pricing and lead-time information or check the stock in our Shop.

Downloads

Upa_UniversalPpsAnalyzer_Flyer.pdf Upa_UniversalPpsAnalyzer_Flyer.pdf
Size : 283.313 Kb
Type : pdf
Upa_UniversalPpsAnalyzer_ReferenceManual.pdf Upa_UniversalPpsAnalyzer_ReferenceManual.pdf
Size : 2539.047 Kb
Type : pdf

GitHub

The whole project can be found as sources on NetTimeLogic's Github account:

https://github.com/NetTimeLogic-OpenSource/UniversalPpsAnalyzer

Get involved

Contact us if you would like to contribute to the development of this open source project