cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f429-disc1

harry123
Senior

Hello

Using internal adc for sampling the Analog signal of voltage 300mV.

The output of ADC on plotting has noise. On increasing the voltage the the waveform gets clearer. What could be the reason and how to overcome it?

 

Screenshot (4).png

1 ACCEPTED SOLUTION

Accepted Solutions

Those options are in the RCC tab in CubeMX.

TDK_0-1702045762402.png

 

Note that sampling time will have the largest effect on ADC accuracy and that some amount of noise at 12-bit resolution is unavoidable.

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

View solution in original post

4 REPLIES 4
STTwo-32
ST Employee

Hello @harry123 

According to the errata 2.2.8 of the  ES0206, An internal noise generated on VDD supplies and propagated internally may impact the ADC accuracy. This noise is always present whatever the power mode of the MCU (Run or Sleep).

As a workaround, you should Use the following sequence to adapt the accuracy level to the application requirements:

  • 1. Configure the flash memory ART with prefetch OFF and data + instruction cache ON.
  • 2. Use averaging and filtering algorithms on ADC output codes.

For more details, I suggest you to use the AN4073 and AN2834 that help you on how to optimize the ADC accuracy.

Best Regards.

STTwo-32 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

harry123
Senior
  • 1. Configure the flash memory ART with prefetch OFF and data + instruction cache ON.can you please elaborate on how to do it?

Those options are in the RCC tab in CubeMX.

TDK_0-1702045762402.png

 

Note that sampling time will have the largest effect on ADC accuracy and that some amount of noise at 12-bit resolution is unavoidable.

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

Thank you 

As the is more noise it is getting difficult for me to detect zero-crossing is there any way that I can do?