Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Unit 4: Successive Approximation & Counting ADCs

Lesson 17 of 20 in the free Digital Electronics-II notes on Siksha Sarovar, written by Rohit Jangra.

16.1 The successive approximation (SAR) ADC

The SAR ADC is the workhorse of microcontroller-integrated ADCs. It converts in exactly N clock cycles for an N-bit output, using only one comparator — far less hardware than a flash ADC for the same resolution.

Block diagram

Conversion algorithm flowchart

Worked example — 4-bit SAR converting V_in = 11/16 of FSR

Each row shows the SAR register before the comparison, the resulting decision, and the register after.

StepTrial codeV_dac (× FSR)V_in > V_dac?DecisionRegister after
110008/16Yeskeep MSB = 11000
2110012/16Noclear bit-2 = 01000
3101010/16Yeskeep bit-1 = 11010
4101111/16Yes (tie ≥)keep LSB = 11011

Final code = 1011 = 11/16 of FSR. N = 4 cycles, exactly.

Strengths and weaknesses

ProCon
Constant N-cycle latency regardless of inputNeeds a fast, accurate internal DAC
Single comparator → small chip areaSample-and-hold must hold V_in steady for the entire conversion
8 – 18 bits possibleSlower than flash for the same N

Most microcontroller ADCs (AVR, STM32, PIC, ESP32, …) are SAR.

16.2 The counting (ramp) ADC

Algorithm

  1. Reset the counter to 0.
  2. Tick the clock. The counter increments → DAC output ramps up linearly.
  3. When the DAC output crosses V_in, the comparator flips → stop the counter.
  4. The counter value is the digital output.

Performance

  • Conversion time depends on V_in: a near-FSR input takes 2^N clocks; a small input completes quickly.
  • Worst-case latency for N = 10 bits at 1 MHz clock = 1024 µs ≈ 1 ms — very slow compared to SAR.
  • Hardware is trivial — one counter + one DAC + one comparator.

Variants

  • Tracking ADC. Replace the binary counter with an up/down counter that increments when V_in > V_dac and decrements when V_in < V_dac. Once locked, the counter "tracks" V_in continuously — useful for slowly varying signals.
  • Servo ADC. Same idea but with hysteresis to prevent dithering on a noisy input.

16.3 SAR vs Counting at a glance

FeatureSARCounting
Conversion timeConstant N cyclesWorst case 2^N cycles
HardwareDAC + S/H + controlDAC + counter
Typical resolution8–18 b8–14 b
Typical speed1 kHz – several MSPS100 Hz – 10 kSPS
Use caseµC ADCs, DAQ cardsCheap panel meters, legacy designs

16.4 Worked example — pick the right ADC

Requirement: digitise an audio signal at 16 b resolution, 48 kSPS.
  • Flash: 2^16 − 1 = 65 535 comparators. Impossible.
  • Counting: at 16 b, worst case 65 536 clocks per sample × 48 000 samples / s = 3.15 GHz clock. Impossible.
  • SAR: 16 clocks per sample × 48 000 = 770 kHz clock. Easily achievable, so this is the right architecture.

Real audio ADCs go even further and use sigma-delta converters (oversample at MHz rates and shape the noise into a high-frequency band before filtering).