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

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

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

Добавлен: 14.01.2021

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

Скачиваний: 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

  • Бит 7 - SPIF: флаг прерывания модуля SPI

Данный флаг становится равным единице по завершении последовательной передачи данных из регистра данных и последовательного приема данных в этот же регистр. Флаг IF также устанавливается, если модуль SPI работает в ведущем режиме и на его, настроенный как вход, вывод SS подается низкий уровень. Флаг IF сбрасывается аппаратно при переходе на вектор прерываний. Альтернативно, флаг SPIF может быть сброшен первым чтением регистра STATUS с установленным флагом IF и при выполнении доступа к регистру данных.

  • Бит 6 - WRCOL: флаг обнаружения ошибочной записи

Бит WRCOL становится равным единице, если во время передачи выполняется запись в регистр данных. Сброс бита WRCOL происходит при первом чтении регистра STATUS с установленным битом WRCOL и при осуществлении доступа к регистру данных.

  • Бит 5:0 - Res: резерв

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

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

Бит

7

6

5

4

3

2

1

0

 

+0x03

DATA[7:0]


DATA

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

Чт/Зап

Чт/Зап

Чт/Зап

Чт/Зап

Чт/Зап

Чт/Зап

Чт/Зап

Чт/Зап

Нач значение

0

0

0

0

0

0

0

0

Регистр данных используется для передачи и приема данных. Запись в регистр инициирует передачу данных методом последовательных сдвигов через выходную линию шины SPI. При чтении регистра возвращается значение из буферного регистра, в котором сберегается последний успешно принятый байт данных.

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

Адрес

Наимен.

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

+0x00

CTRL

CLK2X

ENABLE

DORD

MASTER

MODE[1:0]

PRESCALER[1:0]

+0x01

INTCTRL

-

-

-

-

-

-

INTLVL[1:0]

+0x02

STATUS

IF

WRCOL

-

-

-

-

-

-

+0x03

DATA

DATA[7:0]

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

Таблица 20.5. Вектор прерываний модуля SPI и значение смещения его адреса

Смещение

Источник

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

0x00

SPI_vect

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

21Модуль USART

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

  • Полнодуплексная работа (отдельные регистры у приемника и передатчика)

  • Асинхронная или синхронная работа

  • Синхронная передача, тактируемая ведущим или подчиненным устройством

  • Улучшенный генератор скорости

  • Поддержка посылок с 5, 6, 7, 8 или 9 битами данных и 1 или 2 стоп-битами

  • Генерация и проверка паритета (четность/нечетность) на аппаратном уровне

  • Обнаружение ошибок переполнения данных и ошибок в посылке

  • Фильтрация шума, в т.ч. обнаружение ложного старт-бита и цифровой фильтр низких частот

  • Отдельные прерывания по завершению передачи, по опустошению регистра данных передатчика и по завершению приема

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

  • Режим асинхронной связи с удвоенной скоростью

  • Режим ведущего SPI с синхронной передачей данных по трем линиям

  • Поддержка всех четырех режимов SPI (режим 0, 1, 2 и 3)

  • Настройка передачи первым младшего или старшего бита данных

  • Работа с очередями (двойная буферизация)

  • Высокоскоростная работа (fXCK.MAX = fPER/2)

  • Модуль IRCOM для IrDA-совместимой модуляции/демодуляции


21.2Обзор

Модуль универсального синхронно-асинхронного последовательного приемника и передатчика (USART) - чрезвычайно гибкий модуль последовательной связи. Модуль USART поддерживает полнодуплексную синхронную или асинхронную передачу данных. USART может быть переведен в режим ведущего SPI-совместимого интерфейса.

Передача выполняется посылками, формат которых задается пользователем. Это позволяет добиться совместимости с различными стандартами. Модуль USART буферизован в обоих направлениях, что позволяет добиться непрерывности передачи данных без каких-либо пауз между посылками. Предусмотрены отдельные векторы прерываний по завершению приема и по завершению передачи, что позволяет реализовать управление связью полностью по прерываниям. Ошибки в посылке и переполнение буфера обнаруживаются на аппаратном уровне, о чем сигнализируют отдельные флаги статуса. Также поддерживается генерация и проверка паритета (четность или нечетность).

Функциональная схема модуля USART показана на рисунке 21.1. Его основными компонентами являются генератор синхронизации, передатчик и приемник (выделены пунктирной линией).


Рисунок 21.1. Функциональная схема модуля USART

Логика генерации синхронизации содержит дробный генератор скорости, позволяющий генерировать множество скоростей. В неё также входит логика синхронизации, связанная с внешним входом синхронизации работающего в синхронном режиме подчиненного устройства.

Передатчик состоит из одного буфера записи (DATA), сдвигового регистра, генератора паритета и логики управления, предназначенные для обработки посылок различного формата. Буфер записи позволяет непрерывно передавать данные без каких-либо задержек между посылками.

