ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 14.01.2021

Просмотров: 9220

Скачиваний: 82

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

1Про данное руководство

1.1Рекомендации по чтению руководства

1.2Ресурсы

1.3Рекомендовано для прочтения

2Обзор

2.1Функциональная схема

3ЦПУ AVR

3.1Отличительные особенности

3.2Обзор

3.3Обзор архитектуры

3.4Арифметико-логическое устройство

3.4.1Аппаратное умножающее устройство

3.5Программный поток

3.6Временная диаграмма выполнения инструкций

3.7Регистр статуса

3.8Стек и указатель стека

3.9Регистровый файл

3.9.1Регистры X, Y и Z

3.10Регистры RAMP и расширенной косвенной адресации

3.10.1Регистры RAMPX, RAMPY и RAMPZ

3.10.2Регистр RAMPD

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Описание регистров

3.14.1Регистр защиты от изменения конфигурации CCP

3.15Краткий обзор регистров

4Запоминающие устройства

4.1Отличительные особенности

4.2Обзор

4.3Flash-память программ

4.3.1Сектор прикладной программы

4.3.2Сектор таблицы приложения

4.3.3Загрузочный сектор

4.3.4Сигнатурный код производителя и ячейки калибровки

4.3.4.1Сигнатурный код пользователя

4.4Fuse- и Lock-биты

4.5Память данных

4.6Внутреннее SRAM

4.7EEPROM

4.7.1Доступ к EEPROM в пространстве памяти данных

4.8Память ввода-вывода

4.8.1Регистры ввода-вывода общего назначения

4.9Внешняя память

4.10Память данных и арбитраж шины

4.10.1Шинный приоритет

4.11Временные характеристики доступа к памяти

4.12Идентификация микроконтроллера

4.13Отключение порта JTAG

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.1Отличительные особенности

5.2Обзор

5.3Транзакция DMA

5.3.1Передача блока и повтор

5.3.2Передача пакета

5.4Запуск передачи

5.5Адресация

5.6Приоритеты каналов

5.7Двойная буферизация

5.8Передача буферов

5.9Обнаружение ошибок

5.10Программный сброс

5.11Защита

5.12Прерывания

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.1Каналы DMA

5.18.2Передача данных

5.18.3Блочная передача и режим повтора

5.18.4DMA посылка

5.18.5Режимы адресации

5.18.6Перезагрузка адреса

5.18.7Запуск передачи и режим однократного запуска

5.18.8Обработка прерываний

5.18.9Доступ контроллера DMA к многобайтным регистрам

5.18.10Дополнительные возможности

5.18.11С чего начать

6Система событий

6.1Отличительные особенности

6.2Обзор

6.3События

6.3.1Сигнальные события

6.3.2Информационные события

6.3.3Ручная генерация событий

6.4Сеть маршрутизации событий

6.5Временные характеристики передачи событий

6.6Фильтрация

6.7Квадратурный декодер

6.7.1Работа квадратурного декодера

6.7.2Настройка квадратурного декодера

6.8Описание регистров

6.8.1CHnMUX - регистр мультиплексора канала события n

6.8.2CHnCTRL - Регистр управления каналом события n

6.8.3STROBE - строб-регистр события

6.8.4DATA - регистр данных события

6.9Обзор регистров

7Системная синхронизация и источники синхронизации

7.1Отличительные особенности

7.2Обзор

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Источники синхронизации

7.4.1Внутренние генераторы

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.1Отличительные особенности

8.2Обзор

8.3Экономичные режимы работы

8.3.1Режим IDLE

8.3.2Режим POWER-DOWN

8.3.3Режим POWER-SAVE

8.3.4Режим STANDBY

8.3.5Режим EXTENDED STANDBY

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Система сброса

9.1Отличительные особенности

9.2Обзор

9.3Последовательность сброса

9.3.1Счетчик задержки сброса

9.3.2Запуск генератора

9.3.3Калибровка генератора

9.4Источники сброса

9.4.1Сброс при подаче питания

9.4.2Супервизор питания

9.4.3Сброс от детектора просадки питания

9.4.4Внешний сброс

9.4.5Сброс сторожевым таймером

9.4.6Программный сброс

9.4.7Сброс через интерфейс программирования и отладки

9.5Описание регистров

9.5.1STATUS - Регистр статуса сброса

9.5.2CTRL - регистр управления сбросом

9.6Обзор регистров

10Система резервного батарейного питания

10.1Отличительные особенности

10.2Обзор

10.3Модуль с резервированием питания

10.3.1Обнаружение подачи питания резервного батарейного питания

10.3.2Супервизор батарейного питания

10.4Исчезновение основного питания

10.5Основной сброс и последовательность запуска

10.5.1Резервирование питания разрешено

10.5.2Резервирование питания не разрешено и сбой в его работе

10.6Описание регистров

10.6.1CTRL: регистр управления резервированием питания

10.6.2STATUS: регистр статуса модуля с резервированием питания

10.6.3BACKUP0: регистр 0 с резервным батарейным питанием

10.7Обзор регистров

11Сторожевой таймер WDT

11.1Отличительные особенности

11.2Обзор

