[sdiy] Saw DCO
Fredrik Carlqvist
ifrc at iar.se
Wed Oct 6 10:34:23 CEST 2004
Hi all!
I have had great luck implementing a saw DCO and I thought I should tell you
about it. Only one problem remains. The story is this: I like DCOs. No
tempcos, no octave drift, no trimming. I had a perfectly good square/pulse
DCO but I found it lacked a nice edge. I needed a saw output. Since the DCO
had the timing right, I thought I should implement it using a simple ramp
generator that the DCO would reset. You can find a schematic here:
http://www.minod.com/saw_generator.gif. I also like simple circuits. It has
a trim to adjust the amplitude.
The hard thing then is to apply a proper control voltage so that the ramp
gets the same amplitude regardless of the DCO frequency. I already had a
16-bit DAC hooked up to the MCU, I just added another channel to it. I
measured a couple of slopes and had some luck in finding an interpolation
polynome that was cheap to compute (about 150 cycles or 15us on my MCU). It
worked well above my expectations. The amplitude is within 2% from 20Hz to
5kHz (which is as high as the DCO goes) at room temperature.
Now, there is only one problem: Temperature drift. The ramp slope changes
noticeably when I warm up the CA3080 with my finger tip. Observe that this
only affects the amplitude, not the frequency! So I would like to put in
some kind of compensation. Since the MCU running the DCO already has a lot
of 10-bit A/D channels, I could put a forward biased base-emitter diode and
measure the voltage drop. As it drifts, I could change a factor in my
interpolation and compensate. What do you all think? It's not critical, so
there is no need for a precision circuit.
One nice added feature is that the MCU has a built in comparator. I use this
to trigger an extra reset pulse when the saw slope reaches 3.6 volts. So, if
I increase the saw slope, the ramp is reset both when reaching 3.6V and by
the DCO. This way, I get 'hard sync' waveforms with only one DCO! Observe
also that there is no qualitative difference between the saw output of this
DCO and a proper VCO. Especially since I have added the bass jitter I
measured up during the summer.
Fredrik C
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20041006/a46d4e45/attachment.htm>
More information about the Synth-diy
mailing list