This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

About nRF52832 ADC GND offset and GAIN big error

We are using nRF52832 on original PCB board.

We are trying ADC at single-end input, 10 bit resolution, reference voltage is internal 0.6, gain is 3.

We are using regulator to stabilize Vcc to 2.1V.

Then we have a problem about ADC value offset when connecting ch to GND directly.

And there seems to be relatively big GAIN error, calculated as 2.30693.

We tried to get some ADC result by measuring 0 - 2.209 V input.

Results are below. ADC values are average of multiple measurement at same voltage to measure.

0.0000V 41.9

0.2505V 154.5

0.9987V 489.7

1.0023V 490.3

1.0520V 515.2

1.5010V 714.2

1.5037V 716.9

1.5650V 748.3

2.0110V 938.6

2.1000V 975.2

2.1470V 994.2

2.2090V 1016

As above, at GND, there is some offset value is always recognized.

Further, due to gain and internal voltage, ADC value at 1.8V supposed to be 1023, maximum value, but ADC much over 1.8V won't be 1023.

We tried some measures according to QA at past, for example, TASKS_CALIBRATEOFFSET.

But it didn't make difference. Could you please give us any advice?

  • "We are using nRF52832 on original PCB board."

    1) Do you mind sharing schematics and layout?

    "Then we have a problem about ADC value offset when connecting ch to GND directly."

    This is strange, the SAADC should not measure +40mV at GND level. 

    2) What is your source impedance?

    3) What is the state of the CH[x].CONFIG register before sampling?

    "Further, due to gain and internal voltage, ADC value at 1.8V supposed to be 1023, maximum value, but ADC much over 1.8V won't be 1023."

    This is very strange, the gain looks to be around 1/3.6, but this should not be possible as the gain is achieved through a fixed resistor ladder. 
    It can possibly be caused by a blown ESD diode.


    4) Is this problem present will all devices or just a subset? 

    5) Is this problem present on the nRF52 DK? 

  • Dear haakonsh

    Thank you for your reply.

    According to your advice, I'll do some trial to check if it is a problem of a subset or all devices.

    I'm sorry but I cannot share schematics and layout.

    I tried some sample, I recognized that with my source, it cannot be finished TASKS_CALIBRATEOFFSET. It seems to stop due to busy of ADC peripherals. 

    After testing some other way, I will report again. Thank you.

  • Dear haakonsh

    Thank you, and I got a correction of this problem, so I report about that.

    I set a pin to do UART, and that was floating. I set that pin to GND, after that, I got correct gain and offset.

    Thank you for your help.

Related