Модуль Универсального Асинхронного Приёмо-передатчика (UART). Упрощённая блок схема модуля UART. Регистры управления

Страницы работы

Содержание работы

Введение

Модуль Универсального Асинхронного Приёмо-передатчика (UART)  - один из последовательных портов ввода вывода доступных в семействе микроконтроллере dsPIC33F. UART – это полнодуплексный асинхронный канал связи, который связывается с периферийными устройствами и персональными компьютерами используя протоколы, типа RS-232, RS-485, LIN, и IrDA ®. Модуль также поддерживает аппаратное управления потоком данных с выходов UxCTS и UxRTS и включает IrDA кодер и декодер.

Далее приведены особенности модуля UART:

• Дуплексная, 8 битная или 9 битная передача данных через выводы UxTX и UxRX.

• Четный, Нечетный или без чётности (для 8 битных данных)

• Один или два Стоповых бита

• Аппаратная Auto-Baud особенность

• опция аппаратного управления данными с выводов UxCTS и UxRTS

• Полностью Интегрированный Генератор Скорости в бодах с 16-разрядным предделителем

• Скорости в бодах в пределах от 10 Mbps до 38bps при 40 MIPS

• 4-х уровневый буфер FIFO передатчика

• 4-х уровневый буфер FIFO приёмника

• Четность, Выработка, и обнаружение ошибки при переполнении буфера

• Поддержка 9-ти битного режима с определением адреса (9-ый бит = 1)

• Передают и Получают Прерывания

• режим Loopback для поддержки диагностики

• IrDA логика кодирования и декодирования

• Поддержка шины LIN

• 16x битовой частоты выхода для внешней поддержки IrDA Кодера/Декодера

Обратите внимание:Каждый микроконтроллер семейства dsPIC33F может иметь один или более модулей UART. ‘x’ используемый в названиях выводов, биты контроля/состояния и регистры обозначают отдельный номер модуляUART. Для более подробной информации нужно обращаться к даташитам конкретного микроконтроллера.

Упрощенная блок-схему UART показана на рисунке 1. Модуль UART состоит из следующие ключевых аппаратных элементов:

• Бодовый Генератор Скорости (Baud Rate Generator)

• Асинхронный Передатчик (Transmitter)

• Асинхронный Получатель (Receiver)

РИСУНОК 1. Упрощённая блок схема модуля UART

2. Регистры управления

Этот раздел описывает функции каждого регистра, который управляет работой модуля UART:

UxMODE: Регистр режима UARTx

- Включить или отключить модуль UART

- Включить или отключить кодер/декодер  IrDA

- Включает или отключает WAKE, ABAUD, и Петлевые(Loopback) особенности

- Включает или отключает выводы UxRTS и UxCTS

- Конфигурирует UxRTS вывод для необходимого режима работы

- Конфигурирует полярность UxRx вывода

- Выбирает тип скорости в бодах

- Выбирает количество информационных битов, четности, и стоповых битов

• UxSTA: РегистрстатусаиуправленияUARTx (Status and Control Register)

- Выбирает режим прерывания при передачи

- Выбирает режим прерывания при передачи

- Включает или отключает передачу UART

- Управляет режимом определения адреса (Address Detect)

- Указывает различные состояния, такие как статус передающего и принимающего буфера, ошибку чётности, ошибку кадра и ошибку переполнения

UxRXREG: Регистр получателя (ReceiveRegister)

- Сохраняет полученные данные

UxTXREG: Регистр передатчика (Только для записи)

- Содержит данные которые будут переданы

UxBRG: UARTx Регистр скорости

- Сохраняет значение скорости в бодах передаваемых или полученных данных

UxMODE: Регистр режима UARTx

бит 15UARTEN: бит включения модуля UARTx

1 = UARTx включён; выводы UARTx управляются UARTx как определено служебными битами UEN <1:0> и UTXEN

0 = UARTx выключен; выводы UARTx управляются соответствующим PORT, LAT и битами TRIS

бит 14Зарезервированный

бит 13USIDL: Останавливать в спящем режиме

1 = прекратить операцию, когда микроконтроллер входит в Нерабочий режим

0 = продолжить работу в Нерабочем режиме бит 12IREN: бит разрешение работы IrDA Кодера и Декодера (примечание.1)

1 = IrDA кодер и декодер включены

0 = IrDA кодер и декодер вылючены бит 11RTSMD: бит выбора режима для вывода UxRTS

1 = UxRTS находится в режиме Simplex

0 = UxRTS находится в режиме Flow Control

бит 10Зарезервированный

бит 9-8UEN <1:0>: биты включения UARTx

11 = UxTX, UxRX и BCLKx выводы включаются и используются; UxCTS вывод управляется защёлкой порта

10 = UxTX, UxRX, UxCTS и UxRTS выводы включены и используются

01 = UxTX, UxRX и UxRTS выводы включены и используются; UxCTS вывод управляется защёлкой порта

00 = UxTX и UxRX выводы включены и используются; UxCTS, UxRTS и BCLKx выводы управляются защёлкой порта бит 7 WAKE: Разрешает пробуждение от стартового бита когда модуль находится в спящем режиме

1 = пробуждение разрешено

0 = пробуждение запрещено бит 6LPBACK: бит выбора петлевого режима UARTx (UARTx Loopback Mode Select bit)

1 = Разрешить режим Loopback

0 = запретить Loopback  режим бит 5ABAUD: бит разрешения Auto-Baud

1 = разрешить измерению Baud rate на следующем символе. Требует приема Sync поля (55h);

очищенный аппаратными средствами после завершения.

0 = измерение Baud rate, запрещено или закончено бит 4URXINV: бит инверсии полярности приёмника

1 = UxRX состояние Idle - ‘0’

0 = UxRX состояние Idle - ‘1’

бит 3BRGH: Бит выбора высокой скорости Baubd Rate)

1 = высокая скорость

0 = низкая скорость бит 2-1PDSEL <1:0>: биты Четности Выбора Данных

Похожие материалы

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