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-TO-ANALOG AND ANALOG-TO-DIGITAL CONVERTERS 257<br />

bers, it should be possible to keep 880 JLsecl20 JLsec=44 channels refreshed,<br />

and it would be realistic to support as many as 64 with a 2-time constant<br />

recharge period. Larger capacitors (to minimize switch glitch error) yield a<br />

slightly increased channel capacity because, although the longer drift time is<br />

cancelled by longer recharge time, the DAC settling time becomes less <strong>of</strong> a<br />

factor. Thus, it would be worth considering the LM324 as the channel<br />

output amplifier in a system with 64 or fewer channels.<br />

Refresh Logic<br />

As with dynamic memory in a microcomputer system, refreshing the<br />

multiplexed DAC presents some problems that partially <strong>of</strong>fset the lower cost.<br />

One method <strong>of</strong> handling the refresh requirement would use the microcomputer<br />

system's interval timer to interrupt the program periodically.<br />

The interrupt service routine would then update all <strong>of</strong> the DAC channels<br />

from a table in memory and return. Whenever the main program actually<br />

wanted to change a DAC channel output, it would directly update both the<br />

output and the corresponding table location.<br />

Although easily implemented, this scheme has two serious difficulties.<br />

One is the time stolen from the main program for the refresh operation.<br />

With 64 channels and bipolar channel amplifiers, all available time would be<br />

used to refresh the DAC. Even with FET amplifiers, a substantial amount <strong>of</strong><br />

time may be stolen. Also, if the microcomputer is stopped or a nonmusicplaying<br />

program is executed, such as the system monitor, the DAC refreshing<br />

stops and the channel output voltages drift away to undefined levels. If<br />

the synthesizer were not shut down, the drifting voltages could produce a<br />

really raucous racket! Thus, it is advantageous to perform the refresh automatically<br />

with some scanning logic-or a logic replacement microprocessor<br />

dedicated to the refreshing operation.<br />

An Intelligent DAC?<br />

A 6502 and three additional support chips would make a superb<br />

multiplexed DAC controller. Figure 7-25 outlines such a unit that could<br />

support up to 128 channels. The 6532 interface chips simultaneously provide<br />

two 8-bit liD ports, 128 bytes <strong>of</strong> readlwrite memory, and one interval timer<br />

each. These provide all <strong>of</strong> the interfacing needed between the control<br />

processor and the using system, DAC, and analog multiplexor. The 2716<br />

PROM provides nonvolatile program storage for up to 2048 bytes, ample for<br />

a very sophisticated refresh routine indeed. These four ICs could be expected<br />

to cost less than $50 total, which is less than 40 cents per channel.<br />

Using a microprocessor for refresh control <strong>of</strong>fers a lot more advantages<br />

than a low package count, however. The using system, for example, can<br />

communicate the 12 bits <strong>of</strong> data and 7-bit channel address on a byte basis

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

Saved successfully!

Ooh no, something went wrong!