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.

Calculating values sent to UCD9244

Other Parts Discussed in Thread: UCD9244

   I am trying to calculate the values that are being sent to a UCD9244 for FAST_OC_FAULT_LIMIT, IOUT_OC_FAULT_LIMIT, etc.  To calculate the values that are being sent I use the methods shown in http://pmbus.org/docs/Using_The_PMBus_20051012.pdf.  However the values I calculate are way off from what is stated in the PMBus script file.  For example, for FAST_OC_FAULT_LIMIT, the lines in the script file are:

# Write FAST_OC_FAULT_LIMIT [MFR 39,Rail #1] 9.00 A/Phase
I2CWrite    68    F7    40    D2

The spec states that this is a Linear11 format, so the first 5 bits are the two's compliment exponent and the next 11 are the two's compliment mantissa.  So I get 01000 for the exponent or 2y8=256, and 00100000000 or 256 for the mantissa.  Multiplying these together I get 65536A???!!!  The other numbers I try to calcualte give me similar way out results.  Can someone tell me what I am missing here?

  • The data bytes are sent little endian, low byte first then high byte, so actual data is D2 40.

    First five bits are 11010, 2's complement conversion to -6.

    Remaining bits are 01001000000 which is 576.

    576 * 2^-6 = 9

     

  • Thanks Brad,

    I guess I missed the "bytes sent little endian" in the spec.   Now I can see that 

    # Write FAST_OC_FAULT_LIMIT [MFR 39,Rail #1] 9.00 A/Phase
    I2CWrite    68    F7    40    D2

    is equal to 

    # Write FAST_OC_FAULT_LIMIT [MFR 39,Rail #1] 9.00 A/Phase
    I2CWrite    68    F7    90    00

    Though I am perplexed why the Fusion Designer would pick one value one time and the other value the other time.