10. АЦП
В dsPIC33FJ32GP204 имеется до 13 входных модулей аналого-цифровых преобразователей (АЦП). Бит AD12B (AD1CON1<10>) позволяет настроить каждый модуль АЦП как 10-битную 4-канальную схему выборки и хранения (по умолчанию) или 12-битную 1-канальную схему выборки и хранения. Перед изменением бита AD12B необходимо отключить АЦП.
17.1 Основные характеристики.
10-битная конфигурация АЦП:
1) преобразователь последовательного приближения (SAR);
2) преобразование со скоростью до 1.1msps (мега выборок в секунду);
3) до 13 входных аналоговых пинов;
4) внешнее опорное напряжение входных пинов;
5) возможность одновременной работы до 4 каналов;
6) режим автоматического поиска канала;
7) возможность выбора источника запуска преобразований;
8) выбор режимов заполнения буфера;
9) четыре варианта результатов выравнивания (signed/unsigned, fractional/integer);
10) возможность работы во время Sleep и Idle режимов CPU;
11) шестнадцатеричный результат в буфере преобразования.
12-битная конфигурация АЦП имеет те же характеристики, что и 10-битная, за исключением:
1) преобразование проходит со скоростью до 500ksps;
2) в 12-битной конфигурации есть только 1-канальная схема выборки, режим одновременной работы нескольких каналов не поддерживается.
В зависимости от модели dsPIC, АЦП может иметь до 13 аналоговых входов, которые обозначаются AN0…AN12. Кроме того, имеются два входных пина для связи с внешним опорным напряжением. Пины с опорным входным напряжением могут быть общими с другими аналоговыми входными пинами. Конфигурация входных аналоговых пинов и пинов с опорным напряжением зависят от модели.
Для dsPIC33FJ32GP204:
17.2 Инициализация АЦП
1) обозначить порт как аналоговый вход (AD1PCFGH<15:0> или AD1PCFGL<15:0>);
2) выбор источника опорного напряжения в соответствующем диапазоне аналогового входа (AD1C0N2<15:13>);
3) выбрать время аналогового преобразования, так, чтобы желанная скорость передачи данных соответствовала с тактом процессора (AD1CON3<7:0>);
4) определить сколько каналов схемы выборки и хранения будет использовано (AD1CON2<9:8> и AD1PCFGH<15:0> или AD1PCFGL<15:0>);
5) выбрать соответствующую модель/преобразование последовательность (AD1CON1 <7:5> и AD1CON3<12:8>);
6) выбрать путь для находящихся в буфере результатов преобразований (AD1CON1<9:8>). Для помещения их в модуль АЦП – AD1CON1<15>;
7) настроить прерывания АЦП (при необходимости): а) сбросить бит AD1IF; б) выбрать приоритет прерываний АЦП.
Преобразование тактовой частоты:
Передаточная функция АЦП (10-битный пример):
Блок-схема преобразования тактовой частоты АЦП:
17.3 Регистры АЦП
AD1CON1: АЦП 1 контрольный регистр 1
Bit 15 ADON: Рабочий режим АЦП
1= АЦП включено
0= АЦП выключено
Bit 14 Не определён, считается равным 0
Bit 13 ADSIDL: Поведение в Idle Mode
1= прекращение работы в Idle Mode
0= продолжение работы
Bit 12-11 Не определены, считаются равным 0
Bit 10 AD12B Конфигурация АЦП
1= 12-битный, 1-канальный АЦП
0= 10-битный, 4-канальный АЦП
Bit 9-8 FORM<1:0> Бит выходного формата данных
Для 10-битной конфигурации:
Для 12-битной конфигурации:
Bit 7-5 SSRC <2:0> Вид источника тактовых импульсов
111= внутренний счётчик заканчивает выборку и начинает преобразование (авто-преобразователь)
110= недоступен
101= интервал ШИМ2 контроля электродвигателя заканчивает выборку и начинает преобразование
100= недоступен
011= интервал ШИМ1 контроля электродвигателя заканчивает выборку и начинает преобразование
010= таймер 3 заканчивает выборки и начинает преобразование
001= активный переход на выход INT0 заканчивает выборку и начинает преобразование
000= очистка бита выборки заканчивает выборку и начинает преобразование
Bit 4 Не определён, считается равным 0
Bit 3 SIMSAM: бит выбора одновременных выборок (доступен, когда CHPS<1:0>=01 или 1х), когда AD12B=1, то данный бит становится недоступным и считается равным 0
1= выборки происходят по каналам CH0, CH1, CH2, CH3 одновременно (когда CHPS<1:0>=1х) или выборки происходят одновременно по каналам CH0 и CH1 (если CHPS<1:0>=01)
0= выборки по нескольким каналам происходят в индивидуальной последовательности
Bit 2 ASAM: Автостарт выборок АЦП
1= выборки начинаются немедленно после последней конверсии. SAMP-бит автоустановлен.
0= выборки начинаются, когда бит SAMP установлен
Bit1 SAMP: Бит разрешения выборки АЦП
1= схема выборки и хранения АЦП производит выборки
0= схема выборки и хранения АЦП производит хранение
Если ASAM=0, программа может прочитать 1для начала выборки. Аппаратно устанавливается, если ASAM=0. Если SSRC=000 программа может прочитать 0 для завершения выборки и начала преобразования. Если SSRC не равно 000, то сбрасывается аппаратно до конца выборки и начала преобразования.
Bit0 DONE: Бит статуса преобразований АЦП
1= преобразование АЦП завершено
0= преобразование АЦП не началось или идёт в данный момент
Автоматически устанавливается аппартно, когда завершено преобразование АЦП. Программно можно установить 0 для очистки статуса DONE (но программно нельзя установить 1). Очистка этого бита НЕ ПОВЛИЯЕТ на текущие операции. Автоматически очищается аппаратно при старте нового преобразования.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.