22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DIGITAL HARDWARE 605<br />

1. Sixteen independent oscillators are simulated.<br />

2, Each oscillator has an independently programmable waveform.<br />

3. Moderately high tonal quality (50 dB SiN) is desired.<br />

4, Waveforms may be dynamically updated without glitching the output.<br />

Although the last feature may be impractical in a single-channel oscillator,<br />

its cost is divided by 16 when multiplexed.<br />

A typical nonmultiplexed digital oscillator has a timing diagram something<br />

like Fig. 17-11A. Immediately following the active clock edge, things<br />

happen and signals change. A finite time later, everything settles down and<br />

remains stable until the next active clock edge. The time between settling<br />

and the next clock is "wasted" because nothing is happening.<br />

Multiplexing utilizes this idle time by assigning it to the "data" for one<br />

or more additional oscillators as illustrated in Fig. 17-11B. Such data consist<br />

<strong>of</strong> the frequency control word, the state <strong>of</strong> the counter in the frequency<br />

divider, and the waveshaping table. Essentially, the data are read from a<br />

memory, the next state is determined by the logic, and the result is written<br />

back into the memory and an output circuit. The entire sequence for a<br />

particular oscillator takes place during one minor clock cycle. A major clock cycle<br />

consists <strong>of</strong> N minor clock cycles, where N is the number <strong>of</strong> oscillators<br />

simulated. There will, in fact, be a minor clock cycle counter that identifies<br />

minor cycles within a major cycle. Thus, the sample rate for each oscillator is<br />

the major clock frequency, while the throughput rate for the computation logic<br />

is N times the sample rate or the minor clock frequency.<br />

Before proceeding further, the implementation technique for the<br />

oscillator must be determined. One thing to keep in mind is that the minor<br />

cycle frequency is N times the effective clock frequency for a particular<br />

oscillator. This eliminates the variable sample rate techniques described<br />

earlier because they all require a clock frequency on the order <strong>of</strong> 5 MHz. To<br />

multiplex these according to the specs above would require a throughput rate<br />

<strong>of</strong> 16 x 5 or 80 MHz, somewhat beyond the capabilities <strong>of</strong> standard logic.<br />

Thus, a fixed sample rate approach will be used. In the example system being<br />

FREQUENCY<br />

CONTROL IN<br />

EXTERNAL<br />

EXTERNAL<br />

ADDRESS SELECT DATA IN WRITE<br />

20<br />

FREQUENCY<br />

CONTROL<br />

WORO<br />

REGISTER<br />

OUTPUT<br />

SAMPLE<br />

CLOCK<br />

Fig. 17-12. Nonmultiplexed oscillator organization

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!