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.

UCD9090: Data format

Part Number: UCD9090

Team,


My customer has the following question:

I’m getting confused regarding the data format for voltage related parameters of the UCD9090.

 

The PMBUS protocol states a 5-bit 2’s complement exponent and 16-bit unsigned mantissa:

 

 

My understanding is that the Exponent sets the LSB size and the Mantissa is multiplied by the LSB size:

 

For example if the exponent was (-13), the LSB size would be 2^(-13) = 122uV.

 

3.3V would be 122uV x 27,049 = 3.29998V

 

The largest 16-bit unsigned number is 2^16 – 1 = 65,535.

 

With this, the largest voltage that could be expressed with an exponent of -13 would be 65,535 x 122uV = 7.995V.

 I don’t understand why in the Fusion Digital Power Designer Software with an exponent of -13, the maximum voltage that can be expressed is 4.0V:

 If the 16-bit Mantissa was actually a 2’s complement signed number, that would explain the issue.  The largest 2’s complement signed number is 2^15 – 1 = 32,767.

 

122uV x 32,767 = 3.997V

 

Can you provide feedback as to whether or not the voltage related parameters are actually expressed as signed 2’s complement for the UCD9090?  If they are indeed unsigned 16-bit numbers, how come the maximum with a -13 exponent is 4.0V?

Thanks,

Aaron

  • I believe the reason that the value is limited to 15 bits is to prevent any rollover issues associated with customer calibration adjustments to VOUT.

    Also possible that the designers wanted to provide overhead for OV measurement if the application voltage was set to the top of the range.

  • After further testing from the customer, they have the following observation.  Please comment.

    After performing more testing, it does not appear that the 15-bits are used to allow for voltage rollover during an overvoltage condition as previously stated.  Below is a test condition performed to attempt to confirm the last response:

    UCD9090 Settings:

    • Exponent : -14
    • OV_FAULT_LIMIT : 1.500V
    • OV_WARN_LIMIT : 1.500V
    • V_OUT : 1.25V
    • UNDER_WARN_LIMIT : 1.000V
    • UNDER_FAULT_LIMIT : 1.000V
    • PWR_GOOD_ON : 1.100V
    • PWR_GOOD_OFF : 1.100V

    Actual Voltage Applied = 2.5V

    The intent of this test was to see if the 16th bit (MSB) was reserved for rollover and previously indicated.  If the UCD9090 was indeed reserving the MSB for rollover during an overvoltage, the 2.5V applied should have set the MSB and therefore the condition should have been reported as an overvoltage fault at 2.5V.  If the UCD9090 is only using 15-bits, some other invalid reading could occur.  If all 16-bits are used, but in a 2s complement signed interpretation, something else would happen.

    Result:

    This particular rail was flagged with an under-voltage fault and read 0x0000 when the READ_VOUT command was issued.

  • WIth exponent set to -14, the maximum voltage device can report is 2V, anything above 2V will be reported as 0V due to the overflow.

    The 16th is reserved for signed bit.

    Hope this is helpful to explain how to interpret the data.

    Regards

    Yihe