Current Sensing with PMBus Digital Power System Managers—Part 1

This is the first article in a 2-part series. Part 1 introduces the digital power system manager (DPSM) family and covers the primary methods of current sensing. LTpowerPlay® is also introduced, and energy metering described. Part 2 covers current sensing on high voltage or negative supplies, accuracy, and highlights the digital aspects of the DSPM family.


Board level designers are tasked with giving life to a board, monitoring its health, adjusting settings, running diagnostics, bringing it offline for inspection, troubleshooting when things are not quite right, and gracefully powering down a complex board without incident. In the world of designing and developing power supplies, power management may not only be desirable, but a hard requirement. The power system manager aggregates a variety of functions, such as power-on sequencing, detecting faults, margin testing, coordinating shutdown, measuring voltages, measuring currents, and collecting data for analysis. Measuring supply current with LTC297x devices is the focus of this article.1

For supplies that power high value components, such as FPGAs, CPUs, and optical transceivers, it may be important to measure the current drawn from the supply rail. For these critical supply rails, this data allows the board designer to gain insight into its performance. When current is measured and the current value is in a digital format, the device can compute power and energy, and the system host can perform unique calculations, look for trends in the data, schedule tasks, etc.

Many technical articles and application notes are written on the topic of sensing current, but none have covered the topic specifically for DPSMs. This article covers both the analog and digital aspects and describes various supporting circuits for measuring current of low voltage, high voltage, and negative rails.

The LTC297x DPSM Family

The focus of this article is power system managers that have built-in current measurement. Table 1 describes the differences between these devices.

The LTC2977/LTC2979/LTC2980/LTM2987 can be configured to monitor current, but there are some limitations. Only odd-numbered channels support current measurement, and measurements are returned in unscaled units of volts. This is covered in more detail in Part 2.

This article focuses on the LTC2971/LTC2972/LTC2974/LTC2975 devices due to their ability to measure output current and allow the system/software to read back values in units of amps using the READ_IOUT command.

Note AN-105: Current Sense Circuit Collection Making Sense of Current covers a wide variety of circuits and scenarios. A portion of this collection applies to the ADI digital power system managers.

Table 1. Family of LTC297x DPSM Devices
  Output Current Monitor Output OC/UC Supervisor Input Current Monitor Energy Accum. LTpowerPlay Support
LTC2977 Odd channels      
LTC2979 Odd channels      
LTC2980 Odd channels      
LTM2987 Odd channels      

1 Unless otherwise specified, the term LTC297x in this application note refers to the LTC2971, LTC2972, LTC2974, LTC2975, LTC2977, LTC2979, LTC2980, and LTM2987. It does not include the LTC2970.

PSM Basics

Power system managers provide a digital view of key voltage and current readings of a power supply. This is a powerful feature of the product family: a system host or LTpowerPlay can support initial board bring up, debugging, validating or collecting baseline data, or looking for trends. While some power supply channels do not require accurate current readings, many critical output channels need highly accurate current measurements.

Various current sense options will be covered in this article, including trade-offs between cost, complexity, and accuracy.

Figure 1. READ_IOUT telemetry plot in LTpowerPlay.

Current Sensing Options

The LTC2971/LTC2972/LTC2974/LTC2975 managers accurately measure output current. Use these devices when possible because they have dedicated current sense pins and PMBus commands that provide telemetry values in amps.

Figure 2. Current sensing with series shunt.

For example, wire the ISENSE lines to a shunt, configure a few registers, and the chip does the rest. The chip converts a measured sense voltage to a current value. LTpowerPlay displays the current in real time as numerical values and in a telemetry plot.

Figure 3. PMBus register settings for output current measurement.

It is also possible to use an LTC2977/LTC2979/LTC2980/LTM2987 to measure output current; however, the READ_IOUT command returns a voltage that must be converted to amps by the system host or LTpowerPlay. In practice, this means the firmware, rather than the chip, must store the value of the series shunt.

A series shunt resistor is not the only way to sense current. Table 2 summarizes the current sensing options available for the DPSM family and their trade-offs. Accuracy, cost, board space, and other factors also need to be considered.

Table 2. Summary of Current Sense Options
  Shunt Resistor Inductor DCR IMON
Accuracy Very good Good Good, however light load accuracy is generally not spec’d
Output Path Lossy (IR drop) No additional losses Lossless
Filter 1-pole filter per pin 2-pole filter per pin Single RC
Other     Virtually no common-mode limitations, offset voltage on IMON pin on some devices

Shunt Resistor Sensing

The most common sensing method uses a shunt resistor, sometimes called a current shunt. Whether the DC-to-DC converter is a switching regulator or linear regulator, the shunt resistor is placed in series with the output. The feedback resistor divider is connected to the output node such that the shunt is inside the feedback loop, which allows the regulator to compensate for the shunt resistor’s IR drop when load current is applied, significantly improving the load regulation.

Figure 4. Sense resistor inside the feedback loop.

