[sdiy] Reverse Sawtooth

Matthew Smith matt at smiffytech.com
Mon Jan 24 12:04:54 CET 2011


Quoth Tim Parkhurst at 24/01/11 20:43...
...
> To save some memory, have you thought of only keeping half the wave in
> the lookup table, and inverting & offsetting it for the second half?

Thanks, think I saw that technique in an article I was pointed to in the 
last couple of days.  However, I've tried stripping back the table 
(actually dumping one of the waveforms) and have found that there is 
still very little programme space left - probably not enough to do the 
calcs!

So - for the purposes of testing, I will stick with the ATTINY2313 but:

* remove the triangle wave from the wavetable
* strip the software to bare bones and time the system externally, using 
INT0. (Even sending the frequency over serial was too much for the 
available memory.)

Testing should actually be easier like this (and it only took me about 4 
minutes to write the programme!) as I can drive the interrupt pin from a 
signal generator.  Will take a couple of variables out of the debugging 
process.

After Tom's comment about the DAC on the XMega, I thought I'd better 
check the datasheet of my external DAC (DAC0800LCN) to make sure that 
was fast enough! Phew - it was. 100ns settling time, which this 
calculator makes 10MHz.

Thinking about my "more FLASH but slow ATMega8," I think I'll re-add the 
triangle and reverse-sawtooth, bump my samples up to 256 bits and see 
what the code size looks like - should give me a nice LFO.

Cheers

M

-- 
Matthew Smith
Smiffytech - Technology Consulting & Web Application Development
Business:      http://www.smiffytech.com/
Blog/personal: http://www.smiffysplace.com/
LinkedIn:      http://www.linkedin.com/in/smiffy
Skype:         msmiffy
Twitter:       @smiffy



More information about the Synth-diy mailing list