11.3Нормальный режим работы

11.4Оконный режим работы

11.5Синхронизация сторожевого таймера

11.6Защита и блокировка конфигурации

11.7Описание регистров

11.7.1CTRL - регистр управления сторожевым таймером

11.7.2WINCTRL - регистр управления оконным режимом

11.7.3STATUS - регистр статуса сторожевого таймера

11.8Обзор регистров

12Прерывания и программируемый многоуровневый контроллер прерываний

12.1Отличительные особенности

12.2Обзор

12.3Принцип действия

12.4Прерывания

12.4.1Немаскируемые прерывания (NMI)

12.4.2Задержка реагирования на прерывание

12.5Уровень прерывания

12.6Приоритет прерывания

12.6.1Статическая приоритезация

12.6.2Динамическая приоритезация

12.7Перемещение векторов прерываний между сектором прикладной программы и загрузочным сектором

12.8Описание регистров

12.8.1STATUS - регистр статуса PMIC-контроллера

12.8.2INTPRI - регистр приоритета прерываний PMIC Priority Register

12.8.3CTRL - регистр управления PMIC-контроллером

12.9Обзор регистров

13Порты ввода-вывода

13.1Отличительные особенности

13.2Обзор

13.3Использование линий ввода-вывода

13.4Настройка линий ввода-вывода

13.4.1Двухтактный выход

13.4.2Подтягивание к минусу питания

13.4.3Подтягивание к плюсу питания

13.4.4Адаптивная подтяжка

13.4.5Выход "монтажное ИЛИ"

13.4.6Выход "монтажное И"

13.5Опрос состояния линии в/в

13.6Настройка параметров контроля входа

13.7Прерывания порта

13.8Генерация событий портом ввода-вывода

13.9Альтернативные функции портов

13.10Управление скоростью фронтов

13.11Вывод синхронизации и событий

13.12Мультипортовая конфигурация

13.13Виртуальные регистры

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.17Обзор регистров портов

13.18Обзор регистров мультипортовой конфигурации

13.19Обзор регистров виртуальных портов

13.20Обзор векторов прерываний портов ввода-вывода

1416-битный таймер-счетчик

14.1Отличительные особенности

14.2Обзор

14.2.1Определения

14.3Функциональная схема

14.4Источники синхронизации и событий

14.5Двойная буферизация

14.6Работа счетчика

14.6.1Нормальная работа

14.6.2Управляемый событиями режим работы

14.6.332-битная работа

14.6.4Изменение периода

14.7Канал захвата

14.7.1Входной захват

14.7.2Захват частоты

14.7.3Захват длительности импульса

14.7.432-битный входной захват

14.7.5Переполнение захвата

14.8Канал сравнения

14.8.1Генерация импульсов

14.8.2Генерация частотных сигналов (FRQ)

14.8.3Генерация ШИМ сигнала в режиме PWM с однонаправленным счетом

14.8.4Генерация ШИМ сигнала в режиме PWM с двунаправленным счетом

14.8.5Вывод сигналов генератора импульсов на линии порта

14.9Прерывания и события

14.10Поддержка DMA

14.11Команды таймера-счетчика

14.12Описание регистров

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.13Обзор регистров

14.14Обзор векторов прерываний

15Блок расширения возможностей генерации импульсов AWeX

15.1Отличительные особенности

15.2Обзор

15.3Перекрытие порта

15.4Генерация паузы неперекрытия

15.5Образцовый генератор

15.6Защита от повреждения

15.6.1Действия защиты

15.6.2Режимы восстановления нормальной работы

15.6.3Изменение защиты

15.6.4Взаимодействие со встроенной отладочной системой

15.7Описание регистров

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 - регистр разрешения перекрытия выходов

15.8Обзор регистров

16Блок расширения разрешающей способности

16.1Отличительные особенности:

16.2Обзор

16.3Описание регистров

16.3.1CTRLA - регистр управления А блока Hi-Res

16.4Обзор регистров

17Счетчик реального времени RTC

17.1Отличительные особенности

17.2Обзор

17.2.1Домены синхронизации

17.2.2Прерывания и события

17.3Описание регистров

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 - младший регистр сравнения счетчика реального времени

17.4Обзор регистров

17.5Обзор векторов прерываний

1832-битный счетчик реального времени RTC32

18.1Отличительные особенности

18.2Обзор

18.2.1Настройка синхронизации

18.2.2Домены синхронизации

18.2.3Домена питания

18.2.4События и прерывания

18.3Описание регистров

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

18.4Обзор регистров

18.5Обзор векторов прерываний

19Двухпроводной интерфейс TWI

19.1Отличительные особенности

19.2Обзор

19.3Принцип действия шины TWI

19.3.1Электрические характеристики

19.3.2Условия START и STOP

19.3.3Передача бит

19.3.4Пакет адреса

19.3.5Пакет данных

19.3.6Транзакция

19.3.7Синхронизация и задержка импульсов синхронизации

19.3.8Арбитраж

19.3.9Синхронизация ведущих устройств

19.4Логика контроля состояния шины TWI

19.5Работа ведущего модуля TWI

19.5.1Передача пакета адреса

