APPLICATION NOTE 4888

DS1876 Quick Reference Guide for the DS1876 SFP Controller

By: Hrishikesh Shinde

Abstract: The DS1876 SFP controller with dual LDD interface allows various programming options required to configure the alarms, warnings, look-up tables (LUTs), and other functions. This customization necessitates a large register memory map. The application note provides an alternate view of the register map, which is convenient when programming the device.

Memory Map of the DS1876

The Main Device located at A2h is used for overall device configuration and transmitter 1 control, calibration, alarms, warnings, and monitoring.
  • Lower Memory, A2h is addressed from 00h to 7Fh and contains alarm and warning thresholds, flags, masks, several control registers, password entry area (PWE), and the Table Select byte.
  • Table 01h, A2h primarily contains user EEPROM (with PW1 level access) as well as alarm and warning enable bytes.
  • Table 02h, A2h/B2h is a multifunction space that contains configuration registers, scaling and offset values, passwords, interrupt registers as well as other miscellaneous control bytes. All functions and status can be written and read from either A2h or B2h addresses.
  • Table 04h, A2h contains a temperature-indexed look-up table (LUT) for control of the MOD1 voltage. The MOD1 LUT can be programmed in 2°C increments over the -40°C to +102°C range. This table also contains a temperature-indexed LUT for the MOD1 offsets.
  • Table 05h, A2h is empty by default. It can be configured to contain the alarm and warning enable bytes from Table 01h, Registers F8h-FFh with the MASK bit enabled (Table 02h, Register 89h). In this case Table 01h will be empty.
  • Table 06h, A2h contains a temperature-indexed LUT for control of the APC1 voltage. The APC1 LUT can be programmed in 2°C increments over the -40°C to +102°C range. This also contains a temperature-indexed LUT for the APC1 offsets.
The Main Device located at B2h is used for transmitter 2 control, calibration, alarms, warnings, and monitoring.
  • Lower Memory, B2h is addressed from 00h to 7Fh and contains alarm and warning thresholds, flags, masks, several control registers, password entry area (PWE), and the Table Select byte.
  • Table 01h, B2h contains alarm and warning enable bytes.
  • Table 04h, B2h contains a temperature-indexed LUT for control of the MOD2 voltage. The MOD2 LUT can be programmed in 2°C increments over the -40°C to +102°C range. This table also contains a temperature-indexed LUT for the MOD2 offsets.
  • Table 05h, B2h is empty by default. It can be configured to contain the alarm and warning enable bytes from Table 01h, Registers F8h-FFh with the MASK bit enabled (Table 02h, Register 89h). In this case Table 01h will be empty.
  • Table 06h, B2h contains a temperature-indexed LUT for control of the APC2 voltage. The APC2 LUT can be programmed in 2°C increments over the -40°C to +102°C range. This also contains a temperature-indexed LUT for the APC2 offsets.
  • Auxiliary memory (Device A0h) contains 256 bytes of EE memory accessible from address 00h–FFh. It is selected with the device address of A0h.
Refer to the tables below for a more complete detail of each byte's function, as well as for Read/Write permissions for each Byte.

Shadowed EEPROM

Many nonvolatile (NV) memory locations (listed in the Register references section below) are actually Shadowed EEPROM and are controlled by the SEEB bit in Table 02h, Register 80h.

The DS1876 incorporates Shadowed EEPROM memory locations for key memory addresses that can be written many times. By default, the Shadowed EEPROM bit, SEEB, is not set and these locations act as ordinary EEPROM. By setting SEEB, these locations function like SRAM cells which allow an infinite number of write cycles without concern for wearing out the EEPROM. This functionality also eliminates the requirement for the EEPROM write time, tWR. Because changes made with SEEB enabled do not affect the EEPROM, these changes are not retained through power cycles. The power-on value is the last value written with SEEB disabled. This function can be used to limit the number of EEPROM writes during calibration or to change the monitor thresholds periodically during normal operation, thus helping to reduce the number of times that EEPROM is written. The memory map description indicates which locations are Shadowed EEPROM.

DS1876 Memory Map

DS1876 memory map

Register Reference

