A Quarterly Publication of
The Smith-Kettlewell Eye Research Institute’s
Rehabilitation Engineering Research Center
William Gerrey, Editor
Original support provided by:
The Smith-Kettlewell Eye Research Institute
and the National Institute on Disability and Rehabilitation Research
Note: This archive is provided as a historical resource. Details regarding products, suppliers, and other contact information are original and may be outdated.
Questions about this archive can be sent to
TABLE OF CONTENTS
by Tom Fowle, Al Alden, and The Editor
Four related voltmeter chips are described. Two are meant for driving 7-segment displays, while their cousins are more general-purpose analog-to-digital converters which give the designer BCD outputs. Applications in non-microprocessor-based digital systems are suggested; i.e., coupled with our Ram-Talker, a build-it-yourself talking voltmeter box could be the heart of home-made talking digital instruments.
Basically, these devices are analog-to-digital converters. The National ADC3511 and ADC3711 convert a DC input voltage to an addressable set of four output lines whose "digital language" is BCD (the binary-coded decimal system; see "Counting in Base 2," SKTF, Summer 1981). The ADD3501 and ADD3701 are identical in their conversion process; the difference is that they present their digital information on seven output lines which, through external buffer chips, are intended to light the seven bars of the standard 7-segment numbers found on digital instruments.
The difference in these two classes of chip is a ROM at the output end that determines the format of presentation; this ROM is looking at an identical on-chip counter in either case. [The 7-segment versions are presented because all we have to do is list their pin diagrams; they need no special treatment. The editor wants them here because he's of a mind to make a cheap digital voltmeter with vibro-tactile (or audio-tactile) output.]
The ADC3511 and ADC3711 BCD Versions
These two chips are called "microprocessor-compatible devices"; they are designed to have their outputs read by other digital devices, instead of directly driving visual LED OR LCD displays. The ADC3511 is a so-called 3-1/2-digit voltmeter, 000 through 1999. The 3711 is called a 3-3/4-digit voltmeter, 000 through 3999. (Oddly enough, both versions are set up for a 0-to-2 volt range; scaling at the input must be done to make the 3711 read 3.999 volts.)
The real advantage of these chips is that the output data are in the form of four BCD digits which can be read separately. (There are four output lines which contain the BCD information; the digit you get depends on an address given to two input "address lines.") Furthermore, the output data can be "latched"--made to stay still--while they are being read and converted to a slower mode of communication (such as speech).
(Latching the outputs while they are being read is a necessary feature; without it, the possibility exists for lower-order digits to change while a reading is being spoken. In other words, without latching the possibility exists for you to hear portions of several different readings, thus ending up with chaos.)
[Note: The essence of how A/D conversion is accomplished is important; the exact specifics are not. Therefore, it's only fair to tell you that the editor has taken certain liberties with the equivalent circuits in order to keep this treatise short, and yet promote understanding.]
The procedure is to make a counter accumulate a number which is in proportion to the analog input voltage; when a voltage is presented, the counter starts accumulating until a comparator says "You're there; stop!" A straightforward way of accomplishing this would have been to feed a D/A (digital-to-analog) converter with the output of the counter; the analog output of this could feed back to the comparator. They didn't do it that way, and their method is as follows:
There indeed is a comparator at the input. Its "plus" input is looking at a filtered version of V In. The "minus" input of this comparator goes to a feedback point called V Feedback. How this feedback is derived is where the trickery starts.
The comparator's output feeds the "data input" of a D flip-flop. The Q and NOT-Q outputs of this flip-flop operate a pair of switches (called "Switch 1" and "Switch 2" in the pin diagram). These switches operate an up-down "integrator" whose output is sensed by the "minus" input of the comparator.
Specifically, the V Feedback point goes through an integrator capacitor to ground. Besides going to the "minus" input of the comparator, V Feedback also goes through a resistor ("R1") to one end of each of the two switches. When Switch 1 is closed (controlled by the Q output of the flipflop), its end of R1 is taken to a positive reference voltage. When Switch 2 is closed (controlled by the NOT-Q), the end of R1 is taken to ground.
The Clock input of the flip-flop is triggered by a signal on the "f In" pin on the package (there is provision for creating this clock signal in the voltmeter chip). However, as long as the comparator holds the D input high, the flip-flop is content to flip to the "1" state--closing Switch 1--while the "integrator" charges up. When the integrated voltage reaches that of the input, the comparator brings the D input low; the flip-flop now directs the "integrator" to go the other way. (This arrangement is called the "analog loop" in the literature.)
From this point on, the comparator--via the D input--directs the flip-flop to make the "integrator" go first one way, then the other, always striving to satisfy the condition that V Feedback be made equal to V In. (Of course, a stable situation will never be achieved; the comparator will never quite make up its mind, and the flip-flop has got to be one way or the other. This arrangement will just keep vacillating and oscillating.)
This bouncing back and forth now becomes important. The charge and discharge rates of the "integrator" depend on the currents supplied to it; if V In happens to be close in value to the 2-volt reference (and thus far away from ground), the discharge current will be much higher than the charging current. In this case, therefore, Switch 2 will not have to be closed very long to pull V Feedback below V In, but Switch 1 will have to connect the "integrator" to the reference for quite a while before V Feedback again exceeds the input value. Thus, this "analog loop" creates a waveform whose duty cycle is related to the analog voltage, V In.
[You like it? We're not even digital yet; all we have so far is an analog in time of the input's amplitude.]
Two counters are used; one is the all-important accumulator, while the second is just a timer that terminates operation of the first. The accumulator sees the output of an AND gate which combines the Q Output of the D flip-flop AND the clock signal "f In". Therefore, it counts bursts of pulses; the higher V In, the longer the bursts. However, its accumulated number is not just the length of one burst--this would have low resolution. Rather, Counter 1 clocked at frequency "f In" ticks away and lets the process go on for 2000 cycles (4000 cycles for the 3711) of "f In". This second counter feeds its "stop" signal into the aforementioned AND gate so as to interrupt the pulses being accumulated in Counter 1. The ratio of the counts in the two counters is equal to the duty cycle, which in turn is equal to the ratio of V In to V Ref. With the count in Counter 2 equal to 2000 and V Ref equal to 2.000 volts, the count in Counter 1 indicates V In.
If you ponder it, there is a reason for all this madness. An implementation such as the straightforward one (advanced in the first paragraph of this section) would be subject to drift of the clock frequency. This scheme avoids this frailty; the same clock frequency that "graduates" the duty cycle also "clocks" the time of the overall count. If this frequency were cut in half, each burst would contain half as many clock pulses, but the measurement would take twice as long, thus ending up with the same accumulated count. How beastly clever.
Digital Section of the BCD Versions
On the ADC3511 and ADC3711, there are four BCD outputs: "1," "2," "4," and "8" are pins 23, 24, 3, and 4, respectively. Which digit they present to you depends on your operation of the "D0" and "D1" address lines. Holding "D0" and "D1" both low will show you the "one's" digit; bringing "D0" high will show you the "ten's" digit ... with both of them high, you get the partial digit at the beginning of the number (which can count up to 3 if you have the 3711).
If you exceed the maximum readable input, an overflow indication will be apparent by pin 5 going high, as well as all data lines going high.
The reading can be latched (locked so that the data are not updated), or left to update every time a new A/D conversion is made. When the "Data Latch Enable" line is held low, the outputs are free to update. When this enable is brought high, the data will be "latched." This does not mean that you can't "scan" them with the "D0" and "D1" address lines; the BCD outputs will still be free to give you each of those stored digits if you call for them. (The Latch Enable must be held low for more than 200 nanoseconds for new loading to occur.)
Another way of holding the chip at bay is by tying the "Start Conversion" pin low; while this has no effect on the A/D conversion process (which goes on no matter what you do), this input controls transfer of data to the output latches. A use for this would be in a case where the voltmeter is to be synchronized to events of the input. This "Start Conversion" input is normally held high.
Finally, a "Conversion Complete" output goes high when new information has been transferred from the internal counter to the digit latches. This does not mean that the new data are "latched," but merely means that the output lines have been updated. If the Latch Enable is held low, this output will give forth a pulse every time updating has occurred. For the ADC3511 and ADD3501, this pulse will stay high for 64 divided by f In; for the ADC3711 and ADD3701, the width of this pulse will be 128 divided by f In. (Its rising edge indicates update.)
Each analog-to-digital conversion takes place within a specified number of clock cycles. For the 3511, it is accomplished in 64,512 cycles, while for the 3711 it takes 129,024. Thus, the conversion frequency, the number of conversions per second, can be had by dividing the clock frequency by the appropriate factor--depending on which chip is in use. With the maximum specified clock frequency (640kHz), the 3-1/2 digit units (the ADC3511 and the ADD3501) accomplish about five conversions per second, while the 3-3/4-digit counterparts (the ADC3711 and the ADD3701) can only do 2-1/2 readings per second. (In the suggested circuits, the clock frequency chosen is half this maximum; thus, the 3-1/2-digit units update 2-1/2 times a second.)
7-Segment Output Description
So that you won't have to look it up, the format for 7-segment digits, appearing in "Counting in Base 2" (SKTF, Summer 1981) will be quoted here:
"Each numeral is described by seven LED bars. The bars are arranged so as to construct a square figure-8 pattern. In other words, the perimeter of the array uses six segments to form a rectangle two bars high and one bar wide, with the seventh bisecting this rectangle into two squares, one above the other.
"Starting from the top and moving clockwise, the bars around the perimeter are denoted A, B, C, D, E, and F, while G is the horizontal bar across the center. Some examples of numerals are: 8 is made by illuminating all seven segments. 0 is made by illuminating A through F. 7 is made of A, B, and C. Depending on the display, 1 can be either B and C, or E and F. Numbers 6 and 9 include all but B and E, respectively. (Occasionally, 6 and 9 leave out A and D as well.)"
Since the digital sections of the 3501 and 3701 are CMOS, external drivers would be required to illuminate 7-segment LED arrays; the drivers recommended are National DS75492 inverters. For the editor's purpose--he being beyond mere earthly illumination--the CMOS outputs are just fine.)
Like their BCD cousins, only one set of outputs is provided. But there the similarity ends. Instead of "reading" a desired digit by addressing the chip, a 7-segment version sequentially addresses ("strobes") the digits of the display by way of four output lines--one for each numeral. No latching feature is provided, either. A digit is live (ready for reading) when its particular output address line goes low.
They give a figure for "inter-digit blanking time" which is the reciprocal of 32 times "f In"; presumably during this time, the "a through f" outputs are setting up. The digit multiplex rate is "f In" over 256.
[Editor's Note: Any pin numbers mentioned here apply to the BCD "ADC" chips. The 7-segment devices will be briefly summarized at the end, but these latter are probably less important to us.]
Power Supply Arrangements
It so happens that, if the differential input pins (the so-called "V In" pins) are used, the input system cannot be permitted to share a "ground" (or any other reference point) of the voltmeter chip's power supply. (As will be seen, a single-ended operation of the chip will permit a common ground.) If the fanciest input arrangement is used, a transformer-isolated power supply for the voltmeter chip will be necessary. The literature then warns that common-mode 60Hz noise can be a problem. To minimize noise from the isolated power supply, they recommend using a shielded transformer.
The devices have what you might call "digital ground" and "digital VCC" pins; pin 22 (VSS) is grounded, while pin 1 goes to 5V. Pin 2 is a socalled "Analog VCC." This pin 2 is merely a decoupling point; it is supplied internally through an on-board 100-ohm resistor, but it is to be bypassed to "Analog Ground" by a 10uF 10V electrolytic capacitor (positive at pin 2). The literature never suggests it, but there may be some case where Analog Ground could be taken to some other level; it is just grounded in all of their circuits.
* * *
An external 2-volt reference voltage is also required to be applied to the "V Ref Input." An LM336 temperature-stable reference is shown in the literature. The LM336, when trimmed to its optimal operating point, presents a stable 2.49V; this means that an adjustable voltage divider must be arranged as shown. As if those adjustments weren't enough trouble, they show an "offset adjustment" that apparently is needed to compensate for offset in the input comparator. The full regalia is shown as follows:
Precision Reference and Offset-Bias Circuitry
The anode of the LM336 is grounded. Its cathode goes through 680 ohms to the 5V line. Also going to 5 volts is the anode of a 1N914 diode; the cathode of this 914 goes to the top of a 10K multi-turn trim pot. The bottom of this pot goes to the anode of another 1N914; the cathode of the latter is grounded. The arm of the pot goes to the "Adjust" pin of the LM336. The pot is adjusted to get precisely 2.49V at the cathode of the 336.
The output of the LM336, its cathode, goes through a 232-ohm 1% resistor to the top of a 20-ohm pot; the bottom of this pot goes through a 1000-ohm 1% resistor to ground. The arm of this pot goes to the V Ref Input. This pot is adjusted to get the desired 2 volts.
The output of the 336 also goes through 100K to the top of a 50K pot, with the bottom of this pot being grounded. The arm goes through 22 megohms to the V Feedback pin. They don't say how this is to be adjusted, but you may be able to "zero" the voltmeter with this adjustment while shorting the input.
* * *
The clock signal may be generated internally, or it can be gotten from an external clock source. The minimum clock frequency is 100 kilohertz, while the maximum is 640 kilohertz. If the device's RC clock is used, a squarewave output at the clock frequency is available. The built-in clock requires an external capacitor and resistor connected as follows:
Internal Clock Circuit
The "f Out" pin (pin 18) goes through 7.5K to "f In" (pin 17). Pin 17 also goes through 250pF to ground (VSS, pin 22).
The frequency of this internal clock is gotten from the formula:
f equals 0.6 divided by R times C.
You can see that, with their suggested values, they are running the clock at 320kHz, exactly half of the maximum speed.
* * *
The sensitivity of the voltmeter chip can be changed by altering the elements around the "integrator"--altering the feedback system. The first circuit shown gives you a 2-volt range (regardless of whether you use the 0-to-1999 or 0-to-3999 chip, since the only difference is in the counters, not the analog input system). Note that in the 200 millivolt arrangement, the signal at V Feedback is just divided by 10.
Integrator Circuit for 2 Volts Full Scale
The "V Feedback" pin goes through a low-leakage 0.47uF capacitor to Analog Ground. (A Mylar or other plastic dielectric is probably the thing to use.) The V Feedback point (pin 12) goes through 100K (the aforementioned "R1") to "Switch 1" (pin 15). Between Switch 1 and Switch 2 (between pins 15 and 14) is a 200-ohm resistor.
Integrator Circuit for 200 Millivolts Full Scale
V Feedback still goes through 0.47uF to Analog Ground; however, there is now a 100K 1% resistor in parallel with this capacitor. From V Feedback to Switch 1 is 900K 1% (between pins 12 and 15, respectively). Once again a 200-ohm resistor goes between pins 15 and 14.
(This 200-ohm resistor traces back to a problem with the impedance of the precision reference. You will recall that, since the LM336 actually develops 2.49V, a voltage divider was constructed to get the 2 volts we need. This voltage divider--essentially 232 ohms in parallel with 1000 ohms--has an impedance of about 200 ohms. If this frailty is not "matched" when the integrator is pulled toward ground, you would get disproportionate charge and discharge currents, and the duty cycle of the "analog loop" would include a slight error. While they never say so, the editor bets that if you had a true 2-volt reference, such as a battery, the proper procedure would be to short pins 14 and 15 together, thus creating a single-pole double-throw switch that would connect R1 directly between the reference and ground.)
As to selecting a gain for the ADC3711 (or ADD3701, since they both read up to 3999), a sensible arrangement is to use a 5-to-1 voltage divider: Pin 12 would go through the parallel combination of 0.47uF and 100K to analog ground; a 400K 1% resistor (made up of some combined values) would be used between pin 12 and pin 15.
* * *
Two input arrangements are shown. The simplest is a single-ended input which provides for only a positive voltage; no recognition of the sign is presented. A clear advantage of the single-ended hookup is that a common ground can exist between the unknown and the voltmeter chip. In the second arrangement, a differential input is provided for, and the polarity of the signal is indicated by the "Sign Out" pin (low is "minus," high is "plus"). The latter arrangement has the disadvantage of demanding complete isolation of the input circuitry; even digital signals cannot be shared, except by way of opto-isolators.
Single-Ended Input for Positive Voltages Only
The "V In Minus" and "V In Plus" inputs are ignored and left open; the "V Filter" pin is used. The unknown source goes through 100K to V Filter (pin 9), with this pin also going through 0.47uF to Analog Ground (Mylar or other low-leakage dielectric). (They suggest that not only should this capacitor be of a low-leakage type, but that it be the same kind as is used from V Feedback to ground. By doing this, the leakages will be matched, and the error caused by leakage of the integrator will be minimized.)
Differential Input for Voltages of Either Polarity
V Filter goes through its 0.47uF to Analog Ground. The "V In" pins each go through 51K to the terminals of the unknown source.
The V In pins go to some kind of on-board polarity-reversing switch that is controlled by logic; it has the power to sense the polarity and ground the most negative input. The polarity information is then available to you at the "Sign Out" pin; this output will go high when V In Plus (pin 11) is positive with respect to V In Minus (pin 10).
Sample Circuit and Circuit Ideas
Applications for the BCD units are obvious. If you took the four outputs from one of these, and stuffed one digit after another into an addressable Ram-Talker, you'd have a pretty straightforward voltmeter. (The Ram-Talker appeared in Summer 1987.)
The straightforwardness of this approach is, however, deceptively superficial. If one wants to obtain the BCD digits one at a time from the voltmeter chip, one needs to first be sure that a complete conversion has taken place; then the four digits can be addressed one at a time, placing the four BCD bits of information on the address lines of the talker. (A disparity exists between the rapid availability of digit information and the slowness of operating the speech device. For each digit, we must wait for a couple of electrical years while the talker blabs in the slow tempo of human speech, then bump to the next digit and "read" through the "display.") So far, this is not so bad, but then if we want to include the sign at the beginning of the number, as well as putting in a decimal point at an appropriate place in the string, things get rather hairy. Nevertheless, these issues can all be addressed using logic.
In the meantime, the editor would like to try the cheap-'n'-dirty approach of tactually scanning the seven segments--presenting a "yes" for each live bar via a loudspeaker or a vibrator for the deaf-blind. If you'll please indulge a brief discussion of this readout system, a summarized circuit for putting one of these chips "on the air" will logically follow. Except for actual pin numbers, the power connections and components for the clock, plus the feedback and input circuits, will be the same for any version you choose.
This idea is an old trick of two very inventive designers of equipment for the blind: Jim Swail published a tactile BCD readout in various publications; one such article ("A Tactile Readout for Digital Instruments") appeared in the Winter 1982 edition of SKTF. Tim Cranmer has made audio-tactile Braille outputs for clocks and calculators which work on a similar principle.
In the voltmeter of the editor's fantasy, the panel of digits consist of arrays of little metal bars (arranged to make three full digits and one partial one), all these surrounded by (and insulated from) a back plane. To sense the effect of laying a finger on an active bar, the back plane goes to VCC and each bar goes through 22 megohms to ground; this will allow skin resistance to pull a bar up to logic 1 when it is being felt.
For a 3-1/2 digit display, twenty-three 3-input AND gates will be used, one for each "bar." Each bar goes to one input of its assigned gate. Next, one input of every A-bar gate goes to Segment A on the voltmeter chip. Similarly, an input of every B-bar gate goes to Segment B of the chip, and so on. Finally, the free input from every "digit 1" gate will go to the output of an inverter whose input is the Digit 1 strobe line on the chip; the free input of every "digit 2" gate will go to an inverted Digit 2 strobe signal from the chip, and so on.
All the AND-gate outputs will go through separate 100K resistors to the input of any power amplifier. (Suppose these resistors all go to the top of a 10K volume control which feeds into an LM386 in its lowest-gain hookup.) If we run the voltmeter at its lowest recommended frequency of 100kHz, the strobe signal will be 390Hz--quite hearable, and perhaps feelable. If a lower frequency were needed for the tactile output, the outputs of those gates could be combined in a many-splendored (23-input) NOR gate, after which the frequency could be divided by 2 or 4. (A low frequency can be presented to a vibrator on the user's chair.)
Sample Basic Hookup for the ADD3501
[Note: Except for the output connections, which can be very individualistic, it really doesn't matter which chip is detailed here. The pin numbers are the only variation between versions.]
Analog Ground (pin 15) and VSS (pin 25) are both grounded. A 5-volt supply is used; the 5V line is bypassed to ground by perhaps 10uF (negative at ground). The VCC pin (pin 1) goes to 5V. The Analog VCC decoupling pin (pin 2) is bypassed to ground by 10uF (negative at ground). The "Start Conversion" (pin 9) is tied high (it goes to VCC).
A precision 2-volt reference is needed. AN LM336 has its anode grounded, while its cathode goes through 680 ohms to the 5V line. To "trim" this 336 for maximum stability, its "Adjust" pin goes to the arm of a 10K pot. The top of this pot goes to the cathode of a 1N914 diode, with the anode of this going to VCC. The bottom of the pot goes to the anode of another 914, with the cathode of this being grounded. (This 10K pot is adjusted to get 2.49V out of the 336.)
The cathode of the 336, its output, goes through a 232-ohm 1% resistor to the top of a 20-ohm pot; the bottom of this pot goes through a 1K 1% resistor to ground. The arm of this 20-ohm pot goes to the V Reference input (pin 18.)
An offset correction is included. The cathode of the 336 also goes through 100K, then through a 50K pot to ground. The arm of this pot goes through 22 megohms to V Feedback (pin 14).
To set the clock frequency to 100kHz, "f Out" (pin 20) goes through 6.8K to "f In" (pin 19); "f In" also goes through 820pF to ground.
V Feedback (pin 14) goes through 0.47uF to ground; this pin also goes through 100K to Switch 1 (pin 17). Between Switch 1 and Switch 2 (between pins 17 and 16) is a 200 ohm 5% resistor. V Filter (pin 11) goes through another 0.47uF capacitor (similar to the one on V Feedback) to ground.
As mentioned earlier, the input network and/or input signal must not share any point of reference on the voltmeter chips power supply. V In Minus (pin 12) goes through 51 K (5%) to the cold side of the unknown (perhaps a "ground" of the source). V In Plus (pin 13) goes through 51K to the hot side of the unknown.
Electrical Characteristics for the ADC3511 and ADC3711
(Note: The specifications for the 7-segment versions are very similar; the main difference is that the BCD units, even though their digital outputs are CMOS, can drive TTL loads.)
- Operating Voltage--4.5 to 6V
- Operating current (with all outputs open)--0.5mA to 5mA
- Linearity (for 2-volt hookup)--Within 0.025%
- Quantization Error--Minus 1 minimum, 0 maximum (Out of 2000 or 4000, you may miss a count, but you'll never get an extra count.)
- Offset Error (for V In equals 0)--Minus 0.5mV plus 3mV, typically 1mV (This is apparently without the external offset circuit shown.)
- Analog Input Current--Typically plus/minus 1 nanoamp (Note: Being CMOS, the "output currents" are not given; rather, the ratings given are the effects on output voltages by imposing specified loads.)
- BCD Logic High (under 360uA load)--VCC minus 1V
- Logic High (for all other outputs, under 360uA load)--VCC minus 0.5V
- Logic Low (for all outputs sinking 1.5mA)--0.4V
Pin Assignments for the ADC3511 and ADC3711
- Pin 1--VCC
- Pin 2--"Analog VCC" (a decoupling point which is merely bypassed)
- Pin 3--"4" Out
- Pin 4--"8" Out
- Pin 5--Overflow
- Pin 6--Conversion Complete
- Pin 7--Start Conversion (held high to free-run)
- Pin 8--Sign Output
- Pin 9--V Filter
- Pin 10--V In (minus)
- Pin 11--V In (plus)
- Pin 12--V Feedback
- Pin 13--Analog Ground
- Pin 14--Switch 2
- Pin 15--Switch 1
- Pin 16--V Ref Input
- Pin 17--"f" In
- Pin 18--"f" Out
- Pin 19--Digit-Latch Enable
- Pin 20--D0 (digit address input) Pin 21--D1 (digit address input) Pin 22--VSS (digital ground)
- Pin 23--"1" Out
- Pin 24--"2" Out
Pin Assignments for the ADD3501 and ADD3701
- Pin 1--VCC
- Pin 2--Analog VCC
- Pin 3--Segment D
- Pin 4--Segment C
- Pin 5--Segment B
- Pin 6--Segment A
- Pin 7--Overflow
- Pin 8--Conversion Complete
- Pin 9--Start Conversion
- Pin 10--Sign Out
- Pin 11--V Filter
- Pin 12--V In (minus)
- Pin 13--V In (plus)
- Pin 14--V Feedback
- Pin 15--Analog Ground
- Pin 16--Switch 2
- Pin 17--Switch 1
- Pin 18--V Ref Input
- Pin 19--f In
- Pin 20--f Out
- Pin 21--Digit 4 (strobe out)
- Pin 22--Digit 3 (strobe out)
- Pin 23--Digit 2 (strobe out)
- Pin 24--Digit 1 (strobe out)
- Pin 25--VSS (digital ground)
- Pin 26--Segment G
- Pin 27--Segment F
- Pin 28--Segment E
by Tom Fowle
A general discussion of first-in first-out (FIFO) shift register devices is given, along with specific details on the IDT72401 4-bit by 64-word IC. (This specific chip will be used in the addressable RAM-Talker.)
In many ways, a FIFO (first-in first-out) device is similar to a simple "serial-in serial-out" shift register as already described in these pages (see SKTF, Fall 1986). (The simplest shift register is only one bit wide, whereas the FIFO to be described can accept four bits at a time.) In either case, such a device is used for the temporary storage of digital information. A FIFO is particularly useful in systems where this information needs to be moved between two systems that may have radically different speed requirements. An exemplary application is storing a series of 4-bit addresses (which are presented in quick succession) for presentation to a speech board (such as our RAM-Talker).
Most simply, it can be thought of as a "tube" down which "blocks" (binary "bits" of data) can be poured. The first block you put in the top will be the first one to fall out the bottom, thus the term "first-in first-out" (FIFO).
Another major difference between these specific "FIFO" chips and serial shift registers is that with the basic shift register (just a string of "D" flip-flops), each bit moves only one place along the "tube" as another is inserted; thus, the first-in "block" is not ready to be taken from the output until the entire register is full. (This is no help if you want to be able to put blocks in as they are ready, and then take them out as you need 'em.) The official FIFO chips will always move each new input block to the last available hole toward the output end. Thus, when the device is empty, the first bit to be entered will immediately show up as being available--to be taken out almost immediately ("almost" because of the propagation time within the chip, which sometimes has to be considered).
If we now put a number of these "tubes" side by side--say four--and see that the movement of bits in them is synchronized, we have a 4-bit-wide parallel FIFO, these 4-bit groups of data being called "words." The number of "words," the length of the tubes, is termed the "depth" of the device. In the case of the IDT72401 unit, the width is 4 bits, and the depth is 64 words.
To control this type of device, we need to deal with five signals:
We need two controls for input: One tells the FIFO when we have delivered four new bits to its inputs, and the other is so that it can tell us when it's ready for more. The first of these controls is called the "shift-in" pin, while the second is called "input ready." Each time the "shift pin" is brought to logic high, the device takes the four binary bits present on its inputs and places them in the last available slot--closest to the output. While this is going on--or when the cupboard is full--the "input ready" signal will be low. When this input ready goes high, we can continue filling the FIFO.
For getting stuff out at the other end, we have a "shift out" pin which tells the thing to give us another word of data, and an "output ready" pin which tells us: either another word is ready (logic 0), or there are no more words in the pipeline (also signified by logic 0).
Finally, a master "reset" is provided to "clear" the whole thing upon "power up."
Now, as long as we don't exceed the electronic speed of the device, we can push words in as fast as we like, and take them out as slowly as we want. Although the IDT72401 is available in the package described (4 bits by 64 words), several can be stacked in either width or depth to make up arrays of any size. Other chips can be had in sizes up to at least 32 bits wide by 4000 words deep. (A note to computer nerds here: Although some manufacturers tout these things as printer buffers--and they could certainly perform that function--there are less expensive ways to accomplish this specific task.)
An interesting note on the internal operation of this particular ITD chip, as compared with others, is that this one actually has a piece of RAM (random-access memory) in it which is addressed by two pointers. Thus, words are simply stuffed into the next free 4-bit word of memory and the pointers adjusted to reflect that operation. When the end of the 64 words is reached, the pointers simply go back to the first word again, thereby allowing the device to operate continuously. In earlier designs, the "tubes" actually consisted of shift registers in which each new bit was allowed to "ripple" down to the next empty slot as it entered.
The advantage of this memory-based system is speed. With the older shift-register types, the designer had to wait for the first word to ripple down to the output when the unit was empty. Although this detail may not be important in many of our applications, it is interesting nevertheless. While this device can be gotten in speeds as high as 35 megahertz, older pin-compatible units go up to at least a couple megahertz--certainly fast enough for most of our needs.
The Integrated Device Technologies FIFO's
The IDT devices are available in two types; they differ only in that the 72402 has a tri-state output (and thus an output-enable pin). (For cross referencing purposes, the IDT 72401 and 72402 are listed as being functionally compatible with the Monolithic Memories Inc. MMI67401 and MMI67402. Both variations are available from Hamilton Avnet.) These devices are capable of fully independent use of input and output, with a maximum shift rate of 35 megahertz.
- VCC--minimum 4.5V, typical 5V, maximum 5.5V
- Maximum Supply Current--35mA (with outputs open)
- Input Logic Levels--minimum high of 2.0 volts, maximum low of 0.8 volts (Note: Undershoots of minus 1.5 volts are allowed for 10 nanoseconds, once per cycle. This is probably for cases where RC delay networks are driving the chip.)
- Input Current--minimum of 10 microamps (for both high- and low-level inputs
- Output Logic Levels--maximum low level with 8 milliamp load is 0.4 volts; minimum high level with 4 mill load is 2.4 volts.
- Absolute maximum output load current is 50mA.
Note: On the 72401, pin 1 has no connection; on the 72402 tri-state version, pin 1 is the Output Enable.
- Pin 2--Input Ready
- Pin 3--Shift In
- Pin 4--D0 (Data Input) least-significant bit
- Pin 5--D1
- Pin 6--D2
- Pin 7--D3
- Pin 8--Ground
- Pin 9--Master Reset NOT (active low)
- Pin 10--Q3 (Output) most-significant bit
- Pin 11--Q2
- Pin 12--Q1
- Pin 13--Q0
- Pin 14--Output Ready
- Pin 15--Shift Out
When the device is powered up, the Master Reset must be pulled low to insure that there is an empty state. In this state, the Output Ready will be low, as will the Q0 through Q3 output lines. The Input Ready will be high, signifying readiness to accept data. The data on the D0 through D3 lines will be "shifted in" upon the rising edge of the Shift-In signal, at which time the Input Ready will go low. Upon the falling edge of the Shift-In signal, the "Write Pointer" will be moved to the last available location in the device's internal memory, and the Input Ready line will go low again. If the FIFO is full, Input Ready will remain low until a word of data is shifted out.
Data is shifted out upon the high-to-low transition of the Shift Out pin. This causes the internal "read pointer" to be moved to the next full memory location; if data is available, it will be present on the outputs, and the Output Ready signal will go high. If data is not present, the Output Ready will stay low, indicating that the FIFO is empty. The last valid word read from the device will remain on the FIFO's output when it is empty. When it is not empty, the Output Ready goes low on the low-to-high transition of Shift Out. Previous data remains on the outputs until the high-to-low transition of the Shift Out.
It's easy to see that devices can be stacked in depth by simply connecting the Q outputs of the first chip to the D inputs of the second, and by tying the Output Ready of the first to Shift In of the second, along with tying the Input Ready of the second FIFO to Output Ready of the first. If devices are to be stacked in width, the Shift In and Shift Out pins of the stack may be tied together; however, the in and out Ready lines must be logically AND'ed together to provide combined signals.
Finally, these are very fast devices; very small noise pulses may cause false signals. The manufacturer recommends that a Monolithic ceramic capacitor of 0.1uF be placed directly between pins 8 and 16--from VCC to ground--for maximum "decoupling" of switching noise from the power supply.
This device, using the principle of a resistance bridge and employing a sensitive comparator to detect its output, emits an audible tone when the resistance under test is lower than the setting of a Braille dial. (The Braille dial can be turned to the position at which the comparator triggers the tone; thus, this instrument can be used to measure resistances somewhat accurately.) On its lowest range (0 to 10 ohms), it tests the unknown with only 10 milliamps, and the open-circuit voltage at its terminals is limited to 0.6V. Its gentle nature makes it acceptable for tracing circuit boards that do not contain devices which are highly vulnerable to electrical damage. Moreover, unlike other bridges described in these pages, it presents the unknown with pure DC; it is therefore ideal for identifying transformer windings and measuring the resistance of inductive components.
Some months ago, a fine Smith-Kettlewell technocrat, Martin Winderl, read me an article out of "NASA Tech Brief" in which an audible continuity tester was described. My interest in the concept was not limited to just testing for continuity, so I set out to investigate the virtues of their instrument as a low-resistance measuring device. Unfortunately, I was unable to make their circuit work properly, and I dropped the project of preparing it for reprinting herein. (Now I wish I could find the original article; I'd give the author credit for the idea, anyhow.) I eventually redesigned the circuit, and here 'tis:
The LM311 is capable of comparing voltages that differ by perhaps 100 microvolts. In addition, it provides pins to which an adjustment pot can be connected to compensate for any "offset" that would have to be overcome by the compared voltages. (This offset can often be a few millivolts; it must be compensated for before any worthwhile detection of small signals can be accomplished.) The output of the LM311 is an open collector, so this can be used to power lamps, buzzers, or to trip a relay and wave a flag.
The carefully adjusted 311 is set up to detect the output of a Wheatstone bridge. Because the 311 is so sensitive, the bridge doesn't need to have much current flowing through it. (With the arrangement shown, the output of the bridge would be so small as to defy noise-free straightforward audio detection as is done in our conventional auditory bridges.)
The bridge is provided with two "standard" resistances; this gives the instrument two ranges--0 to 10 ohms, and 0 to 100 ohms. Conceivably, you could install a 100-ohm standard to get a 0- to 1-ohm range, but then you have to look for a good-quality switch, use heavy wire, and all that other stuff that plagues the instrument designer.
Opposite to the unknown is a Braille-calibrated rheostat. The inverting input of the comparator is looking at the top of this rheostat, while the non-inverting input is looking at the positive side of the unknown (the red binding post). Whenever the voltage across the unknown is lower than that across the calibrated rheostat, the comparator's output transistor turns on and triggers the audio oscillator.
To measure a resistance, you turn the Brailled rheostat up until the tone comes on, find the point at which the tone just emanates and read the Braille scale. If the resistance of the unknown exceeds the full-scale value of the selected range, no tone can be gotten by adjusting the dial. If the resistance is very low, compared to the selected range, the tone will always be present--perhaps only going off when the dial is turned to zero.
The main disadvantage in this circuit is that it draws perhaps 10mA when it is dormant; you can easily forget to turn it off after you've been using it as a continuity tester. Although it's somewhat irritating, I provided a 1.5 meg resistor across the comparator's output transistor to keep the oscillator puttering when the circuit is dormant; now I can't wait to turn it off.
As shown, this circuit is a little more complicated than it need be. In the NASA version, the beeper driven by the LM311 was a Mallory Sonalert, No. MCP320-B2 (also sold by Radio Shack as No. 273-065A). I'd personally go an extra mile not to hear one of those things, so I used the one-transistor blocking oscillator shown. If the simplicity of the Sonalert appeals to you: its negative side goes to pin 7 of the 311, while the positive side goes to the VCC line.
(The use of the transistor blocking oscillator opened an unwelcome can of worms. As you see, I had to do some severe decoupling to keep its spikes out of the bridge circuit; in fact, I never completely succeeded, and the "boundary" where the tone comes on is still a little furry.)
Also, across the input is a diode which, if you don't care about limiting the open-terminal voltage to 0.6V, could be eliminated. (The NASA guy had diode limiting, so I thought, "Why the heck not.") Just remember that if you come in contact with a live circuit with the diode there, you'll cook that diode; worse yet, you'll short out those points in the circuit under test.
Finally, you will notice the diode in the negative supply line; this insures that the comparator's inputs are not operating close to its supply-a condition which would cause the comparator to malfunction at low resistances. (In fact, I think that's all that was wrong with the NASA circuit. I probably got a different brand of 311 which couldn't cut the mustard when the resistance got small. Readers know I've been bitten by that one before.)
Circuit Supply Points
The negative side of the 9-volt battery goes to the cathode of a 1N4001 rectifier diode; the anode of this diode goes to the main ground bus of the project. (The diode creates a way of supplying the LM311 slightly below ground, thus allowing the 311's inputs to be operated at ground.)
The on-off switch and the range switch are combined in a DPDT toggle which has a "center off" position. On the on-off section, both positions are jumpered together and go to the positive of the 9-volt battery. The swinger of this section goes to the VCC line of the project. This VCC line is bypassed to the ground bus by 220uF (negative of the electrolytic at ground).
Comparator and Bridge Circuits
Pins 1 and 4 of the LM311 go to the negative of the battery; i.e., to the cathode of the rectifier diode, which puts these pins at 0.6V below ground. Pin 8 of the 311 goes to the VCC line. To balance out any offset at the comparator's inputs, pins 5 and 6 go to the ends of a 5K single-turn trim pot. The arm of this trim pot goes through 3K to VCC. To suppress noise at the inputs, a 0.1uF capacitor goes between pins 2 and 3.
The Braille-calibrated pot (10K) is connected as a rheostat. The arm of this pot is grounded. The bottom of this pot (the counterclockwise end) goes through the series combination of 220K and a 1megohm rheostat to VCC. The bottom of the calibrated pot also goes to pin 3 of the LM311.
The negative test lead is grounded. The positive test lead goes to the anode of a 1N914 diode, with the cathode of this diode being grounded. (This diode keeps the voltage on the test probes from going to 9 volts; a mere "frill," to be sure.) The positive test lead also goes to the swinger of the "range" section on the switch. The "10-ohm position" of this pole goes through a 1K 1% resistor to VCC; the "100-ohm position" goes through a 10K 1% resistor to VCC.
A push-pull output transformer is used (having a center-tapped primary winding of 500 or 1000 ohms, and a secondary suitable for a speaker's voice coil). One end of the transformer's primary winding goes through a 220-ohm decoupling resistor to VCC. The centertap of this winding goes to the emitter of a PNP transistor (2N2907). The collector of this transistor is grounded. The base goes through 0.1uF to the remaining end of the primary winding. Across the full primary is 0.047uF. The transistor's base also goes through an optional 1.5 megohm resistor to ground (see text). The base also goes through 47K to pin 7 of the LM311.
The secondary of the transformer goes to the speaker.
Because the resistance of any test leads will be significant in the 10-ohm position, calibration should be done in the 100-ohm position. First, with the test leads shorted and with the Brailled pot set to zero, adjust the 5K "offset pot" to the point where the high-pitched "continuity indication" just comes on and stays on. Next, connect a known resistor--ideally a 100-ohm 1% unit--to the test leads, set the Braille dial to this value, and adjust the 1meg rheostat to the point where the tone just comes on.
- 1--0.047uF disc ceramic
- 2--0.1uF disc ceramic
- 1--220uF 10V electrolytic
Resistors (1/4-watt 5%, unless otherwise specified):
- 1--220 ohms
- 1--1K 1%
- 1--10K 1%
- 1--5K Single-Turn PC-Mount
- 1--10K Precision Linear Panel-Mount (such as Clarostat 58C1-10K)
- 1--1meg Multi-Turn PC-Mount
- 1--2N2907 PNP Transistor
- 1--LM311 Comparator
- 1--Push-Pull Output Transformer, 1000-ohm Center-Tapped Primary to 8-ohm Secondary (Mouser 42TM013, 42TU013 or 42XM013)
- 1--DPDT Toggle with Center-Off
- 2--Binding Posts (perhaps one red and one black)
- 1--Small Loudspeaker
By Emerson Foulke and John Kilpatrick
Kentucky Industries for the Blind (KIB) is a light manufacturing plant which shares a campus with the Kentucky School for the Blind in Louisville, Kentucky. It is situated on the northwest corner of the campus. Haldeman Avenue borders the campus on the east. Many of the people who work at KIB live in an area east of the campus and walk to work. Their most convenient way to get there is to cross Haldeman Avenue in the middle of the block and follow a walk that goes from the east edge of the campus to the KIB building.
However, there is a problem. There is no sidewalk on the campus side of Haldeman along which people can walk until they reach the walk that goes through the campus. There is a sidewalk on the other side of Haldeman, but if they use this walk they have to find the place to cross Haldeman in order to connect with the walk that goes through the campus. This place is not marked by any distinctive cue. There is a utility pole at the crossing, but it is only one of many utility poles along Haldeman.
A few years ago, a metal sign with braille lettering was nailed to this pole, but it proved not to be a very satisfactory solution. People did not like having to search for a sign with their hands on several creosoted and splintery poles in order to find the pole with the sign, and it was soon apparent that the problem had not been solved.
Next, the city's traffic engineers were asked to equip the pole with a device that would signal its location by a sound of some sort. Their first response was to say that it could not be done, but under pressure they acquiesced and built a device which was apparently intended to prove the correctness of their initial response. At regular intervals the device emitted a loud and raucous buzz which annoyed the people who live along Haldeman. However, this was not a serious problem because the device consumed so much power that the batteries were soon drained, the device fell silent, and tranquillity was restored to the neighborhood. Batteries were changed a time or two, but it was obvious that this was not the solution, and with a sigh of relief the device was accorded the dignity of a quiet death.
There the matter rested for a couple of years, but when I learned of this history I decided that it was about time to see if we could perhaps do a little better than the Traffic Department's best and brightest. I talked it over with John Kilpatrick, the electrical engineer/psychologist who works in my lab, and after a few experiments we came up with the device the description of which follows.
The device is housed in the plastic shell of an Eveready Floating Flashlight, order number 8251BP. This flashlight is powered by two D cells. The front cap of the flashlight, which holds the lightbulb and its socket, the reflector and the transparent lens, screws onto the section on which the switch is mounted. The switch section screws onto the case of the flashlight that houses the D cells. New cells are installed by unscrewing the switch section. There is no rear cap that can be removed for battery installation. The switch on the side of the flashlight case is of the push-push type, and its pushbutton is covered by a rubber membrane. A flashlight of this type was chosen because the device would be used out of doors and had to be waterproof.
At the center of the flashlight's reflector there is a lightbulb socket mounted in a cylindrical plastic shell that protrudes behind the reflector. The socket and its shell are removed, leaving a hole at the center of the reflector. The piezoelectric buzzer that generates the auditory signal has two arms, one on each side, that are used for mounting. These arms are removed, giving the buzzer the appearance of a disc. The buzzer is fastened with epoxy glue to the back side of the reflector, where the plastic shell used to be, with the hole in the case of the buzzer through which sound is emitted at the center of the hole in the reflector. On the front edge of the reflector there are three small extensions that hold it securely in the front cap. These extensions are filed off so that the reflector will fit more loosely in the front cap, thus allowing the cap to be screwed on without turning the reflector and twisting the wires attached to it. The lens is replaced by screen wire that is held in place with epoxy.
Circuit components are mounted on a piece of vector board 0.72 inch by 1.32 inch. The holes in the board are 0.1 inch apart, center to center, both horizontally and vertically. When the components have been mounted on the vector board, it is sprayed front and back with krylon to protect the circuit against moisture. It is then placed inside the flashlight immediately behind the switch. It fits fairly snugly, and no mounting clamp is required.
The unit we built is mounted on a utility pole, with the screened opening through which sound is emitted facing downward. The surface of the switch housing, a raised portion over which the rubber membrane covers the switch, is in contact with the pole and is the only part of the unit that touches the pole. A 1-1/2 inch U-shaped conduit clamp is used to hold the flashlight in place. It straddles the switch section and is fastened to the utility pole with 1-1/2 inch by 1/4 inch lag bolts. With the flashlight mounted in this fashion, the switch housing serves as a standoff that separates the shell of the flashlight from the utility pole by a small amount. Thus, the front cap of the flashlight can be unscrewed and the batteries replaced without having to remove the flashlight from its clamp.
Functional Description of the Circuit
An oscillator drives an electronic switch, which turns a piezoelectric buzzer on and off periodically. The oscillator uses two of the inverters on a VMOS hex inverter. It produces a 32-millisecond positive pulse every second. Thus, for every one-second period, there is a 32-millisecond "on" interval and a 968-millisecond "off" interval.
The time constant for the "off" interval is: T equals 1.1 times RC, where R represents a resistance of 10 megohms and C represents a capacitance of 0.1 microFarad. The time constant for the "on" interval is: T equals 1.2 times a different RC, where R represents a resistance of 270,000 ohms and C represents a capacitance of 0.1 microFarads. These computations assume that the voltage drop across the diode that switches time constants for the negative pulse and the positive pulse is 1 volt, and the effect of the 10-megohm resistor is negligible.
The 32-millisecond duration of the "on" interval was chosen because informal experimentation indicated that, as the interval was shortened beneath this value, the audibility of the beep declined rapidly. On the other hand, the "on" interval should be kept as short as possible to minimize power consumption. A period of one second was chosen because informal experimentation indicated that pedestrians walking past the device often failed to notice the beep when the signal was less frequent than this.
The switch operating the buzzer is a VMOS power FET. It was chosen because of its small size, high input impedance, and low power consumption. The buzzer is a piezoelectric unit, chosen primarily because of its low power consumption. It draws 12mA at 9 volts and produces a 4.8kHz tone. The circuit requires a 3-volt power supply, which is supplied by two alkaline D cells. If alkaline cells are used, the device will operate for many months without attention. When the D cells are nearly spent and the supply voltage begins to fall, the RC times lengthen and the beeps generated by the buzzer get noticeably longer.
The vector board on which circuit components are mounted has seven rows and thirteen columns of holes. The position of any hole on the board is specified by a pair of numbers, separated by a comma, and enclosed in parentheses. The first number in the pair identifies the row in which the hole is located, and the second number identifies the column. Hole (1,1) is in the lower left-hand corner of the board, hole (1,13) is in the lower right-hand corner, hole (7,1) is in the upper left-hand corner, and so forth.
The hex inverter is an IC chip that is positioned on the board so that pin 1 is in (6,11), pin 8 in (6,4), pin 9 in (3,4), and pin 16 in (3,11). The source of the FET is in (7,1), its gate is in (6,1), and its drain is in (5,1). The 10-meg resistor is stood on end, with one lead in (4,1) and the other lead in (3,1). The 270,000 ohm resistor is also stood on end, with one lead in (2,1) and the other lead in (1,1). The diode is laid flat on the board, with its anode in (2,3) and its cathode in (2,7). The capacitor is also laid flat on the board, with one lead in (2,13) and the other lead in (5,13). The buzzer's red wire is in (7,12) and its black wire is in (5,2). Ground is in (7,2) and plus 3 volts is in (7,13).
- Connect one end of the 270K ohm resistor (1,1) to the anode of the diode (2,3).
- Connect the other end of the 270K ohm resistor (2,1) to one end of the 10M ohm resistor (1,3), to hex inverter pin 9 (3,4), and to one end of the 0.1 microFarad capacitor (2,13).
- Connect the other end of the 10M ohm resistor (4,1) to hex inverter pin 10 (3,5), pin 11 (3,6), and to the cathode of the diode (2,7).
- Connect the drain of the FET transistor (5,1) to the black buzzer wire (5,2).
- Connect the FET gate (6,1) to hex inverter pin 12 (3,7), and to the other end of the 0.1 microFarad capacitor (5,13).
- Connect the FET source (7,1) to the ground wire (7,2), and to hex inverter pin 8 (6,4).
- Connect hex inverter pin 7 (6,5) to hex inverter pin 5 (6,7), to hex inverter pin 3 (6,9), to hex inverter pin 1 (6,11), to hex inverter pin 14 (3,9), to the red buzzer wire (7,12), and to plus 3 volts (7,13).
- Solder the positive power lead to the side of the flashlight switch that formerly went to the tip of the lightbulb.
- Solder the ground lead to the metal strip inside the flashlight that makes contact with the bottom of the rear battery.
- 4049B VMOS hex inverter
- 2N914 diode
- FET VN10KM
- 10M ohm 1.4W resistor
- 270K ohm 1/4W resistor
- 0.1 microFarad capacitor
- Piezoelectric buzzer, Radio Shack No. 273-060
- Floating Flashlight, Eveready No. 8251BP
- Vector board, 0.72 inch by 1.32 inch, with center-to-center hole separations of 1/10 inch
Hi-ho, we're off and running again, finally. What's more, the pump has been primed--there are projects in the hopper that will turn into articles. For example, there is now a family of cheap pressure and vacuum transducers (made by Sensym) that can be used to make nice gauges (one of which makes a fine barometer), and I'll be presenting these shortly. Ampere himself knows that this issue opens the door for talking digital projects, and these are indeed forthcoming.
It has been a tradition of this journal's staff to publish designs using standard parts, and to list "second sources" wherever possible. The point has been to minimize dependence on specialized makers of special stuff. I bring this up because it applies, in a strange way, to publishing a new kind of project article which we may attempt. There is an opportunity here which deserves your consideration.
We have, in our employ, this rare ornithological wonder-bird, Tom Fowle, whose career in computers spans twenty years. (He did, however, divert those attentions to join the swelling ranks of blind violin makers, perhaps comparable in number to visually impaired astronomers and deaf composers.) For Smith-Kettlewell, he designs instruments which use computers to shortcut the creation of large arrays of hard-wired logic.
Mr. Fowle can design computerized instruments for you and me; we would build them by getting EPROM's from him, the microprocessor and other support chips from Jameco, then wire-wrapping ourselves into ecstasy. However, building computerized circuits without benefit of a "development system" leaves the hobbyist open to two vulnerabilities:
First, since much of the logical process is hidden where it can't be traced, a non-working project is hard to troubleshoot--although there are fewer pins to be retraced. Second, you are completely dependent on the designer's continued involvement, as well as the well-being of his computer; if the coming earthquake brings a steel girder down on Tommy's disk box, you'd just have to wait for things to get up and running again before that critical "erasable/programmable read-only memory" (EPROM) could be gotten.
Since Tom Fowle is a key player in the creation of such projects, he wishes to discuss the matter with you and solicit opinions from you as to your preference of choices. Therefore, by a rare softening of my flawless ego, I'm turning a portion of this column over to him. "Here, take this microphone; over here! No, that's my elbow." (Thump, rumble, scrawch):
"In designing talking instruments, the first approach, the old-fashioned way, would be to do all the necessary counting, addressing and sequencing with logic chips. This is sort of in the works: it looks as though it will come out containing twenty-some chips--just about as big as the talking voltmeter circuit which used the no-longer-available TSI Mini Speech Board (SKTF, Fall 1981). This beast will have the advantages of the RAM-Talker, in that it will use only common parts, and you will be able to record your own speech. However, it will be a large-sized project.
"The second approach--and one which I have been avoiding in my articles--is to do the logic using a dedicated microprocessor. The advantage of this approach is that the chip count will most likely go down, perhaps to as few as half the number of chips. Further, the computer design leaves open the possibilities for features built-in to such a unit that could not easily be done in logic.
"The disadvantage of this approach is that the speech would have to be recorded permanently into "EPROM" along with the necessary programming for the processor. This would mean that the ability to have your own language or favorite voice would go away, and that you real folks out there could not build your own units unless you bought the programmed memories from us. You then would have to stick exactly to our circuit for fear of confusing the poor dumb computer.
"(This trend also leads to one of Mr. Fowle's greatest fears, that this magazine will demand articles on microprocessors and how they work. This possibility is rapidly pushing ol' Tom back towards running for the woods and going back to making fiddles.)
"For you computer nerds out there, if the micro-based unit is developed, it will be based on a CMOS version of the Zilog Z80 microprocessor, as that is the machine for which I have the necessary development system. A full understanding of such a beast will require knowledge of the Z80 assembly language, and it is unlikely that such a massive course will be forthcoming here.
"It seems likely that both approaches might be undertaken, but the opinions of readers are vital in determining which is favored, and with what emphasis. Let us know, in brief, what comments you have. No, we will not do one in BASIC for your Apple."
The concerns can be summarized as follows: (1) The "circuit design" (as we used to think of it) is meaningless without the "program"; you will have to procure the proper EPROM, then send it to us to "burn" (record the program on it). (2) Unfortunately, we are not equipped to troubleshoot home-brew projects, so if the eventual machine doesn't work--and if our design has been shown to function--the individual's troubleshooting can only extend to retracing his wiring, adding bypass capacitors here and there, and replacing chips. As you are the collective editorial board, write a couple of sentences on a card to address these points.
In the previous issue, I requested comments on issuing SKTF on diskettes: Would you like it? And what kind of computer do you have? I got a stunning five replies. Four out of five said they would like that, and four out of five said that their equipment is IBM compatible. Well, why not--a quantity like that, I can make during tea time.
Therefore, let us inaugurate the IBM 5-1/4-inch version for the same $12 per year as cassettes (that way, it will be easy to convert cassette users' subscriptions to disks if requested). What you'll be getting are so-called "vanilla files" of what Clovernook gets for conversion into Braille (they will not be "translated" for grade II at this stage). On the other hand, equations will not be in pure mathematical form; they will have already been put into "verbal form" so as not to court trouble in the Braille translation process.
Finally, I'd like to thank the fine authors (other than myself) who contributed to this issue, and thanks to those whose writing is now pending publication. It sure would feel nice to be on time (although that would indeed be a first). Don't put your tools in storage; there's fun stuff coming up.