19.5.1.1Сценарий M1: арбитраж проигран или ошибка во время передачи пакета адреса

19.5.1.2Сценарий M2: Передача пакета адреса завершена, но он не подтвержден подчиненным устройством

19.5.1.3Сценарий M3: Завершена передача пакета адреса с равным нулю битом направления

19.5.1.4Сценарий M4: Завершена передача пакета адреса с равным единице битом направления

19.5.2Передача пакетов данных

19.5.3Прием пакетов данных

19.6Работа подчиненного модуля TWI

19.6.1Прием пакета адреса

19.6.1.1Сценарий 1: принят пакета адреса с равным единице битом направления

19.6.1.2Сценарий 2: принят пакет адреса с равным нулю битом направления

19.6.1.3Сценарий 3: коллизия

19.6.1.4Сценарий 4: принято условие STOP

19.6.2Прием пакетов данных

19.6.3Передача пакетов данных

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.9.5BAUD - регистр скорости

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.5???нет

19.12.6ADDRMASK - регистр маски адреса подчиненного модуля TWI

19.13Обзор регистров модуля TWI

19.14Обзор регистров ведущего модуля TWI

19.15Обзор регистров подчиненного модуля TWI

19.15.1Обзор векторов прерываний

20Последовательный интерфейс SPI

20.1Отличительные особенности

20.2Обзор

20.3Ведущий режим

20.4Подчиненный режим

20.5Режимы SPI

20.6Поддержка DMA

20.7Описание регистров

20.7.1CTRL - регистр управления SPI

20.7.2INTCTRL - регистр управления прерываниями SPI

20.7.3STATUS - регистр статуса модуля SPI

20.7.4DATA - регистр данных SPI

20.8Обзор регистров

20.9Векторы прерываний модуля SPI

21Модуль USART

21.1Отличительные особенности

21.2Обзор

21.3Генерация синхронизации

21.3.1Внутренняя генерация синхронизации дробным генератором скорости

21.3.2Внешняя синхронизация

21.3.3Работа с удвоенной скоростью (CLK2X)

21.3.4Синхронный режим

21.3.5Генерация синхронизации для шины SPI

21.4Форматы посылок

21.4.1Вычисление бита паритета

21.4.2SPI-совместимые форматы посылок

21.5Инициализация USART

21.6Отправка данных передатчиком USART

21.6.1Отправка посылок

21.6.2Отключение передатчика

21.7Получение данных приемником USART

21.7.1Прием посылок

21.7.2Флаги ошибок приемника

21.7.3Проверка паритета

21.7.4Отключение приемника

21.7.5Очистка буфера приемника

21.8Асинхронный прием данных

21.8.1Восстановление синхронизации

21.8.2Восстановление данных

21.8.3Рабочий диапазон асинхронного приемника

21.9Дробная генерация скорости

21.10Работа USART в ведущем SPI-совместимом режиме

21.11Сравнение режима SPI модуля USART с модулем SPI

21.12Режим мультипроцессорной связи

21.12.1Использование режима мультипроцессорной связи

21.13Работа в режиме IRCOM

21.14Поддержка DMA

21.15Описание регистров

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Обзор регистров

21.17.1Описание регистров модуля USART

21.17.2Описание регистров модуля USART, работающего в режиме ведущего интерфейса SPI

21.18Обзор векторов прерываний

22Модуль инфракрасной связи IRCOM

22.1Отличительные особенности

22.2Обзор

22.322.2.1. Фильтрация системы событий

22.4Описание регистров

22.4.1TXPLCTRL - регистр управления длительностью импульса передатчика IRCOM

22.4.2RXPLCTRL - регистр управления длительностью импульса приемника IRCOM

22.4.3CTRL - регистр управления IRCOM

22.5Обзор регистров

23Криптоускорители

23.1.1Отличительные особенности

23.2Обзор

23.3Инструкция DES

23.4Модуль AES

23.4.1Память ключа и память состояния

23.4.2Поддержка DMA

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Интерфейс внешней шины EBI

24.1Отличительные особенности

24.2Обзор

24.3Выходы выбора микросхем

24.3.1Базовый адрес

24.3.2Размер адресного пространства

24.3.3Выхода выбора микросхем в качестве адресных линий

24.4Настройка линий ввода-вывода

24.5Синхронизация EBI

24.6Совместная работа со SRAM

24.6.1Работа без мультиплексирования

24.6.2Мультиплексирование байтов адреса 0 и 1

24.6.3Мультиплексирование байтов адреса 0 и 2

24.6.4Мультиплексирование байтов адреса 0, 1 и 2

24.6.5Требования к регистрам фиксации адреса

24.6.6Временная диаграмма

24.7Совместная работа со SRAM LPC-типа

24.7.1Мультиплексирование данных с байтом адреса 0

24.7.2Мультиплексирование данных с байтами адреса 0 и 1

24.8Совместная работа с SDRAM

24.8.1Поддерживаемые команды

24.8.23-портовая конфигурация интерфейса EBI

24.8.34-портовая конфигурация интерфейса EBI

24.8.4Временная диаграмма

24.8.5Инициализация

24.8.6Регенерация

