
- •Лабораторная работа № 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.3. Задание 80хc196kс - совместимого или независимого конфигурируемого времени преобразования
Регистр IOC2 выбирает чем определяется время аналогово-цифрового преобразования регистром AD_TIME, или битом AD_FAST (IOC2.4). Установка бита AD_TIME_ENA допускает использование регистра AD_TIME и преобразователь использует времена выборки и преобразования, определенные в AD_TIME. Очистка бита AD_TIME_ENA выбирает 80ХC196KС - совместимый режим. В этом режиме, бит AD_FAST подключает или отключает делитель частоты для полной совместимости с медленным и быстрым режимами преобразования 80ХC196KС.
Очистка AD_FAST допускает 80ХC196KС медленный режим, который использует 15 времен состояния для времени выборки и общее количество 158 времен состояния для всего преобразования. Установка AD_FAST допускает 80ХC196KС быстрый режим, который использует 8 времен состояния для времени выборки и общее количество 91 времен состояния для преобразования.
Изменение режимов во время процесса преобразования будет вызывать непредсказуемые результаты.
1.2.4. Программирование регистра ad_command
Регистр AD_COMMAND выбирает:
- канал для преобразования;
- выбирает 8 или 10 -битное преобразование;
- выбирает : или непосредственно начинать преобразование или определить быстродействующий модуль вывода (HSO) как устройство запуска преобразования.
Запишите номер канала в AD_CHAN_SEL биты (биты 0-2,
канал ACH0 - 000, канал ACH7 - 111).
Чтобы выбрать 10-битное преобразование, очистите бит AD_MODE (бит 4). Чтобы выбрать 8-битное преобразования, установите бит AD_MODE. Очистите биты 5-7.
Установите GO бит (бит 3), если хотите немедленно начать преобразование. Преобразования, инициализированные установкой бита GO , будут начинаться через 3 такта после выполнения команды.
Очистите бит GO, если хотите, чтобы в дальнейщем преобразование инициализировал HSO модуль.
HSO модуль вызывает преобразование , выполняя команду (CMD_TAG =0FH). Процесс преобразования начинается, когда значение Таймера 1 увеличилось до запрограммированного значения. Это помогает прикладным программам попытаться приблизиться к спектрально чистому осуществлению выборки, поскольку последовательные выборки, предоставляемые Таймером 1 будут происходить с дисперсией около 50 нс (при стабильной частоте на XTAL1).
Обратите внимание: запись в бит GO активизирует преобразователь, даже если бит уже содержит значение. Поэтому, чтобы начать новое преобразование, Вы должны снова записать байт в регистрAD_COMMANDтребуемое значение преобразование.
Следующий код показывает, как использовать HSO модуль, чтобы он инициализировал преобразование.
LDB AD_COMMAND, XXXX1XXXB ; установить GO бит
LDB HSO_COMMAND, #START_AD ; Загрузить команду ;начала AD преобразования в регистр HSO_COMMAND.
;Добавить 16-битную константу к текущему cодержимому ;TIMER1 ADD HSO_TIME, TIMER1, #TIME_DELAY
; и поместить результат в HSO_TIME
Регистр HSO позволяет нескольким командам START_AD загружаться в SAM. Однако, будьте внимательными при записи команд HSO. Если содержимое Таймера 1 увеличилось и начинается новое преобразование, в то время как предыдущее еще не закончилось, то старое преобразование прерывается и начинается новое.
PTS может начинать новое преобразование по прерыванию “Завершение аналогово-цифрового преобразования” (INT01).