User EEPROM
Standard SFF-8472 defines user EEPROM space at A2h, bytes 128..247.
Common-header
The following common header applies to all formats that are defined:
Address A2H
===========
+------+--------+--------------------+-------------------------------------------------------------+
| A2H | #Bytes | Name | Description |
+------+--------+--------------------+-------------------------------------------------------------+
| Page 00h |
+------+--------+--------------------+-------------------------------------------------------------+
| 128 | 2 | Magic/Format value | 16 bit magic/format value |
| 130 | 2 | Calibration date | The date of the calibration |
| 132 | 1 | Version | The version number of the calibration. Current version = 1 |
| 133 | 3 | OUI resp. | Organizationally Unique Identifier (Calibration responsible)|
| 136 | 112 | : | : |
+------+--------+--------------------+-------------------------------------------------------------+
- All 16, 24 and 32 bit values are stored in network byte order (big-endian).
Magic/Format number
Magic/Format number determines if user EEPROM space contains a valid
entry. The value determines the
format of the definition.
The following user space EEPROM formats are defined:
- 0xCA1B => 'CALB' Calibration EEPROM format
- 0x100B => 'LOOB' SFP-Loopback Module EEPROM format
Version
The version is the version of the calibration EEPROM format. For this specification it is 1
Calibration date
This is the date the calibration was executed. Format to be determined.
OUI resp.
The ID organization responsible for the calibration.
For now this is determined to be the OHWR vendor ID:
byte 0 1 2
+------+----------+----------+
| 0x00 | OHWR-MSB | OHWR-LSB |
+------+----------+----------+
Calibration-EEPROM-format
Address A2H
===========
+------+--------+-----------------+----------------------------------------------------------------+
| A2H | #Bytes | Name | Description |
+------+--------+-----------------+----------------------------------------------------------------+
| Page 00h |
| 128 | 8 | Common header | "Common header":User-EEPROM#Common-header (see above) |
| | | | |
| 136 | 4 | Elec Opt Dly | TX: Electric => Optical delay (q16.16, ps) |
| 140 | 4 | Opt Elec Dly | RX: Optical => Electric delay (q16.16, ps) |
| 144 | 4 | Rx_Pwr_Dly(0) | RX Optical power dependent delay, single precision float |
| 148 | 4 | Rx_Pwr_Dly(1) | RX Optical power dependent delay, single precision float |
| 152 | 4 | Rx_Pwr_Dly(2) | RX Optical power dependent delay, single precision float |
| 156 | 4 | Rx_Pwr_Dly(3) | RX Optical power dependent delay, single precision float |
| 160 | 4 | Rx_Pwr_Dly(4) | RX Optical power dependent delay, single precision float |
| 164 | 2 | T_Detun(Offset) | Temperature de-tuning, q7.8 |
| 166 | 2 | T_Detun(Slope) | Temperature de-tuning, q7.8 |
| 168 | 79 | reserved | All bytes 0xFF |
| 247 | 1 | CC_CALIB | Checkcode over bytes 128 to 246 |
+------+--------+-----------------+----------------------------------------------------------------+
Common header
This header is common for all format definitions. The header is defined here.
Elec Opt Dly
Fixed electric to optical (TX) delay, in picoseconds, using fixed point
16.16 format. This gives 1/2^16 picoseconds granularity and a range from
0..65ns.
Note: this format is conform the 32 least significant bits of the
UInteger64 specified for delays in the WR
Specification.
Opt Elc Dly
Optical to electrical delay (RX), in picoseconds, using fixed point
16.16 format. This gives 1/2^16 picoseconds granularity and a range from
0..65ns.
Note: this format is conform the 32 least significant bits of the
UInteger64 specified for delays in the WR
Specification.
Rx_Pwr_Dly
Rx power delay curve. Input is Rx_PWR (see SFF-8472, 9.3), which is the received power in uW, output is the delay in ps. For internally calibrated SFPs the fixed point ADC value must be converted to float first.
Rx_Pwr_Dly (ps) = Rx_Pwr_Dly(4) * Rx_PWR^4 (float) +
Rx_Pwr_Dly(3) * Rx_PWR^3 (float) +
Rx_Pwr_Dly(2) * Rx_PWR^2 (float) +
Rx_Pwr_Dly(1) * Rx_PWR^1 (float) +
Rx_Pwr_Dly(0)
T_Detun
Temperature dependent wavelength de-tuning, with respect to the specified wavelength.
Input is the calibrated temperature in fixed point 7.8 format. For internally calibrated this is the ADC value, for externally calibrated this is the output of the equation 1 from SFF-8472, 9.3. Output is fixed point 7.8 value in steps of 0.1nm. This means the detuning can range from -12.8nm up to 12.7nm, from the specified wavelength.
T_Detun (0.1nm) = T_Detun(Slope) * T(C) + T_Detun(Offset)
CC_CALIB
This check code is a one byte code that can be used to verify that the 119 bytes of calibration configuration data are correct. It uses byte 128 to 146 inclusive. (The same as all check codes, CC_*, from SFF-8472 )
SFP-Loopback-Module-EEPROM-format
Address A2H
===========
+------+--------+-----------------+----------------------------------------------------------------+
| A2H | #Bytes | Name | Description |
+------+--------+-----------------+----------------------------------------------------------------+
| Page 00h |
| 128 | 8 | Common header | "Common header":User-EEPROM#Common-header (see above) |
| | | | |
| 136 | 4 | Tx-to-Rx Dly | delay from looped back Tx to Rx port (q16.16, ps) |
| 140 | 4 | Tx-to-Out Dly | delay from Tx port to Output SMA (q16.16, ps) |
| 144 | 4 | Rx-to-Out Dly | delay from Tx port to Output SMA (q16.16, ps) |
| 148 | 99 | reserved | All bytes 0xFF |
| 247 | 1 | CC_CALIB | Checkcode over bytes 128 to 246 |
+------+--------+-----------------+----------------------------------------------------------------+
Common header
This header is common for all format definitions. The header is defined here.
Tx-to-Rx Dly
The SFP-Loopback module connects Tx and Rx ports on the electrical SFP
connector. Tx-to-Rx Dly is the fixed electric delay from Tx to Rx
port,
in picoseconds, using fixed point 16.16 format. This gives 1/2^16
picoseconds granularity and a range from 0..65ns.
Note: this format is conform the 32 least significant bits of the
UInteger64 specified for delays in the WR
Specification.
Tx-to-Out Dly
The SFP-Loopback module connects Tx and Rx ports on the electrical SFP
connector and has a spy on this loopback connection to the output SMA
connectors.
Tx-to-Out Dly is the fxed electric delay from Tx port to the SMA
outputs, in picoseconds, using fixed point 16.16 format. This gives
1/2^16 picoseconds
granularity and a range from 0..65ns.
Note: this format is conform the 32 least significant bits of the
UInteger64 specified for delays in the WR
Specification.
Rx-to-Out Dly
The SFP-Loopback module connects Tx and Rx ports on the electrical SFP
connector and has a spy on this loopback connection to the output SMA
connectors.
Rx-to-Out Dly is the fxed electric delay from Rx port to the SMA
outputs, in picoseconds, using fixed point 16.16 format. This gives
1/2^16 picoseconds
granularity and a range from 0..65ns.
Note: this format is conform the 32 least significant bits of the
UInteger64 specified for delays in the WR
Specification.
CC_CALIB
This check code is a one byte code that can be used to verify that the 119 bytes of calibration configuration data are correct. It uses byte 128 to 146 inclusive. (The same as all check codes, CC_*, from SFF-8472 )
Last updated: 16 Nov 2016