White Rabbit devices calibration
This page is meant to provide coarse calibration values for the official
releases of
WR Switch and WR PTP Core firmware. You can use them as defaults for
matching
hardware and gateware version. However, to achieve the best possible
synchronization
results you should perform the full calibration
procedure for your
WR hardware.
Short introduction about the calibration problem
White Rabbit link established between two devices is characterized with
hardware delays
and fiber propagation latencies presented in figure
1.
Figure1: White Rabbit link delay model*
Each WR Master and WR Slave has some constant transmission and reception delays:
- Δ TXM - transmission delay of WR Master
- Δ RXM - reception delay of WR Master
- Δ TXS - transmission delay of WR Slave
- Δ RXS - reception delay of WR Slave
They are the summed result of SFP transceiver’s, PCB traces’ and
electronic components’
delays as well as the delays inside FPGA chip. Additional reception
delay is also caused
on both sides by aligning recovered clock signal to the inter-symbol
boundaries of data
stream. It is called bitslide value and is marked in figure 1 as:
- ε M - bitslide of Master's RX path
- ε S - bitslide of Slave's RX path
Except from hardware delays, packets transmitted in fiber are affected
with propagation
latencies in both directions:
- δ MS - Master-to-Slave fiber latency
- δ SM - Slave-to-Master fiber latency
Those fiber propagation latencies are not equal since different light
wavelengths are used
to communicate simultaneously in both directions using single fiber
(Wavelength Division
Multiplexing). For estimating fiber asymmetry White Rabbit uses α
parameter, which
is constant for given wavelengths and type of fiber.
WR users should perform the WR Calibration
Procedure before deploying WR
hardware to determine correct values of delays and fiber asymmetry
factor.
Default calibration values for WR Switch
Tables below contain the default calibration values for latest stable
releases of WR Switch.
To deploy the values from tables below you should get access to the WR
Switch shell. You can do
that by either using USB-UART management port in the front panel, or
SSH-ing through management
Ethernet port. The filesystem of WR Switch is mounted read-only, that
means you have to remount
it before editing the config files:
wrs# wrfs_mnt.sh rw
After you are done with editing configuration files don't forget to
remount filesystem read-only
and restart the WR Switch:
wrs# wrfs_mnt.sh ro
wrs# reboot
After that you are ready to edit /wr/etc/sfp_database.conf and
/wr/etc/wrsw_hal.conf using vi
editor. Please use values from the tables below depending on the
hardware and gateware version
you use. However, please bear in mind that those numbers are valid only
for release binaries you
can download from ohwr.org. If you re-synthesize the gateware you have
to perform calibration
procedure to find new values.
/wr/etc/sfp_database.conf
SFP | Δ TX | Δ RX | α |
AXGE-1254-0531 | 0 | 0 | 2.62586993045535e-04 |
AXGE-3454-0531 | 0 | 0 | -2.68030058608001e-04 |
/wr/etc/wrsw_hal.conf
Port No. | Hardware version | Firmware version | Δ TX | Δ RX |
1 | 3.3 | 3.3 | 225030 | 225030 |
2 | 3.3 | 3.3 | 225177 | 225047 |
3 | 3.3 | 3.3 | 225297 | 225249 |
4 | 3.3 | 3.3 | 225456 | 225368 |
5 | 3.3 | 3.3 | 225586 | 226196 |
6 | 3.3 | 3.3 | 225735 | 226385 |
7 | 3.3 | 3.3 | 225950 | 226626 |
8 | 3.3 | 3.3 | 226064 | 226626 |
9 | 3.3 | 3.3 | 226214 | 226758 |
10 | 3.3 | 3.3 | 226396 | 226994 |
11 | 3.3 | 3.3 | 226647 | 227333 |
12 | 3.3 | 3.3 | 226814 | 227538 |
13 | 3.3 | 3.3 | 226919 | 227625 |
14 | 3.3 | 3.3 | 227110 | 227840 |
15 | 3.3 | 3.3 | 227367 | 228293 |
16 | 3.3 | 3.3 | 227565 | 228339 |
17 | 3.3 | 3.3 | 227650 | 228538 |
18 | 3.3 | 3.3 | 227869 | 228735 |
Default calibration values for White Rabbit PTP Core running on SPEC board
WR PTP Core stores Δ TX, Δ RX and α values in SFP
database stored in EEPROM.
To deploy calibration values from table below you have to access WRPC
Shell through USB-UART or
VUART (please check the latest WRPC release
manual for more
information).
First thing to do is clearing existing SFP database:
wrc# sfp erase
Then you can add each SFP with its parameters using sfp add shell command:
wrc# sfp add <SFP part number> <deltaTx> <deltaRx> <alpha>
SFP database for SPEC
The values from the table below can be used with official release binary of WRPC reference design.
Hardware version | Firmware version | SFP | Δ TX | Δ RX | α |
SPEC v4 | 2.1 | AXGE-1254-0531 | 180707 | 148323 | 72169888 |
SPEC v4 | 2.1 | AXGE-3454-0531 | 180707 | 148323 | -73685416 |
31 October 2013, Grzegorz Daniluk