УСАПП
Универсальный синхронный и асинхронный последовательный приемопередатчик (УСАПП) предназначен для организации гибкой последовательной связи.
Отличительные особенности:
- Полнодуплексная работа (раздельные регистры последовательного приема и передачи)
- Асинхронная или синхронная работа
- Ведущее или подчиненное тактирование связи в синхронном режиме работы
- Высокая разрешающая способность генератора скорости связи
- Поддержка формата передаваемых данных с 5, 6, 7, 8 или 9 битами данных и 1 или 2 стоп-битами
- Аппаратная генерация и проверка бита паритета (четность/нечетность)
- Определение переполнения данных
- Определение ошибки в структуре посылки
- Фильтрация шума с детекцией ложного старт-бита и цифровым ФНЧ
- Три раздельных прерывания по завершении передачи, освобождении регистра передаваемых данных и завершении приема
- Режим многопроцессорной связи
- Режим удвоения скорости связи в асинхронном режиме
Два УСАПП
ATmega128 содержит два УСАПП: УСАПП0 и УСАПП1. Описание функционирования обоих УСАПП приведено ниже. УСАПП0 и УСАПП1 имеют раздельные регистры ввода-вывода, что показано в "Сводной таблице регистров". Обратите внимание, что в режиме совместимости с ATmega103 УСАПП1 не доступен, а также нет регистров UBRR0H и UCRS0C. Это означает, что в режиме совместимости с ATmega103 поддерживается только асинхронная работа УСАПП0.
Краткий обзор
На рисунке 79 представлена упрощенная функциональная схема УСАПП. На рисунке жирным шрифтом выделены регистры и выводы УСАПП.
Рисунок 79. Функциональная схема УСАПП
Прим. : Расположение выводов УСАПП см. на рисунке 1, табл. 76 и 39.
На рисунке 79 пунктирной линией выделены три основных блока УСАПП: тактовый генератор, передатчик и приемник. Регистры управления используются всеми блоками. Логика тактового генератора состоит из логики синхронизации, связанной с внешним тактовым входом (используется в подчиненном режиме) и генератора скорости связи. Вывод XCK (синхронизация передачи) используется только в режиме синхронной передачи. Передатчик состоит из одного буфера записи, последовательного сдвигового регистра, генератора паритета и управляющей логики, которая поддерживает различные форматы последовательной посылки. Буфер записи позволяет непрерывно передавать данные без каких-либо задержек между передачей посылок. Приемник является более сложным блоком УСАПП, т.к. в его состав входят модули обнаружения данных и синхронизации. Модули обнаружения необходимы для асинхронного приема данных. Помимо модулей обнаружения в приемник входит устройство проверки паритета, сдвиговый регистр, и двухуровневый приемный буфер (UDR). Приемник поддерживает те же последовательные форматы, что и передатчик, и может определить ошибку в посылке (кадре), переполнение данных и ошибку паритета.
Совместимость УСАПП с УАПП других AVR-микроконтроллеров
УСАПП полностью совместим с УАПП AVR-микроконтроллеров по следующим позициям:
- Расположение бит внутри всех регистров УСАПП
- Генерация скорости связи
- Работа передатчика
- Функционирование буфера передатчика
- Работа приемника
Однако в схеме буферизации приемника реализовано два улучшения, которые в некоторых случаях может повлиять на совместимость:
- Добавлен второй буферный регистр. Два буферных регистра работают как циклический буфер FIFO. Поэтому, UDR необходимо опрашивать только один раз при каждом получении данных! Более важным является тот факт, что флаги ошибок (FE и DOR), а также 9-ый бит данных (RXB8) также буферизованы вместе с данными в приемном буфере. Поэтому, состояние статусных бит необходимо всегда считывать перед чтением регистра UDR. В противном случае состояние флагов ошибок будет потеряно, т.к. будет изменено состояние буфера.
- Сдвиговый регистр приемника действует как трехуровневый буфер. Этим обеспечивается возможность сохранения принятых данных в последовательном сдвиговом регистре (см. рисунок 79) до определения нового
старт-бита, если буферные регистры заполнены. Таким образом, УСАПП характеризуется более высокой стойкостью к выполнению условия ошибки по переполнению данных (DOR).
У следующих управляющих битах изменены наименования, но сохранены назначение, механизм действия и расположение в регистре:
- CHR9 заменен на UCSZ2
- OR заменен на DOR
|