24.9Комбинированное подключение к SRAM и SDRAM

24.10Временная диаграмма интерфейса EBI

24.10.1SRAM

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.2SDRAM

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.1Отличительные особенности

25.2Обзор

25.3Входные источники

25.3.1Дифференциальный вход

25.3.2Дифференциальный вход с усилением

25.3.3Несимметричный вход

25.3.4Внутренние входы

25.4Каналы АЦП

25.5Выбор опорного напряжения

25.6Результат преобразования

25.7Функция сравнения

25.8Запуск преобразования

25.9Синхронизация и временная диаграмма преобразования АЦП

25.9.1Одиночное преобразование без усиления

25.9.2Одиночное преобразование с усилением

25.9.3Одиночные преобразования в двух каналах АЦП

25.9.4Одиночные преобразования в двух каналах АЦП с усилением в канале 0

25.9.5Одиночные преобразования в двух каналах АЦП с усилением в канале 1

25.9.6Автоматический режим с усилением в двух каналах АЦП

25.10DMA-передача

25.11Прерывания и события

25.12Калибровка

25.13Приоритет каналов

25.14Синхронизация выборок

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.10.38-битный режим

25.15.11CHnRESL - младший регистр результата канала АЦП n

25.15.11.112-/8-битный режим

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.5.38-битный режим

25.16.6RESL - младший регистр результата канала АЦП n

25.16.6.112-/8-битный режим

25.16.6.212-битный режим с левым выравниванием

25.17Обзор регистров АЦП

25.18Обзор регистров канала АЦП

25.19Обзор векторов прерываний

26Цифро-аналоговый преобразователь DAC

26.1Отличительные особенности

26.2Обзор

26.3Запуск преобразования

26.4Выходные каналы

26.5Синхронизация модуля DAC

26.6Ограничения к временным характеристикам

26.7Экономичный режим работы

26.8Калибровка

26.9Описание регистров

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.7.1Правое выравнивание

26.9.7.2Левое выравнивание

26.9.8CH0DATAL - младший регистр данных канала ЦАП 0

26.9.8.1Правое выравнивание

26.9.8.2Левое выравнивание

26.9.9CH1DATAH - старший регистр данных канала ЦАП 1

26.9.9.1Правое выравнивание

26.9.9.2Левое выравнивание

26.9.10CH1DATAL - младший регистр данных канала ЦАП 1

26.9.10.1Правое выравнивание

26.9.10.2Левое выравнивание

26.9.11GAINCAL - регистр калибровки коэффициента передачи ЦАП

26.9.12OFFSETCAL - регистр калибровки смещения ЦАП

27Аналоговый компаратор AC

27.1Отличительные особенности

27.2Обзор

27.3Входные каналы

27.3.1Внешние входы

27.3.2Внутренние входы

27.4Запуск сравнения сигналов

27.5Генерация прерываний и событий

27.6Оконный режим

27.7Входной гистерезис

27.8Зависимость энергопотребления от задержки распространения

27.9Описание регистров

27.9.1ACnCTRL - регистр управления аналоговым компаратором n

27.9.2ACnMUXCTRL - регистр управления мультиплексором аналогового компаратора n

27.9.3CTRLA - регистр управления А

27.9.4CTRLB - регистр управления В

27.9.5WINCTRL - регистр управления оконным режимом аналоговых компараторов

27.9.6STATUS - общий регистр статуса аналоговых компараторов

27.10Обзор регистров

27.11Обзор векторов прерываний

28IEEE 1149.1-совместимый интерфейс JTAG

28.1Отличительные особенности

28.2Обзор

28.3TAP-порт

28.4JTAG-инструкции

28.4.1EXTEST; 0x1

28.4.2IDCODE; 0x3

28.4.3SAMPLE/PRELOAD; 0x2

28.4.4BYPASS; 0xf

28.4.5CLAMP; 0x4

28.4.6HIGHZ; 0x5

28.4.7PDICOM; 0x7

28.5Регистры данных

28.5.1Обходной регистр

28.5.2Регистр идентификации МК

28.5.2.1Версия

28.5.2.2Шифр продукции

28.5.2.3Идентификатор производителя

28.5.3Цепь граничного сканирования

28.5.4Регистр данных PDICOM

28.6Цепь граничного сканирования

28.6.1Сканирование линий ввода-вывода

28.6.2Сканирование линий PDI

29Интерфейс программирования и отладки PDI

29.1Отличительные особенности

29.2Обзор

29.3Трансивер PDI

29.3.1Разрешение работы

29.3.2Отключение

29.3.3Формат посылки и символы

29.3.3.1Символы

29.3.4Последовательные передача и прием

29.3.5Последовательная передача данных

29.3.5.129.3.5.1. Обнаружение конфликтов управления и коллизий

29.3.6Последовательный прием

29.3.6.1Обнаружение символа BREAK

29.3.7Изменение направления

29.4Трансивер JTAG

29.4.1Разрешение работы

29.4.2Отключение

29.4.3Набор инструкций JTAG

29.4.3.1Инструкция PDICOM

29.4.4Формат посылки и символов

29.4.4.1Специальные символы данных

29.4.5Последовательные передача и прием

