Roland Juno 6: the DCO
VCO vs. DCO: a non-debate
Much discussion can be found online of the differences between what are simply often labelled VCOs or DCOs (Voltage/Digitally Controlled Oscillators) but as with many things, the truth is less simple. Often the argument boils down to things like phase and stability. I do not want here to get into any kind of debate or pointless pontification about whether one oscillator is better than another, or to try to delineate boundaries between oscillator types in such a black-and-white way.
The reason, in this instance at least, is partly that the Juno 6 oscillators contain features that straddle what some may see as stricly analogue and strictly digitally-controlled. I offer below an explanation, as best I can give it, of the functioning of the Juno 6 oscillators.
The job of key assignment and voice allocation is something I am not going to cover here. The Juno 6 has a CPU that scans the keyboard and generates data, and this process is beyond the scope of my analysis. I pick up the process at the point at which note data is output from the CPU.
How does the Juno’s oscillator work?
Many (if not most) analogue synthesizer VCOs employ a ramp generator core; that is, a voltage representing pitch is fed (via a convertor that scales the control signal correctly) to a circuit that charges a capacitor, the charge across it generating a ramp. When the ramp reaches a pre-defined level, a comparator in the circuit quickly triggers the discharge of the capacitor, at which point the ramp starts its cycle again. The result is what is often called a sawtooth waveform. In the analogue domain, the stability of this process is subject to factors like temperature fluctuations. Digital control helps combat instability.
Though the Juno 6’s oscillator core is based on this analogue capacitor-charging approach, the ramp reset pulse relies not on an analogue comparator but a digital counter. Effectively, the CPU is programmed with the relative frequencies of each note, and provides a counter (one for each voice) with a value representing how long it should wait before resetting the ramp for any given pitch. The CPU also sends note data (via a DAC) as an analogue voltage to the ramp generator control input. Perhaps counterintuitively, this is not to determine its pitch – after all, pitch is frequency, and the frequency is determined by the resetting of the ramp – instead, it is to maintain an even ramp waveform across all frequencies.
Imagine a low frequency. The clock waits longer to reset the ramp. If the voltage fed to the ramp generator were constant for all frequencies, it would ramp at the same rate no matter which note was played. At low frequencies the ramp would reach its limit and stay there before being reset, and at high frequencies, the counter would reset much sooner, cutting the ramp off before it had achieved optimum level. In this scenario, the low pitches would be severely distorted, and the high pitches would be extremely quiet. Thus, in accordance with the frequency data provided by the CPU, an analogue voltage is generated which will charge the capacitor in the analogue oscillator core at a rate optimised for that pitch, while the resetting process (and therefore the oscillator frequency) is controlled digitally. The result is more stable than a purely analogue circuit.
The matter is slightly more involved, however. Firstly, the counters that provide the reset pulse have to know how fast to count. They are clocked not by the CPU, but by an analogue voltage-controlled clock, which is governed in turn by a sum of the pitch bend, fine tune, and LFO voltages as collected on the bender board. This ensures there is no stepping in the pitch during modulation – as the master clock is in the analogue domain, it is thereby continuously variable. The sum of analogue modulation voltages is also mixed with the CPU-generated ramp feed voltage, so that there is no distortion of the ramp during modulation.
To summarise, the basic process is as follows: note data is sent as a binary number from the CPU to a high-speed counter. An analogue voltage is also generated by the CPU via a DAC, and fed to an analogue ramp generator. When the counter completes its cycle, it resets the ramp circuit capacitor, and charging begins again. Thus, an analogue ramp – the sawtooth wave – is frequency-controlled by a digital device.
It may help to study the schematic for the oscillator core and its logic control. Below is the appropriate page of the service manual. The complete manual contains further technical information.
The counters, DAC, exponential converter, and ramp generator are highlighted in red.
PDF version: Juno 6 main board