6.8. Описание регистров
6.8.1. CHnMUX - регистр мультиплексора канала события n
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
CHnMUX |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:0 - CHnMUX[7:0]: мультиплексор канала
Данные биты позволяют выбрать источник события в соответствии с таблицей 6.3. Эта таблица действительная для всех МК XMEGA, независимо от того, присутствует у них то или иное УВВ или нет. Выбор источников события устройств ввода-вывода, которых фактически нет в МК, даст тот же результат, как и при записи нуля в этот регистр, т.е. ни одно из событий не будет скоммутировано мультиплексором. Программно-сгенерированные события имеют приоритет над настройкой CHnMUX и будут переданы в канал событий, даже если в регистр записано нулевое значение.
Таблица 6.3. Настройки бит CHnMUX[7:0]
CHnMUX[7:4] |
CHnMUX[3:0] |
Групповая конфигурация |
Источник события |
0000 |
0 |
0 |
0 |
0 |
|
Нет (поддерживается только программная генерация событий) |
0000 |
0 |
0 |
0 |
1 |
|
(резерв) |
0000 |
0 |
0 |
1 |
x |
|
(резерв) |
0000 |
0 |
1 |
x |
x |
|
(резерв) |
0000 |
1 |
0 |
0 |
0 |
RTC_OVF |
Переполнение счетчика реального времени |
0000 |
1 |
0 |
0 |
1 |
RTC_CMP |
Совпадение в счетчике реального времени |
0000 |
1 |
0 |
1 |
x |
|
(резерв) |
0000 |
1 |
1 |
x |
x |
|
(резерв) |
0001 |
0 |
0 |
0 |
0 |
ACA_CH0 |
Канал 0 аналогового компаратора А |
0001 |
0 |
0 |
0 |
1 |
ACA_CH1 |
Канал 1 аналогового компаратора А |
0001 |
0 |
0 |
1 |
0 |
ACA_WIN |
Аналоговый компаратор А в оконном режиме |
0001 |
0 |
0 |
1 |
1 |
ACB_CH0 |
Канал 0 аналогового компаратора В |
0001 |
0 |
1 |
0 |
0 |
ACB_CH1 |
Канал 1 аналогового компаратора В |
0001 |
0 |
1 |
0 |
1 |
ACB_WIN |
Аналоговый компаратор В в оконном режиме |
0001 |
0 |
1 |
1 |
x |
|
(резерв) |
0001 |
1 |
x |
x |
x |
|
(резерв) |
0010 |
0 |
0 |
n |
ADCA_CHn |
Канал n АЦП A (n = 0, 1, 2 или 3) |
0010 |
0 |
1 |
n |
ADCB_CHn |
Канал n АЦП B (n = 0, 1, 2 или 3) |
0010 |
1 |
x |
x |
x |
|
(резерв) |
0011 |
x |
x |
x |
x |
|
(резерв) |
0100 |
x |
x |
x |
x |
|
(резерв) |
0101 |
0 |
n |
PORTA_PINn(1) |
Вывод n (n = 0, 1, 2, 3, 4, 5, 6 или 7) порта A |
0101 |
1 |
n |
PORTВ_PINn(1) |
Вывод n (n = 0, 1, 2, 3, 4, 5, 6 или 7) порта B |
0110 |
0 |
n |
PORTС_PINn(1) |
Вывод n (n = 0, 1, 2, 3, 4, 5, 6 или 7) порта C |
0110 |
1 |
n |
PORTD_PINn(1) |
Вывод n (n = 0, 1, 2, 3, 4, 5, 6 или 7) порта D |
0111 |
0 |
n |
PORTE_PINn(1) |
Вывод n (n = 0, 1, 2, 3, 4, 5, 6 или 7) порта E |
0111 |
1 |
n |
PORTF_PINn(1) |
Вывод n (n = 0, 1, 2, 3, 4, 5, 6 или 7) порта F |
1000 |
M |
|
Сигнал CLKPER, поделенный на M (M=1…32768) |
1001 |
x |
x |
x |
x |
|
(резерв) |
1010 |
x |
x |
x |
x |
|
(резерв) |
1011 |
x |
x |
x |
x |
|
(резерв) |
1100 |
0 |
E |
См. таблицу 6.4 |
Событие таймера-счетчика С0 типа Е |
1100 |
1 |
E |
См. таблицу 6.4 |
Событие таймера-счетчика С1 типа Е |
1101 |
1 |
E |
См. таблицу 6.4 |
Событие таймера-счетчика D0 типа Е |
1101 |
1 |
E |
См. таблицу 6.4 |
Событие таймера-счетчика D1 типа Е |
1110 |
0 |
E |
См. таблицу 6.4 |
Событие таймера-счетчика E0 типа Е |
1110 |
1 |
E |
См. таблицу 6.4 |
Событие таймера-счетчика E1 типа Е |
1111 |
0 |
E |
См. таблицу 6.4 |
Событие таймера-счетчика F0 типа Е |
1111 |
1 |
E |
См. таблицу 6.4 |
Событие таймера-счетчика F1 типа Е |
Прим.:
- О том, как генерируют события порты ввода-вывода см. в разделе 13.8 "Генерация событий портом ввода-вывода".
Таблица 6.4. События таймера-счетчика
Событие Е таймера-счетчика |
Групповая конфигурация |
Тип события |
0 |
0 |
0 |
TCxn_OVF |
Переполнение/незаполнение (x = C, D, E или F) (n=0 или 1) |
0 |
0 |
1 |
TCxn_ERR |
Ошибка (x = C, D, E или F) (n=0 или 1) |
0 |
1 |
x |
|
(резерв) |
1 |
0 |
0 |
TCxn_CCA |
Захват или сравнение в канале А (x = C, D, E или F) (n=0 или 1) |
1 |
0 |
1 |
TCxn_CCB |
Захват или сравнение в канале B (x = C, D, E или F) (n=0 или 1) |
1 |
1 |
0 |
TCxn_CCC |
Захват или сравнение в канале C (x = C, D, E или F) (n=0 или 1) |
1 |
1 |
1 |
TCxn_CCD |
Захват или сравнение в канале D (x = C, D, E или F) (n=0 или 1) |
6.8.2 CHnCTRL - Регистр управления каналом события n
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
- |
QDIRM[1:0] |
QDIEN |
QDEN |
DIGFILT[2:0] |
|
CHnCTRL |
Чтение/запись |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Бит 7 - Res: резервный бит
Данный бит является резервным и всегда считывается с нулевым значением. Для совместимости с будущими МК, при выполнении записи в этот регистр всегда записывайте нуль в резервный бит.
- Биты 6:5 - QDIRM[1:0]: режим распознавания индекса квадратурной дешифрации
Данные биты позволяют указать квадратурное состояние сигналов QDPH0 и QDPH90, по которому нужно распознавать действительный индексный сигнал (см. таблицу 6.5). Биты QDIRM[1:0] необходимо использовать только в том случае, если задействован индексный сигнал квадратурного энкодера.
Данные биты имеются только у регистров CH0CTRL, CH2CTRL и CH4CTRL.
Таблица 6.5. Настройки бит QDIRM
QDIRM[1:0] |
Состояние распознавания индекса |
0 |
0 |
{QDPH0, QDPH90} = 0b00 |
0 |
1 |
{QDPH0, QDPH90} = 0b01 |
1 |
0 |
{QDPH0, QDPH90} = 0b10 |
1 |
1 |
{QDPH0, QDPH90} = 0b11 |
- Бит 4 - QDIEN: разрешение индекса квадратурной дешифрации
Если установить данный бит, канал события будет использоваться как индексный источник квадратурной дешифрации и, кроме того, будет разрешено событие индексных данных.
Данный бит имеется только в регистрах CH0CTRL, CH2CTRL и CH4CTRL.
- Бит 3 - QDEN: разрешение квадратурной дешифрации
Установка этих бит разрешает работу QDEC.
Данный бит имеется только в регистрах CH0CTRL, CH2CTRL и CH4CTRL.
- Бит 2:0 - DIGFILT[2:0]: коэффициент цифрового фильтра
С помощью данных бит можно настроить количество выборок, использующихся для цифровой фильтрации. События пройдут через канал событий только при следующем условии: источник события был активизирован и в выборках, выполненных на частоте синхронизации УВВ и в количестве заданном DIGFILT, наблюдается один и тот же уровень.
Таблица 6.6. Значения коэффициентов цифрового фильтра
DIGFILT[2:0] |
Групповая конфигурация |
Описание |
000 |
1SAMPLE |
1 выборка |
001 |
2SAMPLES |
2 выборки |
010 |
3SAMPLES |
3 выборки |
011 |
4SAMPLES |
4 выборки |
100 |
5SAMPLES |
5 выборок |
101 |
6SAMPLES |
6 выборок |
110 |
7SAMPLES |
7 выборок |
111 |
8SAMPLES |
8 выборок |
6.8.3. STROBE - строб-регистр события
После выполнения записи в регистр STROBE будет установлен каждый канал событий n, если соответствующие им биты STROBE[n] и DATA[n] неравны нулю.
Фактическая генерация события произойдет с задержкой в один цикл синхронизации УВВ.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x10 |
|
STROBE |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
6.8.4. DATA - регистр данных события
В данном регистре хранится значение данных, которое используется при ручной генерации событий. Запись этого регистра необходимо выполнить перед записью регистра STROBE.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x11 |
|
DATA |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |