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

для шине.

2:В режиме Sleep, когда обнаружен бит Start, вызывает пробуждения устройство только если бит WAKE

 (UxMODE <7>) установлен непосредственно перед тем, как устройство переходит в режим Sleep.

Рисунок 15. Временная диаграмма бита автопробуждения (WAKE) в режиме Sleep

Примечание 1: Если случай пробуждения требует, чтобы долгое время разминки генератора, автосвободный бит СЛЕДА могло произойти в то время как система часы все еще активны. Эта последовательность не должна зависеть от присутствия FCY.

2: Конечный автомат UARTа проведен{поддержан} в Простой, в то время как бит СЛЕДА активен.

(Note 1: If the wake-up event requires long oscillator warm-up time, the auto-clear of the WAKE bit can occur while the system

clocks are still active. This sequence should not depend on the presence of FCY.

2: The UART state machine is held in Idle while the WAKE bit is active.)

12. ОПЕРАЦИИ С УПРАВЛЯЮЩИМИ ВЫВОДАМИ UxCTS И UxRTS

UxCTS (Clear to Send) и UxRTS (запрос на отправку) - два управляющих вывода реализованы аппаратно в модуле UART. Эти два вывода позволяют UART работать в управляемом потоке данных и в симплексном режиме, которые объясняются подробно в12.2" Функциях UxRTS в режиме управлении потоком данных” и12.3" Функций UxRTS в Симплексном Режиме ”, соответственно. Они предназначены чтобы управлять передачей и приемом между UART и DTE (Data Terminal Equipment).

12.1 Функция UxCTS

В модуле UART, UxCTS действует как вход, который может управлять передачей. Этот вывод управляется другим устройством (обычно PC). Вывод UxCTS конфигурируется, используя биты UEN <1:0>. Когда UEN <1:0> = 10, то UxCTS конфигурируется как вход. Если на UxCTS = 1, передатчик будет загружать данные в передающий сдвиговый регистр и в буфер, но не будет фактически передавать данные. Это даёт возможность DTE управлять получением данных от контроллера по требованию.

Передача начнется только, когда UxCTS =0. UxCTS выбирается синхронно внутренней частоте  с TCY, что означает, что должна быть минимальная ширина импульса на UxCTS  равная 1 TCY. Однако, заранее точно сказать сколько должна быть ширина импульса нельзя, т.е. в любое время может измениться частота генератора, а значит и TCY.

Пользовательское приложение может также прочитать состояние вывода UxCTS, читая связанный вывод порта.

12.2 Функция UxRTS в Режиме Управления потоком данных(Flow Control Mode)

В режиме Flow Control, UxRTS одного DTE связан с UxCTS микроконтроллера dsPIC33F и UxCTS DTE связаны с UxRTS микроконтроллера dsPIC33F, как показано на рисунке 17. Сигнал UxRTS указывает, что устройство готово получить данные.

Вывод UxRTS работает как выход всякий раз, когда UEN <1:0> = 01 или 10. Вывод UxRTS устанавливается (управляемый низким уровнем) всякий раз, когда получатель готов получить данные. Когда бит RTSMD = 0 (когда устройство находится в режиме Flow Control), вывод UxRTS сбрасывается в низкий уровень всякий раз, когда получающийся буфер – не полный или не установлен бит OERR. Когда бит RTSMD=0, вывод UxRTS устанавливает высокий уровень, когда устройство не готово получить (то есть, когда буфер получателя является или полным или в процессе сдвига).

Так как UxRTS DTE связан с UxCTS микроконтроллера dsPIC33F, UxRTS будет управлять UxCTS низким уровнем всякий раз, когда готово получить данные. Передача данных начнется когда UxCTS установится в 0, как описано в 12.1" Функциях UxCTS.

12.3 Функция UxRTS в Симплексном Режиме

В режиме Simplex, UxRTS DCE связан с UxRTS микроконтроллера dsPIC33F и UxCTS DCE связан с UxCTS микроконтроллера dsPIC33F, как показано на рисунке 17. В режиме Simplex, сигнал UxRTS указывает, что DTE готово передать. DTE ответит на сигнал UxRTS с действительным UxCTS всякий раз, когда DCE готова к получению передачи (receive the transmission). Когда DCE получает действительный UxCTS, это начнёт передачу.