Smith-Kettlewell TECHNICAL FILE

A QUARTERLY TECHNICAL JOURNAL FOR BLIND AND VISUALLY IMPAIRED READERS

Sponsored by REHABILITATION ENGINEERING CENTER SMITH-KETTLEWELL INSTITUTE OF VISUAL SCIENCES

2318 Fillmore Street, San Francisco, CA 94115

VOL. 7, NO. 4, Fall 1986

TABLE OF CONTENTS

Shift Registers and the 4034 Series Shift-Register IC

A Digital Peak-Reading Circuit for the Smith-Kettlewell Auditory Thermometer

The Cheapest High-Isolation Headphones

Soldering Kinks

Computer Braille Cheat Sheet

Editor's Crystal Ball

SHIFT REGISTERS AND THE 4034 SERIES SHIFT-REGISTER IC

Abstract

This paper discusses the operation of digital shift registers, and specifically describes the CD4034/MC14034 as an example. At one time, the shift register as a component saw heavy use in building computers out of hard-wired logic. There are still uses in projects of hard-wired logic, and this chip's information is primarily included for future use. (Plans are afoot to enter and retrieve speech from memory using the 4034, so keep this issue on hand.)

Bibliography

  1. Chapters II and VI of the CMOS Cookbook by Don Lancaster, copyright 1978, published by Howard W. Sams & Co.
  2. Motorola catalog of CMOS Integrated Circuits, Series C, copyright 1978,prepared by the Motorola Technical Information Center.

Theory of Shift Registers

A shift register is usually comprised of a series of so-called "D flip-flops" ("D" stands for "Data"). Their main function is to man-handle a binary number--shifting it from left to right, accepting it or spitting it out serially, accepting it or presenting it on a set of parallel lines, or converting a serial number (entered serially one bit at a time) to the parallel form and vice versa. An example of its use would be in converting a set of numbers from a memory (getting them in parallel form) into a serial data string; one could store speech information in memory and retrieve its serial string (of audio bits) with a parallel-to-serial shift register. (This technique may be a forthcoming article, if all goes right.)

The D-Type Flip-Flop

The D flip-flop is a special case of the JK flip-flop. The "D" terminal, like "J" and "K" terminals, determines what the output of the flip-flop will do on the succeeding clock pulse. Put into words, a full statement of the truth table for the D flip-flop follows:

If the "D" input is held high, the "Q" output will go high on the next clock pulse; if the "Q" output is already high at the time, the clock pulse will be ignored. If the "D" input is held low, the succeeding clock pulse will bring the "Q" output low; if the "Q" output is already low at the time, the clock pulse will be ignored. In other words, a clock pulse will take the "Q" output to where the "D" input is being held; subsequent clock pulses will be ignored until "D" is changed.

Building The Shift Register, One Step at a Time

A serial shift register is made by connecting several D flip-flops in cascade; the Q output of the first goes to the D input of the second, the Q output of the second goes to the D input of the third, and so on. The clock terminals of all these flip-flops are connected together so as to be operated simultaneously. An 8-bit shift register would contain eight such flip-flops.

Using an 8-bit model as our example, the output of the system is the Q output of the eighth flip-flop. The input to the system is a little more complicated.

As you might expect, the "data" to be fed in will be impressed on the "Data" input--"D input"--of the first flip-flop. However, the "data" must be fed in synchrony with a clock signal; i.e., every time a bit is to be fed into the system, the desired logic level must be established on the D terminal first, then held there while a clock pulse "steps" it through into the first flip-flop.

Nothing will be seen on the Q output of the final flip-flop for a while; seven entries have to be made before this flip-flop sees the first entry. Starting with the eighth clock pulse, your "number" (sequence of events) will appear on the output, bit by bit, as it was entered eight pulses earlier.

In one application, you could use this setup as a delay line whose delay is seven clock pulses. In another application, eight bits of information could be loaded into the system, stored there with the clock stopped, then "noted" at the output by some other circuit when the time comes to squeeze it on through.

Another form of this "number" can be had if we bring out the Q outputs of all eight flip-flops. Once a number is serially loaded in, it can be "viewed" on the eight outputs. Some circuit with eight input wires could see that number all at once--in parallel, as you might say. Not only that, but if the number were shorter than the shift register (suppose we load in a four-bit number, then hold the system's input at zero for the next few clock pulses), this parallel number will "shift" from left to right as clock pulses squeeze it on through.

Another modification to the circuit would be to make "Reset" and "Set" terminals available for each flip-flop. With these inputs, you could load in a number in parallel. (On the face of it, this would give you sixteen inputs; but by operating the "Set" terminal directly and running the "Reset" terminal through an inverter, a single combined input for each segment can be had.)

Now, we can enter numbers, in either serial or parallel form, and read them, either in serial or parallel form. Not only that, but if we make our shift register long enough, we can shift numbers sideways--multiplying or dividing them by 2 each time they shift, depending on which end of the number we call the least-significant bit. So far, though, we can only shift numbers to the right.)

There are shift-register packages that can shift data to the right or to the left; these contain single-pole double-throw switches to look ahead or look back. In the one described here, there are two duplicate shift registers whose "parallel" register pins can be made either inputs or outputs; one of the registers can even be put into the tristate mode. The 4034 can be arranged to shift left by hard-wiring each parallel output of one section to the previous parallel input of the other section (see the sample circuit).

