В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > AVR
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


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.2. SPI-совместимые форматы посылок

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

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

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

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

Инициализация USART выполняется по следующей последовательности:

  1. Установка высокого уровня на выводе TxD и опционально низкого уровня на выводе XCK.
  2. Настройка TxD и опционально XCK на вывод
  3. Настройка скорости и формата посылки.
  4. Задание режима работы (при выборе синхронного режима разрешается работа выхода XCK).
  5. Разрешение работы передатчика и/или приемника в зависимости от необходимости.

При управлении передачей по прерываниям перед инициализацией необходимо активизировать общий запрет прерываний.

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

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

После разрешения работы передатчика, нормальная работа порта на выводе TxD перекрывается сигналом с выхода передатчика модуля USART. Дополнительно, в регистре направления вывод TxD должен быть настроен как выход. Подробности по управлению портом см. разделе 13 "Порты ввода-вывода".

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

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

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

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

При работе с посылками с числом бит меньшим восьми, старшие биты, записанные в регистр DATA, игнорируются. При передаче 9-битных данных, девятый бит данных необходимо записать в бит TXB8 перед записью младшего байта данных в DATA.

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

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



<-- Предыдущая страница Оглавление Следующая страница -->