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.

WEBENCH® Tools/TPS40400: Vout Calibration Function

Part Number: TPS40400

Tool/software: WEBENCH® Design Tools

Calibrate output voltage and use the method as follow: VOUT_CAL_GAIN = 100*[(Vout1-Vout2)/(Read_vout1-Read_vout2)-1]. VOUT_CAL_OFFSET = Vout3 - Read_Vout3. For meet the requirement, set the load to 6A and the full load is 12A. But I found that the gain whcih I calculate is not in the limit. The limit in the datasheet is -0.125---+0.121%. Why? 

  • The LSB is 0.4%.     The range is -12.5% to 12.1%

  • I know the information which you gave. I want to know why I calculate VOUT_CAL_GAIN out of the limit? The TPS40400 is with default value.

  • What values do you have for vout1, vout2, read_vout1 and read_vout2?    And what gain value are you calculating?

  • @12Vin 6A Load

    vout1 = 0.584V Vout2 = 4.88V

    Read_vout1 = 0.625V Read_vout2 = 5.07813V

    Vout_cal = 100*[(4.88-0.584)/(5.07813-0.625) - 1] = 100*0.009207007 = 0.920700721

    As you can see, vout_cal is out of limit. Does the formula need to multiply by 100? which parameter I can write to GUI?

    Thank you very much!

  •    

    How are you getting the wide output voltage range?   Are you changing the external feedback divider?

    I am discussing this challenge with my team's pmbus specialist and I will get back too you on Monday.

  • I use an external resistor in my circuit for get the wide output voltage rang. Different resistor can get differernt output voltage.

    Thank you very much!

  •  I emailed my colleague that works with PMBus and asked for an example on how to use VOUT_CAL_GAIN.  

    He emailed me the typical calibration process outlined below.

    I think the difference in your scenario and the below is the example below is using 1 external divider gain.

    Since you have two different gains with the feedback divider, can you use two different vout_cal_gain.


    1) Calibrate VOUT_SCALE_LOOP
              a. After Power-up,
              b. Set VOUT_SCALE_LOOP to match the nominal voltage divider from DIFFO to FB
              c. Set IOUT_CAL_GAIN to match the nominal DCR of the inductor + any current sense resistor used
              d. Set 2 different output voltages via VOUT_COMMAND, measure the real voltage they generate and read the READ_VOUT value.
              e. Adjust VOUT_SCALE_LOOP to correct the gain error from VOUT_COMMAND to Vout.
                  i. VOUT_SCALE_LOOP (trimmed) = VOUT_COMMAND(pre-trim) x (VOUT1– VOUT2) / (VOUT_COMMAND1 – VOUT_COMMAND2)

    2) Calibate VOUT_TRIM
              a. After trimming VOUT_SCALE_LOOP, set a new voltage and measure the real output voltage
              b. Adjust VOUT_TRIM
                  i. VOUT_TRIM = VOUT_COMMAND – VOUT

    3) Calibrate VOUT_CAL_GAIN
              a. Adjust VOUT_CAL_GAIN
                  i. VOUT_CAL_GAIN = 1 – (READ_VOUT1-READ_VOUT2) / (VOUT1 – VOUT2)

    4) Calibrate IOUT_CAL_GAIN
              a. Force 2 reference currents on the output and read READ_IOUT
              b. Adjust IOUT_CAL_GAIN
                   i. IOUT_CAL_GAIN(trimed) = IOUT_CAL_GAIN(pre-trim) x (ILOAD1 – ILOAD2) / (READ_IOUT1 – READ_IOUT2)

    5) Calibrate IOUT_CAL_OFFSET
              a. Force another reference current on the output
              b. Adjust IOUT_CAL_OFFSET
                   i. IOUT_CAL_OFFSET = IOUT – READ_IOUT

     

     

  • HI,David Daniels:

         In fact, I don't know what is meaning? This method is different which your colleague tell me.

    VOUT_CAL_GAIN = 100*[(Vout1-Vout2)/(Read_vout1-Read_vout2)-1].

  •  

    vout1 = 0.584V Vout2 = 4.88V

    Read_vout1 = 0.625V Read_vout2 = 5.07813V

    Based on this data, the READ_VOUT function is reporting a -4.45313V (READ_VOUT1 - READ_VOUT2) change when the output voltage is actually changing -4.296V (4.88 - 0.584V)  so the READ_VOUT/VOUT ratio is -4.4513/-4.296 = 1.036576

    1 - 1.036576 = -0.036576 or -3.6576%.  With an LSB of 0.4, you'll write a value of -9 into the register to reduce all of the READ_VOUT values by 3.6%.

    READ_VOUT1 will become  0.6025

    READ_VOUT2 will become 4.895317

    That's still showing an 18mV offset error at 0.584V and a 3mV gain error over the 4.296V range, but you can see that the gain factor has been significantly improved by trimming the READ_VOUT gain.

    For the decimal value to be written into the VOUT_CAL_GAIN register:

    VOUT_CAL_GAIN (integer) = ROUND( 100 * ( [ 1 - (READ_VOUT1 - READ_VOUT2) / (VOUT1 - VOUT2) ] / 0.004)  )

    The converts from the decimal ratio of Delta READ_VOUT / Delta Vout to the LSB with step-size 0.4%. 

  • Using your equation and the values of your variables,   

    i calculate    -3.5%,     Using my colleagues equation I get -0.036 or -3.6%.

    If I did the conversion correctly, write C409h to D5h will give a READ _ VOUT _ CAL _ GAIN of -3.6%.

  • Hi,Peter James Miller:

       Thank you very much! I'm doing the test now. I will give you the reply later.

  • Please let me know how things go.

  •  

    Have you had a chance to test this?