SFF-8472 — SFP کی تشخیص
ہماری ٹیم ترجمے پر کام کر رہی ہے۔ یہ مضمون عارضی طور پر اردو میں دستیاب نہیں ہے، اس لیے اسے انگریزی میں دکھایا جا رہا ہے۔
SFF-8472, the Diagnostic Monitoring Interface for Optical Transceivers, is the management specification for every SFP-class module: SFP, SFP+, SFP28 and, with extended codes, SFP56. It grew out of the SFP MSA (INF-8074) serial ID block, kept that block byte-for-byte, and added a second memory device with real-time diagnostics. Copper SFPs, PON sticks, tunable DWDM SFP+ and DAC/AOC cable ends all present themselves through this specification. Revision history and the version byte: Specification revisions.
Two memory addresses
The module is read over the two-wire interface at two device addresses:
| Address | Device | Contents |
|---|---|---|
| A0h | serial ID EEPROM (256 bytes, flat) | identity: type, connector, compliance codes, rate, lengths, vendor block, options, checksums |
| A2h | diagnostics (128 bytes + paged upper half) | thresholds, calibration constants, live monitors, status/control, flags, user EEPROM, vendor pages |
Whether A2h exists at all is declared in A0h byte 92 bit 6. The default bus speed is 100 kHz. Byte-by-byte tables: Memory map quick reference.
A0h — identity in five blocks
| Bytes | Block | What lives there |
|---|---|---|
| 0–2 | Type | identifier (03h = SFP family, SFF-8024), extended identifier (04h = MOD_DEF 4, serial ID present), connector code |
| 3–10 | Compliance codes | bit fields for 10G Ethernet, InfiniBand, ESCON, SONET, 1G Ethernet, Fibre Channel length / technology / media / speed — decoded in Compliance codes |
| 11–19 | Signal & reach | encoding (11), nominal bit rate ×100 Mb/s (12), rate identifier for RS0/RS1 (13, see rate select), link lengths: SMF km (14), SMF ×100 m (15), OM2 ×10 m (16), OM1 ×10 m (17), OM4 ×10 m or copper metres (18), OM3 ×10 m (19) |
| 20–63 | Vendor & checksum | vendor name (20–35), extended compliance code from SFF-8024 (36), IEEE OUI (37–39), part number (40–55), revision (56–59), wavelength in nm or cable compliance/attenuation for copper (60–61), Fibre Channel speed 2 (62), CC_BASE (63) — see Vendor fields |
| 64–95 | Extended ID | options (64–65), max/min bit-rate margin % (66–67) or, when byte 12 = FFh, byte 66 is the rate in ×250 Mb/s, serial number (68–83), date code (84–91), diagnostic type (92), enhanced options (93), SFF-8472 compliance revision (94), CC_EXT (95) |
| 96–127 | Vendor specific | free for the manufacturer; often holds configuration or a signature |
| 128–255 | Reserved | reserved for SFF-8079 application-select tables |
Options bytes 64–65
| Byte.bit | Meaning when set |
|---|---|
| 64.5 | high power level declaration — level 3 (up to 2.0 W) |
| 64.4 | paging implemented — A2h byte 127 selects upper pages |
| 64.3 | retimer or CDR present |
| 64.2 | cooled transmitter |
| 64.1 | power level 2 (up to 1.5 W); clear = level 1 (1.0 W) |
| 64.0 | linear receiver output (for example 10GBASE-LRM) |
| 65.7 | receiver decision threshold implemented |
| 65.6 | tunable transmitter — see tunable maps |
| 65.5 | RATE_SELECT implemented |
| 65.4 | TX_DISABLE implemented |
| 65.3 | TX_FAULT implemented |
| 65.2 | LOS signal is inverted |
| 65.1 | LOS implemented |
Byte 92 — diagnostic monitoring type
| Bit | Meaning |
|---|---|
| 6 | digital diagnostics (A2h) implemented |
| 5 | internally calibrated — A2h monitors are already in physical units |
| 4 | externally calibrated — host must apply the constants at A2h 56–91 |
| 3 | received power measurement: 1 = average power, 0 = OMA |
| 2 | address change sequence required before A2h access (legacy) |
Exactly one of bits 5 and 4 should be set when bit 6 is set. What each mode means for the numbers you see: Calibration.
Byte 93 — enhanced options
Bit 7 alarm/warning flags implemented · 6 soft TX_DISABLE control · 5 soft TX_FAULT monitor · 4 soft RX_LOS monitor · 3 soft RATE_SELECT · 2 application select per SFF-8079 · 1 soft rate select per SFF-8431.
A2h — diagnostics in nine blocks
| Bytes | Block | Notes |
|---|---|---|
| 0–39 | Alarm & warning thresholds | five monitors × (high alarm, low alarm, high warning, low warning), 2 bytes each, same format as the live value — thresholds & alarms |
| 40–55 | Optional thresholds | laser temperature and TEC current (cooled/tunable modules) |
| 56–91 | Calibration constants | Rx_PWR(4..0) as 32-bit floats, Tx_I / Tx_PWR / T / V slope and offset; meaningful only when byte 92 bit 4 is set |
| 92–94 | Reserved | — |
| 95 | CC_DMI | checksum of A2h bytes 0–94 — Checksums |
| 96–105 | Real-time monitors | temperature (96–97), Vcc (98–99), Tx bias (100–101), Tx power (102–103), Rx power (104–105) |
| 106–109 | Optional monitors | laser temperature, TEC current |
| 110–118 | Status & control | byte 110 (below), alarm flags 112–113, warning flags 116–117, extended status/control 118 (soft RS1, power level state and select) |
| 119–126 | Vendor specific | in practice the password entry area on many controller-based modules (123–126) — see write-protection types |
| 127 | Page select | present when A0h byte 64 bit 4 is set |
| 128–255 | Upper pages | page 00h/01h: user EEPROM (128–247) and vendor control (248–255); page 02h: control functions, home of the SFF-8690 tunable registers; other pages vendor specific |
Monitor formats
| Monitor | Format | Unit |
|---|---|---|
| Temperature | signed 16-bit | 1/256 °C |
| Vcc | unsigned 16-bit | 100 µV |
| Tx bias | unsigned 16-bit | 2 µA |
| Tx power, Rx power | unsigned 16-bit | 0.1 µW (convert to dBm: 10·log10(µW/1000)) |
Conversions and worked examples: Units & conversions.
Byte 110 — status/control
| Bit | Meaning | Access |
|---|---|---|
| 7 | TX_DISABLE pin state | read |
| 6 | soft TX_DISABLE | read/write (if byte 93 bit 6) |
| 5 | RS1 pin state | read |
| 4 | RS0 pin state (rate select) | read |
| 3 | soft RS0 select | read/write |
| 2 | TX_FAULT state | read |
| 1 | RX_LOS state | read |
| 0 | data not ready (1 while monitors are still initialising) | read |
Copper and cable specifics
For passive and active copper (DAC), bytes 60–61 do not hold a wavelength: for passive cable byte 60 flags SFF-8431 Appendix E compliance; for active cable bits mark FC-PI-4 / SFF-8431 limiting or linear compliance. Byte 8 bits 2–3 mark passive/active cable technology and byte 18 carries the length in metres. Details: Copper Ethernet & DAC.
What hosts actually read
A typical switch reads A0h bytes 0–95 on insertion, verifies CC_BASE and CC_EXT, decodes the identifier, connector, compliance codes and rate, matches the vendor block against its policy, and only then polls A2h for DDM — usually every few seconds. The full sequence and its timings: What the host does. Mismatches between these fields and the real optics are the root of most speed & rate and vendor-lock tickets.
In CodingBox
CodingBox reads both A0h and A2h (including paged A2h when declared), labels every field of the tables above in the EEPROM editor, recalculates CC_BASE, CC_EXT and CC_DMI on write, applies internal or external calibration on the DDM screen and shows the decoded identity on Check transceiver.
Byte-by-byte and bit-by-bit tables of both devices: A0h register map, A2h register map.