МК

 Изучение работы АЦП в МК (Лабораторная работа)

 

 

Цель работы:

1.      Ознакомление со структурой блока аналого-цифрового преобразования в микроконтроллере.

2.      Изучение вопросов программирования и применения блока аналого-цифрового преобразования в основных режимах его работы.

 

Общие сведения

            Блок АЦП включает в себя восьмиканальный пяти микросекундный А/Ц преобразователь с однополярным питанием, многоканальный мультиплексор, устройство выборки-хранения (УВХ), источник опорного напряжения (ИОН), систему калибровок.

Компоненты блока управляются через три интерфейсных регистра: ADСCON1, ADCСON2, ADСCON3.

Однократный или повторяющийся режимы преобразования могут выполняться программно или подачей внешнего сигнала запуска преобразования на контакт 23 (CONVST/). Для инициирования повторяющегося процесса преобразования можно использовать сигналы Таймера2. АЦП можно установить в режим передачи данных по каналу прямого доступа к памяти - ПДП (DMA), при этом блок повторяет циклы преобразования и посылает результаты во внешнюю память данных (RAM), минуя процессор.

            Регистр ADСCON1 управляет преобразованием, временем переключения, режимами преобразования и потреблением устройства.

На рисунке ниже представлена структура.

 

MD1

MD0

CK1

CK0

AQ1

AQ0

T2C

EXC

Рис. 1

 

            Адрес ADСCON1                                          EFH

            Значение при включении питания 20H

            Битовой адресации нет.

 

В таблице далее приведено распределение разрядов регистра ADCСON1.

 

Таблица 1

Расположение бит

Мнемоника

Описание

ADCСON1.7

ADCСON1.6

MD1

MD0

Биты выбора режима работы АЦП

 

 

 

MD1

0

0

1

 

1

MD0

0

1

0

 

1

Режим АЦП

Дежурный

Нормальный

Дежурный, если не выполняется цикл преобразования

Холостой, если не выполняется цикл преобразования

ADCСON1.5

ADCСON1.4

CK1

CK0

Биты деления тактовой частоты, задают коэффициент деления основной частоты микропроцессора для получения тактовой частоты АЦП. *

 

 

CK1

0

0

1

1

CK0

0

1

0

1

Делитель для MCLK

 1

 2

 4

 8

ADCСON1.3

ADCСON1.2

AQ1

AQ0

Биты задержки переключения. Выбирают время, не-обходимое для перезарядки УВХ при переключении мультиплексора. **

 

 

AQ1

0

0

1

1

AQ0

0

1

0

1

Число такт. задерж. запуска АЦП

 1

 2

 3

 4

ADCСON1.1

T2C

Бит запуска преобразования от Таймера2. Если бит установлен, то сигнал переполнения Таймера2 используется для запуска АЦП.

ADCСON1.0

EXC

Бит разрешения внешнего запуска. Если бит установлен, то контакт 23 (CONVST/) будет использоваться для приема сигнала запуска АЦП (активный низкий, длительность не менее 100 нс).

 

* - Цикл преобразования АЦП занимает 5 мкс, в дополнении к числу тактов переключения, задаваемым битами AQ1, AQ2.

            ** - При импедансе источника входного сигнала менее 8 Ком AQ1=AQ0=0, т.е. AQ=1.Иначе задержку увеличивают до 2-4 тактов.

Регистр ADCСON2 управляет выбором номера канала и режимами преобразования. На рисунке далее представлена структура.

 

ADCI

DMA

CCONV

SCONV

CS3

CS2

CS1

CS0

 

Рис. 2

 

            Адрес ADСCON2                                          D8HH

            Значение при включении питания 00H

            Битовая адресация есть.

В таблице ниже приведено распределение разрядов регистра ADCСON2.

 

Таблица 2

Расположение бит

Мнемоника

Описание

ADCСON2.7

ADCI