The following tables provide an easy reference to the Lower Memory and Tables 00h, 01h and 02h. For a description of the functionality for each bit, please refer to the corresponding register in the data sheet. Tables 04h through 08h are LUTs that do not require a separate reference and, thus, not included here. Please refer to the data sheet for detailed information about these tables. Rows with values that are common to the A2h and B2h device address are marked in green. Those rows with values that are different for A2h and B2h device address are marked in red. Rows that are mixed A2h and B2h accessible are marked in yellow.

Note: RSVD is used as an acronym for reserved.

Lower Memory
Register Name Register Addr (h) Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
TEMP ALARM HI
TEMP WARN HI
00, 04 S 26 25 24 23 22 21 20
01, 05 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8
TEMP ALARM LO
TEMP WARN LO
02, 06 S 26 25 24 23 22 21 20
03, 07 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8
VCC ALARM HI
VCC WARN HI
08, 0C 215 214 213 212 211 210 29 28
09, 0D 27 26 25 24 23 22 21 20
BMON ALARM HI
PMON ALARM HI
BMON WARN HI
PMON WARN HI
10, 14, 18, 1C 215 214 213 212 211 210 29 28
11, 15, 19, 1D 27 26 25 24 23 22 21 20
VCC ALARM LO
VCC WARN LO
0A, 0E 215 214 213 212 211 210 29 28
0B, 0F 27 26 25 24 23 22 21 20
BMON ALARM LO
PMON ALARM LO
BMON WARN LO
PMON WARN LO
12, 16, 1A, 1E 215 214 213 212 211 210 29 28
13, 17, 1B, 1F 27 26 25 24 23 22 21 20
PW2 EE 20–47 EE EE EE EE EE EE EE EE
PW2 EE 48–57 EE EE EE EE EE EE EE EE
PW2 EE 58–5F EE EE EE EE EE EE EE EE
TEMP VALUE 60 S 26 25 24 23 22 21 20
61 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8
VCC VALUE 62 215 214 213 212 211 210 29 28
63 27 26 25 24 23 22 21 20
BMON VALUE
PMON VALUE
64, 66 215 214 213 212 211 210 29 28
65, 67 27 26 25 24 23 22 21 20
RESERVED 68–6D 0 0 0 0 0 0 0 0
STATUS 6E <D>TXDS <D>TXDC <C>IN1S <C>RSELS <C>RSELC <D>TXFS <D>RAM <C>RDYB
UPDATE 6F TEMP RDY VCC RDY BMON RDY PMON RDY RSVD RSVD RSVD RSVD
ALARM3 70 TEMP HI TEMP LO VCC HI VCC LO BMON HI BMON LO PMON HI PMON LO
ALARM2 71 RSVD RSVD RSVD RSVD RSVD TXFOUTS FETG TXFINT
ALARM1 72 RSVD RSVD RSVD RSVD HBAL RSVD TXP HI TXP LO
RESERVED 73 RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
WARN3 74 TEMP HI TEMP LO VCC HI VCC LO BMON HI BMON LO PMON HI PMON LO
RESERVED 75 RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
RESERVED 76–7A RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
PASSWORD
ENTRY
7B 231 230 229 228 227 226 225 224
7C 223 222 221 220 219 218 217 216
7D 215 214 213 212 211 210 29 28
7E 27 26 25 24 23 22 21 20
TABLE SELECT 7F 27 26 25 24 23 22 21 20

Table 01h
Register Name Address Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
EEPROM 80–F7 EE EE EE EE EE EE EE EE
ALARM EN3 F8 <C>TEMP HI <C>TEMP LO <C>VCC HI <C>VCC LO <D>BMON HI <D>BMON LO <D>PMON HI <D>PMON LO
RESERVED F9 RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
ALARM EN1 FA RSVD RSVD RSVD RSVD HBAL RSVD TXP HI TXP LO
RESERVED FB RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
WARN EN3 FC <C>TEMP HI <C>TEMP LO <C>VCC HI <C>VCC LO <D>BMON HI <D>BMON LO <D>PMON HI <D>PMON LO
RESERVED FD–FF RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD

