Лекция: Модуль аналого-цифрового преобразователя ADC08.

В состав микроконтроллеров MC68HC908GP32 входит модуль 8-разрядного аналого-цифрового преобразователя ADC08, который содержит входной мультиплексер, выбирающий один из 8 входов аналоговых сигналов, АЦП, работающий по принципу последовательного приближения, регистр управления-состояния ADSCR, регистр управления тактированием ADCLK и регистр результата ADR.

Функционирование АЦП определяется содержимым регистр ADSCR, который содержит следующие биты (рис.28, а):

COCO – признак окончания преобразования 1 (доступен только для чтения), принимает значение COCO=1 после выполнения очередного цикла преобразования, если установлено значение бита AIEN=0;

AIEN – разрешает при значении AIEN=1 формирование запроса прерывания после каждого цикла преобразования;

ADCO – определяет режим работы АЦП: однократное преобразование при значении ADCO=0, непрерывная работа преобразователя при ADCO=1;

ADCH4-0 — осуществляют выбор аналогового входа в соответствии с табл.23 или выключение модуля ADC08 при установке значения ADCH4-0 = 11111.

 

COCO AIEN ADCO ADCH4 ADCH3 ADCH2 ADCH1 ADCH0
                   

а). ADSR (адрес $003C)

ADIV2 ADIV1 ADIV0 ADICLK
                   

б). ADCLK (адрес $003E)

 

Рис.28. Формат содержимого регистров ADSCR (а) и ADCLK (б) модуля ADC08

 

Запуск АЦП производится при выборе необходимого аналогового входа путем записи соответствующего значения битов ADCH4-0 в регистр ADSСR. В процессе работы АЦП принимает потенциал, установленный на выбранном входе ADi, и формирует 8-разрядное число, соответствующее величине этого потенциала, которое записывается в регистр результата ADR (адрес $003D). Считывание результата в регистр A или X для последующей обработки производится командой LDA или LDX.

Поступающий на аналоговый вход потенциал Vвх должен находиться в диапазоне Vr>Vвх>0, где Vrf – величина опорного потенциала, который в микроконтроллерах MC68HC908GP32 равен Vап — напряжению питания АЦП, для подключения которого используются отдельные выводы аналогового питания и “земли”. Между этими выводами обязательно следует включить высокочастотный керамический конденсатор для фильтрации помех. При значении Vrf = Vап = 5 В разрешающая способность АЦП составляет около 20 мВ, а погрешность преобразования 10 мВ.

При установке соответствующих значений битов ADCH4-0 производится измерение потенциала Vrf или потенциала на входе аналоговой «земли» (табл.24). Такое измерение выполняется для контроля значений этих потенциалов.

 

Таблица 24. Выбор аналоговых входов модуля ADC08

 

ADCH4-0 Аналоговый вход ADCH4-0 Аналоговый вход
AD0 (PTB0) AD10 (PTD2/PTD1**)
AD1 (PTB1) AD11 (PTD3/PTD0**)
AD2 (PTB2) AD12 (PTD4)
AD3 (PDTB) AD13 (PTD5)
AD4 (PTB4) AD14 (PTD6)
AD5 (PTB5) 01010-11100 Не используются
AD6 (PTB6) Потенциал Vrf
AD7 (PTB7) Аналоговая «земля»
AD8 (PTD0/PTD3*) Отключение АЦП
AD9 (PTD1/PTD2*)    

 

В зависимости от значения бита ADCO в регистре ADSCR(рис.28, а), обеспечиваются следующие режимы работы АЦП:

— режим однократного преобразования (ADCO=0), при котором АЦП автоматически выключается (в регистре ADSCR устанавливается значение битов ADCH4-0 = 11111) после выполнения очередного преобразования и записи результата в регистр ADR;

— режим непрерывного преобразования (ADCO=1), при котором АЦП продолжает многократно выполнять преобразования и выдавать значения потенциала на выбранном аналоговом входе до записи в регистр ADSCR нового содержимого.

При любом режиме работы после выполнения очередного цикла преобразования модуль ADC08 выдает запрос прерывания, если в регистре ADSCR установлено значение бита AIEN=1. При этом производится обращение к вектору, который размещается в таблице векторов прерываний по адресу $FFDE-DF (см. табл.10 в разделе 5).

Если прерывания по запросу АЦП запрещены (бит AIEN=0), то после каждого цикла преобразования в регистре ADSCR устанавливается значение признака COCO=1. В этом случае процессор должен производить программный опрос признака COCO и выполнять считывание результата из регистра ADR, если COCO=1. Сброс COCO в состояние 0 производится автоматически после чтения содержимого регистра ADR или после записи нового значения в регистр ADSCR.

В состав модуля ADC08 входит схема тактирования, работающая под управлением регистра ADCLK, который содержит следующие биты (рис.28, б):

ADICLK – определяет выбор сигналов для тактирования АЦП: тактовые импульсы с частотой Ft при установке значения ADICLK=1 или импульсы с частотой кварцевого резонатора Fq при ADICLK=0;

ADV2-0 – задает коэффициент деления частоты Ka при формировании тактовых сигналов АЦП (табл. 25).

Для получения необходимой точности АЦП должен тактироваться импульсами с частотой Fa = (0,5…1) МГц, причем оптимальным является значение Fa, близкое к 1МГц. Эта частота обеспечивается путем деления тактовой частоты Ft (при значении бита ADICLK=1) или частоты кварцевого резонатора Fq (при значении бита ADICLK=0). Необходимое значение коэффициента деления Ka = Ft/Fa или Fq/Fa задается установкой битов ADV2-0 в регистре ADCLK в соответствии с табл.25. Отметим, что нормальная работа АЦП обеспечивается при значениях частоты Ft или Fq не менее 1 МГц.

Для выполнения одного цикла преобразования требуется 17 тактов, поэтому время преобразования составляет около 17 мкс при значении Fa=1 МГц.

Таблица 25. Коэффициент деления

частоты Ka для модуля ADC08

 

ADIV2-0 Ka
1xx

 

еще рефераты
Еще работы по информатике