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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

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

Введение

Модуль Универсального Асинхронного Приёмо-передатчика (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>: биты Четности Выбора Данных

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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.