29.4.6Последовательная передача

29.4.6.1Сигнализация статуса

29.4.7Последовательный прием

29.4.7.1Проверка паритета

29.4.7.2Обнаружение символа BREAK

29.5Контроллер PDI

29.5.1Переключение между режимами PDI и JTAG

29.5.2Доступ к внутренним интерфейсам

29.5.3Ключ программирования энергонезависимой памяти

29.5.4Обработка исключительных ситуаций

29.5.5Управление сбросом

29.5.6Набор инструкций

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.5.7Обзор набора инструкций

29.6Описание регистров инструкции и адресации интерфейса PDI

29.6.1Регистр инструкции

29.6.2Регистр указателя

29.6.3Регистр счетчика повторов

29.6.4Регистр счетчика операндов

29.7Описание регистров управления и статуса интерфейса PDI

29.7.1STATUS - регистр статуса интерфейса PDI

29.7.2RESET - регистр сброса

29.7.3CTRL - регистр управления интерфейсом PDI

29.8Обзор регистров

30Программирование запоминающих устройств

30.1Отличительные особенности

30.2Обзор

30.3NVM-контроллер

30.4NVM-команды

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.6.2Страничный буфер EEPROM

30.7Последовательности программирования Flash-памяти и EEPROM

30.7.1Последовательность программирования Flash-памяти

30.7.2Последовательность программирования EEPROM

30.8Защита энергонезависимой памяти

30.9Предотвращение нарушения данных

30.9.1Сбои во время записи

30.9.2Сбои во время чтения

30.10Проверка CRC

30.11Самопрограммирование под управлением программы загрузчика

30.11.1Программирование Flash-памяти

30.11.1.1Сектор прикладной программы и загрузочный сектор

30.11.1.2Адресация Flash-памяти

30.11.2NVM-команды Flash-памяти

30.11.2.1Чтение 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.3.1Запись Lock-бит

30.11.3.2Чтение Fuse-бит

30.11.4Программирование EEPROM

30.11.4.1Адресация EEPROM

30.11.5NVM-команды 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.11.5.6Стирание EEPROM

30.11.5.7Чтение EPPROM

30.12Внешнее программирование

30.12.1Разрешение работы интерфейса внешнего программирования

30.12.2Программирование NVM

30.12.2.1Адресация NVM

30.12.2.2Занятость NVM

30.12.3NVM-команды

30.12.3.1Стирание всей памяти

30.12.3.2Чтение NVM

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-бит

30.13Описание регистров

30.14Обзор регистров

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

33.11Блок SDRAM

33.128-битная запись SDRAM

33.138-битное чтение SDRAM

33.14Запись 4-битного SDRAM

33.15Чтение 4-битного SDRAM

33.16Регенерация SRAM

34Электрические характеристики

34.1Предельно-допустимые параметры*

34.2Статические характеристики

34.3Быстродействие

34.4Характеристики АЦП

34.5Характеристики ЦАП

34.6Характеристики аналоговых компараторов

35Сведения о выявленных ошибках в работе микроконтроллеров

35.1Микроконтроллер ATxmega256A3

35.1.1Версия A

27.9.6STATUS - общий регистр статуса аналоговых компараторов

Бит

7

6

5

4

3

2

1

0

 

+0x07

WSTATE[1:0]

AC1STATE

AC0STATE

-

WIF

AC1IF

AC0IF

STATUS

Чтение/ запись

Чт/Зап

Чт/Зап

Чт/Зап

Чт/Зап

Чт

Чт/Зап

Чт/Зап

Чт/Зап

Нач значение

0

0

0

0

0

0

0

0

  • Биты 7:6 - WSTATE[1:0]: текущее состояние оконного режима аналоговых компараторов

Данные биты отражают текущий результат сравнения в оконном режиме в соответствии с таблицей 27.6.

Таблица 27.6. Текущее состояние оконного режима аналоговых компараторов

WSTATE[1:0]

Групповая конфигурация

Описание

00

ABOVE

Сигнал выше верхней границы окна

01

INSIDE

Сигнал в пределах границ окна

10

BELOW

Сигнал ниже нижней границы окна

11

-

(резерв)

  • Бит 5 - AC1STATE: текущее состояние аналогового компаратора 1

Данный бит отражает текущее состояние входного сигнала аналогового компаратора 1.

  • Бит 4 - AC0STATE: текущее состояние аналогового компаратора 0

Данный бит отражает текущее состояние входного сигнала аналогового компаратора 0.

  • Бит 3 - Res: резервный бит

Данный бит не используется и зарезервирован для использования в будущем. В целях совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.

  • Бит 2 - WIF: флаг прерывания для оконного режима аналогового компаратора

Данный флаг прерывания используется только в оконном режиме аналоговых компараторов. Установка флага WIF происходит при обнаружении заданного битами WINTMODE условия (см. 27.9.5 "WINCTRL - регистр управления оконным режимом аналоговых компараторов").

Флаг WIF автоматически сбрасывается при переходе на вектор обработки прерывания оконного режима аналоговых компараторов. Альтернативно, флаг можно сбросить записью в него единицы.

  • Бит 1 - AC1IF: флаг прерывания аналогового компаратора 1

Данный бит является флагом прерывания аналогового компаратора 1. Флаг AC1IF становится равным единице при обнаружении заданного битами INTMODE условия (см. 27.9.1 "ACnCTRL - регистр управления аналоговым компаратором n").

Флаг AC1IF автоматически сбрасывается при переходе на вектор обработки прерывания оконного режима аналоговых компараторов. Альтернативно, флаг можно сбросить записью в него единицы.

  • Бит 0 - AC0IF: флаг прерывания аналогового компаратора 0

Данный бит является флагом прерывания аналогового компаратора 0. Флаг AC0IF становится равным единице при обнаружении заданного битами INTMODE условия (см. 27.9.1 "ACnCTRL - регистр управления аналоговым компаратором n").

Флаг AC1IF автоматически сбрасывается при переходе на вектор обработки прерывания оконного режима аналоговых компараторов. Альтернативно, флаг можно сбросить записью в него единицы.


27.10Обзор регистров

Адрес

Наименование

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

+0x00

AC0CTRL

INTMODE[1:0]

INTLVL[1:0]

HSMODE

HYSMODE[1:0]

ENABLE

+0x01

AC1CTRL

INTMODE[1:0]

INTLVL[1:0]

HSMODE

HYSMODE[1:0]

ENABLE

+0x02

AC0MUXCTR

-

-

MUXPOS[2:0]

MUXNEG[2:0]

+0x03

AC1MUXCTR

-

-

MUXPOS[2:0]

MUXNEG[2:0]

+0x04

CTRLA

-

-

-

-

-

-

-

AC0OUT

+0x05

CTRLB

-

-

SCALEFAC[5:0]

+0x06

WINCTRL

-

-

-

WEN

WINTMODE[1:0]

WINTLVL[1:0]

+0x07

STATUS

WSTATE[1:0]

AC1STATE

AC0STATE

-

WIF

AC1IF

AC0IF

27.11Обзор векторов прерываний

Таблица 27.7. Векторы прерываний аналогового компаратора

Смещение

Источник

Описание прерывания

0x00

COMP0_vect

Вектор прерываний аналогового компаратора 0

0x02

COMP1_vect

Вектор прерываний аналогового компаратора 1

0x04

WINDOW_vect

Вектор прерываний оконного режима аналоговых компараторов

28IEEE 1149.1-совместимый интерфейс JTAG

28.1Отличительные особенности

  • Интерфейс JTAG (совместим со стандартом IEEE 1149.1-2001)

  • Возможности граничного сканирования в соответствии со стандартом JTAG

  • Полное сканирование всех линий ввода-вывода

  • Поддержка обязательных JTAG-инструкций SAMPLE, PRELOAD, EXTEST и BYPASS

  • Поддержка опциональных инструкций IDCODE, HIGHZ и CLAMP

  • Поддержка специальной инструкции AVR-микроконтроллеров PDICOM для предоставления доступа к интерфейсу PDI, работающего в его опциональном режиме JTAG.

28.2Обзор

Интерфейс граничного сканирования JTAG в первую очередь предназначен для тестирования печатных плат. Другим назначением интерфейса JTAG является доступ к интерфейсу программирования и отладки PDI, работающего в его опциональном режиме JTAG.

Цепь граничного сканирования обладает возможностями управления логическими уровнями и их контроля на всех линиях ввода-вывода. На системном уровне, сигналы TDI/TD всех ИС, оснащенные интерфейсом JTAG, соединяются последовательно, образуя из этих ИС большой сдвиговый регистр. Внешний контроллер передает состояния, которые необходимо установить на выходах микросхем, и принимает информацию о текущем состоянии входов микросхем. После приема данных, контроллер выполняет сравнение с ожидаемым результатом. Таким образом, граничное сканирование - это не что иное, как механизм тестирования взаимных соединений и целостности компонентов на печатной плате с использованием всего лишь четырех сигналов TAP.

Стандартом IEEE 1149.1-2001 определены обязательные JTAG-инструкции IDCODE, BYPASS, SAMPLE/PRELOAD и EXTEST, а также опциональные инструкции CLAMP и HIGHZ, которые можно использовать для тестирования печатной платы. Исходное сканирование регистра данных позволяет узнать идентификационный код МК, т.к. IDCODE - это JTAG-инструкция по умолчанию. При необходимости максимального сокращения цепи сканирования в микроконтроллере, может быть введена инструкция BYPASS. Инструкция EXTEST предназначена для ввода/вывода состояния внешних выводов. Данные с выходов регистров окажутся на выводах МК сразу после загрузки инструкции EXTEST в регистр инструкции (РИ). Таким образом, чтобы избежать повреждения платы во время первого ввода инструкции EXTEST, задание исходных значений кольца сканирования лучше выполнить объединенной инструкцией SAMPLE/PRELOAD. Инструкцию SAMPLE/PRELOAD также выгодно использовать для опроса состояния внешних выводов МК в процессе его нормального функционирования, т.к. она никак не влияет на ход работы МК. С помощью инструкции CLAMP можно задать состояние выводов МК через регистры граничного сканирования при одновременной активизации обхода этих регистров, что эффективно сокращает общую длину пути сканирования. Альтернативно, для перевода выводов МК в неактивное состояние с одновременной активизацией обхода регистра граничного сканирования можно использовать инструкцию HIGHZ.


Поддерживаемая только некоторыми AVR-микроконтроллерами инструкция PDICOM делает возможным использование регистра данных PDI в качестве интерфейса доступа к PDI в целях программирования и отладки. Обратите внимание, что инструкция PDICOM никак не влияет на цепь граничного сканирования, а лишь предоставляет альтернативный путь доступа к внутренним ресурсам программирования и отладки через интерфейс JTAG. Более детально о работе интерфейса программирования и отладки PDI см. в разделе 29 "Интерфейс программирования и отладки".

Для разрешения работы интерфейса JTAG и TAP-порта необходимо запрограммировать Fuse-бит JTAGEN, а также обнулить бит JTAGD в регистре MCUCR.

Когда интерфейс JTAG используется для граничного сканирования, частота TCK может быть выше внутренней частоты МК. Более того, граничное сканирование может работать даже при отключенной системной синхронизации.

28.3TAP-порт

Интерфейс JTAG занимает четыре вывода МК. По терминологии стандарта JTAG, данные выводы образуют TAP-порт (от Test Access Port). К выводам TAP-порта относятся:

  • TMS: выбор режима тестирования. Данный вывод предназначен для навигации по цифровому автомату TAP-контроллера.

  • TCK: тестовая синхронизация. Через этот вывод осуществляется синхронизация интерфейса JTAG.

  • TDI: ввод тестовых данных. Вход сдвигового регистра, в качестве которого может выступать регистр инструкции или регистр данных (цепи сканирования).

  • TDO: вывод тестовых данных. Выход сдвигового регистра, т.е. регистра инструкции или регистра данных.

Стандартом IEEE 1149.1-2001 также оговорен опциональный сигнал сброса TRST. У МК XMEGA он не предусмотрен.

Если Fuse-бит JTAGEN находится в незапрограммированном состоянии или равен единице бит отключения JTAG, интерфейс JTAG будет находиться в отключенном состоянии. В этом случае, выводы TAP-порта работают как обычные линии ввода-вывода, а TAP-контроллер находится в состоянии сброса. После разрешения работы, на входах TAP-порта активизируется подтяжка к плюсу питания, а интерфейс JTAG становится готовым к операциям граничного сканирования.

Рисунок 28.1. Автомат состояний TAP-контроллера

TAP-контроллер является конечным автоматом (16 состояний), который управляет работой схемы граничного сканирования. Изменение состояний (см. рисунок 28.1) происходит в зависимости от состояния входа TMS (показано рядом с каждым изменением состояния) во время нарастающего фронта TCK. Исходным состоянием после сброса при подаче питания является СБРОС_ТЕСТ-ЛОГИКИ.

Если полагать, что текущим состоянием является ТЕСТ-СТАРТ/СВОБОДЕН, то возможны следующие сценарии использования интерфейса JTAG.

  • Через вход TMS по нарастающим фронтам TCK вводится последовательность 1, 1, 0, 0, которая вызывает переход в состояние СДВИГ_РИ. В этом состоянии по нарастающим фронтам TCK вводятся четыре бита в регистр JTAG-инструкции через вход TDI.


По ходу ввода 3 младших бит, для удержания состояния СДВИГ_РИ, вход TMS необходимо удерживать в низком состоянии. Ввод старшего бита инструкции выполняется при выходе из состояния СДВИГ_РИ установкой высокого уровня на входе TMS. По мере ввода инструкции через вход TDI, на выходе выводится код состояния ЗАХВАТ_РИ: 0x01. JTAG-инструкция выбирает определенный регистр данных в качестве пути между выводами TDI и TDO, а также управляет схемой, окружающей выбранный регистр данных.

  • Через вход TMS передается последовательность 1, 1, 0, которая повторно вводит состояние ТЕСТ-СТАРТ/СВОБОДЕН. Инструкция фиксируется на параллельных выходах пути сдвигового регистра в состоянии МОДИФ_РИ. Для навигации по автомату состояний могут использоваться только состояния ВЫХОД_РИ, ПАУЗА_РИ и ВЫХОД2_РИ.

  • Через вход TMS по нарастающим фронтам TCK вводится последовательность 1, 0, 0, которая вызывает переход в состояние СДВИГ_РД. Находясь в этом состоянии, по нарастающим фронтам TCK через вход TDI выполняется модификация выбранного регистра данных (выбирается текущей JTAG-инструкцией в регистре инструкции). Для удержания состояния СДВИГ_РД вход TMS необходимо удерживать в низком состоянии при вводе всех бит, кроме старшего. Старший бит данных вводится при выходе из состояния, инициированного установкой высокого уровня на входе TMS. В процессе ввода данных в регистр данных через вход TDI, состояние параллельных входов, захваченное в состоянии ЗАХВАТ_РД, выводится на выходе TDO.

  • Через вход TMS передается последовательность 1, 1, 0, которая повторно вводит состояние ТЕСТ-СТАРТ/СВОБОДЕН. Если выбранный регистр данных оснащен параллельными выходами с фиксацией, то фиксация выполняется в состоянии МОДИФ_РД. Для навигации по автомату состояний могут использоваться только состояния ВЫХОД_РД, ПАУЗА_РД и ВЫХОД2_РД.

