CodingBox Tài liệu

SFF-8472 — SFP diagnostics

Đội ngũ của chúng tôi đang thực hiện bản dịch. Bài viết này tạm thời chưa có bản tiếng Việt và đang được hiển thị bằng tiếng Anh.

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:

AddressDeviceContents
A0hserial ID EEPROM (256 bytes, flat)identity: type, connector, compliance codes, rate, lengths, vendor block, options, checksums
A2hdiagnostics (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

BytesBlockWhat lives there
0–2Typeidentifier (03h = SFP family, SFF-8024), extended identifier (04h = MOD_DEF 4, serial ID present), connector code
3–10Compliance codesbit fields for 10G Ethernet, InfiniBand, ESCON, SONET, 1G Ethernet, Fibre Channel length / technology / media / speed — decoded in Compliance codes
11–19Signal & reachencoding (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–63Vendor & checksumvendor 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–95Extended IDoptions (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–127Vendor specificfree for the manufacturer; often holds configuration or a signature
128–255Reservedreserved for SFF-8079 application-select tables

Options bytes 64–65

Byte.bitMeaning when set
64.5high power level declaration — level 3 (up to 2.0 W)
64.4paging implemented — A2h byte 127 selects upper pages
64.3retimer or CDR present
64.2cooled transmitter
64.1power level 2 (up to 1.5 W); clear = level 1 (1.0 W)
64.0linear receiver output (for example 10GBASE-LRM)
65.7receiver decision threshold implemented
65.6tunable transmitter — see tunable maps
65.5RATE_SELECT implemented
65.4TX_DISABLE implemented
65.3TX_FAULT implemented
65.2LOS signal is inverted
65.1LOS implemented

Byte 92 — diagnostic monitoring type

BitMeaning
6digital diagnostics (A2h) implemented
5internally calibrated — A2h monitors are already in physical units
4externally calibrated — host must apply the constants at A2h 56–91
3received power measurement: 1 = average power, 0 = OMA
2address 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

BytesBlockNotes
0–39Alarm & warning thresholdsfive monitors × (high alarm, low alarm, high warning, low warning), 2 bytes each, same format as the live value — thresholds & alarms
40–55Optional thresholdslaser temperature and TEC current (cooled/tunable modules)
56–91Calibration constantsRx_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–94Reserved
95CC_DMIchecksum of A2h bytes 0–94 — Checksums
96–105Real-time monitorstemperature (96–97), Vcc (98–99), Tx bias (100–101), Tx power (102–103), Rx power (104–105)
106–109Optional monitorslaser temperature, TEC current
110–118Status & controlbyte 110 (below), alarm flags 112–113, warning flags 116–117, extended status/control 118 (soft RS1, power level state and select)
119–126Vendor specificin practice the password entry area on many controller-based modules (123–126) — see write-protection types
127Page selectpresent when A0h byte 64 bit 4 is set
128–255Upper pagespage 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

MonitorFormatUnit
Temperaturesigned 16-bit1/256 °C
Vccunsigned 16-bit100 µV
Tx biasunsigned 16-bit2 µA
Tx power, Rx powerunsigned 16-bit0.1 µW (convert to dBm: 10·log10(µW/1000))

Conversions and worked examples: Units & conversions.

Byte 110 — status/control

BitMeaningAccess
7TX_DISABLE pin stateread
6soft TX_DISABLEread/write (if byte 93 bit 6)
5RS1 pin stateread
4RS0 pin state (rate select)read
3soft RS0 selectread/write
2TX_FAULT stateread
1RX_LOS stateread
0data 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.


Nếu bạn phát hiện thông tin chưa chính xác hoặc lỗi trong bài viết này, hãy chọn đoạn liên quan và nhấn Ctrl+Enter để .