Home www.play-hookey.com Sun, 08-24-2003
Direct links to other pages:
Basic Summing: [Setting the Gain Coefficient] [Analog Addition] [Adding a Fixed Constant]
Variations in Feedback Circuits: [Integrators] [Differentiators] [Logarithmic Amplifiers] [Non-Inverting Amplifiers] [A Difference Amplifier] [Increasing the Output Current Capacity] [A Half-Wave Rectifier] [A Full-Wave Rectifier]
Mixing Analog and Digital Technologies: [Comparators] [Digital to Analog Conversion] [Analog to Digital Conversion]
Generating Waveforms: [A Square Wave Generator] [A Triangle Wave Generator] [A Sine Wave Generator]
Operational Amplifiers: [Characteristics of Operational Amplifiers] [Inside the 741]
Analog to Digital Conversion

To convert a digital code to an analog voltage, we only had to find a way to effectively assign an appropriate voltage to each bit, and then combine them. But is there some equally easy way of finding the digital code that corresponds to a given analog voltage?

Consider the very simple requirement to determine whether an analog voltage was closest to 0, 1, 2, or 3 volts. The result would be stored as a two-bit binary number. The first step in making this determination might be a set of three comparators, connected as shown to the right. As the analog voltage increases, the comparators will, one by one from the bottom up, change state from false to true. Of course, additional digital circuitry will be required to encode these signals into the corresponding digital number. But this circuit forms the sensing array that will determine directly which code will be closest to the actual analog voltage.

This approach will work, and can be expanded to any number of steps for finer resolution of the analog voltage. However, as you have probably already perceived, there is a problem with this approach, in that the number of comparators required increases exponentially with the number of binary bits used to store the code. Thus, using this approach to convert a 0 to 9-volt range to a BCD number will require nine comparators. A 4-bit binary number, counting from 0 to 15, requires 15 comparators. And a typical 8-bit circuit will require 255 comparators! Clearly this approach becomes rapidly too expensive for ordinary use, although it is practical if very high speed is required.

A slower but much less expensive approach involves the use of a D to A converter and a single comparator. The output voltage of the D to A converter is compared with the unknown analog voltage, then changed and compared again. We won't go into much detail about digital circuits here, but suppose a digital counter were to have its outputs applied to the D to A converter inputs. The counter would start at zero, and would begin counting upwards. At some point, the count would cause the output of the D to A converter to exceed the unknown analog voltage, thus causing the comparator output to change. The count that causes this to happen is taken as the digital code that most accurately represents the unknown analog voltage.

 All pages on www.play-hookey.com copyright © 1996, 2000-2003 by Ken BigelowPlease address queries and suggestions to: webmaster@play-hookey.com