Table 02h
Register Name Address Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
MODE 80H SEEB MOD2 EN QT2 EN APC2 EN AEN MOD1 EN QT1 EN APC1 EN
T INDEX 81h 27 26 25 24 23 22 21 20
RESERVED 82–85 RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
DEVICE ID 86 0 1 1 1 0 0 1 1
DEVICE VER 87
DEVICE VERSION
CNFGA 88 QTHEXT2 QTHEXT1 RSVD ASEL MASK INVRSOUT INVTXFOUT2 INVTXFOUT1
CNFGB 89 IN1C INVOUT1 ALATCH2 QTLATCH2 WLATCH2 ALATCH1 QTLATCH1 WLATCH1
CNFGC 8A TXDFG2 TXDFLT2 TXDIO2 TXDFG1 TXDFLT1 TXDIO1 RSVD RSVD
DEVICE ADDR 8B 27 26 25 24 23 22 21 20
RANGING2 8C RSVD HBIAS22 HBIAS21 HBIAS20 RSVD TXP22 TXP21 TXP20
RANGING1 8D RSVD HBIAS12 HBIAS11 HBIAS10 RSVD TXP12 TXP11 TXP10
RIGHT SHIFT2 8E RSVD BMON22 BMON21 BMON20 RSVD PMON22 PMON21 PMON20
RIGHT SHIFT2 8F RSVD BMON12 BMON11 BMON10 RSVD PMON12 PMON11 PMON10
RESERVED 90–91 RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
VCC SCALE
BMON2 SCALE
PMON2 SCALE
BMON1 SCALE
PMON1 SCALE
92, 98, 9A, 9C, 9E 215 214 213 212 211 210 29 28
93, 99, 9B, 9D, 9F 27 26 25 24 23 22 21 20
RESERVED 94–97 RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
INTERNAL TEMP OFFSET A0 S 28 27 26 25 24 23 22
A1 21 20 2-1 2-2 2-3 2-4 2-5 2-6
VCC OFFSET
BMON2 OFFSET
PMON2 OFFSET
BMON1 OFFSET
PMON1 OFFSET
A2, A8, AA, AC, AE S S 215 214 213 212 211 210
A3, A9, AB, AD, AF 29 28 27 26 25 24 23 22
RESERVED A4–A7 RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
PW1 B0 231 230 229 228 227 226 225 224
B1 223 222 221 220 219 218 217 216
B2 215 214 213 212 211 210 29 28
B3 27 26 25 24 23 22 21 20
PW2 B4 231 230 229 228 227 226 225 224
B5 223 222 221 220 219 218 217 216
B6 215 214 213 212 211 210 29 28
B7 27 26 25 24 23 22 21 20
RESERVED B8 RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
HBIAS2 DAC B9 27 26 25 24 23 22 21 20
HTXP2 DAC BA 27 26 25 24 23 22 21 20
LTXP2 DAC BB 27 26 25 24 23 22 21 20
RESERVED BC RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
HBIAS1 DAC BD 27 26 25 24 23 22 21 20
HTXP1 DAC BE 27 26 25 24 23 22 21 20
LTXP1 DAC BF 27 26 25 24 23 22 21 20
PW_ENA C0 RSVD RWTBL1C RWTBL2 RWTBL1A RWTBL1B WLOWER WAUXA WAUXB
PW_ENB C1 RWTBL46 RTBL1C RTBL2 RTBL1A RTBL1B WPW1 WAUXAU WAUXBU
RESERVED C2–C5 RSVD RSVD RSVD RSVD RSVD RSVD RSVD RSVD
POLARITY C6 RSVD RSVD RSVD RSVD MOD2P APC2P MOD1P APC1P
TBLSELPON C7 27 26 25 24 23 22 21 20
MOD2 DAC C8 0 0 0 0 0 0 29 28
C9 27 26 25 24 23 22 21 20
APC2 DAC CA 0 0 0 0 0 0 29 28
CB 27 26 25 24 23 22 21 20
MOD1 DAC CC 0 0 0 0 0 0 29 28
CD 27 26 25 24 23 22 21 20
APC1 DAC CE 0 0 0 0 0 0 29 28
CF 27 26 25 24 23 22 21 20
EMPTY D0–FF
EMPTY