Reply
Posts: 64
Registered: ‎12-27-2016

EFM32 ADC accuracy and calibration

I have a design that uses AVDD as an external A/D reference. DVDD and AVDD are both powered from a 3V reference, but the AVDD is filtered with a series ferrite bead, and parallel 10uF and 0.1uF caps on the AVDD pin(s). The measured AVDD voltage is 2.999V. One of the inputs measures 1.501V so the expected A/D reading would be (1.501/2.999)x 4096 or 2050. However, my A/D reading is 2035. This is a little bit over 0.7% error.

 

This is a higher error than I would have expected from a calibrated unit at room temperature.  The calibration value was read from factory calibration ADC0CAL1 and loaded into ADC0->CAL.

 

ADC0->CAL = DEVINFO->ADC0CAL1;

 

As an experiment, I thought I would try to adjust the ADC0->CAL.SINGLEGAIN values manually to try to adjust the gain error (I assume). Higher SINGLEGAIN values tended to decrease the readings while lower SINGLEGAIN values tended to increase the readings - EXCEPT - when I decreased the SINGLEGAIN value from 0x40 to 0x3F, the reading dropped from 2035 to 1659. It appears as if this is not a linear transfer function.

 

I haven't dug in deep into the calibration procedure, but this result was unexpected. I never could get my reading to adjust closer to 2050 with tinkering with the cal. Is there an appnote that gives a detailed description of this whole process. I've briefly reviewed AN0021.

 

Thanks.

Posts: 1,870
Registered: ‎10-14-2014

Re: EFM32 ADC accuracy and calibration

As far as I remember there is an calibration function in the AN0021SW. You could try that.

Just for curiosity, why not use internal VREF as reference. You AVDD is stable enough?

My views are my own and do not necessarily represent the views of Silicon Labs

WeiguoLu
Posts: 64
Registered: ‎12-27-2016

Re: EFM32 ADC accuracy and calibration

The internal 1.25V and 2.5V reference voltages are not accurate enough. Internal 1.25V is specified from 1V to 1.47V, and the 2.5V is specified 2V to 2.8V. Even if these are calibrated at room temp, I suspect that the temperature drift would be too much for me.

 

The external reference that I'm using is 3V +/- 2% over full temperature range. Of course, you can always get better accuracy - for a price. This is connected to AVDD, and is used as my external reference.

Posts: 1,870
Registered: ‎10-14-2014

Re: EFM32 ADC accuracy and calibration

@gahelton1

You mentioned

-----------------

Internal 1.25V is specified from 1V to 1.47V, and the 2.5V is specified 2V to 2.8V.

-----------------

Is this a expriment result or some data from the datasheet? Or you get this information from other channel.

 

 

WeiguoLu
Posts: 64
Registered: ‎12-27-2016

Re: EFM32 ADC accuracy and calibration

EFM32JG1 datasheet, page 31, Reference Voltage (see attached)

Highlighted
Posts: 8,020
Registered: ‎08-13-2003

Re: EFM32 ADC accuracy and calibration

that is a ridiculous tolerance for a voltage named 'reference'

erik
Posts: 1,870
Registered: ‎10-14-2014

Re: EFM32 ADC accuracy and calibration

Strange enough, I am not sure if this bandgap voltage reference is same as the one that use for ADC peripheral.

Unfortunately we don't have characterization date the internal VREF itself (in ADC part) in the datasheet. But if I remember correctly, the performance of internal VREF should not be so bad on EFM32 serie 0 device.

WeiguoLu
Posts: 64
Registered: ‎12-27-2016

Re: EFM32 ADC accuracy and calibration

If there are other references, they aren't specified anywhere that I can find. The block diagram (Fig 3.1)  in the datasheet, shows one Internal Reference in the Analog Peripherals block.

Posts: 2,890
Registered: ‎02-07-2002

Re: EFM32 ADC accuracy and calibration


erikm wrote:

that is a ridiculous tolerance for a voltage named 'reference'


I fully agree. 20% accuracy is probably worse than what you will find on your VDD. The only reason to accept something like this is if the accuracy depends on production variables but has a high stability after the process and thus can be calibrated.

Posts: 8,020
Registered: ‎08-13-2003

Re: EFM32 ADC accuracy and calibration

[ Edited ]

Maarten,

you are right, however I thoroughly hate 'calibration' when, by design, (in this case a precise reference) you can do without it.

 

it cost more to pay a techie to calibrate, than the cost of a small reference chip, and  small reference chips do not make mistakes. 

erik
Posts: 64
Registered: ‎12-27-2016

Re: EFM32 ADC accuracy and calibration

Poor 'reference" voltage tolerance is not uncommon among microcontrollers. It appears as if the fabrication process for digital micros, and high accuracy analog components are difficult, or impossible, to produce. As a result, you typically find less than ideal internal voltage references on microcontrollers. 

 

With that being said, most of the time,  I use an external voltage reference with the accuracy and temp coeff. that is suitable for a given project. You can pay for as much accuracy as you need.

 

Now on to the internal ADC. The manufacturer has two choices - build in accuracy (low offset and gain errors) so that calibration is not needed in most cases, or go cheaper with looser specs, and give the user the ability to calibrate. SL chose to do the latter -which is ok. This keeps costs lower. However, I would like to have seen a fully automated internal calibration scheme like ST Micros STM32F series. Offset and Gain errors can be calibrated out automatically at anytime (any operating temperature) without the need for any external input voltages (with the exception of VREF which you had to have anyway).  For the EFM32's, we can calibrate the Offset voltage anytime, but Gain has to be calibrated in a production environment, probably at one temperature, because you 'have' to use a separate full scale voltage input to calibrate. This is certainly less than ideal.

 

Although I haven't tried it yet, I still cannot see why we cannot select AVDD (when being used as ADC VREF) as the Positive input to the ADC for gain calibration.

Posts: 1,870
Registered: ‎10-14-2014

Re: EFM32 ADC accuracy and calibration

I completely agree with @erikm @vanmierlo@gahelton1that the variance is too wide for a voltage "reference", I am double checking this with design team and will keep you update.

By the way, we already get some VREF characterization data for EFM32LG and will update the datasheet. based on this internal (currently) data it looks like the VREF is much better than the data for EFM32PG1. Since EFM32LG is EFM32 series 0 device and EFM32PG1 is series 1 device, I don't know if they share similar characterization data but anyway 25% accuracy is not good enough to use as a voltage reference.

My views are my own and do not necessarily represent the views of Silicon Labs

 

EFM32LG.png

WeiguoLu
Posts: 223
Registered: ‎08-16-2012

Re: EFM32 ADC accuracy and calibration

@gahelton1EFM32JG1 datasheet, page 31, Reference Voltage (see attached)

This value is for ACMP reference voltage, not ADC reference.

 

 

My views are my own and do not necessarily represent the views of Silicon Labs
Posts: 64
Registered: ‎12-27-2016

Re: EFM32 ADC accuracy and calibration

Just downloaded the latest EFM32JG datasheet (Rev 1.1). The VREF specification (for the ADC, if it's different from VACMPREF), still is not in the datasheet.