AnsweredAssumed Answered

STM32F207 and ADC3 Problem - SOLVED

Question asked by Jacobs.Carl.001 on Sep 26, 2011
Solved: I found a dead op-amp and some dry joints. First ever dead op-amp! But I'm not too surprised by the dry joints on the quad resistor array in a 1206 sized package. All analogs now look good!

I've just started testing my new STM32F207 prototype board - using the PQFP144 device.
I scan 16 analog channels (+ 3 internal analog channels) using ADC1 and ADC3 using sequential scanning with DMA transfer.
The 3 internal channels look great, and 12 of the external channels looks great (also seem to be very quiet), but 4 channels don't work.

Using ADC3 I'm scanning 8 channels (on Port F3 through to Port F10). They're being scanned in that order.
The channels that don't work right are Port F6 through to Port F9.

I'm able to printf the configuration of Port F from the code, which is as follows:
Port Definitions:
GPIOF->MODER   = 0x543fffc0
GPIOF->PUPDR   = 0x1400015
GPIOF->AFR[0]  = 0x0
GPIOF->AFR[1]  = 0x0

The 8 outputs from ADC 3 are (typically):
ADC3_0:  0 5 5 4095 2968 2035 4095 84
The 4 bad values are marked. The first four inputs share an input conditioning circuit, but the next four inputs are on a different input conditioning circuit!

I have noted that the four "bad" ADC inputs are also shared with FSMC and Timer functions on their respective pins, but no code has yet been written/invoked for either of those functions. The four "good" ADC inputs are also shared with FSMC functions, but not with Timer functions. 

Enabling / Disabling the scanning on ADC1 makes no difference to the result on ADC3.

Any ideas as to what's not working would be appreciated.