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
Below you can find the default calibration values for latest stable
releases of the WR Switch.
You should put these values in the dot-config file. Depending on your
configuration, you
should either edit the /wr/etc/dot-config file on your switch, or
modify it on the central
server, from which the WRS fetches dot-config on boot time. The former
requires accessing
the WRS shell either by using the USB-UART management port in the front
panel or SSH-ing
through the management Ethernet port. You can edit /wr/etc/dot-config
using vi editor.
Please use appropriate values depending on your hardware and firmware
version. However, bear
in mind that these numbers are valid only for release binaries you can
download from the
ohwr.org. If you re-synthesize the gateware, you have to perform the
calibration procedure
to find the new values.
Firmware v5.0 / Hardware v3.4 (7Solutions and Creotech)
#
# Port Timing Configuration
#
CONFIG_PORT01_PARAMS="name=wri1,proto=raw,tx=223897,rx=226273,role=slave,fiber=0"
CONFIG_PORT02_PARAMS="name=wri2,proto=raw,tx=224037,rx=226377,role=master,fiber=0"
CONFIG_PORT03_PARAMS="name=wri3,proto=raw,tx=224142,rx=226638,role=master,fiber=0"
CONFIG_PORT04_PARAMS="name=wri4,proto=raw,tx=224313,rx=226471,role=master,fiber=0"
CONFIG_PORT05_PARAMS="name=wri5,proto=raw,tx=224455,rx=227679,role=master,fiber=0"
CONFIG_PORT06_PARAMS="name=wri6,proto=raw,tx=224603,rx=227891,role=master,fiber=0"
CONFIG_PORT07_PARAMS="name=wri7,proto=raw,tx=224761,rx=228055,role=master,fiber=0"
CONFIG_PORT08_PARAMS="name=wri8,proto=raw,tx=224898,rx=228178,role=master,fiber=0"
CONFIG_PORT09_PARAMS="name=wri9,proto=raw,tx=225069,rx=228277,role=master,fiber=0"
CONFIG_PORT10_PARAMS="name=wri10,proto=raw,tx=225245,rx=228435,role=master,fiber=0"
CONFIG_PORT11_PARAMS="name=wri11,proto=raw,tx=225463,rx=228963,role=master,fiber=0"
CONFIG_PORT12_PARAMS="name=wri12,proto=raw,tx=225645,rx=229107,role=master,fiber=0"
CONFIG_PORT13_PARAMS="name=wri13,proto=raw,tx=225801,rx=229225,role=master,fiber=0"
CONFIG_PORT14_PARAMS="name=wri14,proto=raw,tx=225983,rx=229463,role=master,fiber=0"
CONFIG_PORT15_PARAMS="name=wri15,proto=raw,tx=226208,rx=229850,role=master,fiber=0"
CONFIG_PORT16_PARAMS="name=wri16,proto=raw,tx=226393,rx=229907,role=master,fiber=0"
CONFIG_PORT17_PARAMS="name=wri17,proto=raw,tx=226594,rx=230106,role=master,fiber=0"
CONFIG_PORT18_PARAMS="name=wri18,proto=raw,tx=226737,rx=230273,role=master,fiber=0"
#
# SFP and Media Timing Configuration
#
CONFIG_SFP00_PARAMS="vn=Axcen Photonics,pn=AXGE-1254-0531,tx=0,rx=0,wl_txrx=1310+1490"
CONFIG_SFP01_PARAMS="vn=Axcen Photonics,pn=AXGE-3454-0531,tx=0,rx=0,wl_txrx=1490+1310"
CONFIG_SFP02_PARAMS="vn=APAC Opto,pn=LS38-C3S-TC-N-B9,tx=761,rx=557,wl_txrx=1310+1490"
CONFIG_SFP03_PARAMS="vn=APAC Opto,pn=LS48-C3S-TC-N-B4,tx=-29,rx=507,wl_txrx=1490+1310"
CONFIG_FIBER00_PARAMS="alpha_1310_1490=2.6787e-04"
Firmware v5.0 / Hardware v3.3 (7Solutions)
#
# Port Timing Configuration
#
CONFIG_PORT01_PARAMS="name=wri1,proto=raw,tx=224295,rx=225959,role=slave,fiber=0"
CONFIG_PORT02_PARAMS="name=wri2,proto=raw,tx=224500,rx=226090,role=master,fiber=0"
CONFIG_PORT03_PARAMS="name=wri3,proto=raw,tx=224642,rx=226250,role=master,fiber=0"
CONFIG_PORT04_PARAMS="name=wri4,proto=raw,tx=224763,rx=226197,role=master,fiber=0"
CONFIG_PORT05_PARAMS="name=wri5,proto=raw,tx=224879,rx=227321,role=master,fiber=0"
CONFIG_PORT06_PARAMS="name=wri6,proto=raw,tx=225021,rx=227509,role=master,fiber=0"
CONFIG_PORT07_PARAMS="name=wri7,proto=raw,tx=225215,rx=227743,role=master,fiber=0"
CONFIG_PORT08_PARAMS="name=wri8,proto=raw,tx=225355,rx=227833,role=master,fiber=0"
CONFIG_PORT09_PARAMS="name=wri9,proto=raw,tx=225487,rx=227993,role=master,fiber=0"
CONFIG_PORT10_PARAMS="name=wri10,proto=raw,tx=225682,rx=228104,role=master,fiber=0"
CONFIG_PORT11_PARAMS="name=wri11,proto=raw,tx=225968,rx=228600,role=master,fiber=0"
CONFIG_PORT12_PARAMS="name=wri12,proto=raw,tx=226137,rx=228733,role=master,fiber=0"
CONFIG_PORT13_PARAMS="name=wri13,proto=raw,tx=226259,rx=228899,role=master,fiber=0"
CONFIG_PORT14_PARAMS="name=wri14,proto=raw,tx=226426,rx=229102,role=master,fiber=0"
CONFIG_PORT15_PARAMS="name=wri15,proto=raw,tx=226740,rx=229506,role=master,fiber=0"
CONFIG_PORT16_PARAMS="name=wri16,proto=raw,tx=226882,rx=229594,role=master,fiber=0"
CONFIG_PORT17_PARAMS="name=wri17,proto=raw,tx=227016,rx=229740,role=master,fiber=0"
CONFIG_PORT18_PARAMS="name=wri18,proto=raw,tx=227248,rx=229932,role=master,fiber=0"
#
# SFP and Media Timing Configuration
#
CONFIG_SFP00_PARAMS="vn=Axcen Photonics,pn=AXGE-1254-0531,tx=0,rx=0,wl_txrx=1310+1490"
CONFIG_SFP01_PARAMS="vn=Axcen Photonics,pn=AXGE-3454-0531,tx=0,rx=0,wl_txrx=1490+1310"
CONFIG_SFP02_PARAMS="vn=APAC Opto,pn=LS38-C3S-TC-N-B9,tx=761,rx=557,wl_txrx=1310+1490"
CONFIG_SFP03_PARAMS="vn=APAC Opto,pn=LS48-C3S-TC-N-B4,tx=-29,rx=507,wl_txrx=1490+1310"
CONFIG_FIBER00_PARAMS="alpha_1310_1490=2.6787e-04"
If the version you are looking for is not on the least above, please check the default calibration values for old firmware releases.
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.
HW version | FW version | SFP | Δ TX | Δ RX | α | wrc# cmd; |
SPEC v4 | wrpc-v4.0 | AXGE-1254-0531 | 180667 | 148735 | 72169888 | sfp add AXGE-1254-0531 180667 148735 72169888 |
SPEC v4 | wrpc-v4.0 | AXGE-3454-0531 | 180667 | 148735 | -73685416 | sfp add AXGE-3454-0531 180667 148735 -73685416 |
SVEC | wrpc-v4.0 | AXGE-1254-0531 | 178446 | 152666 | 72169888 | sfp add AXGE-1254-0531 178446 152666 72169888 |
SVEC | wrpc-v4.0 | AXGE-3454-0531 | 178446 | 152666 | -73685416 | sfp add AXGE-3454-0531 178446 152666 -73685416 |
VFC-HD | wrpc-v4.0 | AXGE-1254-0531 | 187792 | -8140 | 72169888 | sfp add AXGE-1254-0531 187792 -8140 72169888 |
VFC-HD | wrpc-v4.0 | AXGE-3454-0531 | 187792 | -8140 | -73685416 | sfp add AXGE-3454-0531 187792 -8140 -73685416 |
SPEC v4 | wrpc-v3.0 | AXGE-1254-0531 | 180625 | 148451 | 72169888 | sfp add AXGE-1254-0531 180625 148451 72169888 |
SPEC v4 | wrpc-v3.0 | AXGE-3454-0531 | 180625 | 148451 | -73685416 | sfp add AXGE-3454-0531 180625 148451 -73685416 |
SPEC v4 | wrpc-v2.1 | AXGE-1254-0531 | 180707 | 148323 | 72169888 | sfp add AXGE-1254-0531 180707 148323 72169888 |
SPEC v4 | wrpc-v2.1 | AXGE-3454-0531 | 180707 | 148323 | -73685416 | sfp add AXGE-3454-0531 180707 148323 -73685416 |
If you are using the wr-nic release (included in the WR Starting Kit) please use the value in the table below:
HW version | FW version | SFP | Δ TX | Δ RX | α | wrc# cmd; |
SPEC v4 | wr-nic-v2.0 | AXGE-1254-0531 | 177648 | 150988 | 68930293 | sfp add AXGE-1254-0531 177648 150988 68930293 |
SPEC v4 | wr-nic-v2.0 | AXGE-3454-0531 | 181210 | 154818 | -66901714 | sfp add AXGE-3454-0531 181210 154818 -66901714 |
15 March 2017, Grzegorz Daniluk, Benoit Rat