Модуль АЦП содержит четыре входных аналоговых канала, мультиплексируемых наодну схему выборки/хранения и далее на АЦП. Опорное напряжение поступает извне через ножку RA3/AIN3/Vref или формируется внутри кристалла из Vdd.
Преобразователь использует принцип последовательного приближения; 8 -битовый результат преобразования помещается в регистр ADRES (09h).Преобразования инициируются установкой управляющего бита (GO/DONE) в регистре ADCON. До начала преобразования должен быть выбран нужный канал и обеспечено достаточное время для завершения выборки. Время преобразования есть функция периода генератора. Минимально возможное время преобразования 20 мкс. В конце преобразования бит GO/DONE очищается и активируется прерывание. Ошибка преобразования не превышает +- 1 LSB для Vdd=5.12 В и Vref = Vdd. Разрешение и точность уменьшаются, когда Vref меньше Vdd.
Тактирование АЦП.
АЦП работает от своего собственного тактового генератора или от генератора OSC1, как показано а следующей таблице:
Управляющий бит DCS1,ADCS0 | Задержка (должна быть >2 mkS) |
00 | 2 tosc |
01 | 8tosc |
10 | 32 tosc |
11 | trc (2..6 mkS, 4 mkS tyр.) |
|
|
Время преобразования каждого бита занимает одинаковый интервал. Общее время измерения- 10 интервалов. Сам интервал должен быть не менее 2мкс. На низких частотах может быть выбран RC генератор. Однако его частота существенно зависит от напряжения питания, температуры и других параметров (период от 2 до 6 мкс, номинал - 4 мкс).
Управляющий регистр и регистр статуса АЦП (ADCON0)
Регистр ADCON0 Адрес 08h Значение при включении питания= 00H
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADCS1 | ADCS0 | CHS1 | CHS0 | GO/DONE | ADIF | ADON |
ADON - Включение АЦП.
ADON = 0: АЦП не работает и не потребляет тока.
ADON = 1: АЦП работает и занял линии IO
ADIF- Флаг прерывания по окончанию аналого-цифрового преобразования.
Флаг устанавливается, когда преобразование закончено.
Флаг сбрасывается программно.
GO:/DONE- Этот бит должен быть установлен, чтобы началось преобразовании Он автоматически сбрасывается аппаратным способом, когда преобразование заканчивается.
CHS1 CHS0 - Выбор аналогового канала.
CH1,CH0 00: канал 0 (AIN0)
01: канал 1 (AIN1)
10: канал 2 (AIN2)
11: канал 3 (AIN3)
ADCS1 ADCS0 -Выбор частоты преобразования.
ADCS0,ADCS0 00: Fosc/2
01: Fosc/8
10: Fosc/32
11: fRC (частота от собственного RC генератора)
Подключение аналоговых входов
Пользователь должен установить регистр ACON1 так, чтобы линии аналоговых сигналов были сконфигурированы как аналоговые входы. Так как линии аналоговых сигналов запараллелены с цифровыми выходами, которые имеют диоды защиты, подключенные к Vdd и к Vss в обратном направлении, то входной аналоговый сигнал должен будет ограничиваться этими значениями, иногда с увеличением тока в ножку. Чтобы избежать повреждений входных цепей, рекомендуется иметь последовательный ограничивающий резистор не менее 500 Ом.
|
|
Для источников сигнала, выходное сопротивление не должно быть больше 10 кОм. Тогда максимальная погрешность, вызванная током утечки, составляет +- 5 мВ или +- 0.25 LSB при Vdd=Vref= 5В (10 кОм * 5мкА). Другая причина ограничения максимального выходного сопротивления источника сигнала - это требование к запоминанию входного сигнала на специальном конденсаторе в схеме выборки хранения.
Для снижения шума иногда добавляют внешний RC фильтр. И в этом случае значение R должно быть таким, чтобы суммарная величина сопротивления не превосходила 10 кОм. Любой внешний компонент, подключаемый к аналоговому входу (будь то конденсатор или стабилитрон), должен иметь очень небольшой ток утечки.
Управляющий регистр АЦП (ADCON1)
Регистр ADCON1 Адрес 88h
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PCFG1 | PCFG0 |
PCFG1 PCFG0 - Биты, которые определяют конфигурацию ножек RA0 - RA3:
PCFG1, PCFG0 | RA0,RA1 | RA2 | RA3 | Vref |
00 | аналоговые входы | аналоговый вход | аналоговый вход | Vdd |
01 | аналоговые входы | аналоговый вход | вход опорного напряжения | RA3 |
10 | аналоговые входы | цифровой вход | цифровой вход | Vdd |
11 | цифровые входы - | цифровой вход | цифровой вход |