25.15. Описание регистров модуля АЦП
25.15.1. CTRLA - регистр управления А модуля АЦП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x00 |
DMASEL[1:0] |
CH[3:0]START |
FLUSH |
ENABLE |
|
CTRLA |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:6 - DMASEL[1:0]: настройка запроса на DMA-передачу
В дополнение к генерации запроса на DMA-передачу каждым каналом АЦП, модуль АЦП поддерживает возможность настройки объединенных запросов для нескольких каналов. Объединенный запрос настраивается битами DMASEL. Подробности см. в таблице 25.1.
Таблица 25.1. Настройка запроса на DMA-передачу
DMASEL[1:0] |
Групповая конфигурация |
Описание |
00 |
OFF |
Объединенный запрос на DMA-передачу не выбран |
01 |
CH01 |
Запрос на DMA-передачу генерируют канал АЦП 0 или 1 |
10 |
CH012 |
Запрос на DMA-передачу генерируют канал АЦП 0, 1 или 2 |
11 |
CH0123 |
Запрос на DMA-передачу генерируют канал АЦП 0, 1, 2 или 3 |
- Биты 5:2 - CH[3:0]START: запуск одиночного преобразования в канале АЦП
Установка любого из этих бит приводит к запуску преобразования в соответствующем канале. Одновременная установка нескольких бит инициирует запуск последовательности преобразований в выбранном числе каналов, причем первым будет запущено преобразование в канале с наименьшим номером. Данные биты сбрасываются аппаратно после запуска преобразования.
- Бит 1 - FLUSH: очистка конвейера АЦП
Запись в данный бит единицы приводит к очистке конвейера АЦП. Она заключается в перезапуске синхронизации АЦП по фронту следующего цикла синхронизации УВВ и отмене всех прогрессирующих преобразований (все данные теряются). После очистки конвейера и перезапуска синхронизации АЦП, модуль АЦП возобновит работу с того же места, где она была прервана. Т.е., если прогрессировала последовательность каналов или было отправлено любое из преобразований, они будут введены на конвейер и завершены.
- Бит 0 - ENABLE: разрешение работы АЦП
Установка данного бита активизирует работу АЦП.
25.15.2. CTRLB - регистр управления В модуля АЦП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x01 |
- |
- |
- |
CONVMODE |
FREERUN |
RESOLUTION[1:0] |
- |
|
CTRLB |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:5 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Бит 4 - CONVMODE: режим преобразования АЦП
Данный бит задает, в каком режиме, знаковом или беззнаковом, должен работать модуль АЦП. По умолчанию данный бит равен нулю и, следовательно, АЦП работает в беззнаковом режиме, в котором возможно измерение несимметричных внешних и внутренних сигналов. Если данный бит установить равным единице, АЦП переходит в знаковый режим, в котором дополнительно может использоваться дифференциальный вход.
- Бит 3 - FREERUN: автоматический режим АЦП
Данный бит управляет активностью автоматического режима АЦП. Если бит равен единице, преобразование последовательности каналов, настроенной регистром EVCTRL, будет выполняться многократно.
- Биты 2:1 - RESOLUTION[1:0]: разрешающая способность АЦП
От данного бита зависит, с какой разрешающей способностью, 12- или 8-битной, будет работать АЦП. От них также зависит, какое выравнивание, правое или левое, будет применяться к 12-битному результату при его размещении в 16-битном регистре результата. Возможные настройки представлены в таблице 25.2.
Таблица 25.2. Разрешающая способность результата преобразования АЦП
RESOLUTION[1:0] |
Групповая конфигурация |
Описание |
00 |
12BIT |
12-битный результат с правым выравниванием |
01 |
|
(резерв) |
10 |
8BIT |
8-битный результат с правым выравниванием |
11 |
LEFT12BIT |
12-битный результат с левым выравниванием |
- Бит 0 - Res: резервный бит
Данный бит не используется и зарезервирован для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.
25.15.3. REFCTRL - регистр управления опорным напряжением АЦП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x02 |
- |
- |
REFSEL[1:0] |
- |
- |
BANDGAP |
TEMPREF |
|
REFCTRL |
Чтение/запись |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:6 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Биты 6:4 - REFSEL[1:0]: выбор опорного напряжения АЦП
С помощью данных бит можно выбрать опорное напряжение и задать диапазон преобразования в соответствии с таблицей 25.3.
Таблица 25.3. Настройка опорного напряжения АЦП
REFSEL[1:0] |
Групповая конфигурация |
Описание |
00 |
INT1V |
Внутреннее опорное напряжение 1.00В |
01 |
INTVCC |
Внутреннее напряжение VCC/1.6 |
10(1) |
AREFA |
Внешнее опорное напряжение с вывода AREF порта А |
11(2) |
AREFB |
Внешнее опорное напряжение с вывода AREF порта В |
Прим.:
- Опция доступна, только если вывод AREF доступен в порте А.
- Опция доступна, только если вывод AREF доступен в порте В.
- Биты 3:2 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Бит 1 - BANDGAP: разрешение работы бэндгап-элемента
Установка данного бита разрешает работу бэндгап-элемента для измерения его напряжения модулем АЦП. Обратите внимание, что если какой-либо функциональный блок уже использует бэндгап-элемент, данный бит можно не устанавливать. Это касается случаев, когда модулями АЦП или ЦАП используется внутреннее опорное напряжение 1.00В или когда разрешена работа встроенного супервизора питания.
- Бит 0 - TEMPREF: разрешение работы датчика температуры
Прежде чем выполнить измерение напряжения на выходе встроенного датчика температуры, необходимо установить данный бит.
25.15.4 EVCTRL - регистр управления событиями АЦП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x03 |
SWEEP[1:0] |
EVSEL[2:0] |
EVACT[2:0] |
|
EVCTRL |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:6 - SWEEP[1:0]: последовательность каналов АЦП
Данные биты управления задают, какие каналы АЦП участвуют в последовательности каналов, преобразование которой инициируется системой событий в автоматическом режиме. См. таблицу 25.4.
Таблица 25.4. Выбор канала АЦП
SWEEP[1:0] |
Групповая конфигурация |
Каналы АЦП, образующие последовательность каналов |
00 |
0 |
Только канал АЦП 0 |
01 |
01 |
Каналы АЦП 0 и 1 |
10 |
012 |
Каналы АЦП 0, 1 и 2 |
11 |
0123 |
Каналы АЦП 0, 1, 2 и 3 |
- Биты 5:3 - EVSEL[2:0]: выбор канала события для запуска преобразования
От данных бит зависит, какой канал событий должен запускать преобразование в определенном канале. Каждой настройке соответствует группа каналов событий. Канал событий с наименьшим номером запускает канал АЦП 0, а следующий канал событий запускает канал АЦП 1 и т.д. Количество фактически используемых каналов событий зависит от настройки бит EVACT. См. таблицу 25.5.
Таблица 25.5. Выбор линий событий АЦП
EVSEL[1:0] |
Групповая конфигурация |
Выбранные линии событий |
000 |
0123 |
В качестве входов выбраны каналы событий 0, 1, 2, 3 |
001 |
1234 |
В качестве входов выбраны каналы событий 0, 1, 2, 3, 4 |
010 |
2345 |
В качестве входов выбраны каналы событий 2, 3, 4, 5 |
011 |
3456 |
В качестве входов выбраны каналы событий 3, 4, 5, 6 |
100 |
4567 |
В качестве входов выбраны каналы событий 4, 5, 6, 7 |
101 |
456 |
В качестве входов выбраны каналы событий 5, 6, 7 (используются не более 3 входов событий) |
110 |
67 |
В качестве входов выбраны каналы событий 6, 7 (используются не более 2 входов событий) |
111 |
7 |
В качестве входов выбраны канал события 7 (используется не более 1 входа события) |
- Биты 2:0 - EVACT[2:0]: режим событий модуля АЦП
С помощью данных бит можно задать количество фактически используемых каналов событий среди выбранных, а также задать некоторые специальные режимы работы входа события (см. таблицу 25.5). К числу специальных режимов относятся запуск целой последовательности преобразований каналов одним событием и синхронизируемые по событию преобразования для соблюдения строгих временных характеристик временной диаграммы преобразований.
Таблица 25.6. Выбор режима работы входа события
EVACT[2:0] |
Групповая конфигурация |
Режим работы входа события |
000 |
NONE |
Входы событий не используются |
001 |
CH0 |
Канал события с наименьшим номером среди выбранных настройкой EVSEL запускает преобразование в канале 0. |
010 |
CH01 |
Каналы событий с двумя наименьшими номерами среди выбранных настройкой EVSEL запускают преобразование в каналах 0 и 1, соответственно. |
011 |
CH012 |
Каналы событий с тремя наименьшими номерами среди выбранных настройкой EVSEL запускают преобразование в каналах 0, 1 и 2, соответственно. |
100 |
CH0123 |
Каналы событий, выбранные настройкой EVSEL, запускают преобразования в каналах 0, 1, 2 и 3, соответственно. |
101 |
SWEEP |
Входящий канал событий с наименьшим номером среди выбранных настройкой EVSEL запускает одно преобразование последовательности всех активных каналов АЦП, заданных настройкой SWEEP. |
110 |
SYNCSWEEP |
Входящий канал событий с наименьшим номером среди выбранных настройкой EVSEL запускает одно преобразование последовательности всех активных каналов АЦП, заданных настройкой SWEEP. Кроме этого, в этом режиме обеспечивается синхронизация преобразований по отношению к событию, что необходимо для соблюдения строгих временных характеристик диаграммы преобразования. |
111 |
|
(резерв) |
25.15.5. PRESCALER - регистр предделителя синхронизации АЦП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x04 |
|
PRESCALER |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:3 - Res: резервные биты
Данные биты являются резервными и всегда считываются с нулевым значением. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Биты 2:0 - PRESCALER[2:0]: настройка предделителя АЦП
Данные биты предназначены для задания частоты синхронизации АЦП по отношению к частоте синхронизации УВВ, как показано в таблице 25.7.
Таблица 25.7. Настройки предделителя АЦП
PRESCALER[2:0] |
Групповая конфигурация |
Коэффициент деления частоты системной синхронизации |
000 |
DIV4 |
4 |
001 |
DIV8 |
8 |
010 |
DIV16 |
16 |
011 |
DIV32 |
32 |
100 |
DIV64 |
64 |
101 |
DIV128 |
128 |
110 |
DIV256 |
256 |
111 |
DIV512 |
512 |
25.15.6. INTFLAGS - регистр флагов прерываний АЦП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x06 |
|
INTFLAGS |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:4 - Res: резервные биты
Данные биты являются резервными и всегда считываются с нулевым значением. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Биты 3:0 - CH[3:0]IF: флаги прерываний
Каждый из этих флагов принимает единичное значение по завершении преобразования в соответствующем канале АЦП. Если канал АЦП настроен на работу в режиме сравнения, флаги будут устанавливаться при выполнении условия сравнения в соответствующем канале. Флаг CHnIF автоматически сбрасывается при переходе на вектор прерывания канала n. Альтернативно, флаг можно сбросить записью в него единицы.
25.15.7. TEMP - временный регистр АЦП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x07 |
|
TEMP |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:0 - TEMP[7:0]: временный регистр АЦП
Данный регистр используется при чтении 16-битных регистров модуля АЦП. В этом регистре запоминается содержимое старшего байта 16-битного регистра при чтении младшего байта. Данный регистр может быть считан и записан из программы пользователя.
Более детально о доступе к 16-битным регистрам см. в разделе 3.11 "Доступ к 16-битным регистрам".
25.15.8. CALL - регистр младшего байта калибровочного значения АЦП
Регистровая пара CALL и CALH предназначена для хранения 12-битного калибровочного значения CAL модуля АЦП. Калибровка АЦП выполняется в ходе производственных испытаний производителем МК, а найденное калибровочное значение записывается в сигнатурный код производителя. Данное калибровочное значение необходимо программно перезаписать из области сигнатурного кода flash-памяти в регистр CAL.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x0C |
|
CAL |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:0 - CAL[7:0]: младший байт калибровочного значения АЦП
В данных битах хранятся 8 младших бит 12-битного калибровочного значения CAL.
25.15.9. CALH - регистр старшего байта калибровочного значения АЦП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x0C |
|
CAL |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:0 - CAL[11:8]: старший байт калибровочного значения АЦП
В данных битах хранятся 4 старших бита 12-битного калибровочного значения CAL.
25.15.10. CHnRESH - старший регистр результата канала АЦП n
Регистровая пара CHnRESL и CHnRESH предназначена для хранения 16-битного значения CHnRES. Более детально о чтении 16-битного регистра см. в разделе 3.11 "Доступ к 16-битным регистрам".
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
12 бит, левое выравнивание 12 бит, правое выравнивание 8-бит |
CHRES[11:4] |
- |
- |
- |
- |
CHRES[11:8] |
- |
- |
- |
- |
- |
- |
- |
- |
|
|
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
25.15.10.1. 12-битный режим с левым выравниванием
- Биты 7:0 - CHRES[11:4]: старший байт результата преобразования канала АЦП
В данных битах хранятся 8 старших бит 12-битного результата АЦП.
25.15.10.2. 12-битный режим с правым выравниванием
- Биты 7:4 - Res: резервные биты
Данные биты в точности копируют значение бита знака CHRES11, когда АЦП работает в дифференциальном режиме, и равны нулю, когда АЦП работает в знаковом режиме.
- Биты 3:0 - CHRES[11:8]: старший байт результата преобразования канала АЦП
В данных битах хранятся 4 старших бита 12-битного результата преобразования.
25.15.10.3. 8-битный режим
- Биты 7:0 - Res: резервные биты
Данные биты в точности копируют значение бита знака CHRES7, когда АЦП работает в знаковом режиме, и равны нулю, когда АЦП работает в несимметричном режиме.
25.15.11. CHnRESL - младший регистр результата канала АЦП n
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
12-/8- 12 бит, левое выравнивание |
CHRES[7:0] |
CHRES[3:0] |
- |
- |
- |
- |
|
|
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
25.15.11.1. 12-/8-битный режим
- Биты 7:0 - CHRES[7:0]: младший байт результата преобразования канала АЦП
В данных битах хранятся 8 младших бит результата преобразования АЦП.
25.15.11.2. 12-битный режим с левым выравниванием
- Биты 7:4 - CHRES[3:0]: младший байт результата преобразования канала АЦП
В данных битах хранятся 4 младших бита 12-битного результата преобразования АЦП.
- Биты 3:0 - Res: резервные биты
Данные биты являются резервными и всегда считываются с нулевым значением. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
25.15.12. CMPH - старший регистр сравнения модуля АЦП
Регистровая пара CMPH и CMPL предназначена для хранения 16-битного значения CMP, участвующего в сравнении с результатом преобразования. Подробности относительно чтения и записи 16-битных регистров см. в разделе 3.11."Доступ к 16-битным регистрам".
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x19 |
|
CMPH |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:0 - CMP[15:0]: старший байт значения порога сравнения
В данных битах хранятся 8 старших бит 16-битного значения порога сравнения. В знаковом режиме, данное значение представляется в двоичном дополнительном коде и, поэтому, его старший бит является битом знака.
25.15.13. CMPL - младший регистр сравнения модуля АЦП
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x18 |
|
CMPL |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:0 - CMP[7:0]: младший байт значения порога сравнения
В данных битах хранятся 8 младших бит 16-битного значения порога сравнения. В знаковом режиме, данное значение представляется в двоичном дополнительном коде.
|