SLVSDD7A September 2016 – February 2019 UCD9090A
Current can be monitored using the analog inputs. External circuitry, see Figure 13, must be used in order to convert the current to a voltage within the range of the UCD9090A MONx input being used.
If a monitor input is configured as a current, the measurements are smoothed by a sliding-average digital filter. The current for 1 rail is measured every 200μs. If the device is programmed to support 10 rails (independent of current not being monitored at all rails), then each rail's current will get measured every 2ms. The current calculation is done with a sliding average using the last 4 measurements. The filter reduces the probability of false fault detections, and introduces a small delay to the current reading. If a rail is defined with a voltage monitor and a current monitor, then monitoring for undercurrent warnings begins once the rail voltage reaches POWER_GOOD_ON. If the rail does not have a voltage monitor, then current monitoring begins after TON_DELAY.
The device supports multiple PMBus commands related to current, including READ_IOUT, which reads external currents from the MON pins; IOUT_OC_FAULT_LIMIT, which sets the overcurrent fault limit; IOUT_OC_WARN_LIMIT, which sets the overcurrent warning limit; and IOUT_UC_FAULT_LIMIT, which sets the undercurrent fault limit. The UCD90xxx Sequencer and System Health Controller PMBus Command Reference contains a detailed description of how current fault responses are implemented using PMBus commands.
IOUT_CAL_GAIN is a PMBus command that allows the scale factor of an external current sensor and any amplifiers or attenuators between the current sensor and the MON pin to be entered by the user in milliohms. IOUT_CAL_OFFSET is the current that results in 0 V at the MON pin. The combination of these PMBus commands allows current to be reported in amperes. The example below using the INA196 would require programming IOUT_CAL_GAIN to Rsense(mΩ)×20.