| Характеристики |
| Конфигурация АЦП |
| Работа АЦП |
| Автор |
Характеристики
Встроенный АЦП в зависимости от модели контроллера может иметь до 8 каналов. Во всех моделях реализован 10-разрядный АЦП, имеющий следующие параметры:
Абсолютная погрешность - 2 LSB Нелинейность - 0.5 LSB Время преобразования - 70...280 мкс Тип преобразования - последовательное поразрядное приближение
Конфигурация АЦП

Регистр ADMUX - аналоговый мультиплексор
| - | - | - | - | - | MUX2 | MUX1 | MUX0 |
Регистр ADCSR - регистр контроля и состояния АЦП
| ADEN | ADSC | - | ADIF | ADIE | ADPS2 | ADPS1 | ADPS0 |
| ADPS2 | ADPS1 | ADPS0 | Частота |
| 0 | 0 | 0 | Неопределено |
| 0 | 0 | 1 | CLK/2 |
| 0 | 1 | 0 | CLK/4 |
| 0 | 1 | 1 | CLK/8 |
| 1 | 0 | 0 | CLK/16 |
| 1 | 0 | 1 | CLK/32 |
| 1 | 1 | 0 | CLK/64 |
| 1 | 1 | 1 | CLK/128 |
Регистр ADCL и ADCH - регистр данных
| - | - | - | - | - | - | ADC9 | ADC8 |
| ADC7 | ADC6 | ADC5 | ADC4 | ADC3 | ADC2 | ADC1 | ADC0 |
Работа АЦП
Сначала необходимо выбрать частоту преобразования. Это зависит от параметров
входного сигнала и делается обычно на берегу при инициализации. Чем выше частота
входного сигнала, тем меньшее число должно быть в предделителе. Не забывайте,
что на 0 контроллер частоту не поделит.
Затем выбираем канал через мультиплексор. Это как раз можно (и как правило нужно)
делать перед началом преобразования. Также если у вас не ATMega, то вам
придётся проследить за тем, чтобы используемый вывод был настроен на ввод (получился каламбур).
В ATMega АЦП "висит" на порте F, который на вывод не работает
АЦП запускается после того, как установлен бит ADSC (если установлен бит ADCE).
Дальше по желанию: можно ждать установки ADIF, а можно перед при инициализации
разрешить всё таки прерывание по готовности данных и контроллер известит вас о
ней неожиданным броском в сторону (конечно программным).
Дискрета АЦП определяется как
d = Uref/1024,
где Uref - напряжение на входе AREF. Соответственно, точность и нелинейность должны определяться относительно Uref.© Берёзкин С.Е., 2001 г.