- •Лабораторная работа № 6 аналого-цифровой преобразователь
- •1. Общие сведения
- •1.1. Краткая характеристика аналого-цифрового преобразователя
- •1.2. Программирование aцп
- •1.2.1. Управляющие регистры
- •1.2.3. Задание 80хc196kс - совместимого или независимого конфигурируемого времени преобразования
- •1.2.4. Программирование регистра ad_command
- •1.2.5. Предоставление прерывания ацп
- •1.2.6 Чтение результатов преобразования
- •1.3. Интерфейс с ацп
- •1.4. Аналоговая земля (angnd) и опорное напряжение (Vref)
- •1.5. Использование смешанных аналоговых и цифровых входов
- •1.6. Передаточная функция и источники ошибок ацп
- •2. Порядок выполнения работы
- •3. Содержание отчета
1.2. Программирование aцп
1.2.1. Управляющие регистры
Следующие параметры AЦП могут быть запрограммированны:
- Преобразование восьми или десятибитное
- Выбор входного канала
- Времена выборки и преобразования
- Наличие прерывания при завершении
- 80IXC196KC - совместимый режим
- Непосредственно преобразование или обращение к быстродействующему модулю вывода (HSO) или периферийному серверу транзакций (PTS).
В таблице 6.1 приведены программируемые регистры, которые воздействуют на работу и функции AЦП.
Таблица 6.1. Регистры управления и состояния AЦП
Мнемоника |
Описание регистра |
AD_COMMAND |
Регистр команды АЦП. Этот регистр выбирает номер канала АЦП, который нужно преобразовать, определяет будет ли преобразование начинаться непосредственно или из команды HSO , также выбирает 8 или 10-битный режим преобразования |
AD_RESULT |
Регистр результата AЦП . Этот регистр состоит из двух байтов. Старший байт содержит восемь старших битов преобразования. Младший байт указывает номер канала АЦП, который был использован для преобразования, было ли преобразование выполнено правильно и содержит два младших бита 10-битного преобразования |
AD_TIME |
Время преобразования АЦП . Если установлен бит регистра IOC2, этот регистр определяет времена выборки и преобразования. |
IOC2 |
Регистр 2 управления вводом-выводом. Этот регистр выбирает: будет ли время преобразования АЦП контролироваться регистром AD_TIME или эмуляцией режимов быстрого и нормального преобразования микроконтроллера 8XC196KС. |
INT_MASK |
Маска прерывания .Этот регистр разрешает / запрещает прерывание “Завершение преобразования АЦП”( INT01, 2002H ). Установка бита 1 этого регистра разрешает прерывание, сброс бита 1 запрещает прерывание |
INT_PEND |
Захват прерывания. Бит 1 этого регистра, когда установлен, указывает, что поступило прерывание “Завершение преобразования АЦП”. Бит 1 сбрасывается, когда прерывание обращается к вектору в ячейке 2002H. |
1.2.2. Задание времени выборки и времени преобразования АЦП
Два параметра, время выборки и время преобразования, определяют время, требуемое для аналогово-цифрового преобразования.
Время выборки - промежуток времени , когда напряжение аналогового входа поступает на конденсатор выборки.
Если это время слишком мало, конденсатор выборки будет заряжен не полностью, если время выборки слишком велико , - входное напряжение может изменится и это будет причиной ошибок преобразования.
Время преобразования - промежуток времени, требуемый для того, чтобы преобразовать напряжение аналогового входа, сохраненное на конденсаторе выборки, в цифровое значение. Время преобразования должно быть достаточным для того, чтобы компаратор и схема определили и распознали напряжение. Чрезмерно длинные времена преобразования позволяют конденсатору выборки разряжаться, что ухудшает точность.
Времена выборки и преобразования или назначаются по умолчанию в 80ХC196KС - совместимом режиме или определяются в регистре AD_TIME.
Очистка бита AD_TIME_ENA (IOC2.3) допускает 80ХC196KС- совместимое преобразование. В 80ХC196KС - совместимом режиме, бит AD_FAST (IOC2.4) управляет временами выборки и преобразования . 80ХC196KС медленный режим использует 15 времен состояния для времени выборки и общее количество 158 времен состояния для всего преобразования. 80ХC196KС быстрый режим использует восемь времен состояния для времени выборки и общее количество 91 времен состояния для преобразования.
При использовании или быстрого или медленного режима преобразуйте эти времена состояния в микросекунды, чтобы гарантировать, что значения времени выборки (Tsam) и времени преобразования (Tconv), при данной тактовой частоте, представлены в допустимых пределах. При тактовой частоте 8 МГц одно время состояния равно 250 нс. Согласно требованиям,
Tsam = 3 мкс (минимум), 10мкс < Tconv < 20мкс
Если установлен бит AD_TIME_ENA (IOC2.3), времена выборки (SAM) и преобразования (CONV) определяются регистром AD_TIME. Регистр AD_TIME программирует быстродействие (скорость) аналогово-цифрового преобразования, которое определяется разрешающей способностью АЦП и частотой тактового генератора.
Чтобы определить оптимальные значения SAM и CONV, используются следующие формулы:
SAM = [(Tsam x Fosc) - 2 ] / 8
CONV = [((Tconv x Fosc) - 3) / (2 x B) ] - 1
Где: SAM = от 1 до 7
CONV = от 2 до 31
Tsam- время выборки, в микросекундах, равно 3 мкс
Tconv- время преобразования, в микросекундах, от 10 до 20 мкс
Fosc - частота тактового генератора, в MГц
B - число битов, которые нужно преобразовать (8 или 10)
Когда значения SAM и CONV известны, запишите их в регистр AD_TIME. Не записывайте в этот регистр во время процесса преобразования, иначе результаты будут непредсказуемыми.