Knowledge / Electronics and Communication Engineering / Data converters: ADC and DAC

Data converters: ADC and DAC

Electronics and Communication Engineering (B.E./B.Tech) · Circuits and devices · free study notes for exams, placements and interviews

In short

A DAC converts an N-bit digital code into a proportional analog voltage or current; an ADC does the reverse, mapping a continuous analog signal into a finite set of digital codes. They are the interface between the physical world (sensors, microphones, antennas) and all digital processing, so every embedded system, instrument and radio contains them. In Indian university exams and GATE (EC/IN/EE) the standard questions are resolution and step size, quantisation noise and SNR, Nyquist/aliasing, the R-2R ladder, and comparison of flash, SAR, dual-slope and sigma-delta architectures. Placement interviews at Texas Instruments, Analog Devices, Cypress/Infineon, NXP, STMicroelectronics, Qualcomm, Bosch, ISRO/DRDO, BEL and Tata Elxsi routinely ask which converter you would pick for a given speed-accuracy-power target and why.

Explained

Fundamentals: resolution, step size, transfer characteristic

Sampling, quantisation and noise

DAC architectures

ADC architectures

Errors, testing and practical design

Key points

Formulas and examples

Step size (1 LSB) Q = V_FS / 2N [V]; V_FS = full-scale reference voltage, N = number of bits
DAC output V_o = V_ref × D / 2N, where D = decimal equivalent of the input code
Full-scale DAC output V_o(max) = V_ref × (2N − 1) / 2N
Percentage resolution = 100 / (2N − 1) [%]
ADC output code D = round( V_in × 2N / V_FS ) (truncating converters use floor)
Quantisation noise rms = Q / √12 [V]; noise power = Q²/12
SNR_max = 6.02 N + 1.76 dB (full-scale sinusoid, ideal uniform quantiser)
ENOB = (SINAD − 1.76) / 6.02 [bits]
Nyquist: f_s > 2 f_m ; alias frequency f_alias = | f_in − k f_s |, k integer
Aperture (slew) error ΔV = A · 2π f · t_a [V]; t_a = aperture time in s
Oversampling SNR gain = 10 log₁₀ K dB (K = f_s / 2f_m, oversampling ratio)
SAR conversion time = N × T_clk ; Counter ADC worst case = (2N − 1) × T_clk
Dual slope: V_in / V_ref = T₂ / T₁ , so count N₂ = N₁ × V_in / V_ref
S/H droop rate dV/dt = I_leak / C_H [V/s]

Example 1 — Resolution, code and output of a DAC. A 10-bit DAC has V_ref = 5.00 V.

Example 2 — ADC code, quantisation error and SNR. A 12-bit unipolar ADC with V_FS = 3.30 V measures V_in = 1.000 V.

Example 3 — Aliasing. A 2 kHz sine is sampled at 3 kHz with no anti-aliasing filter.

Example 4 — Aperture error fixes the S/H requirement. A 10 kHz, 2 V peak sine is digitised by a 12-bit ADC with V_FS = 4 V (so 1 LSB = 977 µV, ±½ LSB = 488 µV).

Example 5 — Conversion time and architecture choice. Compare three 12-bit converters on a 20 MHz clock (T_clk = 50 ns).

Example 6 — Oversampling to save bits. An 8-bit ADC (ideal SNR 49.9 dB) is oversampled 64× and digitally filtered to the signal band.

ArchitectureComparators / clocksTypical bitsTypical speedWhere used
Flash2N − 1 comparators, 1 clock4-8100 MSPS - several GSPSOscilloscopes, radar, pipeline sub-ADCs
Pipelinefew per stage, 1 sample/clock + latency8-1610-500 MSPSSDR, base stations, imaging
SAR1 comparator, N clocks8-18kSPS - few MSPSMCU ADCs, data acquisition, sensors
Sigma-delta1-bit, oversampled16-24Hz - few hundred kSPSAudio, weighing, energy meters
Dual-slopeintegrator, up to 2 × 2N clocks3½-4½ digits1-100 SPSDMMs, panel meters
Counter/ramp1 comparator, up to 2N clocks8-12very lowTeaching, simple monitors
ErrorEffect on transfer curveCorrectable in software?
OffsetCurve shifted up/downYes, subtract a constant
GainWrong slopeYes, scale by a factor
INLCurve bends away from straight lineOnly by a lookup table
DNLUnequal steps, missing codesNo
QuantisationInherent staircaseNo

Where it is used

Interview questions

Common mistakes

Related topics

Open in the Knowledge reader →Find jobs →