Measure an ADC's Transtion Noise--Part 2
A servo-loop circuit sets an input voltage that lets you measure transition noise in low-noise parts.
Frank Ohnhauser Burr-Brown, Tuscon, AZ -- Test & Measurement World, 2/1/1999
| Last month, I explained that today’s low-noise analog-to-digital converters (ADCs) have at most two possible output states for a given input voltage.1 I showed you a tedious method for measuring the transition noise between two output states, codex and codex+1, that required a look-up table. To measure transition noise, you need an input voltage (Vin) that generates a 90% frequency of occurrence for codex and a 10% frequency of occurrence for codex+1, or vice versa. I showed you how to find those voltages and use a table to calculate s, which represents the transition noise’s standard deviation, or RMS value. This month, I’ll show you a servo-loop circuit that accurately generates the frequencies of occurrence. You need the look-up table (from part 1) only to set up your measurements. Later, you can assume a fixed frequency of occurrence and also a fixed z. In part 1, I showed how to solve section (b) of the following equation:
(Eq. 1) I used the look-up table to find a value for z that belongs to a given Px+1 (DV), the probability of an output code occurring for a given input voltage. With the look-up-table method, I had to generate a voltage Vin = Vtrans + DV. (Vtrans is the transition voltage halfway between two codes.) Unfortunately, I first had to find Vtrans by measuring an output code’s frequency of occurrence—a tedious process. With the servo-loop circuit I’ll describe here, you can simplify the process by forcing the frequency of occurrence you want and then measuring DV for your RMS noise calculations. Set Frequencies of Occurrence With z now fixed and with the new DV, the equation for the RMS noise is: s = (V2 - V1)/2z (Eq. 2) where V2 = Vin for Px = 10% and Px+1 = 90% V1 = Vin for Px+1 = 10% and Px = 90% z = 1.281 for a 90% probability of occurrence Finally, V2 – V1 = DV. The digital control circuit compares the ADC’s output to the code of interest. Voltage Vin increases by about 1 mV if the output code of the ADC is less than codex+1. Vin decreases when the output code is greater than codex. Vin will force the ADC to toggle between codex and codex+1. If the output code of the ADC under test is greater than codex, then the digital control circuit connects op amp U1 to the negative voltage in the voltage divider through switch A (SWA), which forces an increase in Vfine, which decreases Vin. Conversely, if the output of the ADC is smaller than codex+1, the digital control must switch SWA to apply a positive voltage to U1, which decreases Vfine and increases Vin. The values chosen for R3 and R1 give amplifier U2 a gain of –0.005, which reduces the step size of Vfine from 180 mV to 0.9 mV. That’s small enough to achieve accurate measurements. But you need an additional coarse voltage (Vcoarse) to get close enough to the correct ADC’s input voltage. Because of the low gain of –0.005, Vfine is limited in range. The 12-bit digital-to-analog converter (DAC) in Figure 1 lets you set Vcoarse through summing amplifier U2, which has a gain of –1. Amplifier U2 takes Vcoarse and adds Vfine to get Vin. The difference in Vin from the point of 90% frequency of occurrence (V2) to 10% frequency of occurrence (V1) is DV. You can measure DV with a DMM and use the result in your RMS noise calculations.
To get the desired frequencies of occurrence, you must set the positive and negative voltage changes of Vfine. You do that by selecting the voltage divider resistors, but you must take other factors into account. You can calculate the U1 voltage step at the output from this equation:
CI integrates the current in RI (Vrefp/RI and Vrefn/RI) over one ADC conversion period (DT). For example, if the conversion period is DT = 2 ms (500 kHz), then you can select RI = 100 kW, CI = 1 mF, and Vref = ±9 V. U1’s output voltage step is about 180 mV in one conversion period. If the positive voltage step in U1’s output (Vfine) is 9 times greater than the negative voltage step, then you will get a 90% frequency of occurrence of codex+1. Conversely, you get a 10% frequency of occurrence of codex+1 if the negative voltage step is 9 times greater than the positive. Equation 3 proves that you can achieve a 90% frequency of occurance by providing a higher voltage (in absolute values) of Vrefp than for Vrefn. The voltage dividers in Figure 1 generate Vrefp and Vrefn. Make sure that R is much smaller than RI. Capacitor CIP and resistor R3 form a low-pass filter that minimizes high-frequency noise. Resistors R1 and R2 scale voltages Vfine and Vcoarse, respectively. After building the circuit, you will be ready to test ADCs. Begin by selecting your codex and your codex+1. With the DAC, set Vcoarse equal to the voltage that yields codex at the ADC’s output. I suggest you set the DAC to produce a Vcoarse between the FF0 and FF1 codes of the ADC under test. Set SWB so Vfine adds to Vcoarse and changes Vin to the value V2 that produces a 90% occurrence of codex+1. From the look-up table in part 1, (F)z = 0.4 and z = 1.281. Now, switch SWB so you get V1 so that Px+1 = 10%. With the help of the servo loop circuit, measure V1 and calculate DV. Next, calculate z. For Px+1 = 10%, Px+1 = 0.5 + F(z). Finally, calculate RMS noise: s = DV/(2z). T&MW FOOTNOTE 1. Ohnhauser, Frank, "Measure an ADC’s Transition Noise, Part 1," Test & Measurement World, January 1999, p. 11. Frank Ohnhauser designs integrated circuits for motor control; ohnhauser_frank@burr-brown.com |

















(Eq. 3)