Like switches, which are traditionally described as SPST or DPST, a shift register can be assigned an acronym to describe its function. The simplest one--serial-in, serial-out--is deemed SISO. Serial-in, parallel-out is SIPO. Parallel-in, parallel-out is PIPO, etc. For the 4034, the appropriate acronym should be assigned after it is in the circuit; it does all of these things, so you would hardly take the trouble to call it a "SISOSIPOPISOPIPO." (Besides, if you said that in front of Grandma, she'd wash your mouth out with soap.)

The RCA CD4034 and Motorola MC14034

This chip contains two 8-bit registers, along with circuitry to permit transfer from one register to the other. The 4034 is a 24-pin package; it has 8 pins for the "A register" input/output lines, 8 pins for the "B register" input/output lines, a "D" input for entering serially, and a clock input. In addition to those, it has four more inputs that determine what its function will be; these are described below:

It has an "A-Enable" input which, when brought low, throws the eight "A register" lines into the tristate condition. In other words, bringing this line high enables these lines. Bringing it low disables them altogether, whether used as inputs or outputs.

The "A/B" input determines which register lines will be inputs and which will be outputs. If A/B is high, the eight A lines are inputs and the eight B lines are outputs; when low, B lines are inputs and A lines are outputs.

The "A/S" input sets the chip for "asynchronous" or "synchronous" operation; acceptance of information will either depend on a succeeding clock pulse (in synchrony with it) or will be independent of the clock (asynchronously). In other words, the A/S input determines whether parallel information can be transferred (from one bus to the other) immediately (asynchronously), or transferred on the succeeding clock pulse (synchronously). If this line is high, transfer is immediate; if low, the process is synchronized with the next positive clock transition.

The "P/S" line determines whether the chip will accept data in a parallel form or a serial form. If P/S is high, data can be selected from the A or B buses, permitting transfer between them either synchronously or asynchronously. If it is low, data can be entered from the "D" terminal, synchronously on positive transitions of the clock. If the P/S line is low, the A/S line must also be taken low; no asynchronous serial operation is allowed or defined.

[Note: The student of digital logic may wish to try these circuits with a very slow clock, or just a pushbutton used as the "clock." An appropriate pushbutton debouncer and a slow clock circuit are described in the section "Detailed Circuits for Laboratory Experimentation."]

Sample 16-Bit SISO Register

The B8 output (which doubles as the serial output) of the first 4034 goes to the D (Data) input of the second 4034. A/S and P/S are tied low. The A/B line must be tied high; we want B lines to be outputs, not inputs. The A-Enables are tied low; the eight A lines are tied low, just for good practice. The Clock terminals are tied together and go to a clock whose positive transitions are slightly later than the presentations of data. The serial input is the D input of the first chip, while the serial output is the B8 output of the second.

Sample 16-Bit SIPO Register

Surprise! You've already got one, just by using all outputs of the B register on the above SISO. When fully loaded, up to sixteen events clocked in through the D terminal are available for simultaneous review on these outputs. If an 8-bit number were entered serially--followed by "0's" or dormant activity of the D terminal--we could see this number step along the line of parallel outputs until it gets lost, bit by bit, out the other end.

Sample 16-Bit Parallel-In, Serial-Out Register

Once again, two chips are connected in cascade. The B8 output of the first goes to the D input of the second. Their clocks are connected together. The D input of the first is grounded.

The A lines are lifted from ground and assigned the duty of inputs; so that they never become outputs and draw current from your source of data, the A-Enables will be tied to the A/B lines. For this example, and for most applications, these will simply be tied high.

Being of the "parallel-in" type, we can now make a decision--will the register accept input data synchronously or asynchronously? For the synchronous case, the A/S lines will permanently be tied low. If the parallel information is to be accepted without the "permission" of the clock (asynchronously), the A/S lines should be tied to the P/S lines, and operation will be described as follows:

To load the register with a 16-bit parallel number, all sixteen bits are impressed on the A data lines of the two cascaded 4034's. Then, the key to accepting this number lies in operating the P/S lines. When a chip's P/S line is low, the 4034 can only be loaded serially; its serial D input works in conjunction with the clock, and that's that. Serial output will be obtained in this mode--and so will shifting of numbers be done. When the P/S input is brought high, the 4034 is strictly a "parallel" device; numbers cannot even be shifted from left to right.

In the asynchronous case, the A/S lines are tied together with the P/S lines and operated simultaneously. As soon as this combination of inputs is pulled high, the number on the A lines is noted, and it will be output to the B lines. While in this mode, any change on the A lines will immediately be replicated on the B outputs. Bringing the P/S-A/S inputs low, however, will latch the number on the B lines; any change on the A lines will be ignored until a logic high on the P/S-A/S junction updates the information stored in B.

In the synchronous case (the A/S lines are tied low, remember), all activity on the A lines will be ignored until two conditions are met. First, the P/S inputs must be brought high. Next, the clock must go through a positive transition. When this sequence of events occurs, the number impressed on A appears on B and stays there until a new clock pulse updates it.

Serial output is obtained with P/S and A/S lines low. Clock pulses will squeeze the number out the last B8 output in accordance with positive clock transitions. D being grounded all this time, "0's" are installed into spaces behind the exiting number.

Sample PIPO Register

Once again, the outputs were all there in the previous example. The B outputs can be "noted" in parallel or discharged serially, as you wish. In the asynchronous form, what we really have is a system of "latches." While P/S-A/S is low, activity on the input register is ignored; a new number can be sampled by bringing P/S-A/S high. In the synchronous mode (A/S tied low), we can specify with the clock input exactly when the B register is to be updated.

[Note: The selection of the B register to do the main work in the above examples was made arbitrarily; these circuits would work exactly the same with A lines being the outputs. You would then have the advantage of being able to put the outputs into tristate if desired. The A/B inputs would be permanently tied low for this arrangement, and the A-Enables would be high to make A lines operative.]

Sample Shift-Left, Shift-Right Register

Two 4034's are cascaded, this time using their A registers; A8 of the first chip goes to the D of the second. Each A output is tied to the B input of the segment to its left; i.e., A8 of the second chip goes to that chip's B7, A6 goes to B5, etc. Thus, A1 of the second ends up going to B8 of the first. The "shift-left" output is A1 of the first chip, while the "shift-right" output is A8 of the second. The "shift-right" serial input is traditional--the D input of the first chip. The "shift-left" serial input is the B8 terminal of the second chip. (A note on this circuit states that any source of serial data must be disconnected from B8, the "shift-left" input, while parallel information is entered.)

To load parallel data into this system, two more 4034's are used as latches. The A outputs of these go to the B inputs of the original two. The parallel inputs of the system are the B lines of the two new chips; therefore, the A/B inputs are grounded. On the latter two, their D inputs are grounded. Their P/S and A/S inputs are held high. Their clocks are grounded.

A system input called "A-Enable" goes to the A-Enable lines of the third and fourth chips, with this input point also going through an inverter to the A-Enables of the first and second chips.

The clocks of the first two are tied together and are operated by an external clock. The A/S inputs are tied together and go to a point called "A/S parallel entry" (parallel information can still be taken synchronously or asynchronously).

Finally, there is an input called "shift-left, shift-right." This goes to one input of an OR gate; the other input of this gate goes to the "A Enable" input of the system. The output of the OR gate goes to the P/S pins of the first two 4034's.

[Hint: The shift-left operation is actually a parallel process and is not simply stepping through a simple sequence of flip-flops.]

A high on the "shift-left, shift-right" line allows serial data to be entered as usual--on the D input of the first chip, together with a positive transition of the clock. The "shift-left" input must be disabled during parallel entry, or this serial source will be arguing with an output.

A high on the "A system's Enable" disables the A registers of the first chips, thus allowing parallel data to be entered from the latter set.

Detailed Circuits for Laboratory Experimentation

Pushbutton "Trigger" and Switch Debouncer

I used a pair of NOR gates to make a non-inverting buffer; a single section of a 4050 non-inverting buffer would have worked as well. A 4001 quad 2-input NOR chip was used. Pin 7 is grounded, while pin 14 goes to VCC. Pins 1, 2, 5 and 6 are grounded. Pins 8 and 9 are tied together and go through 150K to ground; pins 8 and 9 also go through a normally open pushbutton to VCC. Pin 10, the output of this first gate, goes to pins 12 and 13, inputs of the second. Pin 11, the output of the second gate, goes through 0.1uF back to pins 8 and 9. Pin 11 also goes to pin 15 of the 4034, the clock terminal.

Slow-Running Clock

The other half of the above 4001 was used (you can now remove the inputs from ground). Pin 3, the output of one gate, goes to pins 5 and 6 of the same chip, the inputs of another gate. Pins 1 and 2 are tied together and go through a 0.1uF feedback capacitor to pin 4, the output of the second gate. Across the first gate, between pin 3 and pins 1 and 2, is a 150K resistor. Pin 4 goes to pin 15 of the 4034, the clock terminal.

The clock rate can be varied by changing the value of the resistor; you might wish to go as high as 2.2 megohms if you want to follow a number through with a logic probe. This clock can be given an "Enable" so that it can be stopped and started. Pin 6 can be separated from the paired inputs (5 and 6); grounding this free input makes the clock run, while bringing it high disables it.

Single-Character Morse Code Generator

Two shift registers can hold up to three "dashes" and one "dot." You can generate any of the letters with this circuit; however, only five of the ten numbers will fit into fifteen bits, and most of the punctuation marks would require adding length to the shift register.

The "Code" to be sent is entered in asynchronous parallel form; bringing one line high constitutes a dot, while bringing three lines high constitutes a dash. One line should be left low between these elements for intra-character spacing.

On both 4034's, pin 12 is grounded, while pin 24 goes to VCC (from 3 to 18 volts). The A-Enables (pin 9) are tied high; the A/B inputs (pin 11) are also tied high. Four lines are tied together--the P/S lines (pin 13) and the A/S lines (pin 14). The junction of these four lines is called the "load input"; this junction goes through 150K to ground and through a normally open pushbutton to VCC.

The clock terminals (pin 15 of each) are tied together and go to the output of a slowly running clock. For now, the D (serial input, pin 10) of the first 4034 will be grounded. The B8 line of the first 4034 (pin 1) goes to the D input, pin 10, of the second.

B8 of the second 4034 is the output of the system. It goes through 15K to the base of a 2N2222 keying transistor. The emitter of this transistor is grounded. A code-practice oscillator is run with its positive key terminal on the 2222 collector, and its negative key terminal on ground. (An audible logic probe could be used just as well, connecting this directly to the B8 output and omitting the keying transistor.)

On the first 4034, lines A1 through A8 go through 150K resistors to ground (these are pins 16 through 23, respectively). On the second 4034, A1 through A7 (pins 16 through 22) go through 150K resistors to ground; the A8 input (pin 23) is grounded directly (you never want to load this flip-flop with a "1" to start with, since its B output will be the final element detecting the code as it runs by).

Each of the 15 A inputs that have pull-down resistors goes through an SPST switch to VCC. [You can use the tiny so-called "DIP" (dual in-line packaged) switches if you like; the editor used jumper wires on his solderless breadboard (see SKTF, Winter 1981).] Starting at A7 (pin 22) of the second chip and moving away from the output end, "write" a Morse Code letter with these switches.

For example, the letter "Y" is "dah-dit-dah-dah." On the second 4034, A7, A6 and A5 should be tied high (this accounts for the first dash); leave the A4 switch open so as to create a space. Closing the A3 switch accounts for the dot, leaving A2 open for a space. A1 of this 4034 (the second one, remember), together with A8 and A7 of the first 4034, will be given a logic "1" for the second dash; A6 of this 4034 will be left open for the space. Finally, A5, A4 and A3 will be given their logic "1" for the third dash; A2 and A1 switches will be left open.

Once the circuit is turned on, the number is "loaded" into the register by pressing the load button, the one that brings the A/S and P/S lines high. If the clock is left running, you will hear the letter as soon as the load switch is released. Once the letter runs through the system serially, it's gone, and has to be asked for again by pressing the load switch.

The letter can be made to recirculate and speak over and over again by coupling the B8 output of the system to the D input of the first 4034. Merely connecting these two pins together may not work, since the data or D information will get there simultaneously with the clock. By building a delay circuit at the D terminal, however, simultaneity is abolished; a clock pulse is wasted, giving us a little more space between letters. The delay circuit is as follows:

Pin 10 of the first 4034, its D input, is lifted from ground and run through a 150K resistor to the final output of the register (B8 of the second chip). This D terminal also goes through 0.1uF to ground.

As a final embellishment, we can do away with the load switch, making the circuit automatically load when power is applied. To do this, we will replace the switch with a 0.1uF cap from the P/S-A/S pins to VCC; these pins already have a 150K resistor to ground.

The efficiency of Sammy Morse's code lies in the fact that characters are of different lengths--the shorter ones are assigned to frequently used letters. (This is not true of many digital codes, including serial ASCII.) Therefore, shorter letters will cause a long, unnecessary space between recurrences. This can be adjusted individually for each letter you plug in by shortening the shift register.

Let us consider generating the letter "R." This time, instead of starting our entry at the end of the shift register and working back, we will enter the letter "R" near the beginning of the register, starting with the A1 input. The Morse Code for "R" is dit-dah-dit. Therefore, A1 will be tied high and A2 will be left open (pulled to ground by its pull-down resistor). A3, A4, and A5 will be tied high, and A6 will be left open. A7 will be tied high. All the rest will be left open. By moving the D input (through its 150K resistor) back to B2 of the second chip, the "cycle" will be shortened--leaving out six elements of the shift register.

This can be done for any shorter letter; the letter does have to be included in the loop, however. Shortening the shift register to a point before the beginning of the character will cause information to be lost.

Now, turn the circuit on, and listen to your favorite Morse Code letter--over, and over, and over...

Specifications for the Motorola MC14034 and RCA CD4034

Pin Connections

Buses:

Inputs:

A DIGITAL PEAK-READING CIRCUIT FOR THE SMITH-KETTLEWELL AUDITORY THERMOMETER

by Tom Fowle, WA6IVG

Abstract

Although shown here as an addition to the Smith-Kettlewell thermometer circuit (see SKTF, Winter 1986), this arrangement has other applications--noting and storing maxima or minima of any dynamic systems. While its sampling time is long (needing perhaps 2.5 milliseconds to record a reading), its "holding time" has no limit, whereas analog sample-and-hold systems are subject to capacitor leakage and drift over time. Finally, the student of electronics will enjoy the way this circuit illustrates digital-to-analog and analog-to-digital conversion.

Introduction

This circuit is based on a digital "sample-and-hold" technique described in the data sheet by Exar for their XR2240 timer chip. I became interested in it as a "peak detector" for the thermometer circuit. For example, wouldn't it be nice to know just how low the temperature fell--that wintery night when the heater broke and the pipes froze? Reworking the sketchy suggestions in the data sheet, I have designed a circuit which could have noted that temperature, and held the information indefinitely (or at least until the power went out). In this application, where it may be necessary to hold onto the value for hours at a time, an analog sample-and-hold system (made up of an op-amp charging a capacitor) would not be practical, since a realistic holding time afforded with these circuits is usually measured in seconds.

In this digital storage system, the voltage to be remembered is converted into an 8-bit binary number representing the desired value as a fraction of 255. At the same time, this binary number is used to again derive an analog voltage which is compared with the sampled value. A comparator looks at both the sampled voltage and the value stored in memory; when the sampled voltage exceeds a previous extreme, the circuit is caused to "resample," and store the new peak value (either high or low, depending on how the circuit is arranged).

Circuit Operation

The XR2240 (see "Timer Chips," SKTF, Winter 1986) contains a "time-base generator" (free-running clock) which is followed by eight cascaded flip-flops (dividers). It also contains control circuitry for starting and stopping the time-base, as well as means for freezing the count in the divider chain at any point in time. Thus, we have a counter which can count from 0 through 255 (in binary); it can be stopped, reset, and restarted at any point along the way.

We have need for a digital-to-analog converter which creates a voltage that is proportional to the binary count. The eight outputs from the dividers on the 2240 go to eight binarily weighted resistors--each being related to its neighbor by a factor of 2. Thus, the Q1 output goes to a resistor with a value of 128K, the Q2 output goes to a resistor of 64K, ... and the Q128 output goes to a resistor of 1K. The far ends of these resistors are connected together and go through a 51-ohm sampling resistor to a regulated voltage source.

Since the outputs of the 2240 are active-low open-collectors, any high outputs of the eight-bit counter have no effect on the resistor network. Any "low" that exists will pull its corresponding resistor to ground, causing an appropriately weighted current to be drawn through the 51-ohm sampling resistor. As the eight flip-flops are clocked through the binary sequence of counts from 0 through 255, the current through the 51 ohms changes in a staircase manner, with each binary count causing a current change of 1/256th of the maximum current gotten when all outputs are low. (Just to keep our polarities straight, it should be noted that, with the counters at zero, all of the resistors are drawing current, and a voltage which is negative with respect to the aforementioned "reference" will be developed across the 51-ohm resistor.)

The sampling resistor introduces a small error. Ideally, currents drawn by the various weighted resistors should be completely independent; i.e., the ideal circuit would use a perfect current-controlled voltage source. As it is, the error--which will be most significant at the maximum load--is less than 10 percent, and we chose to dismiss it in favor of circuit simplicity. Ironically, this error is not particularly reflected in the measurement. All we need is a time-varying ramp voltage that we can freeze when it equals the voltage of the unknown. The main concern is that this digitally simulated ramp not have any large irregularities; if it did, there would be cases where a close match with the unknown could not be found.

The "staircase" (digitally simulated ramp) voltage is then fed to an appropriate amplifier so as to get either a positive-going or negative-going staircase whose amplitude covers the expected range of the signal to be measured and stored. This staircase, or digital ramp, is the analog output of the system, but it also goes to the aforementioned comparator which decides when the sampled voltage needs to be updated.

The output of the update comparator controls the output pin of the 2240's time base; it stops the clock when its output goes to logic "0," or allows counting (and hence the staircase voltage) to advance in order to match the input signal. For example, consider the case where a positive extreme is to be sampled and stored. Using a 2240 to generate it, a positive-going "ramp" is started, advancing from zero. The comparator has its non-inverting input looking at the unknown voltage, and its inverting input looking at the ascending ramp. The comparator's output will go low as soon as the "ramp" advances beyond the voltage of the unknown, thus stopping the clock and freezing the "ramp" at this point. The sampled unknown voltage can wiggle around all it wants without causing further change, as long as its voltage stays below the stored voltage on the "ramp." When a new high is reached, however, the comparator turns on the clock again, and the "ramp" advances to store this new value.

With the use of a negative-going "ramp" and a reversed comparator, you can have a minimum voltage detector just as well. If the builder is willing to invest in a second 2240, along with a second string of binarily weighted resistors, two independent circuits can be built for simultaneous and independent storage of minima and maxima. (In the system described here, a single 2240 and comparator system is used; a switching arrangement is employed to give the user a choice.)

Note that, at least in theory, there is also a digital representation of the stored signal on the outputs of the eight dividers. A problem to be overcome, though, is that the available digital "logic 1's" will not be at VCC. This is because the open-collector outputs are drawing current from the sampling resistor which, in turn, is ultimately tied to the reference voltage that determines the range of the sample-and-hold system. For example, in the thermometer, the range of the sampled voltage will probably be less than a volt, so the collectors, when open, will not go very high. If, on the other hand, the sample-and-hold system were to work through a 5-volt range, the open collector voltages would be only slightly less than 5 volts (the difference being that small varying voltage at the bottom of the 51-ohm resistor). I'll leave it to the ambitious student to find some way of getting logic-compatible voltage levels from the 2240 outputs. (If you succeed, please let this bewildered author know.)

Design Considerations

A set of eight resistors with the necessary proportions (each related to its neighbor by a factor of 2) cannot be found within the catalogue of standard values. Standard values must be assembled, in parallel or series combinations, to comprise the set. The combinations below strike a pretty good compromise; there are no more than two resistors per assembly, and they are all standard 5-percent units.

List of Weighted Resistor Combinations:

The reference voltage to which this string is fastened needs to handle a load of at least 500 ohms--roughly the equivalent of all the chosen values in parallel. (Of course, the current capacity needed to endure this load will depend on where you've set the voltage of the reference; that voltage determines the operating range of the circuit.)

It is also necessary that this reference be at least as stable, over time and temperature, as the standards and/or references in the projects with which you use the sample and hold. For example, in the case of the thermometer, the LM336 was found to be necessary for wide-range temperature stability; using an inferior reference in the sample-and-hold circuit would be self-defeating. In the case of the thermometer, the voltage from the same LM336 can be used; however, it must be buffered so as to handle the varying load current, and it must be made adjustable so that the sample-and-hold circuit's range can be set.

Naturally, the sample-and-hold system will only store the value as long as it has power. This circuit, together with the thermometer, would munch a 9-volt battery in a hurry, so unless you have stock in a battery maker, you'd better plan on providing constant power from the mains.

Modifying the Thermometer

[Note: A couple of variations on the thermometer's design were outlined in the original article (SKTF, Winter 1986). The specific circuit which has been modified starts with the 19th paragraph (the bottom of Braille page 24)--this paragraph starting with the phrase, "The input of the meter reader is taken from pin 1 of the thermometer's LM358 ..."]

The second half of the thermometer's LM358 (which was not used in the circuit with the self-contained meter reader) is used to buffer the reference voltage as follows. The cathode of the LM336, its "plus" terminal, goes to the top of a second 10K 10-turn pot whose bottom is grounded. (This pot is in addition to one already there, the so-called "zero-adjust" pot.) The arm of this pot goes to pin 5, the second half of the LM358 dual op-amp. A 2N2222 transistor has its collector going to pin 8 (which is VCC), its base going to pin 7 (the op-amp's output), and its emitter going to pin 6 (the inverting input). (Notice how neatly this transistor fits alongside the op-amp's socket.) The buffered output is taken from the emitter of this transistor and pin 6, not from the op-amp's output.

The above circuit has two advantages over a simple op-amp follower. First, the output is an emitter follower which is capable of sourcing much more current than the op-amp would by itself. Second, because of the base-emitter drop of the transistor, it now becomes possible for the emitter of the transistor to be adjusted clear to ground, even if the op-amp were one whose output could not normally go that low.

In interconnecting this gadget with the thermometer, the sampled voltage will be taken from the first op-amp, pin 1 of the above LM358. This point must be removed from the input of the meter reader circuitry; appropriate switching is provided to allow you to read the thermometer directly, or to read the output of the peak detector. Another switch sets up the sample-and-hold system for storing of either high or low readings, while a pushbutton resets the divider chain when the direction of test is changed or when you want to start again with the current reading. You will also want to switch the meter reader circuit off when not actually taking readings. Finally, you will have to provide constant power for the instrument. (Don't you wish I had told you all this before you built the original in a nice--but too small--box? Oh well, build another; it's good practice.)

Circuit

The XR2240 has pin 16 going to VCC, with pin 9 going to ground. Pin 16 is bypassed to ground by 0.1uF. Pin 12, the modulation input, is not used. Pin 13 goes through 1K to VCC; pin 13 also goes through 0.01uF to ground. Pin 11, trigger, goes through 0.0047uF to ground, and pin 11 also goes through 5.1K to pin 10. Pin 10, reset, also goes through 5.1K to the arm of the reset switch, an SPDT pushbutton. The normally closed contact of this switch is grounded, while the normally open contact goes to VCC.

Pin 14, the time base output, goes through a 20K pull-up resistor to pin 15, a 5V regulator in the 2240. Pin 14 also goes to the anode of a 1N914 diode, the cathode of this diode going to the arm of pole 1 of the high-low (positive or negative peak-detection) switch. The "high" position of pole 1 goes to pin 8 of an LM324 quad op amp (this pin 8 is the output of a comparator). The "low" position of pole 1 goes to pin 7 of the 324 (the output of another comparator). On this LM324, pin 4 goes to VCC and pin 11 is grounded.

Pins 1 through 8 of the 2240 are the outputs of the eight flip-flops in the divider chain. They each go through their respective weighted resistors to a grand junction, "point A," and their sequence is as follows:

Point A, the junction of the far ends of these weighted resistors, goes through 51 ohms to the buffered VREF. (Remember that? It is pin 6 of the LM358 in the thermometer circuit along with the emitter of the 2N2222.) Point A also goes through 5.1K to pin 13 of the LM324. This pin 13 goes through a 100K 10-turn trim pot, connected as a rheostat, to pin 14 of the 324. (This sets up an inverting amplifier with adjustable gain; pin 14 is the op-amp's output.) Pin 12 of the 324 goes through 10K to the buffered VREF.

Point A also goes through 10K to pin 3 of the 324. Pin 2 goes through 10K to the arm of a 20K trim pot; the top of this pot goes to the buffered VREF, and its bottom is grounded. Pin 2 of the 324 also goes through a 100K 10-turn trim pot, connected as a rheostat, to pin 1. (This arrangement is a non-inverting amplifier with gain and offset adjustments; its output is pin 1.)

The outputs of the above inverting and non-inverting amplifiers go to the comparators as follows: The 324 has pin 1 connected to pin 5, and pin 14 connected to pin 9. The other inputs of the two comparators, pins 6 and 10, go together and are the input to the sample-and-hold system; they go to the output of the thermometer, pin 1 of its LM358.

Pole 2 of the low-high switch has its "high" contact going to pin 14 of the LM324; its "low" contact goes to pin 1. The arm of this second pole is the output of the sample-and-hold system, and it goes to the "peak" contact of an SPDT selector switch (this switch selects reading of either the thermometer directly, or the stored value). The "direct" contact of this switch goes to pin 1 of the thermometer's LM358. The arm of this switch goes to the input of the meter reader circuit (to a 220K resistor, as you might remember).

The circuit for the LM336 reference diode and its buffer is restated here: The anode of the LM336 (so-called "reference diode") is grounded. Its cathode goes through 2.2K to VCC. Its "adjust pin" can be left open. Across it is a 10K 10-turn PC-mount trim pot (the top of the pot going to the cathode and the bottom going to the anode). The arm of this pot goes to pin 5, the non-inverting input of the second half of an LM358 dual op-amp. An NPN transistor (2N2222) has its emitter going to pin 6 of the 358, its base going to pin 7, and its collector going to pin 8. The buffered output is taken from pin 6.

The LM336 will be most stable when its cathode-to-anode voltage is 2.49V. You may be lucky enough to get one which meets this criterion; if so, the "adjust pin" can be left open. If not, temperature stability can be improved by using the adjust pin to force this condition. This is done by connecting the adjust pin to the arm of a 5K pot. The bottom of this pot goes to the anode of a 1N914 diode whose cathode is grounded. The top of this pot goes to the cathode of another 1N914, with the anode of this diode going to the cathode (output) of the LM336. Adjust the 5K pot until the voltage across the 336 is 2.49V.

The LM336 comes in a TO92 package. With the leads pointing upward and the flat side of the package toward you, the connections are, from left to right: "Anode" (ground), "Cathode" (plus), and "Adjust."

Adjustment

Let us assume that you have built and calibrated the actual thermometer circuit, and have now attached the peak reading system as described above. Calibration will be easier if you have a way of quickly obtaining readings that look like they are at the top and bottom of the scale, as well as moving the reading around over the entire range. I did this by replacing the sensor transistor with a 10K pot connected as a rheostat. It seems that a lower value would suffice; all you need to be able to do is make the readout cover the full scale.

You also need to have the gains of the two op-amps in the new circuit set at a fairly low value, so before plugging in the LM324, hook your continuity tester between pins 13 and 14, then adjust the 100K trimpot that connects these two points for a reading of a few K ohms. Do this same setup again with the pot between pins 1 and 2 of the op-amp chip. Now plug in the chips and apply power.

Next, you must adjust VREF for a voltage just above the top end of the range covered by the thermometer. Start by setting the fake temperature control for a maximum scale reading--with the "peak/direct" switch in the "direct" position. Next, switch to the "peak" position; place the "low/high" switch in the "high" position, push the reset button, and observe the output of the peak detector by switching between "peak" and "direct" positions. The output of the peak detector should aproximate the direct input at the top of the scale. The VREF adjustment should be twiddled until the peak output is just up to, but not much beyond, the direct reading. This adjustment can be done by the use of a voltmeter--other than the self-contained indicator in the thermometer--by comparing the voltage at the "sampled voltage" input and at the peak output of the new circuit. However, this doesn't seem to be any easier, and I prefer to adjust things using my internal reader.

Now you have to adjust the gain of this first op-amp stage so that it just covers the range of the calibrated thermometer. Select the direct-reading position and move your temperature-faking control till you get a bottom-of-scale reading. Then switch to peak-reading and press reset. Most likely, there will be little change in the reading, since we preset the gain of the op-amp fairly low (the op-amp's output cannot reach down clear to zero yet). The gain of the stage can now be increased using the pot between pins 13 and 14 of the LM324. Keep pressing the reset button to cause the new circuit to keep trying to match the sampled voltage. Do this until the peak output reading falls very close to the input reading at the bottom of the scale. You must keep the gain of the op-amp just high enough to do the job; any higher and you lose resolution, like trying to measure 1-millivolt increments on a 100-volt full-scale meter.

Now that the "positive peak" sampler works, you have to calibrate the "negative peak" circuit. Please leave VREF alone from now on, as this op-amp has a separate offset control, namely the 20K pot whose arm goes through the resistor to pin 2 of the 324. Switch the unit to read "low peak," and set the input at the top of the scale. Push reset, and twiddle this 20K pot till you get a reading near the high end. Pull the input down and see if the detector follows down. Adjust the gain of the second op-amp, the rheostat between pins 1 and 2 of the 324, to give the needed range. Note that these controls interact, so you will probably have to repeat both the offset and gain adjustments on this low reading section. Now try both ends of the low-detect setting; remember that the sample-and-hold should be able to just cover the thermometer range--any more and you lose resolution. You should be able to move up the scale, switch to low, and move back down, covering the full range of the thermometer's calibrated dial.

A Few Trouble-Shooting Hints

An audible logic probe connected to the time-base output of the 2240, pin 14, will tell you if, and when, the unit is sampling. Short pulses will appear every time a new record is broken. By removing the LM324 from its socket, you can make sure that the time-base oscillator is running (not being disabled by a comparator), in which case it will run all the time. An audio amplifier may be a handy tracing tool as well; by placing it's hot input on pins 7 or 8 of the 2240, you can listen for a buzz of the counter while the unit is trying to sample; this will tell you that it is working. Remember that you need to push the reset button whenever you change from high to low readings, or whenever you want to take account of any readings starting from the current value.

If you have a scope, you can look at the ramp generated by connecting the probe between point A and ground. This is fun, because you can see small bumps in the ramps caused by inaccuracy in picking the binarily weighted resistors. You can also use a scope on the outputs of the two amplifiers to set up their approximate range, and see that there are really ramps there. In this way, you can see gain settings which cause the amplifiers to clip the ramp; these would cause large spaces between the end of one ramp and the start of the next.

I have noticed that even though the resolution is 1 over 255 of the full-scale input, it is often possible to hear the steps as the peak sample moves up the scale. I guess this shows how good our ears are. If you come up with a better explanation of this phenomenon, let me know; I would love to learn something at the expense of a little embarrassment.

Adapting This Circuit to Other Applications

You can use this thing to peak-detect just about anything within the following constraints. The voltage range of your sampled input must not exceed the supply voltage of the peak detector. Also realize that this thing ain't too fast; a sampling time as long as 2.5 milliseconds may be taken. Thus, you couldn't use this thing to read the peak RF envelope voltage of your SSB transmitter, or sample the peak voltage of an audio signal. Probably the fastest thing you could deal with would be a signal having a period of 10 times the maximum sampling time. Thus, the unknown signal should have a period of at least 25 milliseconds--corresponding to a frequency of 40 Hz.

The matter of "stability" and "standards" was mentioned earlier. Basically, your VREF should come from whatever is as stable as you need the result to be. In the case of a device running from a regulated supply, using an adjustable and buffered version of the regulated VCC would do just fine. Remember that the ramps coming out of the two op-amps must just cover the range of your input--too big a ramp and you lose resolution; too small and you don't cover all the needed range.

THE CHEAPEST HIGH-ISOLATION HEADPHONES

by Peter Wilson N6HDA

Abstract

This article describes how low-cost earphones can be installed into aviators' ear protectors. The isolating properties of this headset are so good as to make possible such feats as listening to a recorded book on a personal tape player in the middle of a medium-sized rock concert. The main attraction of this scheme is the price. A comparable headset bought pre-made from a store could cost many times more.

Instructions

A few years ago, when I started playing keyboards in a loud electric band, I began a desperate search for some kind of convenient hearing protection. Many people have encountered the small foam cylinders which pilots and riflemen stuff into their ear canals to cut down outside noise. These ear plugs work very well, but they are inconvenient to put in and tend to get covered with ear wax very quickly. I've found something more to my liking--a pair of David Clarke hearing protectors. These are sold for about $18.50 at places where aviators buy their gear. Ask around at your local airport to find a vendor of the protectors. There may be one on the airport property. Because they are useful to riflemen as well, sporting-goods stores might be another source. If you have trouble, you might call the David Clarke Company directly, located in Worcester, Mass.

These protectors are quite useful in and of themselves; they can make noisy trips on public transit less grating; they can save your ears at a loud concert; they are even effective in attenuating very low frequencies, so that freeway rumble and the cabin roar of a jet airliner are rendered almost unnoticeable.

Still, soon after I bought my protectors, I realized how much more useful they would be as high-isolation headphones with audio drivers built in. The acoustic isolation would then allow me to do things like listen comfortably to my four-track tape player over the roar of our van's engine. This should be a familiar problem to many blind travelers. Have you ever strained to listen to earphones in a noisy vehicle, ticking the volume up and up to override the noise? Then, when the noise stops, you suddenly perceive just how ridiculously high you had the volume. It didn't seem so high while the noise was there.

The droning low frequencies of the vehicle, as a rule, mask the highs to which you are trying to listen. You can inflict dangerous sound levels on yourself this way without being aware of it. This masking effect has surely tricked many a sighted Walkman user into damaging his ears by cranking the volume up to override noise. It's an especially good reason to use some kind of acoustic isolation for your ears.

In looking for drivers, I first checked around for pre-made, high-isolation headphones. Popular around-the-ear stereo phones look as though they should work, but they usually don't. Their attenuation of outside noise is surprisingly low. I also looked at headphones specifically designed for isolation. Some models by Koss sound as though they isolate quite well, but when you get out into the real noise, you'll find that their attenuation does not even approach 20 dB. The extra dB knocked out by this David Clarke/Radio Shack design can make all the difference.

The David Clarke protectors consist of two green plastic shells connected by an adjustable overhead band. The shells have a distinctly bulgy shape, which a David Clarke engineer tells me is a key factor in isolating the ears. Also, each shell is lined inside with foam, and has a soft foam-filled gasket to seal the shell air-tight around the ear. The device is worn just like any pair of heavy-weight headphones. Pushing thick hair away from the ears allows the gaskets to form a better seal with your head; this is important.

All in all, the protectors give you about a 23 dB reduction in the environmental noise--a pretty shocking decrease when experienced for the first time. The attenuation is not quite uniform across the frequency spectrum, but it is close. No band is left untouched.

Next, I debated between installing drivers permanently vs. having them easily removable. I decided to keep them removable; it may be a bit less convenient this way, but it spares the protectors from any permanent alterations such as drilled holes which might make them poorer attenuators.

The drivers I found for the job are those in the Radio Shack Mini Stereo Headphones. These sell for only $4.95 (come on, you can't lose at this price). This is a typical light-weight headphone design.

To adapt these for the protectors, you must detach the earpieces from the headband. A plastic strut extends upward from each earpiece. At the top end of the strut is the connection between it and the metal portion of the headband. What must be preserved on each side after the detachment is the earpiece and about two and one-sixteenth inches of the strut. Measure this length starting at the interior right angle formed by the strut and earpiece, and extending up the strut along its curve. (It would help if you had a flexible ruler to measure along the curve; just make the cut a little above the cited point so that you will have a bit of margin for smoothing the cut end.) Use a small saw, tinsnips, or whatever for this detachment. It may be easier if you can get the metal part of the headband off first, and then cut the struts.

Now round and smooth the cut ends of the struts using a modest file. The plastic is fairly soft. Here's a chance to bring the lengths down if they are too great. This is, in fact, all the cutting you need to do. Throw away the metal headband and the two scraps of plastic. Save the earpiece-strut combinations with the cord still attached.

Feel inside the hearing protectors. The lining does not run smoothly around the interior, but instead has "corners" where the foam was cut for fitting. If you define the top of a protector as the top when worn on the ear, you will find two of these corners inside the top of each shell. To put in a driver, place its rounded plastic end at one of the two upper interior foam corners. These corners are about a half-inch long, running from the ear side of the protector to the closed side.

Set the plastic end at the "ear end" of this half-inch range. Do not push the end down into the split in the foam--just set it on the surface at the corner. Which of those two upper corners do you choose, though? The object is to slip the earpiece snugly into the shell, facing the ear of course. Try both; one of them will allow the driver to slip in easily, and the other won't. If the wrong one is used, the driver won't clear the lip of the protector on the way in. Once in, the drivers should be made to face straight out.

This is the final product--what I use for high-isolation phones. The drivers will stay in place quite well when you put on and take off the headphones. They will fall out, of course, if you shake the phones, and pulling on the audio leads will certainly jerk them right out. It's really not that awkward an arrangement, though, especially for long continuous use. The leads pass out of the protectors between your head and the seals just below your ears.

If you feel that the drivers are digging into your ears, they have probably rotated slightly in the protectors. This happens sometimes. Just lift the protectors away and straighten the drivers so that they face flat into your ears.

I'll be the first to admit that the Radio Shack drivers have non-uniform frequency response. However, their "flatness" does improve unexpectedly when they are inside the protectors. There are better drivers out there, but these are cheap to replace and, most important, they have just the right dimensions for fitting into the protectors.

There are two other things worth mentioning. Most people have an unsettling sensation of pressure in the head or ears when they first try on the protectors. I can testify that the feeling goes away almost completely after the first few hours of use. I don't notice it at all, now.

Finally, you can achieve even more attenuation of outside noise, and a more comfortable fit, by changing the protectors' foam-filled rings to water-filled rings. These cost about $8 and can be attached in place of the foam-filled seals. I would recommend it. They conform better to your head, since the water has no preferred shape. They are sold where the protectors are sold.

Driver (shouting): "You have to get off here. This is Salt Lake, last stop."

Happy New Headphone Wearer: "Oh, Gad. I was afraid I wouldn't hear. I wanted off in Bolivia."

Parts List

SOLDERING KINKS

Dale E. Heltzer of St. Paul, MN, writes:

"One feature of the small-diameter solder compatible with the JA3TBW solder guide (SKTF, Spring 1983) is that it easily kinks. As a remedy for this problem, I wind it in empty dental-floss containers, always keeping two to three inches protruding so as to allow pulling more out.

"There are two types of floss containers that I am aware of: the relatively flat packs, and the tall types which contain cylindrical bobbins. I find that the tall version is better suited to holding long pieces of solder; the long shaft on which it is wound gives less opportunity for 'cross-overs' while winding."

The editor suggests that you file a notch in the lid of the container, so that the solder can be drawn out with a minimum of tension. When flux-core solder is stretched, the tubular structure of the solder elongates, but the flux core, which is brittle, does not. Thus, when solder is put under tension, it is possible to create unintentional voids in the flux.

A notch in the lid of the floss container takes care of this problem of stretching the solder, and it's a pretty good idea. Thank you, Mr. Heltzer.

Jean Le Borgne sent me a couple of his latest-model feeders for the tubular solder guide (SKTF, Winter 1986). Now of 1/4-inch aluminum and about 2 inches long, it's pretty slick. It has a No. 2-56 setscrew near the top to clamp onto the solder, and it slides nicely onto the stainless-steel tube above the collar. (A 2-56 nut is threaded all the way to the head to make a poor man's thumbscrew.) Its purpose is to feed solder without kinking as it enters the tube. He sets the sleeve so that he can make three or four connections before loosening the setscrew for "reloading."

He also modified the solder guide. With a file, he filed away aportion of the tube at the bottom so as to expose the solder on one side. In this way, the solder can more directly be involved with the top of the iron. He turned the collar so that its setscrew is on the side of this filed-away portion.

Jean also suggests that the resultant pointed guide is the answer to a maiden's prayer for soldering PL-259 coax connectors. The pointed end of the tube is placed in the holes in the side for soldering the shield to the shell.

Mr. Le Borgne is generous enough to make these Cadillac solder guides available to readers. For now, he says they are free. (I, being a normal greed-head, would take you for 4 or 5 dollars.) To get your solder guide, write to: Mr. Jean Le Borgne, 12022 Celine Street, El Monte, CA 91732. Thanks, Jean.

Everybody's concerned with kinks in their solder. What kind of kinky crowd have I got out there? (As they laugh in Morse Code telegraphy, HI HI.)

COMPUTER BRAILLE CHEAT SHEET

"Computer Braille" and "Standard English Braille" are not compatible. This is because of duplication (double meanings) of many Braille symbols. For example, in the Standard English form, the numerals are identical with the letter A through J. To get around this, the numerals of Computer Braille are put in the lower half of the cell. This creates a new problem--the numerals now become identical with Standard English punctuation marks. Therefore, the Grade II double-letter signs are now used as punctuation. On the following page is a list of the new symbols.

Note that, in 6-dot Braille, there can be no distinction between upper and lower case letters (2-cell combinations cannot be tolerated in a one-to-one correlation between ASCII and Braille); thus, everything to do with computers is assumed to be in upper case. Also, traditional Braille readers are used to seeing a number sign before each number string; in Computer Braille, this sign is quite rare.

ALTHOUGH UNDERLINING CANNOT BE DONE IN BRAILLE, THIS ASCII CHARACTER HAS BEEN ASSIGNED DOTS 4, 5 AND 6.

EDITOR'S CRYSTAL BALL

The editor's vision, always clouded through a murky vitreous humor, brings on this column as a yearly feature. I am always troubled by it, having to keep my disciplines on a leash and bring ill-defined flakes of ideas into focus. Firmly grounded is that you have inspired me for another year, and that I'm not yet ready for retirement. But I do feel at times that I run this magazine too much--polluting it with my strong feelings as to what blind people should know and should be doing.

Recognizing my missionary tendencies, I wondered whether or not I should appoint an "Editorial Committee" to whom I would propose my ideas and directions. I decided that I didn't like that notion one bit, supposing that they would hold long meetings and slow things down. Besides, what would keep them from going as out of focus as I do--perhaps worse?

Nope, the only committee I trust is comprised of you. If official decrees can make it any plainer, "I hereby appoint all current subscribers to 'The Editorial Committee' of The Smith-Kettlewell Technical File, and charge you with the responsibility of commenting on content and advising the editor as to this organ's direction." Can't you feel the power at your fingertips ready to be exercised? Good!

Now recognize that with all power comes responsibility. The editor will gladly process good material for inclusion, but he has to get it first. I'm not complaining--you have supplied me with much good material right along. (A breakdown of content I did in 1985 showed that 16.8% of the material came from you, the readers.) All I am saying is, "Keep it up!" You send me technical stuff with good meat on it, and I'll run it (provided good author credits and references, where appropriate, are included).

This is one of very few magazines in the field of blindness that isn't packaged and produced--with invited noted authors and straight reprints from printed matter. (There are many good magazines of the formally produced type, and I don't mean to pan them.) SKTF is interactive with its readership; in fact, it has to be so, because much of its justification is that it fuels our research, with you being both fellow researchers and research subjects. It is for this reason that, when you send me material, I don't just create an outsiders' column, relegating a "space for you" and another "space for the parent organization." You will notice that, unless I have to group a few unrelated short goodies together into "Hints and Kinks," you don't just land in a "Letters to the Editor" section, but your material is treated as a full-blown article with equal weight to papers of our own.

This yearly look into the future, then, is not a statement of policy handed to you to chew and digest as best you can. As you know, power rests with you to place your mark on this technical literature. Don't be hiding any of your stuff; send it in for the rest of us brothers and sisters.

So as not to prejudice where new ideas will take this magazine, I'll step back just a bit, this year, and not declare my imaginings as loudly as before. There are a couple of future plans I do hold firm, and they are delineated as follows:

Just for fun, I have a summary of a breakdown of the contents which I compiled, ending with the Spring 1985 issue of SKTF. The following two tables show what I found:

Percentage Breakdown of Subject Matter

Percentage Breakdown as to Authorship

As I looked through the first table, it made me giggle that there wasn't a category called "computers." (I had thrown the Breakout Box in with laboratory instruments, and speech products went in with chip information.) I suppose that's bad advertising, and I shall reform. In a way, though, this is as it should be: you cannot have modern technical information without it being computer-related, and you cannot immerse yourself in the nuts and bolts of computers without having traditional technical knowledge and skills. This year, let me not predict where technology will take us--computers, "protean-molecule circuits," or vacuum tubes. Rather, let us approach discussions of technology without viscous predilections and see where it leads us.

Seasons greetings to you all, and let's have a happy year that's newer than ever.