ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 14.01.2021
Просмотров: 9133
Скачиваний: 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Сведения о выявленных ошибках в работе микроконтроллеров
AVR XMEGA A
Оглавление
1.1 Рекомендации по чтению руководства 18
1.3 Рекомендовано для прочтения 18
3.1 Отличительные особенности 21
3.4 Арифметико-логическое устройство 22
3.4.1 Аппаратное умножающее устройство 22
3.6 Временная диаграмма выполнения инструкций 23
3.10 Регистры RAMP и расширенной косвенной адресации 26
3.10.1 Регистры RAMPX, RAMPY и RAMPZ 26
3.10.3 Регистр расширенной косвенной адресации EIND 26
3.11 Доступ к 16-битным регистрам 27
3.11.1 Доступ к 24- и 32-битным регистрам 27
3.12 Защита от изменения конфигурации 27
3.12.1 Последовательность записи защищенных регистров ввода-вывода 27
3.12.2 Последовательность выполнения защищенных инструкций SPM/LPM 28
3.13 Fuse-биты для блокировки изменений 28
3.14.1 Регистр защиты от изменения конфигурации CCP 28
3.15 Краткий обзор регистров 28
4.1 Отличительные особенности 30
4.3.1 Сектор прикладной программы 31
4.3.2 Сектор таблицы приложения 31
4.3.4 Сигнатурный код производителя и ячейки калибровки 32
4.7.1 Доступ к EEPROM в пространстве памяти данных 33
4.8.1 Регистры ввода-вывода общего назначения 34
4.10 Память данных и арбитраж шины 34
4.11 Временные характеристики доступа к памяти 34
4.12 Идентификация микроконтроллера 35
4.14 Защита памяти ввода-вывода 35
4.15 Описание регистров контроллера NVM энергонезависимой памяти 35
4.16 Описание регистров - Fuse- и Lock-биты 36
4.17 Описание регистров - сигнатурный код производителя 36
4.17.1 RCOSC2M - регистр калибровочного значения внутреннего генератора частоты 2 МГц 36
4.18 Описание регистров - память ввода-вывода общего назначения 36
4.18.1 GPIORn - регистр ввода-вывода n общего назначения 36
4.19 Описание регистров внешней памяти 36
4.20 Описание регистров управления МК 36
4.20.1 DEVID0 - регистр 0 идентификатора МК 36
4.21 Обзор регистров контроллера энергонезависимой памяти 36
4.22 Обзор регистров Fuse- и Lock-бит 37
4.23 Обзор регистров кода сигнатуры производителя 37
4.24 Обзор регистров ввода-вывода общего назначения 38
4.25 Обзор регистров управления микроконтроллером 39
4.26 Векторы прерываний контроллера энергонезависимой памяти 39
5 Контроллер прямого доступа к памяти (DMA-контроллер) 40
5.1 Отличительные особенности 40
5.3.1 Передача блока и повтор 41
5.13 Описание регистров DMA-контроллера 43
5.13.1 CTRL - регистр управления DMA 43
5.13.2 INTFLAGS - регистр статуса прерываний DMA 44
5.13.3 STATUS - Регистр статуса DMA 44
5.13.4 TEMPH - старший байт временного регистра DMTEMP 44
5.13.5 TEMPL - младший байт временного регистра DMTEMP 45
5.14 Описание регистров DMA-канала 45
5.14.1 CTRLA - регистр А управления DMA-каналом 45
5.14.2 CTRLB - регистр B управления DMA-каналом 46
5.14.3 ADDRCTRL - регистр управления адресом DMA-канала 47
5.14.4 TRIGSRC - источник запуска DMA-канала 48
5.14.5 TRFCNTH - старший регистр счетчика байт при передаче блока по DMA-каналу 49
5.14.6 TRFCNTL - младший регистр счетчика байт при передаче блока по DMA-каналу 49
5.14.7 REPCNT - регистр счетчика повторов в DMA-канале 50
5.14.8 SRCADDR2 - регистр 2 адреса источника DMA-канала 50
5.14.9 SRCADDR1 - регистр 1 адреса источника DMA-канала 50
5.14.10 SRCADDR0 - регистр 0 адреса источника DMA-канала 50
5.14.11 DESTADDR2 - регистр 2 адреса получателя DMA-канала 51
5.14.12 DESTADDR1 - регистр 1 адреса получателя DMA-канала 51
5.14.13 DESTADDR0 - регистр 0 адреса получателя DMA-канала 51
5.15 Обзор регистров DMA-контроллера 51
5.16 Обзор регистров DMA-канала 51
5.17 Обзор векторов прерываний DMA 52
5.18 Использование DMA микропроцессора Xmega 52
5.18.3 Блочная передача и режим повтора 53
5.18.7 Запуск передачи и режим однократного запуска 55
5.18.8 Обработка прерываний 55
5.18.9 Доступ контроллера DMA к многобайтным регистрам 56
5.18.10 Дополнительные возможности 56
6.1 Отличительные особенности 62
6.3.2 Информационные события 63
6.3.3 Ручная генерация событий 63
6.4 Сеть маршрутизации событий 64
6.5 Временные характеристики передачи событий 64
6.7.1 Работа квадратурного декодера 65
6.7.2 Настройка квадратурного декодера 65
6.8.1 CHnMUX - регистр мультиплексора канала события n 66
6.8.2 CHnCTRL - Регистр управления каналом события n 67
6.8.3 STROBE - строб-регистр события 68
6.8.4 DATA - регистр данных события 69
7 Системная синхронизация и источники синхронизации 70
7.1 Отличительные особенности 70
7.3 Распределение сигналов синхронизации 71
7.3.1 Сигнал системной синхронизации- CLKsys 71
7.3.2 Сигнал синхронизации ЦПУ - CLKcpu 71
7.3.3 Сигнал синхронизации УВВ - CLKper 71
7.3.4 Сигналы синхронизации УВВ с удвоенной/учетверенной частотой – CLKper2/CLKper4 71
7.3.5 Асинхронный сигнал синхронизации - CLKasy 72
7.4 Источники синхронизации 72
7.4.1 Внутренние генераторы 72
7.4.2 Внешние источники синхронизации 73
7.5 Настройка системной синхронизации и предделителей частоты 73
7.6 Блок PLL с коэффициентом умножения от 1 до 31 74
7.7 Блоки DFLL 2- и 32-мегагерцевых генераторов 75
7.8 Функция обнаружения отказа внешнего источника синхронизации 76
7.9 Описание регистров системы синхронизации 76
7.9.1 CTRL - регистр управления системной синхронизацией 76
7.10 Описание регистров генераторов 76
7.10.1 CTRL - регистр управления генераторами 76
7.11 Описание регистров блоков DFLL32M/DFLL2M 76
7.11.1 CTRL - регистр управления блоком DFLL 76
7.12 Обзор регистров системы синхронизации 76
7.13 Обзор регистров генераторов 77
7.14 Обзор регистров блоков DFLL32M/DFLL2M 77
7.15 Обзор вектора прерывания при отказе кварцевого генератора 77
8 Управление энергопотреблением и экономичные режимы 78
8.1 Отличительные особенности 78
8.3 Экономичные режимы работы 78
8.3.5 Режим EXTENDED STANDBY 79
8.4 Регистры снижения энергопотребления 79
8.5 Описание регистров управления экономичными режимами 80
8.5.1 CTRL- регистр управления экономичными режимами работы 80
8.6 Описание регистров снижения энергопотребления 80
8.6.1 PRGEN - общий регистр снижения энергопотребления 80
8.6.2 PRPA/B - регистр снижения энергопотребления порта А/В 81
8.6.3 8.6.3. PRPC/D/E/F - регистр снижения энергопотребления порта C/D/E/F 81
8.7 Обзор регистров управления экономичными режимами работы 82
8.8 Обзор регистров управления энергопотреблением 83
9.1 Отличительные особенности 84
9.3 Последовательность сброса 85
9.3.1 Счетчик задержки сброса 85
9.3.3 Калибровка генератора 85
9.4.1 Сброс при подаче питания 85
9.4.3 Сброс от детектора просадки питания 87
9.4.5 Сброс сторожевым таймером 88
9.4.7 Сброс через интерфейс программирования и отладки 89
9.5.1 STATUS - Регистр статуса сброса 89
9.5.2 CTRL - регистр управления сбросом 90
10 Система резервного батарейного питания 91
10.1 Отличительные особенности 91
10.3 Модуль с резервированием питания 91
10.3.1 Обнаружение подачи питания резервного батарейного питания 92
10.3.2 Супервизор батарейного питания 92
10.4 Исчезновение основного питания 92
10.5 Основной сброс и последовательность запуска 93
10.5.1 Резервирование питания разрешено 93
10.5.2 Резервирование питания не разрешено и сбой в его работе 93
10.6.1 CTRL: регистр управления резервированием питания 93
10.6.2 STATUS: регистр статуса модуля с резервированием питания 94
10.6.3 BACKUP0: регистр 0 с резервным батарейным питанием 95
11.1 Отличительные особенности 96
11.3 Нормальный режим работы 96
11.5 Синхронизация сторожевого таймера 97
11.6 Защита и блокировка конфигурации 97
11.7.1 CTRL - регистр управления сторожевым таймером 98
11.7.2 WINCTRL - регистр управления оконным режимом 99
11.7.3 STATUS - регистр статуса сторожевого таймера 100
12 Прерывания и программируемый многоуровневый контроллер прерываний 101
12.1 Отличительные особенности 101
12.4.1 Немаскируемые прерывания (NMI) 102
12.4.2 Задержка реагирования на прерывание 102
12.6.1 Статическая приоритезация 103
12.6.2 Динамическая приоритезация 104
12.7 Перемещение векторов прерываний между сектором прикладной программы и загрузочным сектором 104
12.8.1 STATUS - регистр статуса PMIC-контроллера 104
12.8.2 INTPRI - регистр приоритета прерываний PMIC Priority Register 105
12.8.3 CTRL - регистр управления PMIC-контроллером 105
13.1 Отличительные особенности 107
13.3 Использование линий ввода-вывода 108
13.4 Настройка линий ввода-вывода 108
13.4.2 Подтягивание к минусу питания 109
13.4.3 Подтягивание к плюсу питания 109
13.4.4 Адаптивная подтяжка 109
13.4.5 Выход "монтажное ИЛИ" 110
13.4.6 Выход "монтажное И" 110
13.5 Опрос состояния линии в/в 110
13.6 Настройка параметров контроля входа 110
13.8 Генерация событий портом ввода-вывода 112
13.9 Альтернативные функции портов 112
13.10 Управление скоростью фронтов 113
13.11 Вывод синхронизации и событий 113
13.12 Мультипортовая конфигурация 113
13.13 Виртуальные регистры 114
13.14 Описание регистров портов 114
13.14.1 DIR - регистр направления 114
13.14.2 DIRSET - регистр установки бит направления 114
13.14.3 DIRCLR - регистр сброса бит направления 114
13.14.4 DIRTGL - регистр инвертирования бита направления 114
13.14.5 OUT - регистр вывода данных 115
13.14.6 OUTSET - регистр установки выходов порта 115
13.14.7 OUTCLR - регистр сброса выходов порта 115
13.14.8 OUTTGL - регистр инвертирования выходов порта 115
13.14.9 IN - регистр ввода данных 116
13.14.10 INTCTRL - регистр управления прерываниями 116
13.14.11 INT0MASK - регистр маски прерывания 0 116
13.14.12 INT1MASK - регистр маски прерывания 1 116
13.14.13 INTFLAGS - регистр флагов прерывания 117
13.14.14 PINnCTRL - конфигурационный регистр линии n 117
13.15 Описание регистров мультипортовой конфигурации 118
13.15.1 MPCMASK - регистр маски одновременной и одинаковой конфигурации нескольких линий в/в 118
13.15.2 VPCTRLA - регистр А управлению связью с виртуальными портами 118
13.15.3 VPCTRLB - регистр В управлению связью с виртуальными портами 118
13.15.4 CLKEVOUT - регистр вывода сигналов событий и синхронизации 119
13.16 Описание регистров виртуальных портов 120
13.16.1 DIR - регистр направления 120
13.16.2 OUT - регистр вывода данных 120
13.16.3 IN - регистр ввода данных 120
13.16.4 INTFLAGS - регистр флагов прерываний 120
13.17 Обзор регистров портов 121
13.18 Обзор регистров мультипортовой конфигурации 121
13.19 Обзор регистров виртуальных портов 121
13.20 Обзор векторов прерываний портов ввода-вывода 122
14 16-битный таймер-счетчик 123
14.1 Отличительные особенности 123
14.4 Источники синхронизации и событий 125
14.6.2 Управляемый событиями режим работы 127
14.7.3 Захват длительности импульса 129
14.7.4 32-битный входной захват 129
14.7.5 Переполнение захвата 130
14.8.1 Генерация импульсов 130
14.8.2 Генерация частотных сигналов (FRQ) 130
14.8.3 Генерация ШИМ сигнала в режиме PWM с однонаправленным счетом 131
14.8.4 Генерация ШИМ сигнала в режиме PWM с двунаправленным счетом 131
14.8.5 Вывод сигналов генератора импульсов на линии порта 132
14.11 Команды таймера-счетчика 133
14.12.1 CTRLA - регистр управления А 133
14.12.2 CTRLB - регистр управления В 133
14.12.3 CTRLC - регистр управления C 134
14.12.4 CTRLD - регистр управления D 134
14.12.5 CTRLE - регистр управления E 135
14.12.6 INTCTRLA - регистр А разрешения прерываний 135
14.12.7 INTCTRLB - регистр В разрешения прерываний 136
14.12.8 CTRLFCLR/CTRLFSET - сброс/установка регистра управления F 136
14.12.9 CTRLGCLR/CTRLGSET - сброс/установка регистра управления G 137
14.12.10 INTFLAGS - регистр флага прерывания 137
14.12.11 TEMP - временный регистр для 16-битного доступа 138
14.12.12 CNTH - старший регистр счетчика 139
14.12.13 CNTL - младший регистр счетчика 139
14.12.14 PERH - старший регистр периода 139
14.12.15 PERL - младший регистр периода 139
14.12.16 CCxH - старший регистр n захвата/сравнения 139
14.12.17 CCxL - младший регистр n захвата/сравнения 140
14.12.18 PERBUFH - старший буферный регистр периода таймера-счетчика 140
14.12.19 PERBUFL - младший буферный регистр периода таймера-счетчика 140
14.12.20 CCxBUFH - старший регистр буфера захвата или сравнения х 140
14.12.21 CCxBUFL - младший регистр буфера захвата или сравнения x 141
14.14 Обзор векторов прерываний 142
15 Блок расширения возможностей генерации импульсов AWeX 143
15.1 Отличительные особенности 143
15.4 Генерация паузы неперекрытия 145
15.6 Защита от повреждения 146
15.6.2 Режимы восстановления нормальной работы 146
15.6.4 Взаимодействие со встроенной отладочной системой 147
15.7.1 CTRL - Регистр управления 147
15.7.2 FDEMASK - регистр маски событий для обнаружения повреждения 148
15.7.3 FDCTRL - регистр управления обнаружением отказа 148
15.7.4 STATUS - регистр статуса 149
15.7.5 DTBOTH - регистр общего доступа к паузам неперекрытия 149
15.7.6 DTBOTHBUF - регистр общего доступа к буферным регистрам пауз неперекрытия 150
15.7.7 DTLS - регистр паузы неперекрытия нижнего уровня 150
15.7.8 DTHS - регистр паузы неперекрытия верхнего уровня 150
15.7.9 DTLSBUF - буферный регистр паузы неперекрытия нижнего уровня 150
15.7.10 DTHSBUF - буферный регистр паузы неперекрытия верхнего уровня 150
15.7.11 OUTOVEN - регистр разрешения перекрытия выходов 151
16 Блок расширения разрешающей способности 152
16.1 Отличительные особенности: 152
16.3.1 CTRLA - регистр управления А блока Hi-Res 152
17 Счетчик реального времени RTC 154
17.1 Отличительные особенности 154
17.2.1 Домены синхронизации 154
17.2.2 Прерывания и события 155
17.3.1 CTRL - регистр управления счетчиком реального времени 155
17.3.2 STATUS - регистр статуса счетчик реального времени 155
17.3.3 INTCTRL - регистр управления прерываниями счетчика реального времени 156
17.3.4 INTFLAGS - регистр флагов прерываний счетчика реального времени 156
17.3.5 TEMP - временный регистр счетчика реального времени 156
17.3.6 CNTH - старший регистр счетчика реального времени 157
17.3.7 CNTL - младший регистр счетчика реального времени 157
17.3.8 PERH - старший регистр периода счетчика реального времени 157
17.3.9 PERL - младший регистр периода счетчика реального времени 157
17.3.10 COMPH - старший регистр сравнения счетчика реального времени 158
17.3.11 COMPL - младший регистр сравнения счетчика реального времени 158
17.5 Обзор векторов прерываний 158
18 32-битный счетчик реального времени RTC32 160
18.1 Отличительные особенности 160
18.2.1 Настройка синхронизации 160
18.2.2 Домены синхронизации 160
18.2.4 События и прерывания 161
18.3.1 CTRL - регистр управления 161
18.3.2 SYNCCTRL - регистр управления/статуса синхронизации 161
18.3.3 INTCTRL - регистр управления прерываниями 162
18.3.4 INTFLAGS - регистр флагов прерываний 162
18.3.5 CNT3 - регистр счетчика 3 163
18.3.6 CNT2 - регистр счетчика 2 163
18.3.7 CNT1 - регистр счетчика 1 163
18.3.8 CNT0 - регистр счетчика 0 163
18.3.9 PER3 - регистр периода 3 163
18.3.10 PER2 - регистр периода 2 164
18.3.11 PER1 - регистр периода 1 164
18.3.12 PER0 - регистр периода 0 164
18.3.13 COMP3 - регистр сравнения 3 164
18.3.14 COMP2 - регистр сравнения 2 164
18.3.15 COMP1 - регистр сравнения 1 164
18.3.16 COMP0 - регистр сравнения 0 165
18.5 Обзор векторов прерываний 165
19 Двухпроводной интерфейс TWI 166
19.1 Отличительные особенности 166
19.3 Принцип действия шины TWI 167
19.3.1 Электрические характеристики 168
19.3.2 Условия START и STOP 168
19.3.7 Синхронизация и задержка импульсов синхронизации 170
19.3.9 Синхронизация ведущих устройств 171
19.4 Логика контроля состояния шины TWI 172
19.5 Работа ведущего модуля TWI 173
19.5.1 Передача пакета адреса 173
19.5.2 Передача пакетов данных 174
19.5.3 Прием пакетов данных 174
19.6 Работа подчиненного модуля TWI 175
19.6.1 Прием пакета адреса 175
19.6.2 Прием пакетов данных 176
19.6.3 Передача пакетов данных 176
19.7 Разрешение работы интерфейса внешнего драйвера 176
19.8 Описание регистров модуля TWI 176
19.8.1 CTRL - общий регистр управления модуля TWI 176
19.9 Описание регистров ведущего модуля TWI 177
19.9.1 CTRLA - регистр управления А ведущего модуля TWI 177
19.9.2 CTRLB - регистр управления В ведущего модуля TWI 177
19.9.3 CTRLC - регистр управления С ведущего модуля TWI 178
19.9.4 STATUS - регистр статуса ведущего устройства 179
19.9.5 BAUD - регистр скорости 180
19.10 Ftwi = Fsys/[2(5+BAUD)], Гц (1) 180
19.11 BAUD = (Fsys/2 * Ftwi) - 5 (2) 180
19.11.1 ADDR - регистр адреса ведущего модуля TWI 180
19.11.2 DATA - регистр данных ведущего модуля TWI 181
19.12 Описание регистров подчиненного модуля TWI 181
19.12.1 CTRLA - регистр управления А подчиненного модуля TWI 181
19.12.2 CTRLB - регистр управления В починенным модулем TWI 182
19.12.3 STATUS- регистр статуса подчиненного модуля TWI 182
19.12.4 ADDR - регистр адреса подчиненного модуля TWI 184
19.12.6 ADDRMASK - регистр маски адреса подчиненного модуля TWI 184
19.13 Обзор регистров модуля TWI 185
19.14 Обзор регистров ведущего модуля TWI 185
19.15 Обзор регистров подчиненного модуля TWI 185
19.15.1 Обзор векторов прерываний 185
20 Последовательный интерфейс SPI 187
20.1 Отличительные особенности 187
20.7.1 CTRL - регистр управления SPI 189
20.7.2 INTCTRL - регистр управления прерываниями SPI 190
20.7.3 STATUS - регистр статуса модуля SPI 191
20.7.4 DATA - регистр данных SPI 191
20.9 Векторы прерываний модуля SPI 191
21.1 Отличительные особенности 192
21.3 Генерация синхронизации 193
21.3.1 Внутренняя генерация синхронизации дробным генератором скорости 194
21.3.2 Внешняя синхронизация 195
21.3.3 Работа с удвоенной скоростью (CLK2X) 195
21.3.5 Генерация синхронизации для шины SPI 196
21.4.1 Вычисление бита паритета 197
21.4.2 SPI-совместимые форматы посылок 197
21.6 Отправка данных передатчиком USART 197
21.6.2 Отключение передатчика 198
21.7 Получение данных приемником USART 198
21.7.2 Флаги ошибок приемника 198
21.7.4 Отключение приемника 198
21.7.5 Очистка буфера приемника 199
21.8 Асинхронный прием данных 199
21.8.1 Восстановление синхронизации 199
21.8.2 Восстановление данных 199
21.8.3 Рабочий диапазон асинхронного приемника 200
21.9 Дробная генерация скорости 201
21.10 Работа USART в ведущем SPI-совместимом режиме 202
21.11 Сравнение режима SPI модуля USART с модулем SPI 202
21.12 Режим мультипроцессорной связи 203
21.12.1 Использование режима мультипроцессорной связи 203
21.13 Работа в режиме IRCOM 204
21.15.1 DATA - регистр ввода-вывода данных модуля USART 204
21.15.2 STATUS - регистр статуса USART 204
21.15.3 CTRLA - регистр управления А модуля USART 206
21.15.4 CTRLB - регистр управления В модуля USART 206
21.15.5 CTRLC - регистр управления С модуля USART 207
21.16 Таблица 21.6. Настройка бит CMODE 207
21.16.1 BAUDCTRLA - регистр скорости USART 208
21.16.2 BAUDCTRLB - регистр скорости USART 208
21.17.1 Описание регистров модуля USART 209
21.17.2 Описание регистров модуля USART, работающего в режиме ведущего интерфейса SPI 209
21.18 Обзор векторов прерываний 210
22 Модуль инфракрасной связи IRCOM 211
22.1 Отличительные особенности 211
22.3 22.2.1. Фильтрация системы событий 212
22.4.1 TXPLCTRL - регистр управления длительностью импульса передатчика IRCOM 212
22.4.2 RXPLCTRL - регистр управления длительностью импульса приемника IRCOM 212
22.4.3 CTRL - регистр управления IRCOM 212
23.1.1 Отличительные особенности 214
23.4.1 Память ключа и память состояния 215
23.5 Обзор регистров модуля AES 217
23.5.1 CTRL - регистр управления модулем AES 217
23.5.2 STATUS - регистр статуса модуля AES 217
23.5.3 STATE - регистр состояния модуля AES 218
23.5.4 KEY - регистр ключа модуля AES 218
23.5.5 INTCTRL - регистр управления прерыванием модуля AES 218
23.6 Обзор регистров модуля AES 219
23.7 Вектор прерываний модуля AES 219
24 Интерфейс внешней шины EBI 220
24.1 Отличительные особенности 220
24.3 Выходы выбора микросхем 220
24.3.2 Размер адресного пространства 221
24.3.3 Выхода выбора микросхем в качестве адресных линий 221
24.4 Настройка линий ввода-вывода 221
24.6 Совместная работа со SRAM 222
24.6.1 Работа без мультиплексирования 222
24.6.2 Мультиплексирование байтов адреса 0 и 1 222
24.6.3 Мультиплексирование байтов адреса 0 и 2 223
24.6.4 Мультиплексирование байтов адреса 0, 1 и 2 223
24.6.5 Требования к регистрам фиксации адреса 223
24.6.6 Временная диаграмма 223
24.7 Совместная работа со SRAM LPC-типа 223
24.7.1 Мультиплексирование данных с байтом адреса 0 223
24.7.2 Мультиплексирование данных с байтами адреса 0 и 1 224
24.8 Совместная работа с SDRAM 224
24.8.1 Поддерживаемые команды 224
24.8.2 3-портовая конфигурация интерфейса EBI 225
24.8.3 4-портовая конфигурация интерфейса EBI 225
24.8.4 Временная диаграмма 225
24.9 Комбинированное подключение к SRAM и SDRAM 226
24.10 Временная диаграмма интерфейса EBI 226
24.11 Описание регистров модуля EBI 227
24.11.1 CTRL - регистр управления модулем EBI 227
24.11.2 SDRAMCTRLA - регистр A управления SDRAM 228
24.11.3 REFRESH - регистр периода регенерации SDRAM 229
24.11.4 INITDLY - регистр задержки инициализации SDRAM 229
24.11.5 SDRAMCTRLB - регистр В управления SDRAM 230
24.11.6 SDRAMCTRLC - регистр С управления SDRAM 230
24.12 Описание регистров управления выбором микросхем 231
24.12.1 CTRLA - регистр А управления выбором микросхемы 231
24.12.2 CTRLB (SRAM) - регистр В управления выбором микросхемы 232
24.12.3 CTRLB (SDRAM) - регистр В управления выбором микросхемы 233
24.12.4 BASEADDR - регистр базового адреса выбора микросхемы 233
24.13 Обзор регистров модуля EBI 234
24.14 Обзор регистров управления выбором микросхем 235
25 Аналогово-цифровой преобразователь ADC 236
25.1 Отличительные особенности 236
25.3.1 Дифференциальный вход 237
25.3.2 Дифференциальный вход с усилением 238
25.3.3 Несимметричный вход 238
25.5 Выбор опорного напряжения 240
25.6 Результат преобразования 240
25.8 Запуск преобразования 242
25.9 Синхронизация и временная диаграмма преобразования АЦП 242
25.9.1 Одиночное преобразование без усиления 243
25.9.2 Одиночное преобразование с усилением 243
25.9.3 Одиночные преобразования в двух каналах АЦП 244
25.9.4 Одиночные преобразования в двух каналах АЦП с усилением в канале 0 244
25.9.5 Одиночные преобразования в двух каналах АЦП с усилением в канале 1 244
25.9.6 Автоматический режим с усилением в двух каналах АЦП 245
25.11 Прерывания и события 245
25.14 Синхронизация выборок 246
25.15 Описание регистров модуля АЦП 246
25.15.1 CTRLA - регистр управления А модуля АЦП 246
25.15.2 CTRLB - регистр управления В модуля АЦП 247
25.15.3 REFCTRL - регистр управления опорным напряжением АЦП 247
25.15.4 EVCTRL - регистр управления событиями АЦП 248
25.15.5 PRESCALER - регистр предделителя синхронизации АЦП 249
25.15.6 INTFLAGS - регистр флагов прерываний АЦП 250
25.15.7 TEMP - временный регистр АЦП 250
25.15.8 CALL - регистр младшего байта калибровочного значения АЦП 250
25.15.9 CALH - регистр старшего байта калибровочного значения АЦП 251
25.15.10 CHnRESH - старший регистр результата канала АЦП n 251
25.15.11 CHnRESL - младший регистр результата канала АЦП n 251
25.15.12 CMPH - старший регистр сравнения модуля АЦП 252
25.15.13 CMPL - младший регистр сравнения модуля АЦП 252
25.16 Описание регистра канала АЦП 252
25.16.1 CTRL - регистр управления канала АЦП 252
25.16.2 MUXCTRL - регистры управления мультиплексором канала АЦП 253
25.16.3 INTCTRL - регистры управления прерыванием канала АЦП 255
25.16.4 INTFLAG - регистр флагов прерываний канала АЦП 255
25.16.5 RESH - старший регистр результата канала АЦП n 256
25.16.6 RESL - младший регистр результата канала АЦП n 256
25.18 Обзор регистров канала АЦП 257
25.19 Обзор векторов прерываний 258
26 Цифро-аналоговый преобразователь DAC 259
26.1 Отличительные особенности 259
26.3 Запуск преобразования 259
26.5 Синхронизация модуля DAC 260
26.6 Ограничения к временным характеристикам 260
26.7 Экономичный режим работы 260
26.9.1 CTRLA - регистр А управления модулем DAC 260
26.9.2 CTRLB - регистр В управления модулем DAC 261
26.9.3 CTRLC - регистр С управления ЦАП 261
26.9.4 EVCTRL - регистр управления событиями 262
26.9.5 TIMCTRL - регистр задания временных характеристик ЦАП 262
26.9.6 STATUS - регистр статуса ЦАП 264
26.9.7 CH0DATAH - старший регистр данных канала ЦАП 0 264
26.9.8 CH0DATAL - младший регистр данных канала ЦАП 0 265
26.9.9 CH1DATAH - старший регистр данных канала ЦАП 1 265
26.9.10 CH1DATAL - младший регистр данных канала ЦАП 1 266
26.9.11 GAINCAL - регистр калибровки коэффициента передачи ЦАП 266
26.9.12 OFFSETCAL - регистр калибровки смещения ЦАП 267
27 Аналоговый компаратор AC 269
27.1 Отличительные особенности 269
27.4 Запуск сравнения сигналов 270
27.5 Генерация прерываний и событий 270
27.8 Зависимость энергопотребления от задержки распространения 270
27.9.1 ACnCTRL - регистр управления аналоговым компаратором n 271
27.9.2 ACnMUXCTRL - регистр управления мультиплексором аналогового компаратора n 271
27.9.3 CTRLA - регистр управления А 272
27.9.4 CTRLB - регистр управления В 272
27.9.5 WINCTRL - регистр управления оконным режимом аналоговых компараторов 273
27.9.6 STATUS - общий регистр статуса аналоговых компараторов 273
27.11 Обзор векторов прерываний 275
28 IEEE 1149.1-совместимый интерфейс JTAG 276
28.1 Отличительные особенности 276
28.4.3 SAMPLE/PRELOAD; 0x2 279
28.5.2 Регистр идентификации МК 280
28.5.3 Цепь граничного сканирования 281
28.5.4 Регистр данных PDICOM 281
28.6 Цепь граничного сканирования 281
28.6.1 Сканирование линий ввода-вывода 281
28.6.2 Сканирование линий PDI 282
29 Интерфейс программирования и отладки PDI 283
29.1 Отличительные особенности 283
29.3.3 Формат посылки и символы 285
29.3.4 Последовательные передача и прием 286
29.3.5 Последовательная передача данных 286
29.3.6 Последовательный прием 287
29.3.7 Изменение направления 287
29.4.3 Набор инструкций JTAG 288
29.4.4 Формат посылки и символов 289
29.4.5 Последовательные передача и прием 289
29.4.6 Последовательная передача 290
29.4.7 Последовательный прием 290
29.5.1 Переключение между режимами PDI и JTAG 291
29.5.2 Доступ к внутренним интерфейсам 291
29.5.3 Ключ программирования энергонезависимой памяти 291
29.5.4 Обработка исключительных ситуаций 291
29.5.7 Обзор набора инструкций 294
29.6 Описание регистров инструкции и адресации интерфейса PDI 294
29.6.3 Регистр счетчика повторов 295
29.6.4 Регистр счетчика операндов 295
29.7 Описание регистров управления и статуса интерфейса PDI 295
29.7.1 STATUS - регистр статуса интерфейса PDI 295
29.7.2 RESET - регистр сброса 295
29.7.3 CTRL - регистр управления интерфейсом PDI 296
30 Программирование запоминающих устройств 298
30.1 Отличительные особенности 298
30.4.1 Команды с запуском по действию 299
30.4.2 Команды с запуском по чтению NVM 299
30.4.3 Команды с запуском по записи NVM 299
30.4.4 Механизм CCP для защиты записи/исполнения 299
30.5 Особенности работы NVM-контроллера в занятом состоянии 299
30.6 Страничные буферы Flash-памяти и EEPROM 300
30.6.1 Страничный буфер Flash-памяти 300
30.6.2 Страничный буфер EEPROM 300
30.7 Последовательности программирования Flash-памяти и EEPROM 301
30.7.1 Последовательность программирования Flash-памяти 301
30.7.2 Последовательность программирования EEPROM 301
30.8 Защита энергонезависимой памяти 302
30.9 Предотвращение нарушения данных 302
30.9.1 Сбои во время записи 302
30.9.2 Сбои во время чтения 302
30.11 Самопрограммирование под управлением программы загрузчика 302
30.11.1 Программирование Flash-памяти 302
30.11.2 NVM-команды Flash-памяти 304
30.11.3 NVM-команды доступа к Fuse- и Lock-битам 309
30.11.4 Программирование EEPROM 310
30.11.5 NVM-команды EEPROM 311
30.12 Внешнее программирование 313
30.12.1 Разрешение работы интерфейса внешнего программирования 314
30.12.2 Программирование NVM 314
31 Карта памяти модулей ввода-вывода 319
32 Краткое описание набора инструкций 321
33 Приложение А. Временные диаграммы модуля EBI 325
33.1 3-портовое подключение SRAM с ALE1 и CS 325
33.2 3-портовое подключение SRAM с ALE12 и CS 325
33.3 4-портовое подключение SRAM с ALE2 и CS 326
33.4 4-портовое подключение SRAM с CS и без ALE 326
33.5 2-портовое подключение LPC памяти с ALE12 и CS 326
33.6 3-портовое подключение LPC памяти с ALE1 и CS 327
33.7 2-портвоое подключение LPC памяти с ALE1 и CS 327
33.8 3-портовое подключение SRAM с ALE1 и без CS 327
33.9 4-портвоое подключение SRAM без ALE и CS 328
33.10 2-портовое подключение LPC памяти с ALE12 и без CS 328
33.12 8-битная запись SDRAM 329
33.13 8-битное чтение SDRAM 330
33.14 Запись 4-битного SDRAM 332
33.15 Чтение 4-битного SDRAM 334
34 Электрические характеристики 337
34.1 Предельно-допустимые параметры* 337
34.2 Статические характеристики 337
34.6 Характеристики аналоговых компараторов 339
35 Сведения о выявленных ошибках в работе микроконтроллеров 340
1Про данное руководство
В данном документе приводится подробное описание всех встроенных в AVR-микроконтроллеры XMEGA A модулей и УВВ. Всех их особенности задокументированы на функциональном уровне и описаны по общей методике. Рассматриваемые в данном руководстве модули и УВВ могут не входить в состав некоторых микроконтроллеров XMEGA A.
Специфическую для каждого микроконтроллера информацию, как, например, характеристические данные, размеры памяти, доступные модули и УВВ, а также их абсолютные адреса в памяти необходимо искать в документации на интересующий микроконтроллер.
Если в микроконтроллер входит несколько одинаковых УВВ, как, например, порт ввода-вывода (ПВВ), каждый из них будет иметь собственное наименование. Применительно к ПВВ такими наименованиями будут PORTA, PORTB и т.д. Наименования регистров и их бит уникальны для каждого конкретного модуля и УВВ.
Более подробные примеры использования модулей и УВВ с кодами программ можно найти среди рекомендаций по применению микроконтроллеров XMEGA A, доступные по ссылке: http://www.atmel.com/avr.
1.1Рекомендации по чтению руководства
Каждый из разделов руководства посвящен описанию отдельных модулей и УВВ. В начале раздела обязательно приводится краткий перечень наиболее важных особенностей и обзор возможностей модуля. В остальной же части раздела приводится более детальное описание особенностей и функциональных возможностей.
В подразделах, посвященных описанию регистров, приводится наименование каждого отдельного бита/флага и его назначение. Здесь так же можно найти подробности по настройке модуля и активизации его различных функций. Если в настройке модуля принимают участие несколько бит, они собираются в битовую группу. Возможности конфигурации битовых групп приводятся в отдельных таблицах вместе с групповой настройкой и кратким описанием. Групповая настройка ссылается на наименования настроек, которые определены в Си и ассемблерных заголовочных файлах и исходных кодах рекомендаций по применению.
В подразделах, посвященных краткому обзору регистров, приводятся таблицы с перечнем регистров для каждого модуля и их адресами в памяти. Аналогичным образом, в подразделах, посвященных краткому описанию векторов прерываний, приводится таблица с векторами прерываний каждого модуля и их адреса смещения.
1.2Ресурсы
Широкий выбор инструментальных средств для проектирования, рекомендаций по применению и документации доступен для скачивания по ссылке http://www.atmel.com/avr.
1.3Рекомендовано для прочтения
-
Документация на микроконтроллеры XMEGA A
-
Рекомендации по применениям XMEGA A
В данном руководстве приводится только общие описания модулей и УВВ. Специфическая информация по микроконтроллерам XMEGA A приводится в документации на них. Порядок использования модулей МК XMEGA A с примерами кодов программ содержится в рекомендациях по применению.
Новичкам рекомендуется для прочтения рекомендации по применению AVR1000 - руководство по быстрому освоению программирования МК XMEGA на языке Си, а также AVR1900 - руководство по быстрому освоению ATxmega128A1.
2Обзор
XMEGA A - семейство экономичных, высокопроизводительных и с обширным набором УВВ 8/16-битные КМОП микроконтроллеров, выполненных по улучшенной RISC-архитектуре AVR. МК XMEGA A выполняют большинство своих инструкций за один цикл синхронизации. Благодаря этому, производительность МК близка к 1MIPS/МГц, а разработчики получают возможность оптимизировать соотношение энергопотребления и производительности.
ЦПУ AVR сочетают обширный набор инструкций и 32 рабочих регистра общего назначения. Все 32 регистра напрямую подключены к арифметико-логическому устройству (ALU), что позволяет осуществлять одной инструкции доступ к двум разным рабочим регистрам, а также выполнять такую инструкцию за один цикл синхронизации. В конечном счете, данная архитектура отличается более эффективным кодом программы и позволяет достичь производительности во много раз превышающей производительность обычных микроконтроллеров с одним аккумулятором или CISC-микроконтроллеров.
Микроконтроллеры XMEGA A интегрируют следующие ресурсы: внутрисистемно-программируемая Flash-память с возможностями чтения во время записи, внутренние EEPROM и SRAM, четырехканальный DMA-контроллер, восьмиканальная система событий и программируемый многоуровневый контроллер прерываний, до 78 линий ввода-вывода общего назначения, 16- или 32-битный счетчик реального времени (RTC), до 8 универсальных 16-битных таймеров-счетчиков с режимами сравнения и возможностями широтно-импульсной модуляции (ШИМ), до восьми интерфейсов USART, до четырех I2C- и SMBUS-совместимых интерфейсов TWI, до четырех интерфейсов SPI, ускорители криптографических алгоритмов AES и DES, до двух 8-канальных 12-битных аналогово-цифровых преобразователей (АЦП, ADC) с опциональным дифференциальным входным усилительным каскадом с программируемым усилением, до двух 2-канальных 12-битных цифро-аналоговых преобразователей (ЦАП, DAC), до четырех аналоговых компараторов с оконным режимом, программируемый сторожевой таймер с отдельным внутренним генератором, точные внутренние генераторы с функциями фазовой автоподстройки частоты (ФАПЧ, PLL) и предделения частоты, а также программируемый супервизор питания (BOD).
Кроме того, в МК входят два интерфейса, которые могут использоваться для программирования МК и доступа к встроенной отладочной системе: 2-проводной быстродействующий интерфейс PDI и IEEE 1149.1-совместимый интерфейс JTAG.
МК XMEGA A поддерживают пять программно-выбираемых экономичных режима работы. В режиме IDLE останавливается ЦПУ, но, при этом, продолжают работать SRAM, DMA-контроллер, система событий, контроллер прерываний и все УВВ. В режиме POWER-DOWN сберегается содержимое SRAM и регистров, а все прочие функции, вследствие остановки генераторов, прекращают работу до следующего прерывания модуля TWI, прерывания по изменению состояния выводов или сброса МК. В режиме POWER-SAVE, продолжает работу асинхронный счетчик реального времени, оставляя активной функцию счета времени, а остальная часть МК бездействует. В режиме STANDBY, отключены все ресурсы МК, кроме кварцевого генератора. Использование этого режима полезно в случаях, когда в сочетании с малым энергопотреблением необходимо добиться очень малых задержек возобновления нормального функционирования МК.
В режиме EXTENDED STANDBY, остаются в работе и основной генератор, и асинхронный таймер. Добиться дальнейшего снижения энергопотребления можно путем отключения синхронизации неиспользуемых УВВ в активном режиме работы, а также в режиме IDLE.
Микроконтроллеры выпускаются с использованием разработанной Atmel технологии высокоплотной энергонезависимой памяти. Программирование Flash-памяти можно выполнить внутрисистемно посредством интерфейса PDI или JTAG. Программирование Flash-памяти можно также выполнить под управлением исполняемой ядром AVR программы загрузчика, которая для приема кода программы может использовать любой из интерфейсов. Программа загрузчика хранится в загрузочном секторе Flash-памяти и продолжает выполняться даже во время обновления сектора прикладной программы Flash-памяти, таким образом, добиваясь истинной поддержки возможности чтения во время записи. Благодаря сочетанию 8/16-битного ЦПУ RISC и внутрисистемно-самопрограммируемой Flash-памяти, микроконтроллеры XMEGA A являются универсальным и выгодным в ценовом плане инструментом для решения многих задач встраиваемого управления.
Микроконтроллеры XMEGA A поддерживаются полным набором программных и аппаратных средств для проектирования, в т.ч. Си-компиляторы, макро-ассемблеры, программные отладчики/симуляторы, программаторы и оценочные наборы.
2.1Функциональная схема
Рисунок 2.1. Функциональная схема микроконтроллеров XMEGA A
3ЦПУ AVR
3.1Отличительные особенности
-
8/16-битное высокопроизводительное RISC ЦПУ AVR
-
138 инструкций
-
Аппаратное умножающее устройство
-
32 8-битных регистра, напрямую подключенные к ALU
-
Стек в оперативной памяти
-
Указатель стека доступен в пространстве памяти ввода-вывода
-
Прямая адресация до 16 Мбайт памяти программ и 16 Мбайт памяти данных
-
Полная поддержка 16/24-битного доступа к 16/24-битным регистрам ввода-вывода
-
Эффективная поддержка 8-, 16- и 32-битных арифметических инструкций
-
Защита от изменения настроек критических функций системы
3.2Обзор
Микроконтроллеры XMEGA выполнены на основе 8/16-битного ЦПУ AVR. Основной функцией ЦПУ является гарантирование корректности выполнения программы. ЦПУ имеет возможности доступа к запоминающим устройствам, выполнения вычислений и управления УВВ. Механизм обработки прерываний более детально описан в отдельном разделе 12 "Прерывания и программируемый многоуровневый контроллер прерываний".
3.3Обзор архитектуры
В целях достижения максимальной производительности и параллелизма у МК AVR используется Гарвардская архитектура с отдельными памятью и шинами программ и данных. Инструкции, хранящиеся в памяти программ, выполняются на одноуровневом конвейере. Это означает, что во время выполнения одной инструкции выполняется предварительная выборка из памяти программ следующей инструкции. Данная концепция делает возможным выполнение по одной инструкции за каждый цикл синхронизации. Перечень и краткое описание всех инструкций AVR можно найти в разделе 32 "Краткое описание набора инструкций". Подробное описание набора инструкций AVR можно найти по ссылке http://www.atmel.com/avr.
Рисунок 3.1. Архитектура AVR
Арифметико-логическое устройство (АЛУ, ALU) выполняет арифметические и логические операции между регистрами или между константой и регистром. В АЛУ также могут выполняться операции над одним регистром.
По завершении арифметических операций обновляется регистр статуса, в котором отражается информация о результате операции.
АЛУ напрямую подключено к регистровому файлу, который состоит из 32 8-битных рабочих регистров общего назначения. Данные регистры предоставляют ALU возможность одноциклового доступа при выполнении операций между регистрами или между регистром и константой. Шесть из этих 32 регистров могут использоваться, как три 16-битных указателя адреса. Их можно использовать для адресации в пространствах памяти данных и памяти программ с возможностями автоматического вычисления адресов.
Пространства памяти являются полностью линейными и регулярными. Пространство памяти данных и пространство памяти программ полностью независимы.
Пространство памяти данных разделяется на регистры ввода-вывода и SRAM. Кроме того, через пространство памяти данных можно получить доступ к EEPROM.
Все регистры статуса и управления УВВ расположены в младших 4 килобайтах адресов памяти данных. Данное пространство называется пространством памяти ввода/вывода. К младшим 64 адресам можно адресоваться напрямую или как к ячейкам памяти данных по адресам 0x00…0x3F. Остальная часть называется пространством расширенной памяти ввода-вывода и расположена по адресам 0x40…0x1FFF. Доступ к этим регистрам ввода-вывода выполняется по их адресам в пространстве памяти данных с использованием инструкций чтения (LD/LDS/LDD) и записи (ST/STS/STD).
В SRAM могут сберегаться только данные, а код программы не может выполняться из него. Доступ к данным в SRAM можно осуществить с использованием пяти различных режимов адресации, поддерживаемых архитектурой AVR. Начальным адресом SRAM является 0x2000.
Адреса в памяти данных от 0x1000 до 0x1FFF зарезервированы для отображения в ней EEPROM.
Память программ разделена на два сектора: сектор прикладной программы и загрузочный сектор. У каждого из секторов имеются отдельные биты защиты (Lock-биты) для блокировки записи и чтения/записи. Программа в загрузочном секторе с использованием инструкции SPM имеет возможность программирования сектора прикладной программы. Еще один, третий, сектор находится внутри сектора прикладной программы. Он называется сектором таблицы приложения и имеет отдельные биты защиты от записи и чтения/записи. Сектор таблицы приложения может использоваться для энергонезависимого хранения данных или кода программы.
3.4Арифметико-логическое устройство
Арифметико-логическое устройство (АЛУ, ALU) выполняет арифметические и логические операции между регистрами или между константой и регистром. Им также могут выполняться операции над одним регистром. АЛУ напрямую подключено ко всем 32 регистрам общего назначения. При выполнении типичной одноцикловой операции в АЛУ, два операнда берутся из регистрового файла, затем, над ними выполняется операция, а результат возвращается обратно в регистровый файл.