The DS1876 controls and monitors all functions for
dual transmitter modules. The memory map is based
on SFF-8472. The DS1876 supports APC and modulation control and eye safety functionality for two laser
drivers. It continually monitors for high output current,
high bias current, and low and high transmit power to
ensure that laser shutdown for eye safety requirements
are met without adding external components. Six ADC
channels monitor VCC, temperature, and four external
monitor inputs that can be used to meet all monitoring
requirements.
Applications
Dual Tx Video SFP Modules
Ordering Information
PARTTEMP RANGEPIN-PACKAGE
DS1876T+
DS1876T+T&R
+Denotes a lead(Pb)-free/RoHS-compliant package.
T&R = Tape and reel.
*EP = Exposed pad.
-40NC to +95NC
-40NC to +95NC
28 TQFN-EP*
28 TQFN-EP*
Features
S Meets All SFF-8472 Transmitter Control and
Monitoring Requirements
S Six Analog Monitor Channels: Temperature, V
PMON1, BMON1, PMON2, BMON2
PMON_ and BMON_ Support Internal and
External Calibration
Scalable Dynamic RangeInternal Direct-to-Digital Temperature SensorAlarm and Warning Flags for All Monitored
Voltage Range on PMON_, BMON_, RSEL,
IN1, TXF_, and TXD_ Pins
Relative to Ground ...............................-0.5V to (VCC + 0.5V)*
Voltage Range on VCC, SDA, SCL,
OUT1, RSELOUT, and TXFOUT Pins
Relative to Ground ...............................................-0.5V to +6V
*Subject to not exceeding +6V.
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect device reliability.
Note 1: All voltages are referenced to ground. Current into the IC is positive, and current out of the IC is negative.
Note 2: Inputs are at supply rail. Outputs are not loaded.
Note 3: This parameter is guaranteed by design.
Note 4: Full scale is user programmable.
Note 5: A temperature conversion is completed and MOD1 DAC, MOD2 DAC, APC1 DAC, and APC2 DAC values are recalled
from the LUT and VCC has been measured to be above VCC LO alarm, if the VCC LO alarm is enabled.
Note 6: I2C interface timing shown is for fast-mode (400kHz) operation. This device is also backward compatible with I2C stan-
dard mode.
Note 7: CB—Total capacitance of one bus line in pF.
Note 8: EEPROM write begins after a STOP condition occurs.
The DS1876 integrates the control and monitoring functionality required in a dual transmitter system. Key components of the DS1876 are shown in the Block Diagram
and described in subsequent sections.
DACs During Power-Up
On power-up, the DS1876 sets the DACs to high impedance. After time t
, the DACs are set to an initial condition
INIT
set in EEPROM. After a temperature conversion is completed and if the VCC LO alarm is enabled, an additional
VCC conversion above the customer-defined VCC LO
alarm level is required before the DACs are updated with
the value determined by the temperature conversion and
the DAC LUT.
If a fault is detected, and TXD1 and TXD2 are toggled
to re-enable the outputs, the DS1876 powers up following a similar sequence to an initial power-up. The
ADCAnalog-to-Digital Converter
AGCAutomatic Gain Control
APCAutomatic Power Control
APDAvalanche Photodiode
ATBAlarm Trap Bytes
DACDigital-to-Analog Converter
LOSLoss of Signal
LUTLookup Table
NVNonvolatile
QTQuick Trip
TETracking Error
TIATransimpedance Amplifier
ROSAReceiver Optical Subassembly
SEEShadowed EEPROM
SFFSmall Form Factor
SFF-8472
SFPSmall Form Factor Pluggable
SFP+Enhanced SFP
TOSATransmit Optical Subassembly
TXPTransmit Power
Document Defining Register Map of SFPs
and SFFs
only difference is that the DS1876 already has determined the present temperature, so the t
time is not
INIT
required for the DS1876 to recall the APC and MOD
set points from EEPROM. See Figure 1.
DACs as a Function of Transmit Disable
(TXD1, TXD2)
If TXD1 or TXD2 are asserted (logic 1) during normal
operation, the associated outputs are disabled within
t
. When TXD1 or TXD2 are deasserted (logic 0), the
OFF
DS1876 sets the DACs with the value associated with
the present temperature. When asserted, soft TXD1 or
soft TXD2 (TXDC) (Lower Memory, Register 6Eh) would
allow a software control identical to the TXD1 or TXD2 pin
(Figure 2). The POLARITY register (Table 02h, Register
C6h) determines if the off-state value of the DACs is
V
or 0V.
REFIN
Quick-Trip Timing
As shown in Figure 3, the DS1876’s input comparator is shared among the six quick-trip alarms (TXP1
HI, TXP1 LO, TXP2 HI, TXP2 LO, BIAS1 HI, and BIAS2
HI). The comparator polls the alarms in a multiplexed
sequence. The updates are used to compare the HTXP1,
LTXP1, HTXP2, and LTXP2 (monitor diode voltages) and
the HBATH1 and HBATH2 (BMON1, BMON2) signals
against the internal APC and BIAS reference, respectively. Depending on the results of the comparison, the
Temperature (NC)
VCC (V)6.5528FFF800000
PMON1, PMON2 and BMON1, BMON2 (V)2.4997FFF800000
corresponding alarms and warnings (TXP HI1, TXP LO1,
TXP HI2, TXP LO2, BIAS HI1, and BIAS HI2) are asserted
or deasserted.
After resetting, the device completes one QT cycle
before making comparisons. The TXP LO quick-trip
alarm updates its alarm bit, but does not create FETG
until after TXD
figured to wait for TXD
. TXP HI and BIAS HI can also be con-
EXT
; however, this can be disabled
EXT
using QTHEXT_ (Table 02h, Register 88h).
Monitors and Fault Detection
Monitoring functions on the DS1876 include six quicktrip comparators and six ADC channels. This monitoring
combined with the alarm enables (Table 01h/05h) determines when/if the DS1876 turns off DACs and triggers
the TXFOUT and TXDOUT1, TXDOUT2 outputs. All the
monitoring levels and interrupt masks are user programmable.
Six Quick-Trip Monitors and Alarms
Six quick-trip monitors are provided to detect potential
laser safety issues and LOS status. These monitor the
following:
1) High Bias Current 1 (HBATH1), causing QT BIAS1 HI
2) Low Transmit Power 1 (LTXP1), causing QT TXP1 LO
3) High Transmit Power 1 (HTXP1), causing QT TXP1 HI
4) High Bias Current 2 (HBATH2), causing QT BIAS2 HI
5) Low Transmit Power 2 (LTXP2), causing QT TXP2 LO
6) High Transmit Power 2 (HTXP2), causing QT TXP2 HI
127.9967FFF-1288000
The high and low transmit power quick-trip registers
(HTXP1, HTXP2, LTXP1, and LTXP2) set the thresholds
used to compare against the PMON1 and PMON2 voltages to determine if the transmit power is within specification. The HBATH1 and HBATH2 QTs compare the
BMON1 and BMON2 inputs (generally from the laser
driver’s bias monitor output) against their threshold settings to determine if the present bias current is above
specification. The bias and power QTs are routed to
FETG through interrupt masks to allow combinations
of these alarms to be used to trigger FETG. The bias
Monitors
and power QTs are directly connected to TXFOUT (see
Figure 9). The user can program up to eight different
temperature-indexed threshold levels for HBATH1 and
HBATH2 (Table 06h, Registers E0h-E7h).
Six ADC Monitors and Alarms
The ADC monitors six channels that measure temperature (internal temp sensor), VCC, PMON1, PMON2,
BMON1, and BMON2 using an analog multiplexer to
measure them round-robin with a single ADC (see the
ADC Timing section). The channels have a customerprogrammable full-scale range, and all channels have a
customer-programmable offset value that is factory programmed to a default value (see Table 2). Additionally,
PMON1, PMON2 and BMON1, BMON2 can right-shift
results by up to 7 bits before the results are compared
to alarm thresholds or read over the I2C bus. This allows
customers with specified ADC ranges to calibrate the
ADC full scale to a factor of 1/2n of their specified range
to measure small signals. The DS1876 can then rightshift the results by n bits to maintain the bit weight of their
specification.
The ADC results (after right-shifting, if used) are compared to the alarm and warning thresholds after each
conversion, and the corresponding alarms are set that
can be used to trigger the TXFOUT output. These ADC
thresholds are user programmable, as are the masking
registers that can be used to prevent the alarms from triggering the TXFOUT output.
ADC Timing
There are six analog channels that are digitized in a
round-robin fashion in the order as shown in Figure 4.
The total time required to convert all six channels is tRR
(see the Analog Voltage Monitoring Characteristics table
for details).
Right-Shifting ADC Result
If the weighting of the ADC digital reading must conform
to a predetermined full-scale (PFS) value defined by
a standard’s specification (e.g., SFF-8472), then rightshifting can be used to adjust the PFS analog measurement range while maintaining the weighting of the ADC
results. The DS1876’s range is wide enough to cover all
requirements; when the maximum input value is P 1/2
the FS value, right-shifting can be used to obtain greater
accuracy. For instance, the maximum voltage might be
1/8 the specified PFS value, so only 1/8 of the converter’s
range is effective over this range. An alternative is to calibrate the ADC’s full-scale range to 1/8 the readable PFS
value and use a right-shift value of 3. With this implementation, the resolution of the measurement is increased by
a factor of 8, and because the result is digitally divided
by 8 by right-shifting, the bit weight of the measurement
still meets the standard’s specification (i.e., SFF-8472).
The right-shift operation on the ADC result is carried
out based on the contents of right-shift control registers
(Table 02h, Registers 8Eh-8Fh) in EEPROM. Four analog
channels—PMON1, PMON2, BMON1, and BMON2—
each have 3 bits allocated to set the number of right-
shifts. Up to seven right-shift operations are allowed and
DS1876
are executed as a part of every conversion before the
results are compared to the high and low alarm levels, or
loaded into their corresponding measurement registers
(Lower Memory, Registers 64h–6Bh). This is true during
the setup of internal calibration as well as during subsequent data conversions.
Low-Voltage Operation
The DS1876 contains two power-on reset (POR) levels.
The lower level is a digital POR (POD) and the higher
level is an analog POR (POA). At startup, before the supply voltage rises above POA, the outputs are disabled,
all SRAM locations are set to their defaults, shadowed
EEPROM (SEE) locations are zero, and all analog circuitry is disabled. When VCC reaches POA, the SEE is
recalled, and the analog circuitry is enabled. While VCC
remains above POA, the device is in its normal operating
state, and it responds based on its nonvolatile configuration. If during operation VCC falls below POA, but is
still above POD, the SRAM retains the SEE settings from
the first SEE recall, but the device analog is shut down
and the outputs disabled. If the supply voltage recovers
back above POA, the device immediately resumes normal operation. If the supply voltage falls below POD, the
device SRAM is placed in its default state and another
SEE recall is required to reload the nonvolatile settings.
The EEPROM recall occurs the next time VCC next
exceeds POA. Figure 5 shows the sequence of events
as the voltage varies.
Any time VCC is above POD, the I2C interface can be
used to determine if VCC is below the POA level. This
is accomplished by checking the RDYB bit in the status
byte (Lower Memory, Register 6Eh). RDYB is set when
VCC is below POA; when VCC rises above POA, RDYB
is timed (within 500Fs) to go to 0, at which point the part
is fully functional.
ONE ROUND-ROBIN ADC CYCLE
TEMPV
NOTE: IF THE VCC LO ALARM IS ENABLED AT POWER-UP, THE ADC ROUND-ROBIN TIMING CYCLES BETWEEN TEMPERATURE AND VCC ONLY UNTIL VCC IS ABOVE THE VCC LO
ALARM THRESHOLD. THIS ALSO OCCURS IF THERE ARE BOTH A TXD1 EVENT AND A TXD2 EVENT UNDER THE SAME CONDITIONS AS PREVIOUSLY MENTIONED.
Figure 6. Recommended RC Filter for DAC Outputs in Voltage
Mode and Current Sink Mode
For all device addresses sourced from EEPROM (Table
02h, Register 8Bh), the default device addresses are
A2h and B2h until VCC exceeds POA allowing the device
address to be recalled from the EEPROM.
Delta-Sigma Outputs
Four delta-sigma outputs are provided: MOD1, MOD2,
APC1, and APC2. With the addition of an external RC
filter, these outputs provide 10-bit resolution analog
outputs with the full-scale range set by the input REFIN.
Each output is either manually controlled or controlled
using a temperature-indexed LUT.
PRECHARGED TO 0
VOLTAGE OUTPUT
CURRENT SINK
2kΩ
A delta-sigma DAC has a digital output using pulsedensity modulation. It provides much lower output ripple
than a standard digital PWM output given the same clock
rate and filter components. Before t
are high impedance. The external RC filter components
are chosen based on ripple requirements, output load,
delta-sigma frequency, and desired response time.
Figure 6 shows a recommended filter.
For illustrative purposes, a 3-bit example is provided in
Figure 7.
In LUT mode the DACs are each controlled by an LUT
with high-temperature resolution and an OFFSET LUT
with lower temperature resolution. The high-resolution
LUTs each have 2NC resolutions. The OFFSET LUTs
are located in the upper eight registers (F8h-FFh) of
the table containing each high-resolution LUT. The DAC
values are determined as follows:
DAC value = LUT + 4 x (OFFSET LUT)
An example calculation for MOD1 DAC is as follows:
REFIN and its decoupling must be able to support the
edge rate requirements of the delta-sigma outputs. In
a typical application, a 0.1FF capacitor should be connected between REFIN and ground.
Six digital input pins and five digital output pins are provided for monitoring and control.
IN1, RSEL, OUT1, RSELOUT
Digital input pins IN1 and RSEL primarily serve to meet
the rate-select requirements of SFP and SFP+. They
can also serve as general-purpose inputs. OUT1 and
RSELOUT are driven by a combination of the IN1, RSEL,
and logic dictated by control registers in the EEPROM
(see Figure 10). The levels of IN1 and RSEL can be
read from the STATUS register (Lower Memory, Register
6Eh). The open-drain output OUT1 can be controlled
and/or inverted using the CNFGB register (Table 02h,
TXFINT
TXFOUTS1
TXFOUTS2
POWER-ON
RESET
INVTXF_
TXF_
NOTE:
_ CAN BE EITHER 1 OR 2 CORRESPONDING TO TRANSMITTERS 1 OR 2.
REFERS TO A PIN.
TXFS_
Register 89h). The open-drain RSELOUT output is
software controlled and/or inverted through the STATUS
register and CNFGA register (Table 02h, Register 88h).
External pullup resistors must be provided on OUT1 and
RSELOUT to realize high logic levels.
TXF1, TXF2, TXFOUT, TXD1, TXD2,
TXDOUT1, TXDOUT2
TXDOUT1 and TXDOUT2 are generated from a combination of TXF1, TXF2, TXD1, TXD2, and the internal
signals FETG1 and FETG2 (Table 02h, Register 8Ah). A
software control identical to TXD1 and TXD2 is also available (TXDC1 and TXDC2, Lower Memory, Register 6Eh).
A TXD1 or TXD2 pulse is internally extended (TXD
by time t
to inhibit the latching of low alarms and
INITR1
warnings related to the APC loop to allow for the loop to
stabilize. The nonlatching alarms and warnings are TXP
LO, BMON1 LO, BMON2 LO, PMON1 LO, and PMON2
LO. In addition, TXP LO is disabled from creating FETG.
See the Transmit Fault (TXFOUT) Output section for a
detailed explanation of TXFOUT. As shown in Figure 9,
the same signals and faults can also be used to generate the internal signal FETG. FETG is used to send a fast
“turn-off” command to the laser driver. The intended use
is a direct connection to the laser driver’s TXD1, TXD2
input if this is desired. When VCC < POA, TXDOUT1 and
TXDOUT2 are high impedance.
TXFOUT can be triggered by all alarms, warnings, QTs,
TXD1, TXD2, TXF1, and TXF2 (see Figure 9). The six
ADC alarms and warnings are controlled by enable bits
(Table 01h/05h, Registers F8h and FCh). See Figures
11a and 11b for nonlatched and latched operation for
TXFOUT. The CNFGB register (Table 02h, Register 89h)
controls the latching of the alarms.
Die Identification
The DS1876 has an ID hardcoded in its memory. Two
registers (Table 02h, Registers 86h-87h) are assigned
for this feature. Register 86h reads 76h to identify the
part as the DS1876; Register 87h reads the present
device version.
I2C Communication
I2C Definitions
The following terminology is commonly used to describe
I2C data transfers.
Master Device: The master device controls the slave
devices on the bus. The master device generates SCL
clock pulses and START and STOP conditions.
Slave Devices: Slave devices send and receive data
at the master’s request.
Bus Idle or Not Busy: Time between STOP and
START conditions when both SDA and SCL are inactive and in their logic-high states.
START Condition: A START condition is generated
by the master to initiate a new data transfer with a
slave. Transitioning SDA from high to low while SCL
remains high generates a START condition. See
Figure 12 for applicable timing.
STOP Condition: A STOP condition is generated
by the master to end a data transfer with a slave.
Transitioning SDA from low to high while SCL remains
high generates a STOP condition. See Figure 12 for
applicable timing.
Repeated START Condition: The master can use
a repeated START condition at the end of one data
transfer to indicate that it will immediately initiate a
new data transfer following the current one. Repeated
STARTs are commonly used during read operations
to identify a specific memory address to begin a data
transfer. A repeated START condition is issued identically to a normal START condition. See Figure 12 for
applicable timing.
Bit Write: Transitions of SDA must occur during the
low state of SCL. The data on SDA must remain valid
and unchanged during the entire high pulse of SCL
plus the setup and hold time requirements (Figure 12).
Data is shifted into the device during the rising edge
of the SCL.
Bit Read: At the end of a write operation, the master
must release the SDA bus line for the proper amount
of setup time (Figure 12) before the next rising edge
of SCL during a bit read. The device shifts out each
bit of data on SDA at the falling edge of the previous
SCL pulse and the data bit is valid at the rising edge
of the current SCL pulse. Remember that the master
generates all SCL clock pulses, including when it is
reading bits from the slave.
DS1876
Acknowledgement (ACK and NACK): An acknowledgement (ACK) or not-acknowledge (NACK) is
always the 9th bit transmitted during a byte transfer.
The device receiving data (the master during a read
or the slave during a write operation) performs an ACK
by transmitting a zero during the 9th bit. A device performs a NACK by transmitting a one during the 9th bit.
Timing (Figure 12) for the ACK and NACK is identical
to all other bit writes. An ACK is the acknowledgment
that the device is properly receiving data. A NACK is
used to terminate a read sequence or as an indication
that the device is not receiving data.
Byte Write: A byte write consists of 8 bits of information transferred from the master to the slave (most
significant bit first) plus a 1-bit acknowledgement from
the slave to the master. The 8 bits transmitted by the
master are done according to the bit write definition
and the acknowledgement is read using the bit read
definition.
Byte Read: A byte read is an 8-bit information transfer
from the slave to the master plus a 1-bit ACK or NACK
from the master to the slave. The 8 bits of information
that are transferred (most significant bit first) from the
slave to the master are read by the master using the
bit read definition, and the master transmits an ACK
using the bit write definition to receive additional data
bytes. The master must NACK the last byte read to
terminate communication so the slave returns control
of SDA to the master.
Slave Address Byte: Each slave on the I2C bus
responds to a slave address byte sent immediately
following a START condition. The slave address byte
contains the slave address in the most significant 7 bits
and the R/W bit in the least significant bit.
The DS1876 responds to three slave addresses. The
auxiliary memory always responds to a fixed I2C slave
address, A0h. (If the main device’s slave address
is programmed to be A0h, access to the auxiliary
memory is disabled.) The Lower Memory and Tables
00h–06h respond to I2C slave addresses whose lower
3 bits are configurable (A0h–AEh, B0h-BEh) using the
DEVICE ADDRESS byte (Table 02h, Register 8Bh). The
user also must set the ASEL bit (Table 02h, Register
88h) for this address to be active. By writing the correct slave address with R/W = 0, the master indicates
it writes data to the slave. If R/W = 1, the master reads
data from the slave. If an incorrect slave address is
written, the DS1876 assumes the master is communicating with another I2C device and ignores the communications until the next START condition is sent.
Memory Address: During an I2C write operation
to the DS1876, the master must transmit a memory
address to identify the memory location where the
slave is to store the data. The memory address is
always the second byte transmitted during a write
operation following the slave address byte.
I2C Protocol
See Figure 13 for an example of I2C timing.
Writing a Single Byte to a Slave: The master must
generate a START condition, write the slave address
byte (R/W = 0), write the memory address, write
the byte of data, and generate a STOP condition.
Remember that the master must read the slave’s
acknowledgement during all byte write operations.
Writing Multiple Bytes to a Slave: To write multiple
bytes to a slave, the master generates a START condition, writes the slave address byte (R/W = 0), writes
the memory address, writes up to 8 data bytes, and
generates a STOP condition. The DS1876 writes 1 to
8 bytes (one page or row) with a single write transaction. This is internally controlled by an address
counter that allows data to be written to consecutive
addresses without transmitting a memory address
before each data byte is sent. The address counter
limits the write to one 8-byte page (one row of the
memory map). Attempts to write to additional pages
of memory without sending a STOP condition between
pages result in the address counter wrapping around
to the beginning of the present row.
For example: A 3-byte write starts at address 06h and
DS1876
writes three data bytes (11h, 22h, and 33h) to three
“consecutive” addresses. The result is that addresses
06h and 07h would contain 11h and 22h, respectively, and the third data byte, 33h, would be written
to address 00h.
To prevent address wrapping from occurring, the
master must send a STOP condition at the end of
the page, then wait for the bus-free or EEPROM write
time to elapse. Then the master can generate a new
START condition and write the slave address byte
(R/W = 0) and the first memory address of the next
memory row before continuing to write data.
Acknowledge Polling: Any time a EEPROM page is
written, the DS1876 requires the EEPROM write time
(tWR) after the STOP condition to write the contents of
the page to EEPROM. During the EEPROM write time,
the DS1876 does not acknowledge its slave address
because it is busy. It is possible to take advantage
of that phenomenon by repeatedly addressing the
DS1876, which allows the next page to be written
as soon as the DS1876 is ready to receive the data.
The alternative to acknowledge polling is to wait for
maximum period of tWR to elapse before attempting
to write again to the DS1876.
2
TYPICAL I
C WRITE TRANSACTION
MSBLSB
START
XXXX001 R/W
SLAVE
ADDRESS*
*IF ASEL IS 0, THE SLAVE ADDRESS IS A0h FOR THE AUXILIARY MEMORY AND A2h/B2h FOR THE MAIN MEMORY.
IF ASEL = 1, THE SLAVE ADDRESS IS DETERMINED BY TABLE 02h, REGISTER 8Bh FOR THE MAIN MEMORY. THE AUXILIARY MEMORY CONTINUES TO BE ADDRESSED AT A0h, EXCEPT WHEN THE PROGRAMMED
ADDRESS FOR THE MAIN MEMORY IS A0h.