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.

ADC module in F28069F

Other Parts Discussed in Thread: CONTROLSUITE

Hello Team,

I am using F28069F microcontroller, with the customized board, I am facing problems with understanding the ADC module conversion.

I will post my findings, requesting to help me with this.

In the board I am using AD620 is used for the conversion.

I applied input voltage between the two terminals of the AD620, I have following output in the ADCRESULT register.

Input voltage | ADCRESULT register value (decimal format)

-20 V | 1880

 -15 V | 1920

-10 V |1955

-5 V | 1990

0 V | 2020

5 V | 2054

10 V | 2085

15 V | 212

20 V | 2150.

from the values obatined above I can see the variation of  approximate 30 decimal  increment\decrement in ADC result register value.

I followed the procedure in the following post (

Technical articles

TI E2E support forums
Welcome to the Technical articles section of the TI E2E Community! Ask questions, share knowledge, explore ideas, and help solve problems with fellow engineers on TI’s Engineer-to-Engineer (E2E) Community
)  for  relation between the ADC digital output and analog input.

Vin = Output code * LSB Size.

LSB Size = FSR/(2^N).

#define USER_ADC_FULL_SCALE_VOLTAGE_V            (612.0) 

#define USER_IQ_FULL_SCALE_VOLTAGE_V             (350.0)

Using the FSR = 612 and 12 bit ADC core.

2^12 = 4096 bits.

LSB size = 0.1494.

Output code = (Input voltage)/(LSB size).

Input voltage = 5V 

Output code = 34.

ADCRESULTREGISTER value = 2020 +34 = 2054.

same procedure for input voltage = -5V, will give output code of -34.

ADCRESULTREGISTER value = 2020 - 34 = 1990.

Requesting to correct me if I am wrong, in the way it is calculated.

I have also attached the ADC circuit used for conversion.

Thanks and best regards,

Chetan.

  • Hi Chetan,
    The F28069 ADC has an input conversion range from 0-3.3V or VREFLO-VREFHI depending on whether internal or external reference is mode is selected. Based on the annotation in your schematic, I will assume you are using external reference mode supplied at 3.0V for this response.

    The F28069 ADC is designed to convert 0V to 0LSB and VREFHI (3.0V in this case) to 4095. There will of course be error from offset, gain, and linearity that will have some impact on this, but for simplicity sake let's assume no error for now.

    If you want to utilize the full conversion range of the F28069 ADC, you will need to design your circuit so that your voltage range of your system input (presumably -20V to 20V) is scaled to 0-3.0V at the ADC-B4 ADC input.

    From your results it would appear that -20V/+20V is producing 1.377V/1.575V respectively at the F28069 ADC input. Can you confirm this by measuring the voltage at ADC-B4? If confirmed the issue is that your circuit is not generating the correct voltage on the ADC input. If you are measuring ~0V/~3V for -20V/+20V respectively then we will need to dig deeper to understand why the conversion result are not as expected.

    From there we will try to determine if it is a HW or SW issue so it would be good to confirm:
    HW
    * internal or external reference mode?
    * if external please provide the schematic view of the external ref voltage
    SW
    * Did you start with known working sampling code like the adc_soc example in controlSUITE?
    * ADCCLK rate? (please note the max ADCCLK is 45Mhz so the CLKDIV2EN should be set if (90MHz SYSCLK is used)
    * ACQPS?
    * Have you comprehended any/all ADC errata?
    Regards,
    Joe