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.

UCD3138064A: EADC Error calculation

Part Number: UCD3138064A


Hello all ,

I'm using the UCD3138to sense an input voltage, What I would like to know how to calculate 10-bit result from the (EAPx – EANx) voltage difference, as well as how will all the errors affect this measurement.

I attempted something based on the Front End block  diagram, but I’d like to get the correct formula from your side.

Count = Round [( Vin+ERROR.value)/quantum] +ADC.er

Where

    quantum= 1.5625 mV/bit   from datasheet

   ADC.er=     err_DAC  +  ERROR_value * err_Resulation + err_Offset

Where:   ERROR.value depend of AFE  from datasheet: 

 and   err_Resulation = % error calculated from the table above

Best Regards

Rana

  • Hi, Rana,

    When frond end is used to sense input voltage, you can directly read the register FeCtrlxRegs.EADCVALUE.bit.ABS_VALUE. Then you can calculate what is the voltage by using the below formula:

    Vin =  FeCtrlxRegs.EADCVALUE.bit.ABS_VALUE * 1.5625mV.

    We have used this method in HSFB EVM and it is pretty accurate.

    The ABS_VALUE is calculated in the hardware by using below formula:

     ABS_VALUE = FeCtrlxRegs.EADCDAC.bit.DAC_VALUE + XN/1.5625

    In other words, you still can use the above formula to calculate Vin in your firmware.

    Regards,

    Sean