# Digitally controlled oscillator

A digitally controlled oscillator or DCO is used in synthesizers, microcontrollers, and software-defined radios. The name is analogous with "voltage-controlled oscillator". DCOs were designed to overcome the tuning stability limitations of early VCO designs.

## Confusion over terminology

The term "digitally controlled oscillator" has been used to describe the combination of a voltage-controlled oscillator driven by a control signal from a digital-to-analog converter, and is also sometimes used to describe numerically controlled oscillators.
This article refers specifically to the DCOs used in many synthesizers of the 1980s. These include the Roland Juno-6, Juno-60, Juno-106, JX-3P, JX-8P, and JX-10, the Elka Synthex, the Korg Poly-61, the Oberheim Matrix-6, some instruments by Akai and Kawai, and the recent Prophet '08 and its successor Rev2 by Dave Smith Instruments.

## Relation to earlier VCO designs

Many voltage-controlled oscillators for electronic music are based on a capacitor charging linearly in an op-amp integrator configuration. When the capacitor charge reaches a certain level, a comparator generates a reset pulse, which discharges the capacitor and the cycle begins again. This produces a rising ramp (or sawtooth) waveform, and this type of oscillator core is known as a ramp core.
A common DCO design uses a programmable counter IC such as the 8253 instead of a comparator.
This provides stable digital pitch generation by using the leading edge of a square wave to derive a reset pulse to discharge the capacitor in the oscillator's ramp core.

## Historical context

In the early 1980s, many manufacturers were beginning to produce polyphonic synthesizers. The VCO designs of the time still left something to be desired in terms of tuning stability. Whilst this was an issue for monophonic synthesizers, the limited number of oscillators (typically 3 or fewer) meant that keeping instruments tuned was a manageable task, often performed using dedicated front panel controls. With the advent of polyphony, tuning problems became worse and costs went up, due to the much larger number of oscillators involved (often 16 in an 8-voice instrument like the Yamaha CS-80 from 1977 or Roland Jupiter-8 from 1981). This created a need for a cheap, reliable, and stable oscillator design. Engineers working on the problem looked to the frequency division technology used in electronic organs of the time and the microprocessors and associated chips that were starting to appear, and developed the DCO.
The DCO was seen at the time as an improvement over the unstable tuning of VCOs. However, it shared the same ramp core, and the same limited range of waveforms. Although sophisticated analogue waveshaping is possible, the greater simplicity and arbitrary waveforms of digital systems like direct digital synthesis led to most later instruments adopting entirely digital oscillator designs.

## Operation

A DCO can be considered as a VCO that is synchronised to an external frequency reference. The reference in this case is the reset pulses. These are produced by a digital counter such as the 8253 chip. The counter acts as a frequency divider, counting pulses from a high frequency master clock (typically several MHz) and toggling the state of its output when the count reaches some predetermined value. The frequency of the counter's output can thus be defined by the number of pulses counted, and this generates a square wave at the required frequency. The leading edge of this square wave is used to derive a reset pulse to discharge the capacitor in the oscillator's ramp core. This ensures that the ramp waveform produced is of the same frequency as the counter output.

## Problems with the design

For a given capacitor charging current, the amplitude of the output waveform will decrease linearly with frequency. In musical terms, this means a waveform an octave higher in pitch is of half the amplitude. In order to produce a constant amplitude over the full range of the oscillator, some compensation scheme must be employed. This is often done by controlling the charging current from the same microprocessor that controls the counter reset value.