Suppose you want to buy an analog-to-digital converter (ADC). You tell the clerk that you would like a 16-bit ADC with a 100-ksample/s rate and a 1.024-V input range. The clerk will reply, “Yes sir! And how much noise would you like with that order?” Your response is “None! I don’t want any noise.”
Well, that’s not going to be possible. You will always get some noise. Think of it like rat hair in hot dogs. No one wants any, you can’t remove all of it, but the manufacturer will guarantee at least a maximum level. Here are some simple definitions:
- Signal is the stuff you what.
- Noise is the stuff you don’t want.
- What you get is a combination of what you wanted and what you didn’t what. Subtract what you wanted from want you got and you have your noise.
- The goal is to make the ratio of what you wanted to what you didn’t want as high as possible.
By these definitions, ADC quantization is noise. Figure 1 shows part of an ideal converter. The analog input is a straight line while the digital output is a series of steps, each 1 LSB high. You wanted a straight line, and you got a series of steps. Subtract the two and you have the noise.
Noise is shown as triangular waveform. Its amplitude is bound to plus or minus half the quantization level (±0.5q). Also, noise averages to zero and has an RMS value proportional to the quantization level (q/√12).
The signal-to-noise ratio (SNR) for an ADC is defined as the ratio, in dB, of the largest possible sinusoidal input versus the amount of noise. Both should be measured in RMS. For an ideal n-bit ADC, the theoretical SNR is:
SNRIDEAL = 6 × n + 2
For instance, a 16-bit ADC has an ideal SNR of 6 × 16 + 2 or 98 dB. Of course, the actual SNR cannot be any larger than this and is most likely smaller. This is because the ADC supplies other noise from sources such as noisy silicon or interference from internal control signals.
Examination of the noise will not show what errors contribute to the total output noise. This is okay for rat hair, because it doesn’t really matter if it came from the spices, cereal filler, or mystery hot dog meat. Assume all the noise is quantization error, and you get a value for the effective number of bits (ENOB):
SNRIDEAL = 6 × ENOB + 2
You now have an equation tying SNR and actual ADC resolution. Suppose a 16-bit ADC has 89-dB SNR with a 1.024-V input range. Working this equation backward results in a calculated ENOB of 14.5 bits.
Note: when you bring up the 6 × n +2 thing at some meeting, there may be a grandstanding engineer who will smugly state that the equation is actually 6.02 × n + 1.76 and generally act superior for remembering an extra couple of digits. When this happens, just say that it is actually 6.0206 × n + 1.7609, but 6 × n + 2 is a good approximation, accurate within a tenth of a dB from 8 to 16 bits. This will knock the smug look off his face.
With an input range of 1.024 V, the largest sinusoidal input will be 362 mVRMS. This works out to a calculated noise of 12.8 µV. So for this ADC, you get 14.5 effective bits from a noise contribution of 12.8 µV. Add your own 12.8 µV of noise, and you’re down to 14 bits.
The table provides the SNR, ENOB, and amount of noise generated for five typical ADCs, each with a 1.024-V input range. It also shows what the addition of external noise does to the effective resolution. For example, adding 100 µV of noise limits performance to a little better than 11 bits. There are three easy methods for limiting external noise.
BUFFER THE CONNECTION
You buy a 12-bit, 1-Msample/s ADC and connect it to your data bus. You quickly find out that you don’t have anything close to 12 bits of resolution. Ideally, when the ADC’s output is disabled, it is isolated from the data bus. As shown in the left half of Figure 2, the area below the high impedance pins capacitively couples the bus noise to the ADC’s substrate, reducing the overall SNR.
Look at your processor’s data bus with a high-speed oscilloscope and you will see what an awful noise generator it is. This can be fixed with the addition of digital buffers to isolate the ADC from the data bus. As shown in the right half of Figure 2, the bus noise is coupled to the digital buffer’s substrate.
Some engineers balk at the idea of spending an extra 30 cents in buffers for their six-dollar ADC. (When put in these terms, it obviously seems so very short sighted.) If cost is an issue, then an 8-bit ADC would even be a lot cheaper, although it also wouldn’t have a chance of meeting the effective resolution requirement.
If the sample rate is not too high, serial ADCs can be used. The benefit is a smaller package, fewer pins, and no connection to a noisy bus. The disadvantage is that it will require some sort of serial interface to your microcontroller.
SHIELD OR GUARD ANALOG SIGNALS
Ideally, digital signals should be kept away from your analog signals, but sometimes this isn’t possible. Figure 3 shows how a digital signal will capacitively couple its edges to an analog signal. The longer and closer they run together, the greater the coupling. If lines must be run together, put a grounded line between them (Fig. 3b). With a shield, any digital noise is shunted to ground. The disadvantage is that with the shield being so close, the analog signal has an increased distributed capacitance, inadvertently making a low-pass filter. Using a guard solves this (Fig. 3c).
The input of the buffer is connected to the analog signal while the output is connected to what was the shield. The digital noise is still shunted away to the low impedance of the output buffer. However, with the guard being at the same potential as the analog signal, no current flows through the coupling capacitance and no filter is created.
Auto routing is the curse of high-resolution ADC systems. If your system is greater than 12 bits, turn it off. At one company where I routinely laid out boards for 20 bits, I specified that the board software we were to purchase must not include the auto router. When one supplier offered to sweeten the pot by including it for free, I told him I would cancel the order if he did. If that is not an option, hand-route the sensitive analog sections before turning to the auto router.
any more little tricks can help reduce the amount of user contributed noise. I will discuss more of them in future columns.