When a storage, processing, or network interface card is designed to be serviced or replaced in a high-availability (always-on) system, a hot-swap or hot-plug controller must be used. This hot-swap circuit controls the turn-on and turn-off of power to the card when it is inserted and removed from the system. It also protects the system against overcurrent in the event of a fault on the load card. More sophisticated hot-swap controllers now include features that allow monitoring of load voltage and current, which can in turn be used to calculate load power. This information is extremely useful for optimizing efficiency, cooling, and allocation of limited power-supply output.
When load cards become larger and more complex, it is a good idea to split the power to the card into two or more domains, where one domain is a "housekeeping" supply with lower power requirements, and the other domain supplies the main power to the card. This approach allows the housekeeping supply to come up first and shut down last for management purposes, while the high-power domain is controlled separately. However, if power monitoring or metering is required, splitting the power into two domains usually requires use of two single-channel hot-swap controllers (or at least a two-channel controller) to allow measurement of power for both domains.
This application note describes how to employ the MAX5977
hot-swap controller and a single ADC to allow precision, independent monitoring of load current in both domains, while a MAX5976
integrated-MOSFET power switch provides simple, cost-effective control of power to the housekeeping domain.
MAX5977 Calibration Function
Maxim's MAX5977 performs the usual functions of a hot-swap controller, driving a high-side n-channel MOSFET switch to control turn-on voltage slew rate and to protect against overcurrent conditions. In addition, the MAX5977 also includes a precision current-sense transconductance amplifier with a gain of 2500µA/V that can be used to feed an external ADC for load current monitoring. To allow for precision calibration of the current-sense system, the MAX5977 can switch its transconductance amplifier's inputs to an alternate "calibration sense" input. This feature is controlled by the CAL input.
When CAL is logic low, the current-sense amplifier senses the voltage between IN and SENSE, so that a current equivalent to (VIN
) × 2500µA/V is output at CSOUT for current monitoring during normal operation. However, if CAL is driven high, the MAX5977 switches the current-sense amplifier negative input to CALSENSE, so that the CSOUT current is equal to (VIN
) × 2500µA/V. If a precision voltage is applied between IN and CALSENSE, this mode can be used to collect data for gain and offset calibration of the amplifier and ADC. This typical MAX5977 application is shown in Figure 1
, where a precision current sink and calibration resistance are used to establish the CALSENSE signal.
Figure 1. The MAX5977 typical application with full-scale current-sense calibration signal.
Measuring Current in Two Power Domains
Because the MAX5977's calibration function is essentially an input multiplexer for the precision current-sense amplifier, it can be repurposed to allow measurement of an alternate current-sense resistor, as long as both resistances are connected to a common IN potential. A basic application circuit is shown in Figure 2
. The main current-sense resistor is connected to the SENSE input, while the auxiliary (housekeeping domain) sense resistor is connected to the CALSENSE input. Load current can then be measured independently for each of the two domains. The MAX5977 provides control and protection for the high-power domain, while a simple integrated load switch, such as the MAX5976, controls and protects the low-power housekeeping domain.
Figure 2. The MAX5977 application circuit for two-domain current monitoring.
A microcontroller collects and processes load-current data that is digitized by an ADC, which can be external or integrated into the microcontroller itself. To measure the main current, the microcontroller drives CAL low, waits briefly for CSOUT to settle, then commands the ADC to convert and communicate the result. Likewise, to measure the auxiliary current, the microcontroller repeats the same basic sequence with CAL driven high.
Because the transconductance output signal for both domains will share the same CSOUT gain-setting resistor, the values of the auxiliary and main current-sense resistors should be chosen to either simplify the scaling or provide the best resolution.
To simplify the scaling and summing of main and auxiliary current the sense resistors should be the same value. This allows the two current measurements to be summed directly to determine the total current for both domains.
For the best resolution, both current-sense signals should have the same full-scale output voltage to feed the ADC. This can be easily accomplished by selecting the main and auxiliary sense resistors' values with the same ratio as the maximum load currents for the two domains:
IMAIN (max)/IAUX (max) = RCALSENSE/RSENSE
This ensures that the full-scale voltage at CSOUT will be the same for both domains under full-load conditions. For example, the Figure 1 circuit uses 1mΩ for the main path and 20mΩ for the auxiliary path, suggesting that the full-load main current would be twenty times as large as the full-load auxiliary current.
For a compromise that provides easy summing and achieves good resolution, choose the auxiliary sense resistor as a binary multiple of the main sense resistor. This multiple should approximate the maximum load-current ratio described above. With this arrangement, a simple binary left-shift operation in the microcontroller scales the main current conversion results to the same "units" as the auxiliary current results.
Timing and Sampling
shows the MAX5977 driving a 40.0kΩ CSOUT resistance while CAL is switched at 20kHz. In this example, VIN
= 5mV, and VIN
= 25mV. When CAL is low, VCSOUT
is 5mV × 2500µA/V × 40.0kΩ = 500mV, and when CAL is high, VCSOUT
= 25mV × 2500µA/V × 40.0kΩ = 2500mV. These levels respectively correspond to 20% and 100% of a 2.5V ADC full-scale input. The raw CSOUT signal settles well within 10µs of the CAL rising or falling edge. When a MAX4236
precision amplifier is added to condition and buffer the high-impedance CSOUT signal, its 0.3V/µs typical output slew rate is sufficiently fast to provide approximately the same settling time.
Figure 3a. Raw VCSOUT settling time.
Figure 3b. Settling time with the MAX4236 buffer.
One possible application might use the MAX1393
true-differential, 12-bit SAR ADC to digitize the buffered CSOUT signal. For this SPI™-driven ADC, 16 serial bus clock cycles are required for one conversion. At a 2MHz serial data rate, the conversion can be completed in 8µs. In fact, because this ADC employs a sample-and-hold input circuit, the actual conversion can occur while the CAL input is switched and CSOUT is settling to a new value. Figure 4
shows an example of the buffered CSOUT signal and serial data clock timing for sampling each signal at 10ksps.
Figure 4. The MAX1393 ADC sampling load current for two power domains at 10ksps each.
The use of the MAX5977 calibration function to measure two different current paths provides several advantages.
The calibration function itself eliminates the need for an external multiplexer capable of handling the high common-mode voltages at the sense resistors, reducing size and complexity. Only one ADC is required, greatly reducing the cost of the solution. Because both measurements use the same current-sense amplifier and gain-setting resistor, the measurement accuracy is the same for both domains. If filtering of the current-sense signal is desired, it can be implemented around the buffer amplifier, and only one set of filter components is required.
This solution also adds flexibility, because the microcontroller can allocate time and resources to measuring the main and auxiliary current as appropriate. For instance, measurements of the two domains can be alternated one-for-one. Or the system can focus primarily on measuring and monitoring the main path, performing periodic "spot checks" on the auxiliary path only occasionally. In other words, the monitoring "bandwidth" of the system can be allocated between the main and auxiliary paths differently depending on the operating state.
Even though the monitoring function for both domains is combined in the MAX5977, the protection and control of the two domains remains completely independent, which improves reliability and safety.
The calibration function of the MAX5977 is unique compared to dedicated current-sense amplifiers, and it is particularly noteworthy in combination with the MAX5977 hot-swap and electronic circuit-breaker functions. Not only can it be used to implement in-circuit calibration, but it can also be applied to measure load current for two independent supply domains, simplifying the design and operation of high-reliability load cards.