This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS546A24A: Vout resolution

Part Number: TPS546A24A
Other Parts Discussed in Thread: TPS546D24A, , TPS546B24A


What is the Vout (read and write) resolution of the TPS546A24A and TPS546D24A?

Same question for Iout read resolution.


  • Hi Gil,

    Our US team will check it and reply you soon.


    Thank you so much for reposting this question here to the E2E forum.

    VOUT_COMMAND uses the LINEAR16 encoding, so the resolution is set by VOUT_MODE (Command Code 20h, Read/Write Byte)


    The default value for VOUT_MODE is 97, which selects an exponent of -9 for a resolution of 2^-9V, just less than 2mV.


    The TPS546x24A family allows writing of VOUT_MODE to change the resolution.


    The resolution of the DAC which sets the reference voltage is 2^-12V / LSB, about 0.244mV, which is then scaled by VOUT_SCALE_LOOP, which is also programmable, though limited by the 0.75V maximum reference voltage.


    So, the default resolution for output voltage programming for all voltages is 1.95mV/LSB, but this can be improved for lower output voltages with changes to the PMBus command values.


    For voltages upto 0.75V, it is possible to support resolutions upto 0.244mV/LSB  (This requires VOUT_MODE = 0x94 or 0x14 - Exponent -12 or better)

    For voltages upto 1.5V, it is possible to support resolution upto 0.488mV/LSB (This requires VOUT_MODE = 0x95 or 0x15 - Exponent -11 or better)

    For voltages upto 3V, it is possible to support resolution upto 0.977mV/LSB (This requires VOUT_MODE = 0x96 or 0x16 - Exponent -10 or better)

    For voltages upto 5.5V it is possible to support resolution upto 1.95mV/LSB (This requires VOUT_MODE = 0x97 or 0x17 - Exponent -9 or94 better)


    It is possible to select a higher resolution VOUT_MODE than the reference generator can support, but multiple LSBs will decode to the same reference and thus output voltage.  For example, with VOUT_MODE = 0x94 (Exponent -12) 3.3V is represented by 0x34CD (13,517) however the reference voltage and thus the output voltage will change in 1.95mV steps once every 8 LSBs due to the limitations of the reference DAC and internal divider.

    For reading VOUT, the dataformat is the same as writing VOUT_COMMAND, defined by VOUT_MODE.  The ADC is also designed for 0.244mV/LSB after the VOUT_SCALE_LOOP divider, but the averaging function adds some additional statistical accuracy if VOUT_MODE is set to a resolution higher than the supported output voltage resolution.  For example, if VOUT_MODE is set to 94h (Exponent -12) and VOUT_SCALE_LOOP is set to 0.125 to support a VOUT of 3.3V, while individual VOUT samples are sensed at 1.95mV/LSB from the ADC, the averaging of multiple samples will allow it to report Vout levels with higher resolution and the last 3 LSBs will not be statically “0”


    Similarly, for the READ_IOUT, the ADC reports a current level LSB of 2^-6 A (15.625mA) for the TPS546D24A and 2^-7A for the TPS546B24A and TPS546A24A, but like the READ_VOUT averaging, READ_IOUT averaging can add additional bits of significant data.  However, the SLINEAR11 data format limits the combination of range and resolution that can be displayed.  The TPS546x24A family uses dynamic exponents, so that it can represent higher resolution at lower currents while still being able to display higher current levels.


    For example, at 40A, the TPS546D24A needs 6 integer bits to represent the “40A” level, provding only 4 fractional bits, forcing an exponent of -4, so the resolution is only 62.5mA/LSB, but at 25A, the exponent can be lowered to -5 and the resolution improves to 31.3mA/LSB, and still further as the current level reduces.


    For the absolute accurate of the reporting of READ_VOUT and READ_IOUT, I would refer you do the individual device’s datasheets.