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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

DIGITAL HARDWARE 607<br />

discussed, the sample rate will be set at 62.5 ksls, which when multiplied by<br />

16 yields a throughput rate <strong>of</strong> 1.0 MHz. This equates to a major cycle time <strong>of</strong><br />

16 fLsec and a minor cycle time <strong>of</strong> 1. 0 fLsec.<br />

Hardware Structure<br />

The first step in designing the multiplexed oscillator is to draw a<br />

detailed block diagram <strong>of</strong> the equivalent nonmultiplexed oscillator as in Fig.<br />

17-12. Note that the data input to the oscillator logic comes from a register<br />

and that the DAC output goes to a sample-and-hold, which acts like an<br />

analog register. The 20-bit word length chosen for the accumulator allows a<br />

frequency resolution <strong>of</strong> 0.3% at 20 Hz and 0.005% (equal to typical crystal<br />

oscillator accuracy) at 1 kHz. The lO-bit word length for waveform address<br />

and data gives a SiN ratio <strong>of</strong> greater than 50 dB for the tone.<br />

In converting to the multiplexed oscillator shown in Fig. 17-13, one<br />

replaces all registers with memories, each consisting <strong>of</strong> N words and addressed<br />

by the minor clock cycle counter. In the case <strong>of</strong> the waveform tables,<br />

an N times larger memory holds all <strong>of</strong> the waveforms, and a particular section<br />

is addressed by the minor cycle counter. Thus, the frequency control word<br />

becomes the frequency control memory, which is 16 words <strong>of</strong> 20 bits, and the<br />

accumulator register becomes the accumulator memory, which is the same size.<br />

The waveform memory grows to 16K by 10 if each oscillator is to have a<br />

different waveform. The final outputs now come from 16 SAH circuits,<br />

which are addressed like a 16-position analog memory.<br />

Before determining the timing diagram, components must be selected<br />

for the various blocks. Such a selection must be made on the basis <strong>of</strong> speed<br />

and cost. Obviously, memories that require a 2 fLsec cycle time cannot be<br />

used, but, on the other hand, a 50-nsec bipolar memory would be overkill for<br />

the waveform tables. For this example, the waveform memory will use 10<br />

type 4116 MOS dynamic RAMs, which are organized as 16,384 words <strong>of</strong> 1<br />

bit each. Although dynamic RAMs are the cheapest form <strong>of</strong> memory<br />

available, they require periodic refreshing to retain data. Refreshing is<br />

accomplished simply by reading at least one location in each <strong>of</strong> the 128<br />

blocks <strong>of</strong> 128 addresses every 2 msec. Since the oscillators are constantly<br />

scanning through the waveform memory, it will be automatically refteshed<br />

provided that zero frequency (or an exact multiple <strong>of</strong> 7.8125 kHz) is not<br />

programmed fot all <strong>of</strong> the oscillators simultaneously.<br />

Frequency control words and accumulators will be stored in 10 type<br />

7489 bipolar memories, which are conveniently organized as 16 words <strong>of</strong> 4<br />

bits each. The address selector for the waveform memory uses four type<br />

74153 dual one-<strong>of</strong>-four multiplexors, which simultaneously select between<br />

accumulator and external addresses and between lower and upper 7-bit halves

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

Saved successfully!

Ooh no, something went wrong!