Как показано на автомате состояний, состояние ТЕСТ-СТАРТ/СВОБОДЕН не нужно вводить между выбором JTAG-инструкции и использованием регистров данных.

Прим.: независимо от исходного состояния TAP-контроллера, состояние СБРОС_ТЕСТ-ЛОГИКИ можно ввести в любой момент удержанием входа TMS в высоком состоянии в течение пяти периодов синхронизации TCK.

28.4JTAG-инструкции

Регистр инструкции является 4-битным. Ниже приводится описание JTAG-инструкций, используемых для граничного сканирования, а также инструкции PDICOM, используемой для доступа к интерфейсу PDI в режиме JTAG.

Ввод и вывод младшего бита осуществляется первым у всех сдвиговых регистров.

Код операции для каждой инструкции показан сразу за её наименованием в шестнадцатиричном формате. В тексте можно найти указание, какой регистр данных используется в качестве пути между выводами TDI и TDO у каждой инструкции.

28.4.1EXTEST; 0x1

EXTEST - обязательная инструкция, предназначенная для выбора цепи граничного сканирования (позволяет протестировать внешнюю, подключенную к МК AVR, схему) в качестве регистра данных. Через цепь граничного сканирования можно изменить направление (DIR) и состояние (OUT) любой линии ввода-вывода, а также проконтролировать настройку направления линии и её фактическое состояние. Содержимое выходов с фиксацией цепи граничного сканирования становится доступным на выходах сразу после загрузки в регистр инструкции команды EXTEST.


Активные состояния:

  • ЗАХВАТ_РД: выполняется выборка данных на внешних выводах для считывания через цепь граничного сканирования.

  • СДВИГ_РД: данные в цепи граничного сканирования сдвигаются под управлением входа TCK.

  • МОДИФ_РД: данные из цепи сканирования подаются на выводы выходов.

28.4.2IDCODE; 0x3

IDEOCE - обязательная инструкция, предназначенная для выбора 32-битного регистра идентификации МК в качестве регистра данных.

Регистр идентификации содержит следующие данные: номер версии, номер МК и JEDEC-код производителя. Данная инструкция является инструкцией по умолчанию после подачи питания.

Активные состояния:

  • ЗАХВАТ_РД: выполняется выборка содержимого регистра IDCODE в регистр идентификации МК.

  • СДВИГ_РД: цепь сканирования IDCODE передается сдвигом под управлением входа TCK.

28.4.3SAMPLE/PRELOAD; 0x2

SAMPLE/RELOAD - обязательная инструкция, предназначенная для предварительной загрузки выходов с фиксацией и опроса состояния входов/выходов без нарушения работы системы. Однако необходимо учесть, что выходы с фиксацией не связаны с выводами. В качестве регистра данных выступает цепь граничного сканирования.

Обратите внимание, что каждая из инструкций SAMPLE и PRELOAD выполняют одни те же действия, что объясняет причину общего кода операции у них и объединения в одну инструкцию.

Активные состояния:

  • ЗАХВАТ_РД: выполняется выборка данных на внешних выводах для чтения через цепь граничного сканирования.

  • СДВИГ_РД: передача сдвигом цепи граничного сканирования под управлением входа TCK.

  • МОДИФ_РД: данные из цепи граничного сканирования подаются на выходы с фиксацией. Однако нужно учесть, что выходы с фиксацией не связаны с выводами.

28.4.4BYPASS; 0xf

BYPASS - обязательная инструкция, предназначенная для выбора регистра обхода в качестве регистра данных.

Активные состояния:

  • ЗАХВАТ_РД: загрузка логического "0" в регистр обхода.

  • СДВИГ_РД: регистр обхода включен между выводами TDI и TD

  • как сдвиговый регистр.

28.4.5CLAMP; 0x4

CLAMP - опциональная инструкция, которая позволяет назначить состояние выводов МК по состоянию предварительно загруженных выходов с фиксацией. В качестве регистра данных выбирается регистр обхода.

Активные состояния:

  • ЗАХВАТ РД: загрузка логического "0" в регистр обхода.

  • СДВИГ РД: регистр обхода работает как сдвиговый регистр между выводами TDI и TDO.

28.4.6HIGHZ; 0x5

HIGHZ - опциональная инструкция, предназначенная для перевода всех выходов в неактивное состояние (например, высокоимпедансное). В качестве регистра данных выбирается регистр обхода.

Активные состояния:

  • ЗАХВАТ_РД: загружает логический "0" в регистр обхода.

  • СДВИГ_РД: регистр обхода включается между выводами TDI и TD

  • как сдвиговый регистр.

28.4.7PDICOM; 0x7

PDICOM - специфическая AVR-инструкция, предназначенная для использования порта JTAG TAP в качестве альтернативного канала доступа к интерфейсу программирования и отладки PDI.


Смотрите также файлы