• Начало
  • Новини
  • Как вътрешно работи ADC (Analog-to-Digital Converter) в микроконтролерите?
Продукти

Как вътрешно работи ADC (Analog-to-Digital Converter) в микроконтролерите?

Как вътрешно работи ADC (Analog-to-Digital Converter) в микроконтролерите?
6 януари 2026

Въведение

Микроконтролерите работят с цифрови стойности – 0 и 1. Реалният свят обаче е аналогов – напрежение, ток, температура, светлина, звук.
Тук идва ролята на ADC (Analog-to-Digital Converter) – модулът, който превръща аналогов сигнал в цифрово число, разбираемо за микроконтролера.

В тази статия ще разгледаме какво се случва вътре в ADC, стъпка по стъпка – без магия, само електроника.

 

1. Какво представлява ADC в микроконтролера?

ADC е вграден хардуерен модул, който:

  • приема аналогово напрежение (например 0–5V);

  • измерва го;

  • преобразува го в цифрова стойност (например от 0 до 1023).

 

 

 

 

 

Пример:

  • 0V → 0

  • 2.5V → 512

  • 5V → 1023

(при 10-битов ADC)

 

 

2. Основни параметри на ADC

 

2.1 Резолюция (Resolution)

Резолюцията определя колко точно се измерва напрежението.

 

Резолюция Стойности
8-bit 0 – 255
10-bit 0 – 1023
12-bit 0 – 4095
16-bit 0 – 65535

 

Колкото повече битове → толкова по-малка грешка.

 

2.2 Референтно напрежение (Vref)

ADC сравнява входното напрежение спрямо референтно напрежение.

Видове Vref:

  • Вътрешно (1.1V, 2.56V и др.)

  • Външно (подадено на пин)

  • Захранване (Vcc)

Пример:
Ако Vref = 5V и ADC е 10-bit → една стъпка = 4.88mV

 

 

3. Вътрешна архитектура на ADC

Най-често в микроконтролерите се използва SAR ADC (Successive Approximation Register).

Основни вътрешни блокове:

  1. Sample & Hold;

  2. Компаратор;

  3. DAC (Digital-to-Analog Converter);

  4. SAR регистър;

  5. Контролна логика.

 

 

4. Sample & Hold – първата стъпка

Този блок:

  • замразява“ входното напрежение

  • съхранява го върху малък кондензатор

Защо е нужен?

  • ADC преобразуването отнема време;

  • входният сигнал може да се променя;

  • трябва стабилна стойност по време на измерването.

 

 

5. SAR – сърцето на ADC

SAR работи като бинарно търсене.

Пример с 10-битов ADC:

  1. SAR задава MSB = 1 (512);

  2. DAC генерира напрежение = 2.5V;

  3. Компараторът сравнява:

    • ако Vin ≥ 2.5V → битът остава 1

    • ако Vin < 2.5V → битът става 0

  4. Процесът се повтаря за всеки бит

След 10 стъпки имаме пълното цифрово число.

 

 

6. Компаратор – решава „по-голямо или по-малко“

Компараторът:

  • сравнява Vin и напрежението от DAC;

  • дава само да / не;

  • резултатът се записва в SAR регистъра

Той е изключително бърз и точен.

 

 

7. Вътрешен DAC – огледалото на ADC

DAC:

  • получава цифрово число от SAR;

  • превръща го в аналогово напрежение;

  • използва се само за вътрешно сравнение.

 

 

8. Време за преобразуване

ADC не е моментален.

Времето зависи от:

  • честота на ADC clock;

  • брой битове;

  • тип на ADC.

Пример:

  • 10-bit ADC → ~13 ADC цикъла;

  • при 125kHz → ~104µs

 

 

9. Източници на грешки

 

Основни грешки:

  • Шум;

  • Неточно Vref;

  • Импеданс на входа;

  • Лошо филтриране;

  • Недостатъчно време за Sample & Hold.

Решения:

  • Кондензатор на ADC пина;

  • Нисък изходен импеданс;

  • Усредняване (averaging);

  • По-ниска ADC честота.

 

 

10. Заключение

ADC е един от най-важните модули в микроконтролера.
Разбирането как работи вътрешно помага:

  • да правиш по-точни измервания;

  • да избягваш грешки;

  • да пишеш по-добър код;

  • да проектираш по-качествен хардуер.