Reply by Tim Wescott November 20, 20152015-11-20
On Fri, 20 Nov 2015 00:36:16 +0100, kristoff wrote:

> Klaus, > > > (Now reply in the group insyead of via direct email). > 2nd try! :-) > > > On 20-11-15 00:18, Klaus Kragelund wrote: > > You can use for example byte or long DMA transfers to set the timer > reload or compare capture values without CPU interaction. > > A couple of years ago I did a digital power supply in which the error > signal from the error amplifier controlled the peripheral PWM duty cycle > via DMA.. That way I saved an external PWM controller and added the > possibility to control the PWM for special functions also > > You could sample with the ADC and control timer frequency the same > way with no CPU load > > Nice! > > Looks I still have a lot to learn about microcontrollers! > > > > > Cheers Klaus > > Cheerio! Kr. Bonne.
The ST parts are pretty fancy. I'm fairly sure that you could also use the DMA with a timers capture feature -- each time an event happens on a capture input, the time would be recorded into memory for later perusal. But -- you'd have to check and see. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Reply by kristoff November 19, 20152015-11-19
Klaus,


(Now reply in the group insyead of via direct email).
2nd try! :-)


On 20-11-15 00:18, Klaus Kragelund wrote:
 > You can use for example byte or long DMA transfers to set the timer 
reload or compare capture values without CPU interaction.
 > A couple of years ago I did a digital power supply in which the error 
signal from the error amplifier controlled the peripheral PWM duty cycle 
via DMA.. That way I saved an external PWM controller and added the 
possibility to control the PWM for special functions also
 > You could sample with the ADC and control timer frequency the same 
way with no CPU load

Nice!

Looks I still have a lot to learn about microcontrollers!



 > Cheers
 > Klaus

Cheerio! Kr. Bonne.
Reply by Klaus Kragelund November 19, 20152015-11-19
Hi

You can use for example byte or long DMA transfers to set the timer reload or compare capture values without CPU interaction. 

A couple of years ago I did a digital power supply in which the error signal from the error amplifier controlled the peripheral PWM duty cycle via DMA. That way I saved an external PWM controller and added the possibility to control the PWM for special functions also

You could sample with the ADC and control timer frequency the same way with no CPU load 

Cheers 

Klaus
Reply by kristoff November 19, 20152015-11-19
Hi all,



I am learning about the stm32f1xx devices, trying out some example-codes 
on using DMA with the ADC and DAC.


However, when reading the information in the reference-manual about DMA, 
it mentions DMA in combination with Timers!


Now, I am a bit confused.
As far as I understand it, the DMA is there to transfer data between 
devices (ADC, DAC, USART, SPI, I2c) to memory without using the CPU.

But where do do the timers fit in? I understand that timers are needed 
to generate events (e.g. to trigger the start of a ADC or DAC process), 
but that does not involve any RAM, no?


Or do I have a to-simple view of timers?


Cheerio! Kr. Bonne.