PPS Analyzer


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

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:

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

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 Size : 283.313 Kb Type : 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