Приемник состоит из двухуровневого буфера (DATA) и сдвигового регистра. Для гарантирования надежности синхронизации и подавления шума во время асинхронного приема данных предусмотрены блоки восстановления данных и синхронизации. Кроме того, в приемник входят блоки обнаружения ошибок в посылке, переполнения буфера и паритета.

После перевода модуля USART в режим ведущего SPI-совместимого устройства, вся специфическая логика интерфейса USART отключается, а в работе остаются лишь буферы приема и передачи, сдвиговые регистры и генератор скорости. Управление выводами и генерация прерываний остаются идентичными в обоих режимах работы. Использование регистров тоже остается прежним в обоих режимах, но их функциональность отличается при определенных настройках.

Совместно с одним из USART может работать модуль IRCOM, предназначенный для IrDA 1.4-совместимой модуляции и демодуляции импульсов на скорости до 115.2 кбит/сек. Более детально о его работе см. в разделе 22 "Модуль инфракрасной связи IRCOM".

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

Сигнал синхронизации, который задает скорость связи и используется для тактирования сдвигового регистра и выборки бит данных, генерируется внутренним дробным генератором скорости или поступает с вывода синхронизации передачи XCK. Поддерживаются пять режимов генерации синхронизации: асинхронные режимы с нормальной и удвоенной скоростью, ведущий и подчиненный синхронные режимы, а также ведущий SPI режим.


Рисунок 21.2. Функциональная схема логики генерации синхронизации

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

Дробный генератор скорости предназначен для генерации внутреннего сигнала синхронизации связи в асинхронных режимах, ведущем синхронном режиме и ведущем SPI режиме. Частота на выходе генератора (fBAUD) зависит от настройки периода (BSEL), настройки опционального весового коэффициента (BSACLE) и частоты синхронизации УВВ (fPER). В таблице 21.1 приведены выражения для вычисления скорости (в битах в секунду) и для вычисления значения BSEL в каждом из режимов работы. BSEL может иметь любое значение из диапазона 0…4095. В таблице также приводятся выражения для расчета максимальной скорости по отношению к частоте синхронизации УВВ.

В асинхронном режиме, в целях увеличения разрешающей способности генерации скорости, может использоваться дробная генерация скорости. Весовой коэффициент (BSCALE) позволяет масштабировать скорость в большую или меньшую сторону. Положительное значение этого коэффициента приводит к масштабированию в меньшую сторону, которое приводит к увеличению периода, а, следовательно, к снижению скорости связи. При этом, разрешающая способность остается без изменений. Если же весовой коэффициент отрицательный, делитель будет использовать дробную арифметику счета, которая увеличивает разрешающую способность. BSCALE может иметь любое значение из диапазона -7…+7, причем при нулевом его значении масштабирование не выполняется. Максимальное значение весового коэффициента ограничено. Значение 2BSCALE не может быть больше половины минимального числа циклов синхронизации, которые требуются для обработки посылки (более детально об этом см. в разделе 21.9).

Таблица 21.1. Выражения для вычисления настройки регистра скорости

Режим работы

Условия

Выражение для вычисления скорости1)

Выражение для вычисления значения BSEL

Асинхронный режим с нормальной скоростью (CLK2X=0)

Асинхронный режим с удвоенной скоростью (CLK2X=1)

Cинхронный и ведущий SPI режимы

Прим.:

  • Скорость выражается в битах за секунду (бит/сек)

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

В подчиненном синхронном режиме работы используется внешняя синхронизация. Выборка сигнала на входе XCK выполняется на частоте синхронизации УВВ (fPER) с помощью регистра синхронизации, который позволяет минимизировать вероятность возникновения метастабильности. Выход регистра синхронизации пропускается через схему обнаружения фронтов. Данная процедура вносит задержку в два периода синхронизации УВВ и, таким образом, максимальное значение частоты внешнего сигнала синхронизации на выводе XCK (fXCK) ограничивается выражением:


fXCK < fPER/4

Выборка и высокого и низкого уровней импульсов XCK должна быть выполнена дважды на частоте синхронизации УВВ. Если сигнал XCK имеет дрожания или отличается от меандра, максимальное значение частоты XCK должно быть соответствующим образом снижено.

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

Возможность удвоения скорости связи полезна в асинхронном режиме для повышения скорости передачи при работе с пониженными частотами синхронизации УВВ. После разрешения работы с удвоенной скоростью значения асинхронных скоростей, приведенных в таблице 21.1, удваиваются.

В этом режиме приемник сокращает количество выборок, которые используются для приема данных и восстановления синхронизации, с 16 до 8. Вследствие такого снижения, требуется более точная настройка скорости и более точный источник синхронизации. Более детально о точности см. в разделе 21.8 "Асинхронный прием данных".

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

