[sdiy] In praise of the ATM STM32F303

rburnett at richieburnett.co.uk rburnett at richieburnett.co.uk
Fri Feb 12 18:45:20 CET 2016


The ability to "asynchronously" clock the DMA module is very neat.  I 
make extensive use of DMA for ADC, DAC, UART, CRC, etc, on dsPICs, but 
have never seen the option of an external clock before.  Perfect for 
arbitrary waveform generation with true variable sample rate.

(I suppose the DAC update instants are synchronised to the CPU clock 
internally by the DMA module's arbitration circuitry to interleave the 
DMA reads with normal processor memory accesses, unless the chip has 
dual-port memory specially for DMA like the dsPIC.  Either way the 
jitter from this synchronisation shouldn't cause too much aliasing 
unless you take the clocking speed up into the hundreds of kHz.  Then 
the jitter from synchronising edges of say a 500kHz clock with the CPU 
clock might start to be audible.)

I'm sure it will have lots of uses in things like digitally controlled 
arbitrary waveform generators and the like.

-Richie,


On 2016-02-12 16:45, Colin f wrote:
>> -----Original Message-----
>> From: Olivier Gillet [mailto:ol.gillet at gmail.com]
>> Sent: 12 February 2016 14:53
>> Subject: Re: [sdiy] In praise of the ATM STM32F303
>> 
>> If you're only interested in pure digital generation, you don't even 
>> have to
>> use this feature - you can also directly alter the frequency of the 
>> timer that
>> clocks the DAC updates.
> 
>> Colin's suggestion is about using an external clock source, such as a 
>> VCO, to
>> clock the reads.
> 
> Indeed - this method is useful where you have external clocking.
> For an oscillator, you might use a divider and PLL to multiply the
> frequency of an analogue oscillator and add a sampled waveform option.
> For regularly clock sample and hold applications, you could have a
> simple CMOS oscillator drive a counter chip drive a timer that selects
> analogue mux channels, and have the DAC output clocked by that
> circuit.
> Then the CPU need do nothing more than write values to the block of
> RAM that is DMA'd to the S&H.
> Could be useful if you are doing other things that need all the CPU you 
> can get.
> The STM32 also does nice DMA of ADC channels, so you can set & forget
> a range of pins to be sampled by the ADC, and the values just appear
> in an array without any CPU demand.
> Great little chips ;)
> 
> Cheers,
> Colin
> 
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy




More information about the Synth-diy mailing list