ADC spikes on STM32F427 custom board
Posted: Fri Aug 05, 2016 10:54 pm
I'm just not sure if I have everything setup properly. At first I checked a bunch of different analog inputs I have wired up and they all generate spikes (max value) even with ground applied.
Then I thought, let me check with the internal temperature sensor, it too is showing spikes.
I've used the reference circuit for the Vref+ from the F427 discovery board, and I've probed Vref+ and it looks clean (x10 probe). I also checked GND and VDD to make sure I am not seeing any noise, both clean.
The board has a vdd -12 plane below the chip, but I checked vdd -12 and it is clean as well (coming from a nice bench supply)
I went through in my code and made sure every input that is floating I set to a push-pull and set to 0 (trying to remove any possible noise I might be getting coupling through the analog mux.
Still, spikes remain.
Turned off SPI interface and removed my programmer and started without it, still generated the same spikes.
Tried a different CPU just to make sure, no change.
The ADC is reading at 480 which is the slowest. I also slowed down the CPU pretty far and it still was doing it. Also tried just setting reading ONE input through the conversion group, same thing.
At this point, I'm just not sure what else to check. I've looked through the errata that I could find from ST but not seeing anything talking about this problem.
EVERYTHING I read points to this being a noise problem on the board, just have no way of seeing the noise it seems. Reason I am asking here is if you've ever seen a setting I could have wrong that might be doing something wrong. Instead of pasting everything, if there is any specific information that would help. Most of the code is similar to the ADC demo.
RIck
Rick
Then I thought, let me check with the internal temperature sensor, it too is showing spikes.
I've used the reference circuit for the Vref+ from the F427 discovery board, and I've probed Vref+ and it looks clean (x10 probe). I also checked GND and VDD to make sure I am not seeing any noise, both clean.
The board has a vdd -12 plane below the chip, but I checked vdd -12 and it is clean as well (coming from a nice bench supply)
I went through in my code and made sure every input that is floating I set to a push-pull and set to 0 (trying to remove any possible noise I might be getting coupling through the analog mux.
Still, spikes remain.
Turned off SPI interface and removed my programmer and started without it, still generated the same spikes.
Tried a different CPU just to make sure, no change.
The ADC is reading at 480 which is the slowest. I also slowed down the CPU pretty far and it still was doing it. Also tried just setting reading ONE input through the conversion group, same thing.
At this point, I'm just not sure what else to check. I've looked through the errata that I could find from ST but not seeing anything talking about this problem.
EVERYTHING I read points to this being a noise problem on the board, just have no way of seeing the noise it seems. Reason I am asking here is if you've ever seen a setting I could have wrong that might be doing something wrong. Instead of pasting everything, if there is any specific information that would help. Most of the code is similar to the ADC demo.
RIck
Rick