The MAX5970 dual hot-swap controller provides complete protection for systems with two supply voltages
from 0V to +16V. The MAX5970 includes four programmable LED outputs. The two hot-swap channels can be
configured to operate as independent hot-swap controllers, or as a pair operating together so that both channels shut down if either channel experiences a fault.
The MAX5970 provides two programmable levels of
overcurrent circuit-breaker protection: a fast-trip threshold for a fast turn-off, and a lower slow-trip threshold for
a delayed turn-off. The maximum overcurrent circuitbreaker threshold range is set independently for each
channel with a trilevel logic input IRNG_, or by programming though the I2C interface.
The MAX5970 is an advanced hot-swap controller that
monitors voltage and current with an internal 10-bit
ADC which is continuously multiplexed to convert the
output voltage and current of both hot-swap channels at
10ksps. Each 10-bit sample is stored in an internal circular buffer so that 50 past samples of each signal can be
read back through the I2C interface at any time or after
a fault condition.
The device includes five user-programmable digital
comparators per hot-swap channel to implement overcurrent warning and two levels of overvoltage/undervoltage detection. When any of the measured values violates
the programmable limits, an external ALERT output is
asserted. In addition to the ALERT signal, the MAX5970
can be programmed to deassert the power-good signal
and/or turn off the external MOSFET.
The MAX5970 features four I/Os that can be independently configured as general-purpose inputs/outputs
(GPIOs) or as open-drain LED drivers with programmable blinking. These four I/Os can be configured for
any mix of LED driver or GPIO function.
The MAX5970 is available in a 36-pin thin QFN-EP package and operates over the -40NC to +85NC extended
temperature range.
Features
S Two Independent Hot-Swap Controllers Operate
from 0V to +16V
S 10-Bit ADC Monitors Voltage and Current of Each
Channel
S Circular Buffers Store 5ms of Current and Voltage
Measurements
S Two Independent Internal Charge Pumps
Generate n-Channel MOSFET Gate Drives
S Internal 500mA Gate Pulldown Current for Fast
Shutdown
S VariableSpeed/BiLevel™ Circuit-Breaker
Protection
S Independent Precision-Voltage Enable Inputs
S Alert Output Indicates Fault and Warning
Conditions
S Independent Power-Good Outputs
S Independent Fault Outputs
S Four Open-Drain Outputs Sink 25mA to Directly
Drive LEDs
S Programmable LED Flashing Function
S Autoretry or Latched Fault Management
S 400kHz I
S Small 6mm x 6mm, 36-Pin TQFN-EP Package
2
C Interface
Applications
Single PCI ExpressM Hot-Plug Slot
Blade Servers
Disk Drives/DASD/Storage Systems
Soft-Switch for ASICs, FPGAs, and Microcontrollers
with Independent Core and I/O Voltages
Ordering Information
PARTTEMP RANGEPIN-PACKAGE
MAX5970ETX+
-40NC to +85NC
36 TQFN-EP*
MAX5970
+Denotes a lead(Pb)-free/RoHS-compliant package.
*EP = Exposed pad.
VariableSpeed/BiLevel is a trademark of Maxim Integrated Products, Inc.
PCI Express is a registered trademark of PCI-SIG Corp.
For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642,
or visit Maxim’s website at www.maxim-ic.com.
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
ABSOLUTE MAXIMUM RATINGS
IN, SENSE_, MON_, GATE_ to AGND ..................-0.3V to +30V
LED_ to AGND ......................................................-0.3V to +16V
ON_, SDA, SCL to AGND ........................................-0.3V to +6V
REG, DREG, IRNG_, MODE, PROT, A_,
PG_, ALERT, FAULT_ to AGND ................................-0.3V to +4V
REG to DREG .......................................................-0.3V to +0.3V
RETRY, HWEN, POL to AGND ................-0.3V to (V
GATE1 to MON1, GATE2 to MON2 ........................-0.3V to +6V
MAX5970
GND_, DGND to AGND .......................................-0.3V to +0.3V
SDA, ALERT Current ....................................... -20mA to +50mA
LED_ Current ................................................. -20mA to +100mA
Note 1: Package thermal resistances were obtained using the method described in JEDEC specification JESD51-7, using a four-
layer board. For detailed information on package thermal consideration, refer to www.maxim-ic.com/thermal-tutorial.
**As per JEDEC51 Standard (Multilayer Board)
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.
REG
+ 0.3V)
ELECTRICAL CHARACTERISTICS
(VIN = 2.7V to 16V, TA = -40NC to +85NC, unless otherwise noted. Typical values are at VIN = 3.3V and TA = +25NC.) (Note 2)
27DGNDDigital Ground. Connect all GND_ and DGND to AGND externally using a star connection.
28ON2Channel 2 Precision Turn-On Input
29RETRY
30MODE
31LED4LED Driver 4
32LED3LED Driver 3
33GND2
34GATE2Channel 2 Gate-Drive Output. Connect to gate of an external n-channel MOSFET.
35MON2Channel 2 Voltage Monitoring Input
36SENSE2
—EPExposed Pad. EP is internally grounded. Connect externally to ground plane using a star connection.
FAULT1Channel 1 Active-Low Open-Drain Fault Output. FAULT1 goes low if an overcurrent occurs on channel 1.
FAULT2Channel 2 Active-Low Open-Drain Fault Output. FAULT2 goes low if an overcurrent occurs on channel 2.
ALERTOpen-Drain Alert Output. ALERT goes low during a fault to notify the system of an impending failure.
Polarity Select Input. Connect to DREG for active-high power-good outputs (PG_). Connect to GND for
active-low power-good outputs.
Logic Power-Supply Input. Connect to REG externally through a 10I resistor and to DGND with a 1FF
ceramic capacitor.
Hardware Enable Input. Connect to DREG or DGND. State is read upon power-up as VIN crosses the
UVLO threshold and sets enable register bits with this value. After UVLO, this input becomes inactive until
power is cycled.
Autoretry Fault Management Input. Connect to DREG to enable autoretry operation. Connect to DGND to
enable latched-off operation.
Hot-Swap Two-State Mode Select Input. Connect MODE to DGND, DREG or leave it unconnected to operate the hot-swap channels independently or as a pair.
Channel 2 Gate Discharge Current Ground Return. Connect all GND_ and DGND to AGND externally
using a star connection.
Channel 2 Current-Sense Input. Connect SENSE2 to the source of an external MOSFET and to one end of
R
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
Detailed Description
The MAX5970 includes a set of registers that are
accessed through the I2C interface. Some of the registers
Table 1a. Register Address Map (Channel Specific)
MAX5970
REGISTERDESCRIPTIONCHANNEL 1CHANNEL 2
adc_chx_cs_msb
adc_chx_cs_lsb
adc_chx_mon_msb
adc_chx_mon_ lsb
min_chx_cs_msb
min_chx_cs_ lsb
max_chx_cs_msb
max_chx_cs_ lsb
min_chx_mon_msb
min_chx_mon_ lsb
max_chx_mon_msb
max_chx_mon_ lsb
uv1thr _chx_msb
uv1thr_chx_ lsb
uv2thr_chx_msb
uv2thr_chx_ lsb
ov1thr_chx_msb
ov1thr_chx_ lsb
High 8 bits ([9:2]) of latest current-signal
ADC result
Low 2 bits ([1:0]) of latest current-signal ADC
result
High 8 bits ([9:2]) of latest voltage-signal
ADC result
Low 2 bits ([1:0]) of latest voltage-signal
ADC result
High 8 bits ([9:2]) of current-signal minimum
value
Low 2 bits ([1:0]) of current-signal minimum
value
High 8 bits ([9:2]) of current-signal maximum
value
Low 2 bits ([1:0]) of current-signal maximum
value
High 8 bits ([9:2]) of voltage-signal minimum
value
Low 2 bits ([1:0]) of voltage-signal minimum
value
High 8 bits ([9:2]) of voltage-signal maximum
value
Low 2 bits ([1:0]) of voltage-signal maximum
value
High 8 bits ([9:2]) of undervoltage warning
(UV1) threshold
Low 2 bits ([1:0]) of undervoltage warning
(UV1) threshold
High 8 bits ([9:2]) of undervoltage critical
(UV2) threshold
Low 2 bits ([1:0]) of undervoltage critical
(UV2) threshold
High 8 bits ([9:2]) of overvoltage warning
(OV1) threshold
Low 2 bits ([1:0]) of overvoltage warning
(OV1) threshold
are read only and some of the registers are read and write
that are updated to configure the MAX5970 for a specific
operation. See Tables 1a and 1b for the registers map.
High 8 bits ([9:2]) of overvoltage critical
(OV2) threshold
Low 2 bits ([1:0]) of overvoltage critical
(OV2) threshold
High 8 bits ([9:2]) of overcurrent warning
threshold
Low 2 bits ([1:0]) of overcurrent warning
threshold
Base address for block read of 50-sample
voltage-signal data buffer
Base address for block read of 50-sample
current-signal data buffer
0x200x2A0xFFR/W
0x210x2B0x03R/W
0x220x2C0xFFR/W
0x230x2D0x03R/W
0x460x48—R
0x470x49—R
RESET
VALUE
Table 1b. Register Address Map (General)
REGISTERDESCRIPTION
mon_rangeMON input range setting0x180x00R/W
cbuf_chx_storeSelective enabling of circular buffer0x190x0FR/W
ifast2slowCurrent threshold fast-to-slow ratio setting0x300x0FR/W
status0Slow-trip and fast-trip comparators status register0x310x00R
status1PROT, MODE, and ON_ inputs status register0x32—R
status2
status3
fault0Status register for undervoltage detection (warning or critical)0x350x00R/C
fault1Status register for overvoltage detection (warning or critical)0x360x00R/C
fault2Status register for overcurrent detection (warning)0x370x00R/C
pgdlyDelay setting between MON measurement and PG_ assertion0x380x00R/W
fokeyLoad register with 0xA5 to enable force-on function0x390x00R/W
fosetRegister that enables force-on function for a channel0x3A0x00R/W
chxenChannel enable bits0x3B—R/W
dgl_iOC deglitch enable bits0x3C0x00R/W
dgl_uvUV deglitch enable bits0x3D0x00R/W
dgl_ovOV deglitch enable bits0x3E0x00R/W
cbufrd_hibyonlyCircular buffers readout mode: 8 bit or 10 bit0x3F0x0FR/W
cbuf_dly_stop
peak_log_rstReset control bits for peak-detection registers0x410x00R/W
peak_log_holdHold control bits for peak-detection registers0x420x00R/W
Fast-trip threshold maximum range setting bits, from IRNG_
three-state inputs
LATCH, POL, ALERT, and PG_ status register
Circular buffer stop-delay. Number of samples recorded to the
circular buffer after channel shutdown.
LED_FlashLED flash/GPIO enable register0x430x00R/W
LED_ph_puLED phase/weak pullup enable register0x440x00R/W
LED_stateLED pins voltage state register (LED pins set open)0x450x00R
ADDRESS
(HEX CODE)
RESET
VALUE
MAX5970
Grouping Hot-Swap Channels
The MAX5970 can operate as either two independent
hot-swap controllers or as a pair. See Table 2 for the
configuration option based on the MODE logic level.
Hot-Swap Channels On-Off Control
Depending on the configuration of the Chx_EN1 and
Chx_EN2 bits, when VIN is above the V
and the ON_ input reaches its internal threshold, the
MAX5970 turns on the external n-channel MOSFET for
the corresponding channel, allowing power to flow to the
load. The channel is enabled depending on the output of
a majority function. Chx_EN1, Chx_EN2, and ON_ are the
inputs to the majority function and the channel is enabled
when two or more of these inputs are 1.
UVLO
threshold
Table 2. Grouping Hot-Swap Channels
MODE INPUTFUNCTIONDESCRIPTION
LowIndependent
High/unconnected Paired
Each channel operates as an independent hot-swap controller. A fault
shutdown in one channel does not affect operation of other channel.
Channel 0 and channel 1 operate together as one pair. A fault shutdown in
one channel shuts down both channels in the pair. Both channels share the
ADC monitoring capability.
(Channel enabled) = (Chx_EN1 x Chx_EN2) +
(Chx_EN1 x ON_) + (Chx_EN2 x ON_)
The inputs ON_ and Chx_EN2 can be set externally; the
initial state of the Chx_EN2 bits in register chxen is set
by the state of the HWEN input when VIN rises above
V
. The ON_ inputs connect to internal precision
UVLO
analog comparators with a 0.6V threshold. Whenever
V
is above 0.6V, the corresponding ON_ bit in regis-
ON_
ter status1[0:1] is set to 1. The inputs Chx_EN1 and Chx_
EN2 can be set using the I2C interface; the Chx_EN1
bits have a default value of 0. This makes it possible to
enable or disable each of the MAX5970 channels independently with or without using the I2C interface (see
Tables 3, 4a, and 4b).
READ/
WRITE
Table 3. chxen Register Format
Description:Channel enable bits, from HWEN input and Chx_EN1 bits
Register Title:chxen
Register Address:0x3B
0 = Grouped (MODE high or open)
1 = Independent (MODE low)
Voltage Critical Behavior (PROT Input)
00 = Assert ALERT upon UV/OV critical (same as UV/OV warning behavior)
01 = Assert ALERT and deassert PG_ upon UV/OV critical
10 = Assert ALERT, deassert PG_, and shutdown channel(s) upon UV/OV critical
11 = (Not possible)
MAX5970
Description:
Register Title:status1
Register Address:0x32
RRRRRRRR
prot[1]prot[0]—mode[0]——ON2ON10x00
bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
Figure 1 shows the detailed logic operation of the hotswap enable signals Chx_EN1, Chx_EN2, and ON_, as
well as the effect of various fault conditions.
An input undervoltage threshold control for enabling
the hot-swap channel can be implemented by placing
a resistive divider between the drain of the hot-swap
MOSFET and ground, with the midpoint connected to
ON_. The turn-on threshold voltage for the channel is
then:
VEN = 0.6V x (R1 + R2)/R2
The maximum rating for the ON_ is 6V; do not exceed
this value.
Channel grouping (three-state MODE input), fault-detection behavior (three-state PROT input), and
ON_ inputs status register
When all conditions for channel turn-on are met, the
external n-channel MOSFET switch is fully enhanced
with a typical gate-to-source voltage of 5V to ensure
a low drain-to-source resistance. The charge pump at
each GATE_ driver sources 5FA to control the output
voltage turn-on voltage slew rate. An external capacitor
can be added from GATE_ to GND_ to further reduce the
voltage slew rate. Placing a 1kI resistor in series with
this capacitance prevents the added capacitance from
increasing the gate turn-off time. Total inrush current is
the load current summed with the product of the gate
voltage slew rate dV/dt and the load capacitance.
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
ON_
FORCE-ON
BIT
MAX5970
EN1_BIT
EN2_BIT
ANALOG SLOW_TRIP
ANALOG FAST_TRIP
UV/OV CRITICAL
PROT
Figure 1. Channel On-Off Control Logic Functional Schematic
To determine the output dV/dt during startup, divide
the GATE_ pullup current I
by the gate-to-ground
G(UP)
capacitance. The voltage at the source of the external
MOSFET follows the gate voltage, so the load dV/dt is
the same as the gate dV/dt. Inrush current is the product
of the dV/dt and the load capacitance. The time to start
up tSU is the hot-swap voltage VS_ divided by the output
dV/dt.
Be sure to choose an external MOSFET that can handle
the power dissipated during startup. The inrush current is roughly constant during startup, and the voltage
drop across the MOSFET (drain to source) decreases
linearly as the load capacitance charges. The resulting
power dissipation is therefore roughly equivalent to a
single pulse of magnitude (VS_ x Inrush current)/2 and
duration tSU. Refer to the thermal resistance charts in
the MOSFET data sheet to determine the junction temperature rise during startup, and ensure that this does
CHANNEL
ENABLED
RETRY PIN
SRQ
Q
200ms DELAY,
THEN PULSE
SRQ
Q
not exceed the maximum junction temperature for worstcase ambient conditions.
Circuit-Breaker Protection
As the channel is turned on and during normal operation, two analog comparators are used to detect an
overcurrent condition by sensing the voltage across
an external resistor connected between SENSE_ and
MON_. If the voltage across the sense resistor is less
than the slow-trip and fast-trip circuit-breaker thresholds,
the GATE_ output remains high. If either of the thresholds
is exceeded due to an overcurrent condition, the gate
of the MOSFET is pulled down to MON_ by an internal
500mA current source.
The higher of the two comparator thresholds, the fasttrip, is set by an internal 8-bit DAC (see Table 8),
within one of three configurable full-scale current-sense
ranges: 25mV, 50mV, or 100mV (see Tables 7a and 7b).
The 8-bit fast-trip threshold DAC can be programmed
Description:Current threshold fast to slow setting bits
Register Title:ifast2slow
Register Address:0x30
MAX5970
R/WR/WR/WR/WR/WR/WR/WR/W
————Ch2_FS1Ch2_FS0Ch1_FS1Ch1_FS00x0F
bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
Table 5b. Setting Fast-Trip to Slow-Trip Threshold Ratio
Chx_FS1Chx_FS0FAST-TRIP TO SLOW-TRIP RATIO (%)
00125
01150
10175
11200
from 40% to 100% of the selected full-scale currentsense range. The slow-trip threshold follows the fast-trip
threshold as one of four programmable ratios, set by the
ifast2slow register (see Tables 5a and 5b).
The fast-trip threshold is always higher than the slow-trip
threshold, and the fast-trip comparator responds very
quickly to protect the system against sudden, severe
overcurrent events. The slower response of the slowtrip comparator varies depending upon the amount of
overdrive beyond the slow-trip threshold. If the overdrive
is small and short-lived, the comparator does not shut
down the affected channel. As the overcurrent event
increases in magnitude, the response time of the slowtrip comparator decreases. This scheme provides good
rejection of noise and spurious overcurrent transients
near the slow-trip threshold while aggressively protecting the system against larger overcurrent events that
occur as a result of a load fault.
Setting Circuit-Breaker Thresholds
To select and set the MAX5970 slow-trip and fast-trip
comparator thresholds, use the following procedure:
1) Select one of four ratios between the fast-trip threshold and the slow-trip threshold: 200%, 175%, 150%,
or 125%. A system that experiences brief, but large
transient load currents should use a higher ratio,
whereas a system that operates continuously at
higher average load currents might benefit from a
smaller ratio to ensure adequate protection. The ratio
is set by writing to the ifast2slow register. The default
setting on power-up is 200%.
2) Determine the slow-trip threshold V
anticipated maximum continuous load current during
normal operation, and the value of the current-sense
resistor. The slow-trip threshold should include some
margin (possibly 20%) above the maximum load
current to prevent spurious circuit-breaker shutdown
and to accommodate passive component tolerances:
V
= R
TH,ST
3) Calculate the necessary fast-trip threshold V
based on the ratio set in step 1:
V
= V
TH,FT
4) Select one of the four maximum current-sense
ranges: 25mV, 50mV, or 100mV. The current-sense
range is initially set upon power-up by the state of
the associated IRNG_ input, but can be altered at any
time by writing to the status2 register. For maximum
accuracy and best measurement resolution, select
the lowest current-sense range that is larger than the
V
value calculated in Step 3.
TH,FT
5) Program the fast-trip and slow-trip thresholds by writing an 8-bit value to the dac_chx register. This 8-bit
value is determined from the desired V
that was calculated in Step 2, the threshold ratio from
Step 1, and the current-sense range from Step 4:
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
The MAX5970 provides a great deal of system flexibility because the current-sense range, DAC setting, and
threshold ratio can be changed on the fly for systems
that must protect a wide range of interchangeable
load devices, or for systems that control the allocation
of power to smart loads. Table 6 shows the specified
ranges for the fast-trip and slow-trip thresholds for all
combinations of current-sense range and threshold ratio.
When an overcurrent event causes the MAX5970 to shut
down a channel, a corresponding open-drain FAULT_
output alerts the system. Figure 2 shows the operation
and fault-management flowchart for one channel of the
MAX5970.
MAX5970
Table 6. Specified Current-Sense and Circuit-Breaker Threshold Ranges
IRNG_ INPUT
Low10 to 25
High20 to 50
Unconnected40 to 100
FAST-TRIP DAC
OUTPUT RANGE (mV)
GAIN (2-BIT) (V
ifast2slow
(DEFAULT = 11)
00 (125%)8.00 to 20.00
01 (150%)6.67 to 16.67
10 (175%)5.71 to 14.29
11 (200%)5.00 to 12.50
00 (125%)16.00 to 40.00
01 (150%)13.33 to 33.33
10 (175%)11.48 to 28.57
11 (200%)10.00 to 25.00
00 (125%)32.00 to 80.00
01 (150%)26.67 to 66.67
10 (175%)22.86 to 57.14
11 (200%)20.00 to 50.00
FAST/VSLOW
)
SLOW-TRIP THRESHOLD RANGE
(mV)
Table 7a. IRNG Inputs Status Register Format
Description:Fast-trip threshold maximum range setting bits, from IRNG_ three-state inputs
Register Title:Status 2
Register Address:0x33
The two current-sense signals are sampled by the internal 10-bit 10ksps ADC, and the most recent results are
stored in registers for retrieval through the I2C interface.
The current conversion values are 10 bits wide, with the
eight high-order bits written to one 8-bit register and the
two low-order bits written to the next higher 8-bit register
address (Tables 9 and 10). This allows use of just the
high-order byte in applications where 10-bit precision is
not required. This split 8-bit/2-bit storage scheme is used
throughout the MAX5970 for all 10-bit ADC conversion
results and 10-bit digital comparator thresholds.
Table 9. ADC Current Conversion Results Register Format (High-Order Bits)
Once the PG_ output is asserted, the most recent current samples are continuously compared to the programmable overcurrent warning register values. If the
measured current value exceeds the warning level, the
ALERT output is asserted. The MAX5970 response to
this digital comparator is not altered by the setting of the
PROT input (Tables 11 and 12).
Minimum and Maximum Value
Detection for Current Measurement Values
All current measurement values from the ADC are
continuously compared with the contents of minimum-
Table 11. Overcurrent Warning Threshold Register Format (High-Order Bits)
and maximum-value registers, and if the most recent
measurement exceeds the stored maximum or is less
than the stored minimum, the corresponding register
is updated with the new value. These peak detection
registers are read accessible through the I2C interface
(Tables 13–16). The minimum-value registers are reset
to 0x3FF, and the maximum-value registers are reset
to 0x000. These reset values are loaded upon startup
of a channel or at any time as commanded by register
peak_log_rst (Table 36).
MAX5970
R/WR/WR/WR/WR/WR/WR/WR/W
oi_9oi_8oi_7oi_6oi_5oi_4oi_3oi_20xFF
bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
Table 12. Overcurrent Warning Threshold Register Format (Low-Order Bits)
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
If PG_ is asserted and the voltage is outside the warning
limits, the ALERT output is asserted low. Depending on
the status of the prot[] bits in register status1[7:6], the
MAX5970 can also deassert the PG_ output or turn off
the external MOSFET when the voltage is outside the critical limits (see Figure 3). Table 29 shows the behavior for
the three possible states of the PROT input. Note that the
PROT input does not affect the MAX5970 response to the
MAX5970
UV or OV warning digital comparators; it only determines
the system response to the critical digital comparators
(see Tables 4a, 4b, and 29).
In a typical application, the UV1 and OV1 thresholds
would be set closer to the nominal output voltage, and
the UV2 and OV2 thresholds would be set further from
nominal. This provides a progressive response to a voltage excursion. However, the thresholds can be configured in any arrangement or combination as desired to
suit a given application.
UV/OV CRITICAL ACTION
V
MON_
NORMAL RANGE
Figure 3. Graphical Representation of Typical UV and OV Thresholds Configuration
The PG_ output for a given channel is asserted when
the voltage at MON_ is between the undervoltage and
overvoltage critical limits. The status of the power-good
signals is maintained in register status3[3:0]. A value of
Table 30. status3 Register Format
Description:Power-good status register; LATCH, POL, ALERT and Power Good bits
Register Title:status3
Register Address:0x34
1 in any of the pg[] bits indicates a power-good condition, regardless of the POL setting, which only affects the
PG_ output polarity. The open-drain PG_ output can be
configured for active-high or active-low status indication
by the state of the POL input (see Table 30).
MAX5970
RRRR/WRRRR
—RETRYPOLALERTpg[1]pg[0]0x00
bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
The POL input sets the value of status3[5], which is a
read-only bit; the state of the POL input can be changed
at any time during operation and the polarity of the PG_
outputs changes accordingly.
The assertion of the PG_ output is delayed by a userselectable time delay of 50ms, 100ms, 200ms, or 400ms
(see Tables 31a and 31b).
Table 31a. Power-Good Assertion Delay-Time Register Format
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
Minimum and Maximum Value Detection
for Voltage Measurement Values
All voltage measurement values are compared with the
contents of minimum- and maximum-value registers,
and if the most recent measurement exceeds the stored
maximum or is less than the stored minimum, the corresponding register is updated with the new value. These
MAX5970
Table 32. ADC Minimum Voltage Conversion Register Format (High-Order Bits)
peak detection registers are read accessible through the
I2C interface (see Tables 32–35). The minimum-value
registers are reset to 0x3FF, and the maximum-value
registers are reset to 0x000. These reset values are
loaded upon startup of a channel or at any time as commanded by register peak_log_rst (see Table 36).
Table 33. ADC Minimum Voltage Conversion Register Format (Low-Order Bits)
The voltage and current minimum- and maximum-value
records in register locations 0x08 through 0x17 can be
reset by writing a 1 to the appropriate location in register
peak_log_rst (see Table 36). The minimum-value registers are reset to 0x3FF, and the maximum-value registers
are reset to 0x00.
As long as a bit in peak_log_rst is 1, the corresponding
peak-detection registers are disabled and are cleared
to their power-up reset values. The voltage and current
minimum- and maximum-detection register contents
for each signal can be held by setting bits in register
peak_log_hold (see Table 37). Writing a 1 to a location
in peak_log_hold locks the register contents for the corresponding signal and stops the min/max detection and
logging; writing a 0 enables the detection and logging.
Note that the peak-detection registers cannot be cleared
while they are held by register peak_log_hold.
The combination of these two control registers allows the
user to monitor voltage and current peak-to-peak values
during a particular time period.
Table 36. Peak-Detection Reset-Control Register Format
Description:Reset control bits for peak-detection registers
Register Title:peak_log_rst
Register Address:0x41
RESET
VALUE
RRRRR/WR/WR/WR/W
————Ch1_v_rstCh1_i_rstCh0_v_rstCh0_i_rst0x00
bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
Table 37. Peak-Detection Hold-Control Register Format
Description:Hold control bits for peak-detection registers; per signal
Register Title:peak_log_hold
Register Address:0x42
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
Deglitching of Digital Comparators
The five digital comparators per hot-swap channel
(undervoltage/overvoltage warning and critical, overcurrent warning) all have a user-selectable deglitching
feature that requires two consecutive positive compares
The deglitching function is enabled or disabled per comparator by registers dgl_i, dgl_uv, and dgl_ov (Tables
38, 39, and 40). Writing a 1 to the appropriate bit location
in these registers enables the deglitch function for the
corresponding digital comparator.
before the MAX5970 takes action as determined by the
particular compare and the setting of the PROT input.
MAX5970
Table 38. OI Warning Comparators Deglitch Enable Register Format
Description:Deglitch enable register for overcurrent warning digital comparators
Register Title:dgl_i
Register Address:0x3C
RRRRRRR/WR/W
——Ch1_dgl_iCh0_dgl_i0x00
bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
Table 39. UV Warning and Critical Comparators Deglitch Enable Register Format
Description:Deglitch enable register for undervoltage warning and critical digital comparators
Register Title:dgl_uv
Register Address:0x3D
RESET
VALUE
RRRRR/WR/WR/WR/W
————
bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
Ch1_dgl_
uv2
Ch1_dgl_
uv1
Ch0_dgl_
uv2
Ch0_dgl_
uv1
Table 40. OV Warning and Critical Comparators Deglitch Enable Register Format
Description:Deglitch enable register for overvoltage warning and critical digital comparators
Register Title:dgl_ov
Register Address:0x3E
The MAX5970 features four 10-bit “circular buffers” (in
volatile memory) that contain a history of the 50 mostrecent voltage and current digital conversion results for
each hot-swap channel. These circular buffers can be
read back through the I2C interface. The recording of
new data to the buffer for a given signal is stopped under
any of the following conditions:
• The corresponding channel is shut down because of
a fault condition.
Table 41. Circular Buffer Read Addresses
ADDRESSNAMEDESCRIPTION
0x46cbuf_ba_ch0_vBase address for channel 0 voltage buffer block read
0x47cbuf_ba_ch0_iBase address for channel 0 current buffer block read
0x48cbuf_ba_ch1_vBase address for channel 1 voltage buffer block read
0x49cbuf_ba_ch_iBase address for channel 1 current buffer block read
Each of the four buffers can also be stopped under user
control by register cbuf_chx_store (see Table 42).
• Clearing appropriate bits in register cbuf_chx_store.
• A read of the circular buffer base address is per-
formed through the I2C interface.
• The corresponding channel is turned off by a combination of the Chx_EN1, Chx_EN2, or ON_ signals.
The buffers allow the user to recall the voltage and current waveforms for analysis and troubleshooting. The
buffer contents are accessed through the I2C interface
at four fixed addresses in the MAX5970 register address
space (see Table 41).
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
If the circular buffer contents are retrieved as 10-bit
data, the first byte read out is the high-order 8 bits of the
10-bit sample, and the second byte read out contains
the two least-significant bits (LSBs) of the sample. This is
repeated for each of the 50 samples in the buffer. Thus,
2 bytes must be read for each 10-bit sample retrieved.
Conversely, if the buffer contents are retrieved as 8-bit
data, then each byte read out contains the 8 MSB of
MAX5970
each successive sample. It is important to remember
that in 10-bit mode, 100 bytes must be read to extract the
entire buffer contents, but in 8-bit mode, only 50 bytes
must be read.
The circular buffer system has a user-programmable
stop delay that specifies a certain number of sample
cycles to continue recording to the buffer after a shutdown occurs. This delay value is stored in register
cbuf_dly_stop[5:0] (see Table 44).
Table 44. Circular Buffer Stop-Delay Register Format
The default (reset) value of the buffer stop-delay is 25
samples, which means that an equal number of samples
are stored in the buffer preceding and following the
moment of the shutdown event. The buffer stop delay
is analogous to an oscilloscope trigger delay, because
it allows the MAX5970 to record what happened both
immediately before and after a shutdown. In other words,
when the contents of a circular buffer are read out of the
MAX5970, the shutdown event, by default, is located in
the middle of the recorded data. The balance of data
before and after an event can be altered by writing a different value (between 0 and 50) to the buffer stop-delay
register.
Autoretry or Latched-Off Fault Management
In the event of an overcurrent, undervoltage, or overvoltage condition that results in the shutdown of one or both
channels, the MAX5970 device can be configured to
either latch off or automatically restart the affected channel. The MAX5970 stays off if the RETRY input is set low
Circular buffer stop-delay: any integer number between 0 and 50 samples that are to be recorded
to a buffer after a shutdown event, before the buffer stops storing new data.
(latched-off), and automatically retries if the RETRY input
is high. The RETRY input is read once during initialization
and sets the value of status3[6] register (see Table 30).
The autoretry feature has a fixed 200ms timeout delay
between fault shutdown and the autorestart attempt. Be
aware that if the MAX5970 is configured for autoretry
operation, the startup event occurs every 200ms if a
short circuit occurs. A short circuit during startup causes
the output current to increase rapidly as the MOSFET
is enhanced, until the slow-trip threshold is reached
and the gate is pulled low again. Be sure to evaluate
MOSFET junction temperature rise for this repeatedstress condition if autoretry is used.
To restart a channel that has been shutdown in latchedoff operation (RETRY low), the user must either cycle
power to the IN pin, or toggle one or more of the ON_
pin, Chx_EN1 bit, or the Chx_EN2 bit for the affected
channel.
When the force-on bit for a channel is set to 1 in register
foset[1:0] (see Table 45), the channel is enabled regardless of the ON_ voltage or the Chx_EN1 and Chx_EN2
bits in register chxen. In forced-on operation, all functions operate normally with the notable exception that the
channel does not shut down due to any fault conditions
that may arise.
Table 45. Force-On Control Register Format
Description:Force-on control register
Register Title:foset
Register Address:0x3A
There is a Force-On Key register fokey that must be set
to 0xA5 in order for the Force-On function to become
active (see Table 46). If this register contains any value
other than 0xA5, writing 1 to the Force-On bits in register foset has no effect. This provides protection against
accidental force-on operation that might otherwise be
caused by an erroneous I2C write.
The MAX5970 provides detailed information about any
fault conditions that have occurred. Independent FAULT_
outputs specifically indicate circuit-breaker shutdown
events, while an ALERT output is asserted whenever a
problem has occurred that requires attention or interaction.
If a fault event occurs (digital UV warning/critical, digital
OV warning/critical, or digital overcurrent warning), the
fault is logged by setting a corresponding bit in registers
fault1 or fault2 (see Tables 47, 48, and 49).
IFAULTSx indicates the overcurrent status from slow
comparator. IFAULTFx indicates overcurrent status from
fast comparator. The status of FAULT_ reflects the NOR
operation of IFAULTSx and IFAULTFx.
These fault register bits latch upon fault condition and
are reset by restarting the affected channel as described
in the Autoretry or Latched-Off Fault Management section.
FAULT_ Outputs
When an overcurrent event (fast-trip or slow-trip)
causes the MAX5970 to shut down the affected
channel(s), a corresponding open-drain FAULT_ output is asserted low. Note that the FAULT_ outputs are
not asserted for shutdowns caused by critical undervoltage or overvoltage.
The FAULT_ output is cleared when the channel is disabled by pulling ON_ low or by clearing the bits in the
chxen register.
ALERT Output
ALERT is an open-drain output that is asserted low any
time that a fault or other condition requiring attention has
occurred. The state of the ALERT output is also indicated by status3[4].
ALERT is the NOR of registers 0x31, 0x35, 0x36 and
0x37, so when the ALERT output goes low, the system
microcontroller should query these registers through
the I2C interface to determine the cause of the ALERT
assertion.
LED Set Registers
The MAX5970 has four open-drain LED drivers/userprogrammable GPIOs. When programmed as LED drivers, each driver can sink up to 25mA of current. Table
51 shows the register that enables the drivers as either
LED drivers or GPIOs.
When any of the LED_Set bit in the register is set to 1, the
corresponding open-drain LED driver is turned OFF. The
LED_Flash bits enable each corresponding LED driver
to flash on and off at 1Hz frequency regardless of the
condition of the corresponding LED_Set bit.
Bits 7-4 in Table 52 show how to set the LED drivers to
be either in phase or out of phase with the internal 1Hz
clock. Bits 3-0 show how to enable the 4FA pullup current to disable a corresponding LED driver.
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
Table 53 shows LED State register. The LED State register is a read-only register. When the LEDs are disabled,
the pins are configured as GPIOs. Applying an external
voltage below 0.4V sets the GPIOs low and, applying an
external voltage above 1.4V, sets the GPIOs high.
I2C Serial Interface
The MAX5970 features an I2C serial interface consisting of a serial-data line (SDA) and a serial-clock line
MAX5970
(SCL). SDA and SCL allow bidirectional communication
between the MAX5970 and the master device at clock
rates from up to 400kHz. The I2C bus can have several
devices (e.g., more than one MAX5970, or other I2C
devices in addition to the MAX5970) attached simultaneously. The A0 and A1 inputs set one of nine possible I2C
addresses (see Table 54).
Table 53. LED State Register
Description:LED State register
Register Title:LED_State
Register Address:0x45
The 2-wire communication is fully compatible with existing 2-wire serial interface systems; Figure 4 shows the
interface timing diagram. The MAX5970 is a transmit/
receive slave-only device, relying upon a master device
to generate a clock signal. The master device (typically
a microcontroller) initiates data transfer on the bus and
generates SCL to permit that transfer.
A master device communicates to the MAX5970 by
transmitting the proper address followed by command
and/or data words. Each transmit sequence is framed by
a START (S) or REPEATED START (Sr) condition and a
STOP (P) condition. Each word transmitted over the bus
SDA
t
SU:DAT
t
t
LOW
HD:DAT
t
SU:STA
is 8 bits long and is always followed by an acknowledge
pulse.
SCL is a logic input, while SDA is a logic input/opendrain output. SCL and SDA both require external pullup
resistors to generate the logic-high voltage. Use 4.7kI
for most applications.
Bit Transfer
Each clock pulse transfers one data bit. The data
on SDA must remain stable while SCL is high (see
Figure 5), otherwise the MAX5970 registers a START or
STOP condition (see Figure 6) from the master. SDA and
SCL idle high when the bus is not busy.
t
BUF
t
t
HD:STA
SU:STO
MAX5970
SCL
t
HIGH
t
HD:STA
t
F
START
CONDITION
t
R
Figure 4. Serial-Interface Timing Details
SDA
SCL
DATA LINE STABLE,
DATA VALID
CHANGE OF
DATA ALLOWED
REPEATED START
CONDITION
SDA
SCL
START
CONDITION
STOP
CONDITION
START
CONDITION
PS
STOP
CONDITION
Figure 5. Bit TransferFigure 6. START and STOP Conditions
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
START and STOP Conditions
Both SCL and SDA idle high when the bus is not busy.
A master device signals the beginning of a transmission
with a START condition (see Figure 3) by transitioning
SDA from high to low while SCL is high. The master
MAX5970
SEND BYTE FORMAT
SSADDRESS
7 BITS
SLAVE ADDRESS–
EQUIVALENT TO CHIPSELECT LINE OF A
3-WIRE INTERFACE.
RECEIVE BYTE FORMAT
ADDRESS
7 BITS
SLAVE ADDRESS–
EQUIVALENT TO CHIPSELECT LINE OF A
3-WIRE INTERFACE.
BLOCK WRITE FORMAT
SADDRESSWR
7 BITS8 BITS8 BITS8 BITS8 BITS
SLAVE ADDRESS–
EQUIVALENT TO CHIPSELECT LINE OF A
3-WIRE INTERFACE.
ACK
DATA
WR
00
DATA BYTE–PRESETS THE
INTERNAL ADDRESS POINTER.
WR
ACK
10
DATA BYTE–READS DATA FROM
THE REGISTER COMMANDED BY
THE LAST READ BYTE OR WRITE
BYTE TRANSMISSION. ALSO
DEPENDENT ON A SEND BYTE.
ACK COMMAND ACK
0
ACKP
8 BITS
ACKP
DATA
8 BITS
COMMAND BYTE–
PREPARES DEVICE
FOR BLOCK
OPERATION.
BYTE
COUNT= N
8 BITS
device issues a STOP condition (see Figure 6) by transitioning SDA from low to high while SCL is high. A STOP
condition frees the bus for another transmission. The bus
remains active if a REPEATED START condition is generated, such as in the block read protocol (see Figure 7).
WRITE WORD FORMAT
SADDRESS WR
7 BITS8 BITS8 BITS8 BITS
SLAVE ADDRESS–
EQUIVALENT TO CHIPSELECT LINE OF A
3-WIRE INTERFACE.
WRITE BYTE FORMAT
SADDRESSWRACKCOMMANDACKDATAACKP
7 BITS8 BITS8 BITS
SLAVE ADDRESS–
EQUIVALENT TO CHIPSELECT LINE OF A
3-WIRE INTERFACE.
DATA BYTE
ACK
1
DATA BYTE–DATA GOES INTO THE REGISTER SET BY THE
COMMAND BYTE.
ACKACKACKACKCOMMANDDATADATAP
COMMAND BYTE–
MSB OF THE
EEPROM
REGISTER BEING
WRITTEN.
ACK
COMMAND BYTE–
SELECTS REGISTER
BEING WRITTEN.
DATA BYTE
...
DATA BYTE–FIRST BYTE IS THE LSB OF
THE EEPROM ADDRESS. SECOND
BYTE IS THE ACTUAL DATA.
DATA BYTE–DATA GOES INTO THE
REGISTER SET BY THE COMMAND
BYTE IF THE COMMAND IS BELOW
50h. IF THE COMMAND IS 80h,
81h, or 82h, THE DATA BYTE
PRESETS THE LSB OF AN EEPROM
ADDRESS.
DATA BYTE
ACK
ACKP
N
BLOCK READ FORMAT
SADDRESS WR ACK COMMAND ACKSR ADDRESS WRACK
7 BITS8 BITS7 BITS10h8 BITS8 BITS8 BITS
SLAVE ADDRESS–
EQUIVALENT TO CHIPSELECT LINE OF A
3-WIRE INTERFACE.
S = START CONDITION
P = STOP CONDITION
COMMAND BYTE–
PREPARES DEVICE
FOR BLOCK
OPERATION.
SHADED = SLAVE TRANSMISSION
Sr = REPEATED START CONDITION
SLAVE ADDRESS–
EQUIVALENT TO CHIPSELECT LINE OF A
3-WIRE INTERFACE.
10
BYTE
COUNT= 16
DATA BYTE–DATA GOES INTO THE REGISTER SET BY THE
COMMAND BYTE.
The MAX5970 recognizes a STOP condition at any point
during transmission except if a STOP condition occurs in
the same high pulse as a START condition. This condition is not a legal I2C format. At least one clock pulse
must separate any START and STOP condition.
REPEATED START Conditions
A REPEATED START (Sr) condition may indicate a
change of data direction on the bus. Such a change
occurs when a command word is required to initiate
a read operation (see Figure 4). Sr may also be used
when the bus master is writing to several I2C devices
and does not want to relinquish control of the bus. The
MAX5970 serial interface supports continuous write
operations with or without an Sr condition separating
them. Continuous read operations require Sr conditions
because of the change in direction of data flow.
The acknowledge bit (ACK) is the 9th bit attached to any
8-bit data word. The receiving device always generates
an ACK. The MAX5970 generates an ACK when receiving an address or data by pulling SDA low during the
9th clock period (see Figure 8). When transmitting data,
such as when the master device reads data back from
the MAX5970, the MAX5970 waits for the master device
to generate an ACK. Monitoring ACK allows for detection of unsuccessful data transfers. An unsuccessful
data transfer occurs if the receiving device is busy or if
a system fault has occurred. In the event of an unsuccessful data transfer, the bus master should reattempt
communication at a later time. The MAX5970 generates
a NACK after the slave address during a software reboot
or when receiving an illegal memory address.
0V to 16V, Dual Hot-Swap Controller with 10-Bit
Current and Voltage Monitor and 4 LED Drivers
Send Byte
The send byte protocol allows the master device to send
one byte of data to the slave device (see Figure 9). The
send byte presets a register pointer address for a subsequent read or write. The slave sends a NACK instead
of an ACK if the master tries to send an address that is
not allowed. If the master sends a STOP condition, the
internal address pointer does not change. The send byte
MAX5970
procedure follows:
1) The master sends a START condition.
2) The master sends the 7-bit slave address and a write
bit (low).
3) The addressed slave asserts an ACK on SDA.
4) The master sends an 8-bit data byte.
5) The addressed slave asserts an ACK on SDA.
6) The master sends a STOP condition.
Write Byte
The write byte/word protocol allows the master device
to write a single byte in the register bank or to write to a
series of sequential register addresses. The write byte
procedure follows:
1) The master sends a START condition.
2) The master sends the 7-bit slave address and a write
bit (low).
3) The addressed slave asserts an ACK on SDA.
4) The master sends an 8-bit command code.
5) The addressed slave asserts an ACK on SDA.
6) The master sends an 8-bit data byte.
7) The addressed slave asserts an ACK on SDA.
8) The addressed slave increments its internal address
pointer.
9) The master sends a STOP condition or repeats steps
6, 7, and 8.
To write a single byte to the register bank, only the 8-bit
command code and a single 8-bit data byte are sent.
The data byte is written to the register bank if the command code is valid.
The slave generates a NACK at step 5 if the command
code is invalid. The command code must be in the range
of 0x00 to 0x45. The internal address pointer returns
to 0x00 after incrementing from the highest register
address.
Receive Byte
The receive byte protocol allows the master device to
read the register content of the MAX5970 (see Figure 9).
The EEPROM or register address must be preset with a
send byte protocol first. Once the read is complete, the
internal pointer increases by one. Repeating the receive
byte protocol reads the contents of the next address.
The receive byte procedure follows:
1) The master sends a START condition.
2) The master sends the 7-bit slave address and a read
bit (high).
3) The addressed slave asserts an ACK on SDA.
4) The slave sends 8 data bits.
5) The slave increments its internal address pointer.
6) The master asserts an ACK on SDA and repeats
steps 4 and 5 or asserts a NACK and generates a
STOP condition.
The internal address pointer returns to 0x00 after incrementing from the highest register address.
Use the send byte protocol to set the register address
pointers before read and write operations. For the configuration registers, valid address pointers range from
0x00 to 0x45, and the circular buffer addresses are 0x46
to 0x49. Register addresses outside of this range result
in a NACK being issued from the MAX5970.
Circular Buffer Read
The circular buffer read operation is similar to the receive
byte operation. The read operation is triggered after any
one of the circular buffer base addresses is loaded.
During a circular buffer read, although all is transparent
from the external world, internally the auto increment
function in the I2C controller is disabled. Thus, it is possible to read one of the circular buffer blocks with a burst
read without changing the virtual internal address corresponding to the base address. Once the master issues
Table 55. Circular Buffer Readout Sequence
READ-OUT ORDER1ST OUT2ND OUT…48TH OUT49TH OUT50TH OUT
Chronological Number12…48490
a NACK, the circular reading stops, and the default
functions of I2C slave bus controller are restored. In 8-bit
read mode, every I2C read operation shifts out a single
sample from the circular buffer. In 10-bit mode, two
subsequent I2C read operations shift out a single 10-bit
sample from the circular buffer, with the high-order byte
read first, followed by a byte containing the right-shifted
two least-significant bits. Once the master issues a
NACK, the read circular buffer operation terminates and
normal I2C operation returns.
The data in the circular buffers is read back with the
next-to-oldest sample first, followed by progressively
more recent samples until the most recent sample is
retrieved, followed finally by the oldest sample (see
Table 55).
MAX5970
Chip Information
PROCESS: BiCMOS
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are implied.
Maxim reserves the right to change the circuitry and specifications without notice at any time.
Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 41
2010 Maxim Integrated Products Maxim is a registered trademark of Maxim Integrated Products, Inc.
Package Information
For the latest package outline information and land patterns, go to www.maxim-ic.com/packages. Note that
a “+”, “#”, or “-” in the package code indicates RoHS
status only. Package drawings may show a different suffix character, but the drawing pertains to the package
regardless of RoHS status.
PACKAGE TYPEPACKAGE CODEDOCUMENT NO.
36 TQFN-EPT3666-321-0114
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.