Введение
Модуль Универсального Асинхронного Приёмо-передатчика (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>: биты Четности Выбора Данных
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.