Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Level 1
Level 1

Using the VADC_GROUP app in Dave 4.3.2, the XMC4800 ADC measurement gives an error in the area around 2048. (see attached image).
Using the simple ADC_MEASUREMENT app or the ADC_MEASUREMENT_ADV app, this error does not appear.
I tested this on the XMC4700_XMC4800_Relax_Kit_Series-UM-v01_02-EN and the XMC4300_Relax_Kit.pdf-UM-v01_01-EN. Both evaluation boards behaves the same.

Please can anybody tell me what I do wrong and how to solve this problem?

The final goal is to sample 16 channels with 100kHz time equidistant sampling rate and storing the ADC values to RAM.
When one of the signals crosses a predefined limit, an interrupt must be generated. Is for this kind of applications an example project available?

4 Replies
Level 1
Level 1
Hi All,

I am experiencing this same problem on a project I am currently working on. I am using all four ADC groups, each configured by their own 'ADC_GROUP_CONFIG' app in scan mode. All the groups are displaying the same problem identified in Remmel's original post. When you approach the mid-point of the voltage range of the ADC the result clamps at 2048 counts for approximately 100mV.

Has anyone experienced the same problem and identified a solution?

Kind Regards,
Level 1
Level 1
First like received
Hey all,

I had the same problem. I found a following solution:
Search for .analog_clock_divider in your project (part of XMC_VADC_GLOBAL_CONFIG_t global_config) and change it from 1U to 4U.

Well done!

Your solution worked for me.

Level 4
Level 4
First solution authored
I have had a similar problem when using the ADC. The problem was with the Vref supply voltage. In our hardware we had a filter on the Vref input, but we found that the ADC uses a lot of current when measuring values around the centre point.
I would suggest you measure your reference voltage with an oscilloscope and see if it dips during the conversion, we had spikes of up to 100mV, which resulted in incorrect results.