cancel
Showing results for 
Search instead for 
Did you mean: 

Unstable behavior SDADC STM32F373

Were-Rabbit
Associate II

For a 21-channel temperature measurement tool (NTCs) I use a STM32F373 ( SDADC1 + SDADC2 + SDADC3). I replaced a temperature sensor with a fixed resistor for these tests.

The behavior of the ADCs is different and reproducible after startup:

Good Case: The measured values are absolutely stable and correspond to the setpoint

Bad Case: The measured values are not stable and shift with a time constant of approx. 80 seconds. The behaviour of all 3 SDADCs are the same.

The SDADC is configured as follows:

- VREF 2.5V external (stable)

- Continuous Mode

- Single-ended zero-volt reference mode

- gain 1

- Injected conversion

- 9 channels

- DMA mode

Clock configuration:

- 12MHz oscillator on HSE

- PLL on, PLLMul 4

- SDADC Prescaler 32

The following has been tested without success:

- Single-ended offset mode

- Delays after power up

- Sysclk = HSE

- SDADC Prescaler Settings

Thanks Paul

3 REPLIES 3

So when do you observe the "good case" and when the "bad case"?

Were-Rabbit
Associate II

Hi Jan,

After starting up, the SDADC either works stable "good case" or with a drift "bad case". This behavior is maintained throughout the operating period. The chance that the SDADC works correctly is fifty-fifty. I suspect that the SDADC has a timing problem.

Were-Rabbit
Associate II

I have switched the Syclk to HSE and the ADC now provides reproducible values. The drift has dropped markedly but the jumps every 60 seconds is still noticeable. Does the processor perform additional automatic calibrations?