The PMBus command used to convert voltage to current is called IOUT_CAL_GAIN. This is the nominal resistance of the shunt resistor. The chip measures the small voltage drop across the shunt resistor via the ISENSE pins, performs the conversion internally, and returns the output current with the READ_IOUT command. The actual voltage that is sensed by the chip is available using the MFR_IOUT_SENSE_VOLTAGE command. The chip computes the output current with this equation:


Equation 1


When using a resistive shunt, set the MFR_IOUT_CAL_GAIN_TC value to the manufacturer’s specifications to compensate for temperature changes. Generally, shunts greater than 10 mΩ have lower temperature coefficients: <100 ppm/°C.

The maximum differential sense voltage developed across the ISENSE pins is listed in the data sheet specifications. Most of the LTC297x devices are limited to ±170 mV of differential voltage. This provides more than enough range for the majority of applications. The max sense voltage is calculated as follows: VSENSE = RSNS × IOUT(MAX). Generally, the max sense voltage is determined first and the RSNS current sense resistor is calculated as follows: RSNS = VSENSE / IOUT(MAX). The max sense voltage is chosen to be a large enough signal, yet not create a power dissipation problem or IR drop in the output path. 50 mV to 80 mV is a good max sense voltage. Select a current sense resistor’s physical size so that it provides a power dissipation rating greater than the calculated power dissipation in the sense resistor: PD = RSNS × (IOUT(MAX))2.

A related method adds a ground referenced current sense amplifier (CSA) to provide a single-ended output that is fed into the current sense pins of the manager. This approach is typically used for level translating a rail that is higher than the 6 V limit of most LTC297x managers. The CSA should have good high-side common-mode performance. It is typical to power such a device from the sensed rail and GND. Details on this method are covered in Part 2 of this article.

Figure 5. Current sense amplifier used for higher voltage rails.

ADI offers many easy to use non-PSM μModule® devices with a small footprint. A PSM manager is a good companion device to control sequencing and supervise them. Most μModule devices have internal inductors. However, some also integrate the topside feedback resistor, making it impossible to add an external shunt resistor inside the feedback loop. One should select a µModule device that allows the use of an external topside feedback resistor for the highest voltage accuracy.

Inductor DCR Sensing

DCR sensing is the method that senses current through a buck regulator’s output inductor. An inductor can be modeled as an ideal inductance and a series resistance called DCR (see Figure 6). This is typically the preferred method for high current (>20 A) rails. The addition of a resistive shunt is an extra component, which dissipates power and generates heat.

One must have access to both ends of the inductor to sense across it, and a filter network must be inserted between the sense points and the LTC297x sense pins. The filter network is a 2-stage differential RC low-pass filter. For convenience and small footprint, a 4-element resistor array can be used. The resistor values should be chosen such that the IR drop is small enough to prevent errors from the LTC297x input current, yet large enough to keep the capacitor values less than 1 μF.

The LTC2971/LTC2972/LTC2974/LTC2975 data sheets provide guidance for selecting RC values.


Assume L = 2.2 µH, DCR = 10 mΩ, fSW = 500 kHz

Let Rcm1 = Rcm2 = 1 kΩ


Equation 2



Equation 3
Figure 6. DCR inductor sensing with a 2-pole low-pass filter.

DCR sensing offers a lossless measurement of current; however, the accuracy suffers due to variability of inductor winding resistance or DCR. It is not uncommon to see inductor DCR specifications as much as ±10% or only a maximum value. The actual DCR value will vary from inductor to inductor, and from lot to lot.

An alternative filtering scheme uses only two resistors and two capacitors. This reduces the component count from eight down to four; however, the filter performance is not as good as in Figure 7.

Figure 7. DCR inductor sensing with a simplified low-pass filter.

PMBus Configuration

To configure the LTC297x using PMBus commands, the nominal value for the shunt resistor or inductor DCR is set using the IOUT_CAL_GAIN command. For inductors wound with copper wire, the DCR increases as inductor temperature increases. This will introduce errors in the READ_IOUT reading. This can be compensated for by setting the copper’s temperature coefficient with the MFR_IOUT_CAL_GAIN_TC command. The data sheet default for this value is 3900 ppm/°C. You may need to adjust the value to match your inductor, because this parameter can vary widely when the wire is an alloy, not pure copper. MFR_IOUT_CAL_GAIN_THETA is the thermal time constant that may be set. The LTC297x data sheets cover these in more detail.

It is important to place a temperature sensor (diode-connected bipolar transistor) close to the inductor to achieve a more accurate current temperature compensation. The LTC2971/LTC2972/LTC2974/LTC2975 devices have TSENSE pins that are connected to the sensor.


IMON pins are gaining popularity in many regulators, both switching and linear. These regulators have a current sense output pin that provides a means of monitoring the regulator’s load current. The advantages of the IMON method are that it is lossless and there is no common-mode voltage to worry about because the LTC297x ISENSE pins do not connect to VOUT. The IMON pin is a single-ended output signal that represents a fraction of the output current, and it can be either a voltage output or a current output, which requires a resistor connected to GND. Current output IMON pins allow the user to select a resistor value, and hence set the maximum full load voltage.

