cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H750 ADC with DMA does not convert small values

PMach.2
Associate II

Hello,
I use the STM32H750VBT6, I have a problem when I use the ADC's DMA with 16-bit resolution (but not only).
The input analog signal varies from 0 to 3v, but the minimum converted value is 20000 (out of 65000). 

It's as if the ADC isn't using the entire input range, do you have any idea where the problem comes from?

 

Paul

 

Parameters :

ADC 16/12 bits resolution

Continuous Conversion Mode

End of Single Conversion

DMA One Shot Mode

 

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

Custom board? Check for valid power connections on VDD/VDDA/VSS/VSSA pins. Check for proper supply and decoupling at VREF+ pin. If it's a high impedance source, ensure your sampling time is sufficient. Ground the signal directly to GND and see what the reading is. 20000 is quite a bit above ground so I feel like something else is happening.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

2 REPLIES 2
TDK
Guru

Custom board? Check for valid power connections on VDD/VDDA/VSS/VSSA pins. Check for proper supply and decoupling at VREF+ pin. If it's a high impedance source, ensure your sampling time is sufficient. Ground the signal directly to GND and see what the reading is. 20000 is quite a bit above ground so I feel like something else is happening.

If you feel a post has answered your question, please click "Accept as Solution".
PMach.2
Associate II

Thank you for your reply

I use the Adafruit 5032 developer board (https://www.digikey.fr/fr/products/detail/adafruit-industries-llc/5032/15204086). So normally the power supplies are well wired but I'll check it out. When I put the signal directly on GND I get values close to 18500 with 16-bit resolution. But with 12-bit resolution, the minimum value connected to GND is close to 600.