24 June, 2024

Dechreuad: A technical breakdown

     A sawtooth core DCO with no DAC - How does it work?

    The original synths that used this quirky oscillator core are both from Roland, the Jupiter 4 and ProMars (for some reason, Sound On Sound claim that the SPV355 rackmount guitar synth also uses this architecture, but a look at the schematic disproves this).

Roland ProMars/JP-4 VCO operating principles. (Source: Roland ProMars service notes)

    The above block diagram gives a rough overview of how the VCO actually works, but it's a little obtuse, so I'll break it down.

    The timing pulses that are presented to the oscillator core need to meet two conditions for the circuit to work properly - They must be of fixed pulse width, independent of input frequency, and must be a power of two higher than the target frequency.

    The bottom half of the diagram illustrates how this conditioned clock is transformed into a sawtooth. The fixed pulse width clock is fed into a simple passive frequency-to-voltage converter, essentially little more than a lowpass filter, and the resultant voltage is used to charge an op-amp integrator. As frequency increases, charging rate increases, and vice-versa. Simultaneously, the clock is divided by the same power of two that the timing pulse frequency is multiplied by, thus recovering the target frequency. This is used to discharge the integrator, and due to the fact that the charging voltage is proportional to frequency, the resultant sawtooth amplitude is constant regardless of input frequency. Roland specifies a 4052 dual four-to-one multiplexer before the integrator and reset circuit, to allow for a front panel switch that selects between four octaves. This works by changing both the frequency divisor and resistor value before the integrator in tandem.

    Of course, this system is not without its flaws - The waveform starts to deviate away from a sawtooth at low frequencies, which the frequency-to-voltage converter cannot utilise properly, and at high frequencies the waveform collapses in volume as the fixed pulse width approaches the frequency at which it is re-triggered. But as long as you keep the frequency in the 'Goldilocks zone', all is well and the oscillator performs admirably.

    The below diagram illustrates the changes made to this scheme to digitise the frequency generation for use in Dechreuad.

Dechreuad frequency generation and oscillator core block diagram.

    This is, of course, highly simplified. In order to increase the oscillator's range as much as possible, the integrator trigger divider and charge rate will be dynamically switched, and a lot of other necessary circuitry and tweaks have been omitted. But the central thesis is there, and so far it works fantastically on breadboard.

    For testing purposes so far, the CPU has been a Parallax BASIC Stamp 2p24, but this will be substituted in due course for a microcontroller or microprocessor more suitable for integrating into an actual product. Currently I'm experimenting with a simple 8051-based chip, programmed in assembly.

    This is a much more involved design process than Pas-Isel ever was, so I shall try and post more intermediate updates as and when I can. I'm looking forward to seeing where this module takes me, and to sharing more about it in the near future.

Introducing Dechreuad: A minimally digital DCO

     I'm very glad to report that Pas-Isel launched to great success back in February, and has provided a solid foundation for Dwyfor Tech to flourish from! But to do that, we need some new products to bring out. Two are currently in the works. Cryfder was intended to be the first of these, a dual VCA with a mixer/distortion section based around a vacuum fluorescent indicator lamp coaxed into audio valve duties, but is currently undergoing a fundamental re-design due to my unhappiness with the first physical prototype. It's just not there yet.

    What's currently showing a lot more promise on both breadboard and LTspice is Dechreuad. The name means 'the beginning' in Welsh, as since it's an oscillator, it's the start of your signal chain. This module comes from discussions I've been having with some like-minded individuals about creating a Juno-esque polysynth that uses Pas-Isel as the filters. I liked the DCO design I came up with for it so much I'm going to release it as a standalone module before anything else. The fundamental crux of Dechreuad is that it's intended to be a 'minimally digital' DCO, insofar as the CPU is doing as little of the task as possible. As much of the core duties of the oscillator as reasonably can be will be offloaded to standalone CMOS ICs and analogue circuitry.

    Perhaps the most unique aspect of it is that the analogue portion of the circuit creates a very close approximation of a sawtooth using nothing but a clock timing pulse, with no DAC, no digital stepping and using little more than a 555 timer, an op-amp integrator, a frequency divider and a handful of assorted discrete/passive components. This particular oscillator core is exceptionally rare, despite having been used in a Roland Jupiter-series synth, and even with the inherent and obvious design advantage in pairing digital timing circuitry with an oscillator core that requires only a timing pulse to generate a sawtooth, it has only ever been applied to a VCO and never a DCO, as far as I'm aware.

    In my eternal quest to not make straightforward clones or replicate what others have done before me, I intend to not only DCO-ify a previously VCO-only core, but add waveshaping and suboctave circuitry of my own unique design, to make a truly idiosyncratic, yet flexible and characterful oscillator.

    In my next blog post, I'll go into the technical details of Dechreuad and explain how the oscillator core manages to create analogue waveforms from digital timing pulses.