Бит прерывания АЦП, устанавливается аппаратно по окончанию однократного цикла преобразования АЦП или по окончанию передачи блока в режиме ПДП. ADCI очищается аппаратно при переходе по вектору на процедуру обслуживания прерывания.

ADCСON2.6

DMA

Бит разрешения режима ПДП. Устанавливается пользователем для начала операции ПДП со стороны АЦП.

ADCСON2.5

CCONV

Бит циклического преобразования. Устанавливается пользователем для задания режима непрерывного циклического преобразования АЦП. В этом режиме

АЦП выполняет преобразование в соответствии с типом синхронизации и конфигурацией каналов, выбранными в других SFR.

ADCСON2.4

SCONV

Бит запуска однократного преобразования, устанавливается пользователем для однократного запуска АЦП. Бит сбрасывается автоматически по завершении преобразования.

ADСCON2.3

ADСCON2.2

ADСCON2.1

ADСCON2.0

 

CS3

CS2

CS1

CS0

 

Биты выбора входных каналов (CS3 CS0), преобразование будет выполняться для канала, номер которого указан данными битами. В режиме ПДП выбор номера канала осуществляется из ID канала, записанного во внешней памяти.

 

 

CS3

0

1

1

1

CS2

n2

0

Х

1

CS1

n1

0

Х

1

CS0

n0

0

Х

1

 

номер входного канала

темпер. сенсор (внутр.)

другие комбинации

останов ПДП

Регистр ADCСON3 дает прикладным программам информацию о занятости АЦП. На рис. 6.3 представлена структура, а в табл. 6.3 распределение разрядов регистра ADCСON3.

 

BUSY

RSVD

RSVD

RSVD

CTYP

CAL1

CAL0

CALST

 

Рис. 3

 

            Адрес ADСCON3                                          F5H

            Значение при включении питания 00H

            Битовой адресации нет.

 

Таблица 3

Расположение бит

Мнемоника

Описание

ADCСON3.7

BUSY

Бит занятости АЦП (только для чтения). Устанавливается на время преобразования или калибровки АЦП. Автоматически очищается по завершению циклов преобразования или калибровки.

ADCСON3.6

ADCСON3.0

RSVD

Биты ADCСON3.6 - ADCСON3.0 зарезервированы. Они считываются с нулевым значением и их следует записывать только нулями.

 

            После настройки и запуска АЦП выполняется преобразование и запись результата, представляющего собой 12-разрядный код, в регистры ADCDATA. Формат слова результата приведен на рис 4.

 

ADCDATAH

N3

N2

N1

N0

D11

D10

D9

D8

4 разряда - номер канала      Старшие 4 разряда результата

 

ADCDATAL

D7

D6

D5

D4

D3

D2

D1

D0

                                    Младший байт результата

 

Рис. 4

 

Задание

1. Составить программы, обеспечивающие ввод аналоговой информации последовательно по каждому из 8 каналов (по одному отсчету). Найти максимальное и минимальное значения. Максимальное значение вывести в порты Р0 и Р1 (Р1.0 - Р1.3), минимальное - в порты Р2 и Р1 (Р1.4 - Р1.7). Запуск АЦП выполнять:

а) программно по окончании предыдущего преобразования в режиме слежения;

б) программно по прерыванию АЦП;

в) внешним сигналом

2. Составить программу, обеспечивающую ввод аналоговой информации по одному из каналов (16 отсчетов). Запуск преобразования выполнять с помощью таймера. Обосновать выбор частоты запуска АЦП. Выполнить обработку информации.

3. Составить программу, обеспечивающую ввод аналоговой информации по одному из каналов (32 отсчета) и запись результата преобразования во внешнюю память данных в режиме прямого доступа.

 

Содержание отчета

1. Привести форматы и назначение управляющих слов, используемых при программировании АЦП.

2. Представить алгоритмы и программы для выполненных заданий.

3. Представить выводы по выполненным заданиям.