A single-ended voltage can be a much larger signal than a voltage developed across a current shunt or inductor DCR. The LTC2972 and LTC2971 devices even have a configuration bit to allow larger signal levels. It is called the imon_sense bit. The bit is located in the MFR_CONFIG command and is a paged command.

Figure 8. IMON bit in the MFR_CONFIG register.

The IMON resistor value should be chosen to allow wide dynamic range under all load conditions. In general, IMON accuracy is good under medium and heavy load current conditions but loses accuracy under light loads. Check the regulator’s data sheet specifications for more details.

Figure 9. PSM measures current with IMON.

Some regulators combine a current limit function with the IMON pin. The pin may be called IMON/ILIM. Be careful not to select an IMON resistor value such that the IMON voltage activates the current limit circuit under full load. Examples include linear regulators, such as the LT3072 and LT3086. In other cases, such as the LT3094 and LT3045, there is an ILIM pin that functions as a current limit and may be used as an output current monitor. In the case of some switching regulators, the pin may be called IMON and a built-in current limit function may not be obvious. Examples include the LT8652S and LT8708. The current limit circuit has a foldback and does not shut down the output. To shut off the output, an LTC298x will detect an overcurrent condition and pull VOUT_EN low, disabling the regulator’s output.

Input Current Sensing

A power system may have a single input supply that powers a number of downstream regulators. The input supply current may be measured by an LTC2971, LTC2972, or LTC2975. It is straightforward to measure IIN with the LTC2971/LTC2972/LTC2975, as these devices have native capability to connect pins to a sense resistor RSNS in the current path of VIN. Direct wiring of the IIN_SNS pins is limited to VIN supplies that are <15 V for the LTC2972/LTC2975, and <60 V for the LTC2971.

Figure 10. VIN current and voltage sensing.

Whether measuring output current or input supply current, there is a user-programmable PMBus register that translates the sense voltage to a current. In the case of input supply current, the PMBus register MFR_IIN_CAL_GAIN is used. The input supply current can then be read from the READ_IIN register.

Figure 11. PMBus registers for VIN current measurement.

We can measure not only the current but the voltage as well. The PMBus commands are READ_IIN and READ_VIN. With current, voltage, and a time base, the LTC2971/LTC2972/LTC2975 can also compute power and energy delivered to the system. The energy accumulator is described in the next section.

The LTC2971 is capable of sensing input supply current on a 60 V rail. The IIN_SNS pins may be directly connected to a sense resistor on the supply’s input. For supply voltages above 24 V, we recommend using a buck regulator to power the LTC2971 via the VPWR pin. This saves power and avoids self-heating the LTC2971. Power is dissipated due to VPWR × IPWR and can cause the die temperature to increase higher than desired. The ADP2360 has a fixed 5 V option that offers a low cost, small footprint solution for the buck regulator.

Figure 12. High voltage VIN current and voltage sensing with the LTC2971.

Energy Metering

It may be important that the energy usage be monitored. Whether the input supply is a switching regulator, solar panel output, or battery source, it may be useful to know the total energy consumed by the system. The LTC2971/LTC2972/LTC2975 are capable of high-side current sensing of the input power supply. This feature allows the manager to measure input supply current. LTpowerPlay is very useful for exploring the features related to input supply current and energy reading. Once you select the READ_EIN command, the telemetry window will display a real-time plot of energy accumulated.

Figure 13. Real-time energy plot from LTpowerPlay.

The energy meter also measures input supply voltage and is therefore able to report input power as well. Since energy is the product of power and time, accumulated energy is provided based on the manager’s internal time base. The meter displayed in the upper right-hand corner of the GUI provides more information. The needle is a real-time indicator of input power in watts, and the smaller five dials show the total accumulated energy similar to a home electricity meter. Digital readouts are also provided for convenience.

Figure 14. Energy meter in LTpowerPlay.

LTpowerPlay offers a simple and easy to understand interface that brings together input and output current, voltage, power, and energy readings.

Input current, input voltage, input power, and input energy may be viewed in tabular format. These appear in the telemetry portion of the GUI. The MFR_EIN register holds the accumulated energy value in millijoules. There is also a total time that the energy accumulator has been active and is shown as the MFR_EIN_TIME register. The GUI will automatically update the displayed SI prefix as the units change from mJ to J to kJ.

Figure 15. View of telemetry related to input supply voltage, current, power, and energy.

Table 3 is a summary of all telemetry that can be read back from the LTC297x. The registers are I2C/PMBus word reads except for the MFR_EIN register, which is a block read.

Table 3. Summary of Telemetry
Register Name LTC2971/LTC2972/LTC2975 LTC2974 LTC2977/LTC2979/ LTC2980/LTM2987  
MFR_EIN 2      

1. If the adc_hires bit is set, READ_VOUT value is returned in mV. L11 format.

2. Block read that includes energy value in mJ and elapsed time in ms.



Michael Peters

Michael Peters

Michael Peters is a senior applications engineer for power system management devices at Analog Devices. He has more than 30 years of experience in analog and digital circuits, including working on memory devices at previous companies. He received his B.S.E.E. degree from the University of Michigan, Ann Arbor, Michigan.