Author Topic: Pulse generation using STM32  (Read 12626 times)

0 Members and 1 Guest are viewing this topic.

Offline newbrain

  • Super Contributor
  • ***
  • Posts: 1719
  • Country: se
Re: Pulse generation using STM32
« Reply #25 on: July 20, 2018, 06:03:44 pm »
I have to burst the ADC with 30MHz bursts (as datasheet says) to achieve its maximum channel sampling which is not possible with timer triggering and burst method. The timer works at 60MHz itself.
I think you are under a misconception: 30MHz is the ADC clock, that you derive from the clock tree.
This must be always running, no need to turn it on and off, and is used to keep the internal ADC machinery running.
It's not the ADC sampling rate (but of course it's related!).

Then, you can trigger the ADC with the TRGO (from update or compare events) of a timer, or a choice of other methods.
The maximum frequency this can be done cannot exceed 2MHz, if using a single ADC (see table 67 in the F407 datasheet), less if using an external trigger, more if interleaving two or three ADCs.

So the two timer solution is still the best one.
Nandemo wa shiranai wa yo, shitteru koto dake.
 
The following users thanked this post: VanitarNordic

Offline VanitarNordicTopic starter

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: 00
Re: Pulse generation using STM32
« Reply #26 on: July 20, 2018, 06:29:19 pm »
Oh yes, thank you very much.

Do you confirm my method to confirm the timing? I mean GPIO inside TIM ISR and DMA ISR?

I will check and fix UART delays as you guided, and maybe I would catch the correct values.

Anyway for 100 conversions (buffer[100]), do you think how many pulses would I need to include in each burst?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf