ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 14.01.2021
Просмотров: 9219
Скачиваний: 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Сведения о выявленных ошибках в работе микроконтроллеров
Таким образом, дробная генерация скорости позволяет снизить шаг приращения настроек скорости. Наихудший случай имеет место, когда масштабирующий коэффициент равен -1. В этом случае происходит переход от 160 к 240 выборкам 10-битной посылки (без дробной генерации переход происходил от 160 к 320). Чем больше по модулю отрицательное значение масштабирующего коэффициента, тем более плавно изменяется скорость. Максимальное значение коэффициента масштабирования ограничено. Значение 2BSCALE должно быть как минимум в 2 раза меньше длительности посылки, выраженной в количестве циклов синхронизации. Например, минимальная длительность 10-битной посылки 160 циклов синхронизации. Это означает, что предельное значение коэффициента масштабирования равно -6 (2-6 = 64 < 160/2 = 80). С увеличением настройки BSEL значение масштабирующего коэффициента также увеличивается.
21.10Работа USART в ведущем SPI-совместимом режиме
Когда модуль USART используется в режиме ведущего интерфейса SPI (MSPIM), должна быть разрешена работа передатчика. При необходимости, может быть разрешена и работа приемника в качестве входа последовательного приема данных. Вывод XCK выступает в роли линии синхронизации последовательной связи.
Так же как и в остальных режимах работы USART, передача данных инициируется записью в регистр DATA. Это касается, как отправки, так и получения данных, т.к. синхронизация связи выполняется передатчиком. Данные, записанные в DATA, перемешаются из буфера передатчика в сдвиговый регистр, после чего он будет готов к отправке новой посылки.
Флаги прерывания передатчика и приемника и соответствующие прерывания USART в режиме ведущего SPI функционируют точно также как и в остальных режимах работы. Флаги ошибок приемника не используются и всегда считываются с нулевыми значениями.
Отключение передатчика или приемника USART в режиме ведущего SPI происходит так же, как и при работе USART в остальных режимах.
21.11Сравнение режима SPI модуля USART с модулем SPI
Модуль USART, работающий в режиме ведущего SPI, совместим с модулем SPI в следующем:
-
временная диаграмма для ведущего режима.
-
назначение бита UCPHA идентично биту CPHA модуля SPI.
-
назначение бита UDORD идентично биту DORD модуля SPI.
Поскольку в режиме ведущего SPI задействованы ресурсы USART, работа в нем несколько отличается от модуля SPI микроконтроллеров XMEGA. Помимо бит регистров управления и отсутствия поддержки подчиненного режима, имеют место следующие отличия:
-
Передатчик USART в режиме ведущего SPI использует буферизацию. В модуле SPI МК XMEGA буфер передачи не предусмотрен.
-
Приемник USART в режиме ведущего SPI оснащен дополнительным уровнем буферизации.
-
Бит WCOL модуля SPI (флаг обнаружения ошибочной записи) не представлен в режиме ведущего SPI модуля USART.
-
Не предусмотрен бит режима удвоенной скорости модуля SPI (SPI2X). Однако такого же эффекта можно добиться соответствующей настройкой BSEL.
-
Временные диаграммы прерываний несовместимы.
-
Также, ввиду поддержки модулем USART только ведущего режима SPI, у него несколько отличается управление выводами.
Сравнение выводов модуля SPI и модуля USART, работающего в режиме ведущего SPI, показано в таблице 21.5.
Таблица 21.5. Соответствие выводов модуля USART, работающего в режиме ведущего SPI, сигналам интерфейса SPI
USART |
SPI |
Прим. |
TxD |
MOSI |
Выход ведущего устройства |
RxD |
MISO |
Вход ведущего устройства |
XCK |
SCK |
Назначение идентично |
N/A |
/SS |
Не поддерживается модулем USART |
21.12Режим мультипроцессорной связи
В системах, где несколько микроконтроллеров обмениваются информацией по общей последовательной шине, использование режима мультипроцессорной связи (MPCM) позволяет существенно снизить количество входящих посылок, подлежащих обработке приемником. В этом режиме, в каждой посылке имеется специальный бит, который используется для сигнализации типа посылки: посылка адреса или посылка данных.
Если приемник настроен на прием посылок с 5…8 битами данных, тип посылки сигнализируется первым стоп-битом. Если же приемник настроен на прием посылок с 9 битами данных, то тип посылки определяется по 9 биту. Если бит типа посылки равен единице, то в посылке содержится адрес, а когда этот бит равен нулю, посылка является посылкой данных. Работа передатчика никак не зависит от настройки бита MPCM, однако, если используется передача 5…8-битных данных, передатчик необходимо настроить на генерацию двух стоп-бит, т.к. первый стоп-бит задействован для сигнализации типа посылки.
В случае адресации одного из подчиненных МК, он принимает последующие посылки данных обычном образом, в то время как другие подчиненные МК игнорируют все принимаемые посылки до тех пор, пока не будет принята другая посылка адреса.
21.12.1Использование режима мультипроцессорной связи
Если МК работает в роли ведущего, он должен использовать посылки с 9-битными данными. Девятый бит данных устанавливается равным единице при передаче посылки адреса и равным нулю при передаче посылки данных. В таком случае, у всех остальных подчиненных микроконтроллеров так же необходимо настроить формат посылки с 9-битными данными. Для обмена данными в мультипроцессорном режиме необходимо придерживаться следующей процедуры:
-
Все подчиненные микроконтроллеры переводятся в режим мультипроцессорной связи.
-
Ведущий МК отправляет посылку адреса, а все подчиненные МК принимают и считывают эту посылку.
-
Каждый подчиненный МК проверяет, адресован он или нет?
-
Адресованный МК отключает MPCM и принимает все посылки данных. В это время все остальные подчиненные МК игнорируют посылки данных.
-
Адресованный МК после приема последней посылки данных, снова разрешает режим MPCM и ожидает получение нового адреса посылки от ведущего МК. Далее, процесс повторяется с пункта 2.
Также возможно использование любых других форматов посылки с числом бит от 5 до 8, но это непрактично, т.к. в приемнике потребуется переключение настроек числа бит данных в посылке между n и n+1. Это затрудняет полнодуплексную передачу, т.к. к приемнику и передатчику применяется одна и та же настройка количества бит данных.
21.13Работа в режиме IRCOM
При необходимости работы USART совместно с модулем IRCOM необходимо разрешить работу в режиме IRCOM. Этим разрешается IrDA 1.4-совместимая модуляция и демодуляция на скорости до 115.2 кбит/сек. После разрешения работы в режиме IRCOM, модуль USART не сможет работать с удвоенной скоростью.
Если в микроконтроллере имеется более одного модуля USART, необходимо учесть, что недопустимо одновременное разрешение режима IRCOM более чем у одного модуля. Подробности см. в разделе 22 "Модуль инфракрасной связи IRCOM".
21.14Поддержка DMA
Поддержка DMA доступна в асинхронном и синхронных режимах, а также в режиме ведущего SPI. Более детально об отличиях запуска DMA-передачи модулем USART см. в разделе 5.4 "Запуск передачи".
21.15Описание регистров
21.15.1DATA - регистр ввода-вывода данных модуля USART
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
||
+0x00 |
|
|
|||||||||
Чтение/запись |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт/Зап |
|||
Нач значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Регистр буфера данных передатчика USART и регистр буфера данных приемника USART доступны по одному и тому же адресу - адресу регистра данных USART (DATA). Запись в регистр данных (DATA) фактически выполняется, как запись в регистр буфера данных передатчика (TXB). При чтении же регистра DATA фактически возвращается содержимое регистра буфера данных приемника (RXB). При работе с 5-, 6- или 7-битными данными, старшие неиспользуемые биты игнорируются передатчиком и обнуляются приемником.
Буфер передачи можно записать только тогда, когда флаг DREIF в регистре STATUS равен единице. Запись в DATA, когда флаг DREIF равен нулю, игнорируется передатчиком USART. Передатчик, при условии разрешения его работы, после записи данных в буфер передачи выполняет загрузку данных в сдвиговый регистр передатчика сразу после освобождения последнего. После этого, данные передаются по линии TxD.
Буфер приемника работает, как двухуровневый буфер FIFO. Состояние буфера FIFO и соответствующих флагов в регистре статуса (STATUS) изменяется при каждом чтении буфера приемника.
Опрос флагов статуса необходимо делать только перед чтением DATA, в противном случае они будут некорректными.
21.15.2STATUS - регистр статуса USART
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
||||||||
+0x01 |
|
STATUS |
|||||||||||||||
Чтение/запись |
Чт. |
Чт/Зап |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт/Зап |
|||||||||
Нач значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-
Бит 7 - RXCIF: флаг прерывания по завершению приема
Данный флаг становится равным единице, когда в приемном буфере имеются несчитанные данные, и нулю, если приемный буфер пуст (т.е. не содержит каких-либо несчитанных данных). После отключения приемника, приемный буфер опустошается, а флаг RXCIF становится равным нулю.
При управлении приемом данных по прерываниям, сброс флага RXCIF происходит при выполнении чтения принятых данных из регистра DATA в процедуре обработки прерывания по завершению приема. Если этого не сделать, сразу после выхода из текущего прерывания будет инициировано новое прерывание. Альтернативно, данный флаг можно сбросить записью в него единицы.
-
Бит 6 - TXCIF: флаг прерывания по завершению передачи
Данный флаг становится равным единице по завершению сдвига данных сдвиговым регистром передатчика при условии, что в буфере передатчика (DATA) нет новых данных для передачи. Флаг TXCIF автоматически сбрасывается при переходе на вектор прерывания по завершению передачи. Альтернативно, флаг можно сбросить записью в него единицы.
-
Бит 5 - DREIF: флаг прерывания по опустошению буфера данных
Флаг DREIF сигнализирует о готовности буфера передатчика (DATA) к записи новых данных. Флаг равен единице, когда буфер передачи пуст, и нулю, когда в буфере есть подлежащие передаче данные и они еще не были перемещены в сдвиговый регистр. Данный флаг становится равным единице после сброса МК, чтобы сигнализировать о готовности передатчика. Выполняя запись в регистр STATUS, всегда записывайте нуль в данный бит.
Флаг DREIF сбрасывается при записи в регистр DATA. При управлении передачей данных по прерываниям, в процедуре обработки прерывания по опустошению буфера данных необходимо, либо записать новые данные в регистр DATA для сброса флага DREIF, либо отключить прерывание по опустошению буфера. Если этого не сделать, сразу после выхода из текущего прерывания будет инициировано новое прерывание.
-
Бит 4 - FERR: флаг ошибки в посылке
Флаг FERR указывает на состояние первого стоп-бита той посылки, которая в данный момент может быть считана из приемного буфера. Флаг равен единице, если первый стоп-бит принят с нулевым (ошибочным) значением, и равен нулю, если принятый первый стоп-бит равен единице. Флаг остается действительным до момента чтения данных из приемного буфера (DATA). Флаг FERR никак не зависит от настройки бита SBMODE в регистре CTRLC, т.к. приемник игнорирует все стоп-биты, кроме первого. Выполняя запись в регистр STATUS, всегда записывайте нуль в данный бит.
В ведущем режиме SPI данный флаг не используется.
-
Бит 3 - BUFOVF: флаг переполнения буфера
Установка флага BUFOVF сигнализирует о потери данных вследствие заполнения буфера приемника. Установка данного флага происходит при обнаружении условия переполнения буфера. Такое условие возникает, когда буфер приемника заполнен (двумя символами данных), в сдвиговом регистре приемника ожидает чтения новый символ данных и обнаруживается новый старт-бит. Флаг остается действительным до выполнения чтения буфера приемника (DATA). При выполнении записи в регистр STATUS всегда записывайте нуль в данный бит.
В ведущем режиме SPI данный флаг не используется.
-
Бит 2 - PERR: ошибка паритета
Данный флаг принимает единичное значение, если разрешена проверка паритета и при приеме посылки, которая в данный момент может быть считана из приемного буфера, обнаружена ошибка паритета. Если проверка паритета отключена, флаг PERR будет всегда считываться с нулевым значением. Данный бит остается действительным до выполнения чтения буфера приемника (DATA). Выполняя запись в регистр STATUS, всегда записывайте нуль в данный бит. Более детально о вычислении паритета см. в 21.4.1 "Вычисление бита паритета".
В режиме ведущего SPI данный флаг не используется.
-
Бит 1 - Res: резервный бит
Данный бит является резервным и всегда считывается с нулевым значением. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.
-
Бит 0 - RXB8: Принятый бит 8
В бите RXB8 хранится значение девятого принятого бита данных при работе с 9-битными данными. Чтение данного бита необходимо выполнить перед чтением младших бит данных из регистра DATA.
В режиме ведущего SPI данный бит не используется.
21.15.3CTRLA - регистр управления А модуля USART
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|||||
+0x03 |
|
CTRLA |
||||||||||||
Чтение/запись |
Чт. |
Чт. |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт/Зап |
Чт/Зап |
||||||
Нач значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-
Биты 7:6 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот в регистр, всегда записывайте нули в резервные биты.
-
Биты 5:4 - RXCINTLVL[1:0]: уровень прерывания по завершению приема
Данные биты разрешают прерывание по завершению приема и задают его уровень в соответствии с описанием в разделе 12 "Прерывания и программируемый многоуровневый контроллер прерываний". Разрешенное прерывание генерируется в случае установки флага RXCIF в регистре STATUS.
-
Биты 3:2 - TXCINTLVL[1:0]: уровень прерывания по завершению передачи
Данные биты разрешают прерывание по завершению передачи и задают его уровень в соответствии с описанием в разделе 12 "Прерывания и программируемый многоуровневый контроллер прерываний". Разрешенное прерывание генерируется в случае установки флага TXCIF в регистре STATUS.
-
Биты 1:0 - DREINTLVL[1:0]: уровень прерывания по опустошению буфера данных
Данные биты разрешают прерывание по опустошению буфера и задают его уровень в соответствии с описанием в разделе 12 "Прерывания и программируемый многоуровневый контроллер прерываний". Разрешенное прерывание генерируется в случае установки флага DREIF в регистре STATUS.