cancel
Showing results for 
Search instead for 
Did you mean: 

STM32 NUCLEO ''Triple mode'' possibility?

Radwan Neouchi
Associate II
Posted on December 22, 2016 at 15:03

Hi,

i'm using the STM32 NUCLEO-L476 and i'm trying to trig a conversion on a single channel of each of all three ADCs at the same time by an external trigger. Could this generate any conversion error?

if yes, are there any possible solution to simulate a dual mode but with the ADC3 included (like a triple mode).

Best regards.

5 REPLIES 5
Seb
ST Employee
Posted on December 22, 2016 at 20:12

A very specific ADC mode of operation which would require an ADC specialist to reply.

In the meantime, my two cents guess is that if the goal is to max out the sampling rate frequency, maybe one option (if all resources are available) would be to have 3 independent ADCs with 3 different trigger pins (EXTn). Connect the 3 EXTn pin to the same timer's CC2,3,4 as 'output compare, one pulse mode' timer. Make the Timer kick-in from a digital input CC1 channel edge being the trigger main source. Then it is possible to 'skew' all 3 triggers in timer's internal clock units.

This way, programming 3 DMA streams for each ADC channel would give 3 SRAM tables.

Of course the analog signal input impedence must be very low. (to make the analog signal static and run periodical triggered conversion and make sure any voltage dropout is less than 1 LSB equivalent precision)

External ADC can be connected through DFSDM peripheral.

For lower sampling rate and higher resolution needs, STM32F3 series has Sigma Delta ADCs.

Good luck!

Posted on December 24, 2016 at 09:49

Hi again,

Thanks alot for ur answer. I'm a bit confused, why should I trig three timers by a forth one? CC1 cannot trig all three ADCs simultaneously?

This is my first STM32CubeMx use, can u clearify a bit more how to configure the CC1? And how to link my ADC to the timer event.

I tried with many possible configurations to make the CC1 trig an ADC conversion, but.... FAILED!

how can I trig an ADC single conversion with the CC1?

(i not asking for a code example, a tutorial would be much helpful).

Best regards.

Posted on December 24, 2016 at 10:02

Use a timer in one pulse mode. Use CC1 as main trigger source 

Use CC2 as output compare and connect this pin to a trigger input of ADC1 (to be double checked)

Use CC3 as output compare and connect this pin to a trigger input of ADC2 (idem)

Use CC4 as output compare and connect this pin to a trigger input of ADC3 (idem)

If the timer runs at high frequency, by skewing the 3 triggers from main one, it should be possible to get 3 skewed ADCs conversions.

On an older STM32F437 which I used in one project, all ADCs are connected to the same trigger pin... which seems not to be the case on newer L4...

In one of my projects had op-amps (L4 has some built-in) and analog switches controlled by such configured timers.

Hope this helps,

Posted on January 02, 2017 at 10:28

Hi,

I appreciate your answer.

for CC1, 2 ,and 3, should I use a Output Compare CHx or an Output Compare No Output?

actually I'm using the timer start function cause there is no need to an external trigger.

Regards.

Posted on January 02, 2017 at 11:34

Use if possible physical pin for debug. This way, it is possible to even trigger a manual conversion and if using an oscilloscope, there will be something to trigger from.