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.

SIGNAL ROUTING 289<br />

the equivalent collection <strong>of</strong> standard voltage-controlled modules and companion<br />

multichannel DAC.<br />

As mentioned earlier one strength <strong>of</strong> the fixed-patched approach is the<br />

possibility <strong>of</strong> easy, nearly infinite expandability. This is made possible by<br />

totally parallel buses, both digital and analog, connecting the modules together.<br />

Proper design <strong>of</strong> the buses, however, is necessary to realize this<br />

potential.<br />

The usual microcomputer bus is not at all acceptable for the digital<br />

control bus <strong>of</strong> the synthesizer. For one, its speed requirement severely limits<br />

the length and load allowable on the bus. Also, its high-speed signals, which<br />

flip around wildly all the time, are a source <strong>of</strong> noise that can easily get into<br />

the audio circuitry. The solution is a bus used only for transmitting data to<br />

the voice modules. Since the microcomputer program that will be sending<br />

data to the modules over the bus cannot go much faster than a word every 10<br />

to 20 /Lsec, the bus can be slowed considerably, thus allowing long lengths<br />

and minimizing noise generation. One technique that works well for controlling<br />

rise times is to use op-amp voltage followers for bus drivers! An LM324<br />

quad op-amp, for example, provides nice dean ramps with a 6- to lO-/Lsec<br />

transition time for TTL levels. Slow switching CMOS logic on the modules<br />

themselves provides virtually no load to the bus and tolerates slow rise times<br />

without oscillation.<br />

Figure 8-8 shows the implementation <strong>of</strong> an example synthesizer bus.<br />

For simplicity, the bus is capable <strong>of</strong> output only, that is, data cannot be read<br />

back from the synthesizer modules. For maximum flexibility and expandability,<br />

16 address lines and 16 data lines are defined. The interface between the<br />

bus and the computer consists simply <strong>of</strong> four 8-bit output ports, or if a<br />

16-bit processor is used, two 16-bit ports. With up to 65,536 addresses<br />

available, an addressing standard can be defined whereby the most significant<br />

8 bits define a particular module and the least significant 8 bits address a<br />

function within that module allowing up to 256 modules and 256 functions<br />

per module to be addressed.<br />

To perform a data transfer, one merely sets up the address and data<br />

output ports. When the last port has been written into by the microcomputer,<br />

a pair <strong>of</strong> single-shots times out the data transfer to the synthesizer<br />

over the next 20 p.,sec. A CMOS gate and latches on the module board<br />

decode the register address and latch the data in response to data on the bus.<br />

Series resistors on the CMOS inputs protect against mishaps on the bus.<br />

Because <strong>of</strong> the slow speed <strong>of</strong> the bus and inherent noise immunity <strong>of</strong><br />

CMOS, several feet <strong>of</strong> open backplane wiring can be easily driven without<br />

perceptible signal degradation. If the bus must be run some distance in a<br />

cable, the 32 data and address lines can be individual conductors with no<br />

special shielding. The write-enable signal, however, should be run as a<br />

twisted pair with ground to minimize noise pickup from the other signal<br />

lines. Combined with an overall shield, cable lengths up to 50 feet can be<br />

easily accommodated.

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

Saved successfully!

Ooh no, something went wrong!