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.

Problem of ADC linearity on Piccolo 2803x

Hello,

I have an application (for an AC/DC power supply) with a Piccolo F28035.

The product is now in production and I have a lot a pieces rejected due to a calibration out of range.

After investigation, it appears that the ADC of some Piccolo devices are very very non linear

I plotted the curves for 2 boards (same software, same production batch) and they are very different (one is pefectly linear, the other one has large steps as if the ADC was only 8 or 10 bits).

Has this problem already been observed  ?

A second point : I'm using an external ref (3V) and I try to change the settings of the AD conversion to investigate on the AD linearity problem.

At 2.3V I read  3140 for the converted value (this is 2.3*4096/3, so this is correct).

Then I change the software to use the internal reference (    AdcRegs.ADCCTL1.bit.ADCREFSEL = 0;   )

At 2.3V, I read 3350.  It should be around 2.3x4096/3.3 = 2850.

Why ???

 

Best regards

  • Can you check the contents of the below 2 registers?  If the trims are not set, it can cause poor performance. 

    AdcRegs.ADCREFTRIM

    AdcRegs.ADCOFFTRIM

    If they are not set, this is commonly caused by issuing a software reset of the ADC module without calling the device calibration function again afterwards.