Асинхронный последовательный приемопередатчик UART (USART).
Universal Asynchronous Repeater Transmitter (UART) является очень распространенным коммуникационным узлом (последовательным портом), используемым в электронных устройствах. Реализуется либо в виде отдельной микросхемы либо как элемент более сложных интегральных устройств. В качестве периферийного устройства включается в большинство современных микроконтроллеров.
UART в соответствии с моделью OSI частично или полностью реализует аппаратный (физический) и частично – канальный уровень коммуникационных протоколов.
В простейшем случае UART представляет из себя два сдвиговых регистра – регистр приемника и регистр передатчика. Единицей передаваемых данных порта является слово, поле данных которого составляет от 7 (в некоторых исполнениях – от 4) до 9 битов. Управляющее устройство по системной шине помещает очередное передаваемое слово в сдвиговый регистр передатчика, что инициирует начало передачи. Сдвиговый регистр передатчика последовательно выдвигает передаваемые биты на свой внешний вывод, с которого по линии связи они передаются на вход сдвигового регистра приемника устройства-адресата. По заполнении сдвигового устройства адресат по системной шине должен считать его содержимое.
Различные реализации UART используют 2 или 3 внешних вывода, выполняющие следующие роли:
· выход передатчика;
· вход приемника;
· вход/выход синхросигнала. Имеется только в случае, если UART поддерживает синхронный режим (в большинстве случаев это так).
В различных исполнениях возможно мультиплексирование линий порта. Например, одна и та же линия может одновременно выполнять роль и приемника, и передатчика, либо переключаться в режим приемника данных или приемника/передатчика синхросигнала.
Выводы микросхемы работают с теми же уровнями напряжений и токов, что и все остальные устройства. Использование их непосредственно в линии связи возможно только на небольших расстояниях (в пределах одной платы или одного устройства) и с небольшим числом устройств в линии. В этом случае аппаратный уровень протокола передачи данных реализуется узлом UART в полном объеме. При реализации передачи данных на большие расстояния необходимо использовать дополнительные устройства – драйверы, обеспечивающие сопряжение уровней токов и напряжений UART с аналогичными в этой линии. В этом случае драйвер также входит в состав аппаратного уровня протокола.
Примеры аппаратного подключения UART, приведены на следующих рисунках.
Рис. 3.3. Соединение двух микроконтроллеров с помощью UART.
Рис. 3.3 содержит пример соединения двух микроконтроллеров в пределах одного устройства с помощью встроенного UART в асинхронном полнодуплексном режиме. Выход передатчика одного порта соединен со входом приемника другого устройства и наоборот, вследствие чего данные могут передаваться в обоих направлениях независимо.
Рис. 3.4. Подключение UART к линии RS-485.
Рис. 3.4 содержит пример подключения порта UART к линии RS-485, к которой через внешние кабели могут подключаться другие корреспонденты. В этом случае для подключения используется микросхема драйвера.
В качестве метода физического кодирования данных UART всегда использует код NRZ.
UART в зависимости от исполнения может поддерживать несколько режимов работы:
· Асинхронный старт-стопный режим;
· Синхронный режим;
· Смешанный режимы.
Дата добавления: 2016-04-19; просмотров: 1140;