Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Бит $06($26) R/W Нач.знач. | ACSR | ||||||||
ADEN | ADSC | ADFR | ADIF | ADIE | ADPS2 | ADPS1 | ADPS0 | ||
R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | ||
N/A |
Рисунок 11.2 – Регистр управления и состояния АЦП (ADCSR)
Таблица 11.1
Краткое описание битов регистра ADCSR
Бит | Название | Описание |
ADEN | Разрешение АЦП (1 - включено, 0 – выключено) | |
ADSC | Запуск преобразования (1 - начать преобразование) | |
ADFR | Выбор режима работы АЦП (0 – одиночное преобразование) | |
ADIF | Флаг прерывания от компаратора | |
ADIE | Разрешение прерывания от компаратора | |
2…0 | ADSP2…0 | Выбор частоты преобразования |
Бит 7 - ADEN (ADC Enable). Разрешение работы АЦП. Перед началом использования АЦП требуется разрешить его работу. Для этого необходимо записать лог. «1» в разряд ADEN регистра ADCSR, для запрета соответственно лог. «0». Причем если АЦП будет заблокировано во время цикла преобразования, то преобразование завершено не будет (в регистре данных АЦП останется результат предыдущего преобразования).
Бит 6 - ADSC (ADC Start Conversion). Запуск преобразования. Осуществляется установкой в «1» разряда ADSC регистра ADCSR, а сам цикл преобразования начинается по первому нарастающему фронту тактового сигнала после установки этого разряда. Длительность цикла составляет 13 тактов; выборка и запоминание входного сигнала осуществляется в течение первых 1.5 такта. Через 13 тактов преобразование завершается, разряд ADSC аппаратно сбрасывается в «0» (в режиме одиночного преобразования), и результат преобразования сохраняется в регистре данных АЦП.
Бит 5 - ADFR (ADC Free Running Select). Выбор режима работы. Если разряда ADFR установлен в «1», АЦП работает в режиме непрерывного преобразования. В этом режиме запуск каждого следующего преобразования осуществляется автоматически после окончания текущего. Если же разряд ADFR сброшен в «0», АЦП работает в режиме одиночного преобразования и запуск каждого преобразования осуществляется по команде пользователя.
Бит 4 - ADIF (ADC Interrupt Flag). Флаг прерывания. Устанавливается по окончании процесса преобразования и записи результата преобразования в регистре данных АЦП. Как и флаги остальных прерываний, флаг ADIF сбрасывается аппаратно при запуске подпрограммы обработки прерывания от АЦП или программно — записью в него лог. «1».
Бит 3 - ADIE (ADC Interrupt Enable). Разрешение прерывания по окончании преобразования. Для возникновения прерывания, флаг I регистра SREG также должен быть установлен в «1».
Биты 2-0 – ADPS2…ADPS0 (ADC Prescaler Select Bits). Выбор коэффициента деления тактовой частоты. Тактовым сигналом модуля АЦП является сигнал с предделителя, на вход которого, в свою очередь, поступает тактовый сигнал микроконтроллера. Коэффициент деления предделителя и, соответственно, длительность преобразования определяется состоянием разрядов ADPS2...ADPSO регистра ADCSR (см. табл.11.2).
Наибольшая точность преобразования достигается, если тактовая частота модуля АЦП находится в определенном диапазоне 50...200 кГц. Соответственно коэффициент деления предделителя рекомендуется выбирать таким, чтобы тактовая частота модуля АЦП находилась в указанном диапазоне.
Таблица 11.2
Задание коэффициента деления предделителя АЦП
ADPS2 | ADPS1 | ADPS0 | Коэффициент деления |
Если АЦП работает в режиме непрерывного преобразования, новый цикл начнется сразу же после записи результата в регистры данных. В режиме одиночного преобразования новое преобразование может быть запущено сразу же после сброса разряда ADSC (до сохранения результата текущего преобразования). Однако реально цикл преобразования начнется не ранее чем через один такт после окончания текущего преобразования. Временные диаграммы, иллюстрирующие сказанное, приведены на рис.11.3.
При написании программ необходимо учитывать одну особенность: для первого после включения АЦП преобразования требуется на 12 тактов больше, чем для всех последующих. Это связано с тем, что при запуске первого преобразования сначала выполняется одно «холостое» преобразование, инициализирующее АЦП (см. рис.11.4). Разряд ADSC в этом случае сбрасывается только после окончания рабочего преобразования.
Таким образом, длительность преобразования зависит от режима работы АЦП и от порядкового номера преобразования. Соответствующие данные приведены в табл.11.3 (нумерация циклов — согласно Рис.11.3 и 11.4).
а)
б)
Рисунок 11.3 - Временные диаграммы работы АЦП:
а — режим одиночного преобразования, б — режим непрерывного преобразования
Рисунок 11.4 - Временные диаграммы работы АЦП при первом преобразовании (режим одиночного преобразования)
Таблица 11.3
Длительность преобразования АЦП
Условия | Выборка сигнала (№ такта) | Готовность результата (№ такта) | Общее время преобразования (тактов) |
Непрерывный, 1-е преобразование | |||
Одиночный, 1-е преобразование | |||
Режим непрерывного преобразования | |||
Режим одиночного преобразования |
Как уже было сказано, результат преобразования сохраняется в регистре данных АЦП. Поскольку АЦП — 10-разрядный, этот регистр физически размещен в двух регистрах ввода/вывода ADCH:ADCL, доступных только для чтения. Эти регистры расположены по адресам $05:$04 (адреса в адресном пространстве ОЗУ соответственно $25:$24) и при включении питания содержат значение «$0000». Обращение к этим регистрам (для получения результата преобразования) должно выполняться в определенной последовательности: сначала необходимо прочитать регистр ADCL, а затем ADCH. Это требование связано с тем, что после обращения к регистру ADCL процессор блокирует доступ к регистрам данных со стороны АЦП до тех пор, пока не будет прочитан регистр ADCH. Благодаря этому можно быть уверенным, что при чтении регистров в них будут находиться составляющие одного и того же результата. Соответственно, если очередное преобразование завершится до обращения к регистру ADCH, результат преобразования будет потерян.
Управление входным мультиплексором модуля АЦП осуществляется с помощью регистра ADMUX, расположенного по адресу $07 ($27). Формат эгого регистра приведен на рис.11.6.
Дата публикования: 2014-11-26; Прочитано: 605 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!