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

Как показано на рисунке 18, режим Simplex также используется в системах IEEE-485, чтобы разрешить передачу. Когда UxRTS указывает, что DCE готово передавать, то сигнал UxRTS активизирует driver

.

Вывод UxRTS конфигурирован как выход и управляется всякий раз, когда UEN <1:0> = 01 или 10. Когда

RTSMD = 1, UxRTS установлен (управляемым низким уровнем) всякий раз, когда данные доступны, чтобы передать (TRMT = 0). Когда RTSMD = 1, UxRTS - сброшен (управляется высоким уровнем), когда передатчик пустой (TRMT = 1).

Рисунок 16. UxRTS/UxCTS Управление потоком данных для DCE-DCE (RTSMD =0, Режим Управления потоком данных)

Рисунок 17. UxRTS/UxCTS Установление связи для DTE-DCE (RTSMD =1, Симплексный Режим)

Рисунок 18. UxRTS/UxCTS шина используемая для систем IEEE-485 (RTSMD = 1)

13 ПОДДЕРЖКАIrDA

Модуль UART обеспечивает два типа инфракрасной поддержки UARTа: один – выход тактов IrDA для поддержки внешнего IrDA устройства кодера и декодера (унаследованная поддержка модуля), и другой является полным исполнением IrDA кодера и декодера.

Обратите внимание:Эта особенность доступна только в режиме Low-Speed (BRGH =0), со скоростью baudrate = 1200 бод.

13.1 Поддержка внешнего IrDA - IrDA вывод тактов

Чтобы поддерживать внешний IrDA устройства кодер и декодера, вывод BCLKx может быть конфигурирован для генерирования 16x baud clock. Когда UEN <1:0> = 11, вывод BCLKx  выведет 16x baud clock, если модуль UART включён; это может использоваться, чтобы поддержать IrDA чип кодер-декодера.

13.2 Встроенный IrDA Кодер и Декодер

UART имеет полное выполнение IrDA кодера и декодера как часть модуля UARTа. Встроенный IrDA кодер и функциональные возможности декодера активизируются, используя бит IREN (UxMODE <12>). Когда активен (IREN = 1), вывод приёмника микроконтроллера (UxRX) действует как ввод от инфракрасного приёмника. Вывод передачи микроконтроллера (UxTX) действует как выход на инфракрасный передатчик.

13.2.1 IrDA ФУНКЦИЯ КОДЕРА

Работа кодера: берутся последовательные данные из UARTа и выполняются нижеприведённые действия.

Передаётся бит данных ‘1’, закодирован как ‘0’ в течение полных 16 периодов 16x baud clock.

Передаётся бит данных ‘0’, закодирован как ‘0’ в течение первых 7 периодов 16x baud clock; как ‘1’ для следующих 3-х периодов и как ‘0’ для оставшихся 6 периодов. См. рисунок 19 и рисунок 21 для подробностей.

13.2.2 ПОЛЯРНОСТЬ ПЕРЕДАЧИ

Полярность передачи выбирается, используя бит UTXINV (UxSTA <14>). Когда UTXINV = 0, режим Idle

линии UxTX - ‘0’ (см. рисунок 19). Когда UTXINV = 1, Idle состояние линии UxTX является ‘1’ (см. рисунок 20).

Рисунок 19. Схема кодера IrDA

Рисунок 20. Последовательность кодирования бита «0»

Рисунок 21: IrDA ® Последовательность кодирования бита «0» относительно 16x baudclock

13.2.3 IrDA ФУНКЦИЯ ДЕКОДЕРА

Работа декодера, берутся  последовательные данные с вывода UxRX  и заменяются на декодированный поток данных. Поток декодируется на заднем фронте сигнала на входе UxRX.

Каждый задний фронт UxRX заставляет декодированные данные управляться низким уровнем в течении 16 периодов 16x boad clock. Если, ко времени эти 16 периодов истекают, другой задний фронт был обнаружен, декодированные данные остаются в низком уровне в течении других 16 периодов. Если не было обнаружено заднего фронта, то декодированные данные управляются высоким уровнем.

Обратите внимание, что поток данных в устройство перемещен где-нибудь с 7 до 8 периодов

16x baud clock из фактического источника сообщения. The one clock uncertainty is due to the clock

edge resolution (see Figure 17-22 for details).

Рисунок 22. Схема декодирования IrDA

IrDA не дописана!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!