При использовании синхронного режима синхронизация связи выполняется через вывод XCK, который работает как вход синхронизации у подчиненного устройства и как выход синхронизации у ведущего устройства. С учетом этого, необходимо выполнить соответствующую настройку направления линии порта ввода-вывода. Обычная работа порта будет перекрыта сигналом XCK.

Зависимость между фронтами синхронизации и выборкой данных, а также между фронтами синхронизации и изменения данных сохраняется прежней. Выборка принимаемых данных (вывод RxD) происходит по фронту, который противоположен фронту, когда происходит изменение передаваемых данных (TxD).


Рисунок 21.3. Временная диаграмма импульсов на выводе XCKn (синхронный режим)

При необходимости выбора противоположных фронтов, инициирующих выбору и изменение данных, может быть активизирована функция инвертированного ввода-вывода (INVEN) в конфигурационном регистре линии ввода-вывода. Если функция инвертированного ввода-вывода отключена (INVEN=0), изменение данных происходит по нарастающему фронту XCK, а выборка - по падающему фронту XCK. Если же активизировать функцию инвертирования (INVEN=1), то данные будут изменяться по падающему фронту XCK, а выборка XCK - по нарастающему. Более детально о функции инвертирования см. в разделе 13 "Порты ввода-вывода".

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

Предусмотрена возможность работы только в ведущем режиме SPI с внутренней генерацией сигнала синхронизации шины. Настройка скорости выполняется идентично ведущему синхронному USART (см. таблицу 21.1).

Всего возможно четыре комбинации соотношения фазы и уровня импульсов XCK (SCK) по отношению к сигналам данных. Эти комбинации можно задать с помощью бита управления фазой синхронизации (UCPHA) и бита разрешения инвертированного ввода-вывода (INVEN). Временные диаграммы передачи данных показаны на рисунке 21.4. Биты данных передаются сдвигом, а по противоположным фронтам сигнала XCK производится выборка принимаемого сигнала, что гарантирует достаточность времени на стабилизации сигналов данных. Влияние настроек бит UCPHA и INVEN подытожено в таблице 21.2. Изменение настроек любого из этих бит во время передачи нарушит работу, как приемника, так и передатчика.


Таблица 21.2. Влияние настроек бит INVEN и UCPHA

Режим SPI

INVEN

UCPHA

Передний фронт

Задний фронт

0

0

0

Нарастающий; выборка

Падающий; установка

1

0

1

Нарастающий; установка

Падающий; выборка

2

1

0

Падающий; выборка

Нарастающий; установка

3

1

1

Падающий; установка

Нарастающий; выборка

Передний фронт - фронт, с которого начинается период сигнала синхронизации. Задний фронт - фронт, которым заканчивается период сигнала синхронизации.


Рисунок 21.4. Временные диаграммы передачи с различными настройками UCPHA и INVEN

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

Передача данных производится посылками. Каждая посылка состоит из бит данных, бит синхронизации (старт- и стоп-биты) и опционального бита паритета для проверки ошибок. Обратите внимание, что сказанное не распространяется на работу в режиме SPI (см. раздел 21.4.2 "SPI-совместимые форматы посылок").

Допустимы следующие форматы посылок USART (всего 30 комбинаций):

  • 1 старт-бит

  • 5, 6, 7, 8 или 9 бит данных

  • бит паритета (четность или нечетность) или передача без бита паритета

  • 1 или 2 стоп-бита

Посылка всегда начинается со старт-бита, вслед за которым передается младший бит данных и все остальные биты данных вплоть до старшего бита. Если разрешена передача бита паритета, то он вставляется между передачей бит данных и первым стоп-битом. Сразу по завершении передачи посылки может быть передан старт-бит и новая посылка. Если дальнейшая передача не требуется, линия остается в состоянии IDLE (высокий уровень). Возможные комбинации форматов посылки проиллюстрированы на рисунке 21.5. Биты, показанные в квадратных скобках, являются опциональными.


Рисунок 21.5. Форматы посылок

Таблица 1

St

Старт-бит, всегда имеет низкий уровень.

(n)

Биты данных (0…8).

P

Бит паритета. Может быть четным или нечетным.

Sp

Стоп-бит, всегда имеет высокий уровень.

IDLE

Состояние линий RxD и TxD, когда по ним не выполняется передача.
Линия в состоянии IDLE всегда имеет высокий уровень.

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

При необходимости проверки ошибок передачи может быть активизирована функция генерации и проверки паритета (четность или нечетность). Если выбран четный паритет, то бит паритета будет равен единице, если количество единичных бит данных нечетное, т.о. образом делая общее число единичных бит четным. Если же выбирается нечетный паритет, то бит паритета становится равным единице, если количество единичных бит данных четное и, в результате, общее число единичных бит становится нечетным.

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

Посылка в режиме SPI состоит только из 8 бит данных. USART, работающий в режиме ведущего SPI, поддерживает два формата посылки:

  • 8-бит данных с передачей первым старшего бита

  • 8-бит данных с передачей первым младшего бита


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