ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 14.01.2021
Просмотров: 9220
Скачиваний: 82
СОДЕРЖАНИЕ
1.1Рекомендации по чтению руководства
1.3Рекомендовано для прочтения
3.4Арифметико-логическое устройство
3.4.1Аппаратное умножающее устройство
3.6Временная диаграмма выполнения инструкций
3.10Регистры RAMP и расширенной косвенной адресации
3.10.1Регистры RAMPX, RAMPY и RAMPZ
3.10.3Регистр расширенной косвенной адресации EIND
3.11Доступ к 16-битным регистрам
3.11.1Доступ к 24- и 32-битным регистрам
3.12Защита от изменения конфигурации
3.12.1Последовательность записи защищенных регистров ввода-вывода
3.12.2Последовательность выполнения защищенных инструкций SPM/LPM
3.13Fuse-биты для блокировки изменений
3.14.1Регистр защиты от изменения конфигурации CCP
4.3.1Сектор прикладной программы
4.3.2Сектор таблицы приложения
4.3.4Сигнатурный код производителя и ячейки калибровки
4.3.4.1Сигнатурный код пользователя
4.7.1Доступ к EEPROM в пространстве памяти данных
4.8.1Регистры ввода-вывода общего назначения
4.10Память данных и арбитраж шины
4.11Временные характеристики доступа к памяти
4.12Идентификация микроконтроллера
4.14Защита памяти ввода-вывода
4.15Описание регистров контроллера NVM энергонезависимой памяти
4.16Описание регистров - Fuse- и Lock-биты
4.16.1FUSEBYTE0 - конфигурационный байт 0 энергонезависимой памяти - JTAG-идентификатор пользователя
4.17Описание регистров - сигнатурный код производителя
4.17.1RCOSC2M - регистр калибровочного значения внутреннего генератора частоты 2 МГц
4.18Описание регистров - память ввода-вывода общего назначения
4.18.1GPIORn - регистр ввода-вывода n общего назначения
4.19Описание регистров внешней памяти
4.20Описание регистров управления МК
4.20.1DEVID0 - регистр 0 идентификатора МК
4.21Обзор регистров контроллера энергонезависимой памяти
4.22Обзор регистров Fuse- и Lock-бит
4.23Обзор регистров кода сигнатуры производителя
4.24Обзор регистров ввода-вывода общего назначения
4.25Обзор регистров управления микроконтроллером
4.26Векторы прерываний контроллера энергонезависимой памяти
5Контроллер прямого доступа к памяти (DMA-контроллер)
5.13Описание регистров DMA-контроллера
5.13.1CTRL - регистр управления DMA
5.13.2INTFLAGS - регистр статуса прерываний DMA
5.13.3STATUS - Регистр статуса DMA
5.13.4TEMPH - старший байт временного регистра DMTEMP
5.13.5TEMPL - младший байт временного регистра DMTEMP
5.14Описание регистров DMA-канала
5.14.1CTRLA - регистр А управления DMA-каналом
5.14.2CTRLB - регистр B управления DMA-каналом
5.14.3ADDRCTRL - регистр управления адресом DMA-канала
5.14.4TRIGSRC - источник запуска DMA-канала
5.14.5TRFCNTH - старший регистр счетчика байт при передаче блока по DMA-каналу
5.14.6TRFCNTL - младший регистр счетчика байт при передаче блока по DMA-каналу
5.14.7REPCNT - регистр счетчика повторов в DMA-канале
5.14.8SRCADDR2 - регистр 2 адреса источника DMA-канала
5.14.9SRCADDR1 - регистр 1 адреса источника DMA-канала
5.14.10SRCADDR0 - регистр 0 адреса источника DMA-канала
5.14.11DESTADDR2 - регистр 2 адреса получателя DMA-канала
5.14.12DESTADDR1 - регистр 1 адреса получателя DMA-канала
5.14.13DESTADDR0 - регистр 0 адреса получателя DMA-канала
5.15Обзор регистров DMA-контроллера
5.16Обзор регистров DMA-канала
5.17Обзор векторов прерываний DMA
5.18Использование DMA микропроцессора Xmega
5.18.3Блочная передача и режим повтора
5.18.7Запуск передачи и режим однократного запуска
5.18.9Доступ контроллера DMA к многобайтным регистрам
5.18.10Дополнительные возможности
6.5Временные характеристики передачи событий
6.7.1Работа квадратурного декодера
6.7.2Настройка квадратурного декодера
6.8.1CHnMUX - регистр мультиплексора канала события n
6.8.2CHnCTRL - Регистр управления каналом события n
6.8.3STROBE - строб-регистр события
6.8.4DATA - регистр данных события
7Системная синхронизация и источники синхронизации
7.3Распределение сигналов синхронизации
7.3.1Сигнал системной синхронизации- CLKsys
7.3.2Сигнал синхронизации ЦПУ - CLKcpu
7.3.3Сигнал синхронизации УВВ - CLKper
7.3.4Сигналы синхронизации УВВ с удвоенной/учетверенной частотой – CLKper2/CLKper4
7.3.5Асинхронный сигнал синхронизации - CLKasy
7.4.1.1Сверхмаломощный генератор частоты 32 кГц (ULP-генератор)
7.4.1.2Внутренний калиброванный генератор частоты 32.768 кГц
7.4.1.3Внутренний генератор частоты 32 МГц с возможностью автоматической калибровки
7.4.1.4Внутренний генератор частоты 2 МГц с возможностью автоматической калибровки
7.4.2Внешние источники синхронизации
7.4.2.1Кварцевый генератор частоты 0.4…16 МГц
7.4.2.2Вход внешней синхронизации
7.4.2.3Кварцевый генератор частоты 32 кГц
7.5Настройка системной синхронизации и предделителей частоты
7.6Блок PLL с коэффициентом умножения от 1 до 31
7.7Блоки DFLL 2- и 32-мегагерцевых генераторов
7.8Функция обнаружения отказа внешнего источника синхронизации
7.9Описание регистров системы синхронизации
7.9.1CTRL - регистр управления системной синхронизацией
7.10Описание регистров генераторов
7.10.1CTRL - регистр управления генераторами
7.11Описание регистров блоков DFLL32M/DFLL2M
7.11.1CTRL - регистр управления блоком DFLL
7.12Обзор регистров системы синхронизации
7.13Обзор регистров генераторов
7.14Обзор регистров блоков DFLL32M/DFLL2M
7.15Обзор вектора прерывания при отказе кварцевого генератора
8Управление энергопотреблением и экономичные режимы
8.4Регистры снижения энергопотребления
8.5Описание регистров управления экономичными режимами
8.5.1CTRL- регистр управления экономичными режимами работы
8.6Описание регистров снижения энергопотребления
8.6.1PRGEN - общий регистр снижения энергопотребления
8.6.2PRPA/B - регистр снижения энергопотребления порта А/В
8.6.38.6.3. PRPC/D/E/F - регистр снижения энергопотребления порта C/D/E/F
8.7Обзор регистров управления экономичными режимами работы
8.8Обзор регистров управления энергопотреблением
9.4.3Сброс от детектора просадки питания
9.4.5Сброс сторожевым таймером
9.4.7Сброс через интерфейс программирования и отладки
9.5.1STATUS - Регистр статуса сброса
9.5.2CTRL - регистр управления сбросом
10Система резервного батарейного питания
10.3Модуль с резервированием питания
10.3.1Обнаружение подачи питания резервного батарейного питания
10.3.2Супервизор батарейного питания
10.4Исчезновение основного питания
10.5Основной сброс и последовательность запуска
10.5.1Резервирование питания разрешено
10.5.2Резервирование питания не разрешено и сбой в его работе
10.6.1CTRL: регистр управления резервированием питания
10.6.2STATUS: регистр статуса модуля с резервированием питания
10.6.3BACKUP0: регистр 0 с резервным батарейным питанием
11.5Синхронизация сторожевого таймера
11.6Защита и блокировка конфигурации
11.7.1CTRL - регистр управления сторожевым таймером
11.7.2WINCTRL - регистр управления оконным режимом
11.7.3STATUS - регистр статуса сторожевого таймера
12Прерывания и программируемый многоуровневый контроллер прерываний
12.4.1Немаскируемые прерывания (NMI)
12.4.2Задержка реагирования на прерывание
12.6.1Статическая приоритезация
12.6.2Динамическая приоритезация
12.7Перемещение векторов прерываний между сектором прикладной программы и загрузочным сектором
12.8.1STATUS - регистр статуса PMIC-контроллера
12.8.2INTPRI - регистр приоритета прерываний PMIC Priority Register
12.8.3CTRL - регистр управления PMIC-контроллером
13.3Использование линий ввода-вывода
13.4Настройка линий ввода-вывода
13.4.2Подтягивание к минусу питания
13.4.3Подтягивание к плюсу питания
13.6Настройка параметров контроля входа
13.8Генерация событий портом ввода-вывода
13.9Альтернативные функции портов
13.10Управление скоростью фронтов
13.11Вывод синхронизации и событий
13.12Мультипортовая конфигурация
13.14Описание регистров портов
13.14.1DIR - регистр направления
13.14.2DIRSET - регистр установки бит направления
13.14.3DIRCLR - регистр сброса бит направления
13.14.4DIRTGL - регистр инвертирования бита направления
13.14.5OUT - регистр вывода данных
13.14.6OUTSET - регистр установки выходов порта
13.14.7OUTCLR - регистр сброса выходов порта
13.14.8OUTTGL - регистр инвертирования выходов порта
13.14.9IN - регистр ввода данных
13.14.10INTCTRL - регистр управления прерываниями
13.14.11INT0MASK - регистр маски прерывания 0
13.14.12INT1MASK - регистр маски прерывания 1
13.14.13INTFLAGS - регистр флагов прерывания
13.14.14PINnCTRL - конфигурационный регистр линии n
13.15Описание регистров мультипортовой конфигурации
13.15.1MPCMASK - регистр маски одновременной и одинаковой конфигурации нескольких линий в/в
13.15.2VPCTRLA - регистр А управлению связью с виртуальными портами
13.15.3VPCTRLB - регистр В управлению связью с виртуальными портами
13.15.4CLKEVOUT - регистр вывода сигналов событий и синхронизации
13.16Описание регистров виртуальных портов
13.16.1DIR - регистр направления
13.16.2OUT - регистр вывода данных
13.16.3IN - регистр ввода данных
13.16.4INTFLAGS - регистр флагов прерываний
13.18Обзор регистров мультипортовой конфигурации
13.19Обзор регистров виртуальных портов
13.20Обзор векторов прерываний портов ввода-вывода
14.4Источники синхронизации и событий
14.6.2Управляемый событиями режим работы
14.7.3Захват длительности импульса
14.7.432-битный входной захват
14.8.2Генерация частотных сигналов (FRQ)
14.8.3Генерация ШИМ сигнала в режиме PWM с однонаправленным счетом
14.8.4Генерация ШИМ сигнала в режиме PWM с двунаправленным счетом
14.8.5Вывод сигналов генератора импульсов на линии порта
14.12.1CTRLA - регистр управления А
14.12.2CTRLB - регистр управления В
14.12.3CTRLC - регистр управления C
14.12.4CTRLD - регистр управления D
14.12.5CTRLE - регистр управления E
14.12.6INTCTRLA - регистр А разрешения прерываний
14.12.7INTCTRLB - регистр В разрешения прерываний
14.12.8CTRLFCLR/CTRLFSET - сброс/установка регистра управления F
14.12.9CTRLGCLR/CTRLGSET - сброс/установка регистра управления G
14.12.10INTFLAGS - регистр флага прерывания
14.12.11TEMP - временный регистр для 16-битного доступа
14.12.12CNTH - старший регистр счетчика
14.12.13CNTL - младший регистр счетчика
14.12.14PERH - старший регистр периода
14.12.15PERL - младший регистр периода
14.12.16CCxH - старший регистр n захвата/сравнения
14.12.17CCxL - младший регистр n захвата/сравнения
14.12.18PERBUFH - старший буферный регистр периода таймера-счетчика
14.12.19PERBUFL - младший буферный регистр периода таймера-счетчика
14.12.20CCxBUFH - старший регистр буфера захвата или сравнения х
14.12.21CCxBUFL - младший регистр буфера захвата или сравнения x
14.14Обзор векторов прерываний
15Блок расширения возможностей генерации импульсов AWeX
15.4Генерация паузы неперекрытия
15.6.2Режимы восстановления нормальной работы
15.6.4Взаимодействие со встроенной отладочной системой
15.7.1CTRL - Регистр управления
15.7.2FDEMASK - регистр маски событий для обнаружения повреждения
15.7.3FDCTRL - регистр управления обнаружением отказа
15.7.4STATUS - регистр статуса
15.7.5DTBOTH - регистр общего доступа к паузам неперекрытия
15.7.6DTBOTHBUF - регистр общего доступа к буферным регистрам пауз неперекрытия
15.7.7DTLS - регистр паузы неперекрытия нижнего уровня
15.7.8DTHS - регистр паузы неперекрытия верхнего уровня
15.7.9DTLSBUF - буферный регистр паузы неперекрытия нижнего уровня
15.7.10DTHSBUF - буферный регистр паузы неперекрытия верхнего уровня
15.7.11OUTOVEN - регистр разрешения перекрытия выходов
16Блок расширения разрешающей способности
16.1Отличительные особенности:
16.3.1CTRLA - регистр управления А блока Hi-Res
17Счетчик реального времени RTC
17.3.1CTRL - регистр управления счетчиком реального времени
17.3.2STATUS - регистр статуса счетчик реального времени
17.3.3INTCTRL - регистр управления прерываниями счетчика реального времени
17.3.4INTFLAGS - регистр флагов прерываний счетчика реального времени
17.3.5TEMP - временный регистр счетчика реального времени
17.3.6CNTH - старший регистр счетчика реального времени
17.3.7CNTL - младший регистр счетчика реального времени
17.3.8PERH - старший регистр периода счетчика реального времени
17.3.9PERL - младший регистр периода счетчика реального времени
17.3.10COMPH - старший регистр сравнения счетчика реального времени
17.3.11COMPL - младший регистр сравнения счетчика реального времени
1832-битный счетчик реального времени RTC32
18.3.1CTRL - регистр управления
18.3.2SYNCCTRL - регистр управления/статуса синхронизации
18.3.3INTCTRL - регистр управления прерываниями
18.3.4INTFLAGS - регистр флагов прерываний
18.3.5CNT3 - регистр счетчика 3
18.3.6CNT2 - регистр счетчика 2
18.3.7CNT1 - регистр счетчика 1
18.3.8CNT0 - регистр счетчика 0
18.3.9PER3 - регистр периода 3
18.3.10PER2 - регистр периода 2
18.3.11PER1 - регистр периода 1
18.3.12PER0 - регистр периода 0
18.3.13COMP3 - регистр сравнения 3
18.3.14COMP2 - регистр сравнения 2
18.3.15COMP1 - регистр сравнения 1
18.3.16COMP0 - регистр сравнения 0
19.3.1Электрические характеристики
19.3.7Синхронизация и задержка импульсов синхронизации
19.3.9Синхронизация ведущих устройств
19.4Логика контроля состояния шины TWI
19.5Работа ведущего модуля TWI
19.5.1.1Сценарий M1: арбитраж проигран или ошибка во время передачи пакета адреса
19.5.1.2Сценарий M2: Передача пакета адреса завершена, но он не подтвержден подчиненным устройством
19.5.1.3Сценарий M3: Завершена передача пакета адреса с равным нулю битом направления
19.5.1.4Сценарий M4: Завершена передача пакета адреса с равным единице битом направления
19.6Работа подчиненного модуля TWI
19.6.1.1Сценарий 1: принят пакета адреса с равным единице битом направления
19.6.1.2Сценарий 2: принят пакет адреса с равным нулю битом направления
19.6.1.4Сценарий 4: принято условие STOP
19.7Разрешение работы интерфейса внешнего драйвера
19.8Описание регистров модуля TWI
19.8.1CTRL - общий регистр управления модуля TWI
19.9Описание регистров ведущего модуля TWI
19.9.1CTRLA - регистр управления А ведущего модуля TWI
19.9.2CTRLB - регистр управления В ведущего модуля TWI
19.9.3CTRLC - регистр управления С ведущего модуля TWI
19.9.4STATUS - регистр статуса ведущего устройства
19.10Ftwi = Fsys/[2(5+BAUD)], Гц (1)
19.11BAUD = (Fsys/2 * Ftwi) - 5 (2)
19.11.1ADDR - регистр адреса ведущего модуля TWI
19.11.2DATA - регистр данных ведущего модуля TWI
19.12Описание регистров подчиненного модуля TWI
19.12.1CTRLA - регистр управления А подчиненного модуля TWI
19.12.2CTRLB - регистр управления В починенным модулем TWI
19.12.3STATUS- регистр статуса подчиненного модуля TWI
19.12.4ADDR - регистр адреса подчиненного модуля TWI
19.12.6ADDRMASK - регистр маски адреса подчиненного модуля TWI
19.13Обзор регистров модуля TWI
19.14Обзор регистров ведущего модуля TWI
19.15Обзор регистров подчиненного модуля TWI
19.15.1Обзор векторов прерываний
20Последовательный интерфейс SPI
20.7.1CTRL - регистр управления SPI
20.7.2INTCTRL - регистр управления прерываниями SPI
20.7.3STATUS - регистр статуса модуля SPI
20.7.4DATA - регистр данных SPI
20.9Векторы прерываний модуля SPI
21.3.1Внутренняя генерация синхронизации дробным генератором скорости
21.3.3Работа с удвоенной скоростью (CLK2X)
21.3.5Генерация синхронизации для шины SPI
21.4.1Вычисление бита паритета
21.4.2SPI-совместимые форматы посылок
21.6Отправка данных передатчиком USART
21.7Получение данных приемником USART
21.7.5Очистка буфера приемника
21.8.1Восстановление синхронизации
21.8.3Рабочий диапазон асинхронного приемника
21.9Дробная генерация скорости
21.10Работа USART в ведущем SPI-совместимом режиме
21.11Сравнение режима SPI модуля USART с модулем SPI
21.12Режим мультипроцессорной связи
21.12.1Использование режима мультипроцессорной связи
21.15.1DATA - регистр ввода-вывода данных модуля USART
21.15.2STATUS - регистр статуса USART
21.15.3CTRLA - регистр управления А модуля USART
21.15.4CTRLB - регистр управления В модуля USART
21.15.5CTRLC - регистр управления С модуля USART
21.16Таблица 21.6. Настройка бит CMODE
21.16.1BAUDCTRLA - регистр скорости USART
21.16.2BAUDCTRLB - регистр скорости USART
21.17.1Описание регистров модуля USART
21.17.2Описание регистров модуля USART, работающего в режиме ведущего интерфейса SPI
21.18Обзор векторов прерываний
22Модуль инфракрасной связи IRCOM
22.322.2.1. Фильтрация системы событий
22.4.1TXPLCTRL - регистр управления длительностью импульса передатчика IRCOM
22.4.2RXPLCTRL - регистр управления длительностью импульса приемника IRCOM
22.4.3CTRL - регистр управления IRCOM
23.1.1Отличительные особенности
23.4.1Память ключа и память состояния
23.5Обзор регистров модуля AES
23.5.1CTRL - регистр управления модулем AES
23.5.2STATUS - регистр статуса модуля AES
23.5.3STATE - регистр состояния модуля AES
23.5.4KEY - регистр ключа модуля AES
23.5.5INTCTRL - регистр управления прерыванием модуля AES
23.6Обзор регистров модуля AES
23.7Вектор прерываний модуля AES
24.3.2Размер адресного пространства
24.3.3Выхода выбора микросхем в качестве адресных линий
24.4Настройка линий ввода-вывода
24.6.1Работа без мультиплексирования
24.6.2Мультиплексирование байтов адреса 0 и 1
24.6.3Мультиплексирование байтов адреса 0 и 2
24.6.4Мультиплексирование байтов адреса 0, 1 и 2
24.6.5Требования к регистрам фиксации адреса
24.7Совместная работа со SRAM LPC-типа
24.7.1Мультиплексирование данных с байтом адреса 0
24.7.2Мультиплексирование данных с байтами адреса 0 и 1
24.8.23-портовая конфигурация интерфейса EBI
24.8.34-портовая конфигурация интерфейса EBI
24.9Комбинированное подключение к SRAM и SDRAM
24.10Временная диаграмма интерфейса EBI
24.10.1.1Режим SRAM без мультиплексирования
24.10.1.2Режим SRAM с мультиплексированием адреса и синхронизацией 1х
24.10.1.3Режим SRAM с мультиплексированием адреса и синхронизацией 2х
24.10.1.4Режим SRAM LPC с мультиплексированием адреса/данных и синхронизацией 1x
24.10.1.5Режим SRAM LPC с мультиплексированием адреса/данных и синхронизацией 2x
24.10.2.14-битный режим SDRAM с синхронизацией 1х
24.10.2.28-битный режим SDRAM с синхронизацией 2х
24.11Описание регистров модуля EBI
24.11.1CTRL - регистр управления модулем EBI
24.11.2SDRAMCTRLA - регистр A управления SDRAM
24.11.3REFRESH - регистр периода регенерации SDRAM
24.11.4INITDLY - регистр задержки инициализации SDRAM
24.11.5SDRAMCTRLB - регистр В управления SDRAM
24.11.6SDRAMCTRLC - регистр С управления SDRAM
24.12Описание регистров управления выбором микросхем
24.12.1CTRLA - регистр А управления выбором микросхемы
24.12.2CTRLB (SRAM) - регистр В управления выбором микросхемы
24.12.3CTRLB (SDRAM) - регистр В управления выбором микросхемы
24.12.4BASEADDR - регистр базового адреса выбора микросхемы
24.13Обзор регистров модуля EBI
24.14Обзор регистров управления выбором микросхем
25Аналогово-цифровой преобразователь ADC
25.3.2Дифференциальный вход с усилением
25.9Синхронизация и временная диаграмма преобразования АЦП
25.9.1Одиночное преобразование без усиления
25.9.2Одиночное преобразование с усилением
25.9.3Одиночные преобразования в двух каналах АЦП
25.9.4Одиночные преобразования в двух каналах АЦП с усилением в канале 0
25.9.5Одиночные преобразования в двух каналах АЦП с усилением в канале 1
25.9.6Автоматический режим с усилением в двух каналах АЦП
25.15Описание регистров модуля АЦП
25.15.1CTRLA - регистр управления А модуля АЦП
25.15.2CTRLB - регистр управления В модуля АЦП
25.15.3REFCTRL - регистр управления опорным напряжением АЦП
25.15.4EVCTRL - регистр управления событиями АЦП
25.15.5PRESCALER - регистр предделителя синхронизации АЦП
25.15.6INTFLAGS - регистр флагов прерываний АЦП
25.15.7TEMP - временный регистр АЦП
25.15.8CALL - регистр младшего байта калибровочного значения АЦП
25.15.9CALH - регистр старшего байта калибровочного значения АЦП
25.15.10CHnRESH - старший регистр результата канала АЦП n
25.15.10.112-битный режим с левым выравниванием
25.15.10.212-битный режим с правым выравниванием
25.15.11CHnRESL - младший регистр результата канала АЦП n
25.15.11.212-битный режим с левым выравниванием
25.15.12CMPH - старший регистр сравнения модуля АЦП
25.15.13CMPL - младший регистр сравнения модуля АЦП
25.16Описание регистра канала АЦП
25.16.1CTRL - регистр управления канала АЦП
25.16.2MUXCTRL - регистры управления мультиплексором канала АЦП
25.16.3INTCTRL - регистры управления прерыванием канала АЦП
25.16.4INTFLAG - регистр флагов прерываний канала АЦП
25.16.5RESH - старший регистр результата канала АЦП n
25.16.5.112-битный режим с левым выравниванием
25.16.5.212-битный режим с правым выравниванием
25.16.6RESL - младший регистр результата канала АЦП n
25.16.6.212-битный режим с левым выравниванием
25.18Обзор регистров канала АЦП
25.19Обзор векторов прерываний
26Цифро-аналоговый преобразователь DAC
26.6Ограничения к временным характеристикам
26.9.1CTRLA - регистр А управления модулем DAC
26.9.2CTRLB - регистр В управления модулем DAC
26.9.3CTRLC - регистр С управления ЦАП
26.9.4EVCTRL - регистр управления событиями
26.9.5TIMCTRL - регистр задания временных характеристик ЦАП
26.9.6STATUS - регистр статуса ЦАП
26.9.7CH0DATAH - старший регистр данных канала ЦАП 0
26.9.8CH0DATAL - младший регистр данных канала ЦАП 0
26.9.9CH1DATAH - старший регистр данных канала ЦАП 1
26.9.10CH1DATAL - младший регистр данных канала ЦАП 1
26.9.11GAINCAL - регистр калибровки коэффициента передачи ЦАП
26.9.12OFFSETCAL - регистр калибровки смещения ЦАП
27.5Генерация прерываний и событий
27.8Зависимость энергопотребления от задержки распространения
27.9.1ACnCTRL - регистр управления аналоговым компаратором n
27.9.2ACnMUXCTRL - регистр управления мультиплексором аналогового компаратора n
27.9.3CTRLA - регистр управления А
27.9.4CTRLB - регистр управления В
27.9.5WINCTRL - регистр управления оконным режимом аналоговых компараторов
27.9.6STATUS - общий регистр статуса аналоговых компараторов
27.11Обзор векторов прерываний
28IEEE 1149.1-совместимый интерфейс JTAG
28.5.2Регистр идентификации МК
28.5.2.3Идентификатор производителя
28.5.3Цепь граничного сканирования
28.6Цепь граничного сканирования
28.6.1Сканирование линий ввода-вывода
29Интерфейс программирования и отладки PDI
29.3.3Формат посылки и символы
29.3.4Последовательные передача и прием
29.3.5Последовательная передача данных
29.3.5.129.3.5.1. Обнаружение конфликтов управления и коллизий
29.3.6.1Обнаружение символа BREAK
29.4.4Формат посылки и символов
29.4.4.1Специальные символы данных
29.4.5Последовательные передача и прием
29.4.6Последовательная передача
29.4.7.2Обнаружение символа BREAK
29.5.1Переключение между режимами PDI и JTAG
29.5.2Доступ к внутренним интерфейсам
29.5.3Ключ программирования энергонезависимой памяти
29.5.4Обработка исключительных ситуаций
29.5.6.1LDS - загрузка данных из пространства данных PDIBUS с использованием прямой адресации
29.5.6.2STS - сохранение данных в пространстве данных PDIBUS с использованием прямой адресации
29.5.6.3LD - загрузка данных из пространства данных PDIBUS с использованием косвенной адресации
29.5.6.4ST - сохранение данных в пространство данных PDIBUS с использованием косвенной адресации
29.5.6.5LDCS - загрузка данных из пространства регистров управления и статуса PDI
29.5.6.6STCS - сохранение данных в пространстве регистров управления и статуса PDI
29.5.6.7KEY - настройка ключа активизации
29.5.6.8REPEAT - настройка счетчика повтора инструкций
29.6Описание регистров инструкции и адресации интерфейса PDI
29.6.3Регистр счетчика повторов
29.6.4Регистр счетчика операндов
29.7Описание регистров управления и статуса интерфейса PDI
29.7.1STATUS - регистр статуса интерфейса PDI
29.7.3CTRL - регистр управления интерфейсом PDI
30Программирование запоминающих устройств
30.4.1Команды с запуском по действию
30.4.2Команды с запуском по чтению NVM
30.4.3Команды с запуском по записи NVM
30.4.4Механизм CCP для защиты записи/исполнения
30.5Особенности работы NVM-контроллера в занятом состоянии
30.6Страничные буферы Flash-памяти и EEPROM
30.6.1Страничный буфер Flash-памяти
30.7Последовательности программирования Flash-памяти и EEPROM
30.7.1Последовательность программирования Flash-памяти
30.7.2Последовательность программирования EEPROM
30.8Защита энергонезависимой памяти
30.9Предотвращение нарушения данных
30.11Самопрограммирование под управлением программы загрузчика
30.11.1Программирование Flash-памяти
30.11.1.1Сектор прикладной программы и загрузочный сектор
30.11.1.2Адресация Flash-памяти
30.11.2NVM-команды Flash-памяти
30.11.2.2Стирание страничного буфера Flash-памяти
30.11.2.3Загрузка страничного буфера Flash-памяти
30.11.2.4Стирание страницы Flash-памяти
30.11.2.5Запись страницы Flash-памяти
30.11.2.6Вычисление CRC для диапазона Flash-памяти
30.11.2.7Стирание сектора прикладной программы
30.11.2.8Стирание страницы сектора прикладной программы/загрузочного сектора
30.11.2.9Запись страницы сектора прикладной программы/загрузочного сектора
30.11.2.10Стирание и запись страницы сектора прикладной программы/загрузочного сектора
30.11.2.11Вычисление CRC в секторе прикладной программы/загрузочном секторе
30.11.2.12Стирание сигнатурного кода пользователя
30.11.2.13Запись сигнатурного кода пользователя
30.11.2.14Чтение сигнатурного кода пользователя/калибровочных данных
30.11.3NVM-команды доступа к Fuse- и Lock-битам
30.11.4Программирование EEPROM
30.11.5.1Загрузка страничного буфера EEPROM
30.11.5.2Стирание страничного буфера EEPROM
30.11.5.3Стирание страницы EPPROM
30.11.5.4Запись страницы EEPROM
30.11.5.5Стирание и запись страницы EEPROM
30.12.1Разрешение работы интерфейса внешнего программирования
30.12.3.3Стирание страничного буфера Flash-памяти/EEPROM
30.12.3.4Загрузка страничного буфера Flash-памяти/EEPROM
30.12.3.5Стирание страницы Flash-памяти/EEPROM
30.12.3.6Запись страницы Flash-памяти/EEPROM
30.12.3.7Стирание и запись страницы Flash-памяти/EEPROM
30.12.3.8Стирание сектора прикладной программы/загрузочного сектора/EEPROM
30.12.3.9Проверка CRC Flash-памяти
30.12.3.10Запись Fuse-/Lock-бит
31Карта памяти модулей ввода-вывода
32Краткое описание набора инструкций
33Приложение А. Временные диаграммы модуля EBI
33.13-портовое подключение SRAM с ALE1 и CS
33.23-портовое подключение SRAM с ALE12 и CS
33.34-портовое подключение SRAM с ALE2 и CS
33.44-портовое подключение SRAM с CS и без ALE
33.52-портовое подключение LPC памяти с ALE12 и CS
33.63-портовое подключение LPC памяти с ALE1 и CS
33.72-портвоое подключение LPC памяти с ALE1 и CS
33.83-портовое подключение SRAM с ALE1 и без CS
33.94-портвоое подключение SRAM без ALE и CS
33.102-портовое подключение LPC памяти с ALE12 и без CS
34Электрические характеристики
34.1Предельно-допустимые параметры*
34.2Статические характеристики
34.6Характеристики аналоговых компараторов
35Сведения о выявленных ошибках в работе микроконтроллеров
27.9.6STATUS - общий регистр статуса аналоговых компараторов
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x07 |
WSTATE[1:0] |
AC1STATE |
AC0STATE |
- |
WIF |
AC1IF |
AC0IF |
STATUS |
|
Чтение/ запись |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт |
Чт/Зап |
Чт/Зап |
Чт/Зап |
|
Нач значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-
Биты 7:6 - WSTATE[1:0]: текущее состояние оконного режима аналоговых компараторов
Данные биты отражают текущий результат сравнения в оконном режиме в соответствии с таблицей 27.6.
Таблица 27.6. Текущее состояние оконного режима аналоговых компараторов
WSTATE[1:0] |
Групповая конфигурация |
Описание |
00 |
ABOVE |
Сигнал выше верхней границы окна |
01 |
INSIDE |
Сигнал в пределах границ окна |
10 |
BELOW |
Сигнал ниже нижней границы окна |
11 |
- |
(резерв) |
-
Бит 5 - AC1STATE: текущее состояние аналогового компаратора 1
Данный бит отражает текущее состояние входного сигнала аналогового компаратора 1.
-
Бит 4 - AC0STATE: текущее состояние аналогового компаратора 0
Данный бит отражает текущее состояние входного сигнала аналогового компаратора 0.
-
Бит 3 - Res: резервный бит
Данный бит не используется и зарезервирован для использования в будущем. В целях совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.
-
Бит 2 - WIF: флаг прерывания для оконного режима аналогового компаратора
Данный флаг прерывания используется только в оконном режиме аналоговых компараторов. Установка флага WIF происходит при обнаружении заданного битами WINTMODE условия (см. 27.9.5 "WINCTRL - регистр управления оконным режимом аналоговых компараторов").
Флаг WIF автоматически сбрасывается при переходе на вектор обработки прерывания оконного режима аналоговых компараторов. Альтернативно, флаг можно сбросить записью в него единицы.
-
Бит 1 - AC1IF: флаг прерывания аналогового компаратора 1
Данный бит является флагом прерывания аналогового компаратора 1. Флаг AC1IF становится равным единице при обнаружении заданного битами INTMODE условия (см. 27.9.1 "ACnCTRL - регистр управления аналоговым компаратором n").
Флаг AC1IF автоматически сбрасывается при переходе на вектор обработки прерывания оконного режима аналоговых компараторов. Альтернативно, флаг можно сбросить записью в него единицы.
-
Бит 0 - AC0IF: флаг прерывания аналогового компаратора 0
Данный бит является флагом прерывания аналогового компаратора 0. Флаг AC0IF становится равным единице при обнаружении заданного битами INTMODE условия (см. 27.9.1 "ACnCTRL - регистр управления аналоговым компаратором n").
Флаг AC1IF автоматически сбрасывается при переходе на вектор обработки прерывания оконного режима аналоговых компараторов. Альтернативно, флаг можно сбросить записью в него единицы.
27.10Обзор регистров
Адрес |
Наименование |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
+0x00 |
AC0CTRL |
INTMODE[1:0] |
INTLVL[1:0] |
HSMODE |
HYSMODE[1:0] |
ENABLE |
|||
+0x01 |
AC1CTRL |
INTMODE[1:0] |
INTLVL[1:0] |
HSMODE |
HYSMODE[1:0] |
ENABLE |
|||
+0x02 |
AC0MUXCTR |
- |
- |
MUXPOS[2:0] |
MUXNEG[2:0] |
||||
+0x03 |
AC1MUXCTR |
- |
- |
MUXPOS[2:0] |
MUXNEG[2:0] |
||||
+0x04 |
CTRLA |
- |
- |
- |
- |
- |
- |
- |
AC0OUT |
+0x05 |
CTRLB |
- |
- |
SCALEFAC[5:0] |
|||||
+0x06 |
WINCTRL |
- |
- |
- |
WEN |
WINTMODE[1:0] |
WINTLVL[1:0] |
||
+0x07 |
STATUS |
WSTATE[1:0] |
AC1STATE |
AC0STATE |
- |
WIF |
AC1IF |
AC0IF |
27.11Обзор векторов прерываний
Таблица 27.7. Векторы прерываний аналогового компаратора
Смещение |
Источник |
Описание прерывания |
0x00 |
COMP0_vect |
Вектор прерываний аналогового компаратора 0 |
0x02 |
COMP1_vect |
Вектор прерываний аналогового компаратора 1 |
0x04 |
WINDOW_vect |
Вектор прерываний оконного режима аналоговых компараторов |
28IEEE 1149.1-совместимый интерфейс JTAG
28.1Отличительные особенности
-
Интерфейс JTAG (совместим со стандартом IEEE 1149.1-2001)
-
Возможности граничного сканирования в соответствии со стандартом JTAG
-
Полное сканирование всех линий ввода-вывода
-
Поддержка обязательных JTAG-инструкций SAMPLE, PRELOAD, EXTEST и BYPASS
-
Поддержка опциональных инструкций IDCODE, HIGHZ и CLAMP
-
Поддержка специальной инструкции AVR-микроконтроллеров PDICOM для предоставления доступа к интерфейсу PDI, работающего в его опциональном режиме JTAG.
28.2Обзор
Интерфейс граничного сканирования JTAG в первую очередь предназначен для тестирования печатных плат. Другим назначением интерфейса JTAG является доступ к интерфейсу программирования и отладки PDI, работающего в его опциональном режиме JTAG.
Цепь граничного сканирования обладает возможностями управления логическими уровнями и их контроля на всех линиях ввода-вывода. На системном уровне, сигналы TDI/TD всех ИС, оснащенные интерфейсом JTAG, соединяются последовательно, образуя из этих ИС большой сдвиговый регистр. Внешний контроллер передает состояния, которые необходимо установить на выходах микросхем, и принимает информацию о текущем состоянии входов микросхем. После приема данных, контроллер выполняет сравнение с ожидаемым результатом. Таким образом, граничное сканирование - это не что иное, как механизм тестирования взаимных соединений и целостности компонентов на печатной плате с использованием всего лишь четырех сигналов TAP.
Стандартом IEEE 1149.1-2001 определены обязательные JTAG-инструкции IDCODE, BYPASS, SAMPLE/PRELOAD и EXTEST, а также опциональные инструкции CLAMP и HIGHZ, которые можно использовать для тестирования печатной платы. Исходное сканирование регистра данных позволяет узнать идентификационный код МК, т.к. IDCODE - это JTAG-инструкция по умолчанию. При необходимости максимального сокращения цепи сканирования в микроконтроллере, может быть введена инструкция BYPASS. Инструкция EXTEST предназначена для ввода/вывода состояния внешних выводов. Данные с выходов регистров окажутся на выводах МК сразу после загрузки инструкции EXTEST в регистр инструкции (РИ). Таким образом, чтобы избежать повреждения платы во время первого ввода инструкции EXTEST, задание исходных значений кольца сканирования лучше выполнить объединенной инструкцией SAMPLE/PRELOAD. Инструкцию SAMPLE/PRELOAD также выгодно использовать для опроса состояния внешних выводов МК в процессе его нормального функционирования, т.к. она никак не влияет на ход работы МК. С помощью инструкции CLAMP можно задать состояние выводов МК через регистры граничного сканирования при одновременной активизации обхода этих регистров, что эффективно сокращает общую длину пути сканирования. Альтернативно, для перевода выводов МК в неактивное состояние с одновременной активизацией обхода регистра граничного сканирования можно использовать инструкцию HIGHZ.
Поддерживаемая только некоторыми AVR-микроконтроллерами инструкция PDICOM делает возможным использование регистра данных PDI в качестве интерфейса доступа к PDI в целях программирования и отладки. Обратите внимание, что инструкция PDICOM никак не влияет на цепь граничного сканирования, а лишь предоставляет альтернативный путь доступа к внутренним ресурсам программирования и отладки через интерфейс JTAG. Более детально о работе интерфейса программирования и отладки PDI см. в разделе 29 "Интерфейс программирования и отладки".
Для разрешения работы интерфейса JTAG и TAP-порта необходимо запрограммировать Fuse-бит JTAGEN, а также обнулить бит JTAGD в регистре MCUCR.
Когда интерфейс JTAG используется для граничного сканирования, частота TCK может быть выше внутренней частоты МК. Более того, граничное сканирование может работать даже при отключенной системной синхронизации.
28.3TAP-порт
Интерфейс JTAG занимает четыре вывода МК. По терминологии стандарта JTAG, данные выводы образуют TAP-порт (от Test Access Port). К выводам TAP-порта относятся:
-
TMS: выбор режима тестирования. Данный вывод предназначен для навигации по цифровому автомату TAP-контроллера.
-
TCK: тестовая синхронизация. Через этот вывод осуществляется синхронизация интерфейса JTAG.
-
TDI: ввод тестовых данных. Вход сдвигового регистра, в качестве которого может выступать регистр инструкции или регистр данных (цепи сканирования).
-
TDO: вывод тестовых данных. Выход сдвигового регистра, т.е. регистра инструкции или регистра данных.
Стандартом IEEE 1149.1-2001 также оговорен опциональный сигнал сброса TRST. У МК XMEGA он не предусмотрен.
Если Fuse-бит JTAGEN находится в незапрограммированном состоянии или равен единице бит отключения JTAG, интерфейс JTAG будет находиться в отключенном состоянии. В этом случае, выводы TAP-порта работают как обычные линии ввода-вывода, а TAP-контроллер находится в состоянии сброса. После разрешения работы, на входах TAP-порта активизируется подтяжка к плюсу питания, а интерфейс JTAG становится готовым к операциям граничного сканирования.
Рисунок 28.1. Автомат состояний TAP-контроллера
TAP-контроллер является конечным автоматом (16 состояний), который управляет работой схемы граничного сканирования. Изменение состояний (см. рисунок 28.1) происходит в зависимости от состояния входа TMS (показано рядом с каждым изменением состояния) во время нарастающего фронта TCK. Исходным состоянием после сброса при подаче питания является СБРОС_ТЕСТ-ЛОГИКИ.
Если полагать, что текущим состоянием является ТЕСТ-СТАРТ/СВОБОДЕН, то возможны следующие сценарии использования интерфейса JTAG.
-
Через вход TMS по нарастающим фронтам TCK вводится последовательность 1, 1, 0, 0, которая вызывает переход в состояние СДВИГ_РИ. В этом состоянии по нарастающим фронтам TCK вводятся четыре бита в регистр JTAG-инструкции через вход TDI.
По ходу ввода 3 младших бит, для удержания состояния СДВИГ_РИ, вход TMS необходимо удерживать в низком состоянии. Ввод старшего бита инструкции выполняется при выходе из состояния СДВИГ_РИ установкой высокого уровня на входе TMS. По мере ввода инструкции через вход TDI, на выходе выводится код состояния ЗАХВАТ_РИ: 0x01. JTAG-инструкция выбирает определенный регистр данных в качестве пути между выводами TDI и TDO, а также управляет схемой, окружающей выбранный регистр данных.
-
Через вход TMS передается последовательность 1, 1, 0, которая повторно вводит состояние ТЕСТ-СТАРТ/СВОБОДЕН. Инструкция фиксируется на параллельных выходах пути сдвигового регистра в состоянии МОДИФ_РИ. Для навигации по автомату состояний могут использоваться только состояния ВЫХОД_РИ, ПАУЗА_РИ и ВЫХОД2_РИ.
-
Через вход TMS по нарастающим фронтам TCK вводится последовательность 1, 0, 0, которая вызывает переход в состояние СДВИГ_РД. Находясь в этом состоянии, по нарастающим фронтам TCK через вход TDI выполняется модификация выбранного регистра данных (выбирается текущей JTAG-инструкцией в регистре инструкции). Для удержания состояния СДВИГ_РД вход TMS необходимо удерживать в низком состоянии при вводе всех бит, кроме старшего. Старший бит данных вводится при выходе из состояния, инициированного установкой высокого уровня на входе TMS. В процессе ввода данных в регистр данных через вход TDI, состояние параллельных входов, захваченное в состоянии ЗАХВАТ_РД, выводится на выходе TDO.
-
Через вход TMS передается последовательность 1, 1, 0, которая повторно вводит состояние ТЕСТ-СТАРТ/СВОБОДЕН. Если выбранный регистр данных оснащен параллельными выходами с фиксацией, то фиксация выполняется в состоянии МОДИФ_РД. Для навигации по автомату состояний могут использоваться только состояния ВЫХОД_РД, ПАУЗА_РД и ВЫХОД2_РД.
Как показано на автомате состояний, состояние ТЕСТ-СТАРТ/СВОБОДЕН не нужно вводить между выбором JTAG-инструкции и использованием регистров данных.
Прим.: независимо от исходного состояния TAP-контроллера, состояние СБРОС_ТЕСТ-ЛОГИКИ можно ввести в любой момент удержанием входа TMS в высоком состоянии в течение пяти периодов синхронизации TCK.
28.4JTAG-инструкции
Регистр инструкции является 4-битным. Ниже приводится описание JTAG-инструкций, используемых для граничного сканирования, а также инструкции PDICOM, используемой для доступа к интерфейсу PDI в режиме JTAG.
Ввод и вывод младшего бита осуществляется первым у всех сдвиговых регистров.
Код операции для каждой инструкции показан сразу за её наименованием в шестнадцатиричном формате. В тексте можно найти указание, какой регистр данных используется в качестве пути между выводами TDI и TDO у каждой инструкции.
28.4.1EXTEST; 0x1
EXTEST - обязательная инструкция, предназначенная для выбора цепи граничного сканирования (позволяет протестировать внешнюю, подключенную к МК AVR, схему) в качестве регистра данных. Через цепь граничного сканирования можно изменить направление (DIR) и состояние (OUT) любой линии ввода-вывода, а также проконтролировать настройку направления линии и её фактическое состояние. Содержимое выходов с фиксацией цепи граничного сканирования становится доступным на выходах сразу после загрузки в регистр инструкции команды EXTEST.
Активные состояния:
-
ЗАХВАТ_РД: выполняется выборка данных на внешних выводах для считывания через цепь граничного сканирования.
-
СДВИГ_РД: данные в цепи граничного сканирования сдвигаются под управлением входа TCK.
-
МОДИФ_РД: данные из цепи сканирования подаются на выводы выходов.
28.4.2IDCODE; 0x3
IDEOCE - обязательная инструкция, предназначенная для выбора 32-битного регистра идентификации МК в качестве регистра данных.
Регистр идентификации содержит следующие данные: номер версии, номер МК и JEDEC-код производителя. Данная инструкция является инструкцией по умолчанию после подачи питания.
Активные состояния:
-
ЗАХВАТ_РД: выполняется выборка содержимого регистра IDCODE в регистр идентификации МК.
-
СДВИГ_РД: цепь сканирования IDCODE передается сдвигом под управлением входа TCK.
28.4.3SAMPLE/PRELOAD; 0x2
SAMPLE/RELOAD - обязательная инструкция, предназначенная для предварительной загрузки выходов с фиксацией и опроса состояния входов/выходов без нарушения работы системы. Однако необходимо учесть, что выходы с фиксацией не связаны с выводами. В качестве регистра данных выступает цепь граничного сканирования.
Обратите внимание, что каждая из инструкций SAMPLE и PRELOAD выполняют одни те же действия, что объясняет причину общего кода операции у них и объединения в одну инструкцию.
Активные состояния:
-
ЗАХВАТ_РД: выполняется выборка данных на внешних выводах для чтения через цепь граничного сканирования.
-
СДВИГ_РД: передача сдвигом цепи граничного сканирования под управлением входа TCK.
-
МОДИФ_РД: данные из цепи граничного сканирования подаются на выходы с фиксацией. Однако нужно учесть, что выходы с фиксацией не связаны с выводами.
28.4.4BYPASS; 0xf
BYPASS - обязательная инструкция, предназначенная для выбора регистра обхода в качестве регистра данных.
Активные состояния:
-
ЗАХВАТ_РД: загрузка логического "0" в регистр обхода.
-
СДВИГ_РД: регистр обхода включен между выводами TDI и TD
-
как сдвиговый регистр.
28.4.5CLAMP; 0x4
CLAMP - опциональная инструкция, которая позволяет назначить состояние выводов МК по состоянию предварительно загруженных выходов с фиксацией. В качестве регистра данных выбирается регистр обхода.
Активные состояния:
-
ЗАХВАТ РД: загрузка логического "0" в регистр обхода.
-
СДВИГ РД: регистр обхода работает как сдвиговый регистр между выводами TDI и TDO.
28.4.6HIGHZ; 0x5
HIGHZ - опциональная инструкция, предназначенная для перевода всех выходов в неактивное состояние (например, высокоимпедансное). В качестве регистра данных выбирается регистр обхода.
Активные состояния:
-
ЗАХВАТ_РД: загружает логический "0" в регистр обхода.
-
СДВИГ_РД: регистр обхода включается между выводами TDI и TD
-
как сдвиговый регистр.
28.4.7PDICOM; 0x7
PDICOM - специфическая AVR-инструкция, предназначенная для использования порта JTAG TAP в качестве альтернативного канала доступа к интерфейсу программирования и отладки PDI.