UART (Universal Asynchronous Receiver-Transmitter) - Универсальный асинхронный приёмопередатчик (УАПП) - узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. Преобразует передаваемые данные в последовательный вид так, чтобы было возможно передать их по одной физической цифровой линии другому аналогичному устройству. Метод преобразования хорошо стандартизован и широко применяется в компьютерной технике.
 
Представляет собой логическую схему, с одной стороны подключённую к шине вычислительного устройства, а с другой имеющую два или более выводов для внешнего соединения.
UART может представлять собой отдельную микросхему (например, Intel I8251, I8250) или являться частью большой интегральной схемы (например, микроконтроллера). Используется для передачи данных через последовательный порт компьютера.
 
Метод передачи и приёма
Передача данных в UART осуществляется по одному биту в равные промежутки времени. Этот временной промежуток определяется заданной скоростью UART и для конкретного соединения указывается в бодах (что в данном случае соответствует битам в секунду). Существует общепринятый ряд стандартных скоростей: 300; 600; 1200; 2400; 4800; 9600; 19200; 38400; 57600; 115200; 230400; 460800; 921600 бод. Скорость (S, бод) и длительность бита (T, секунд) связаны соотношением T=1/S. 
 
Поддержка UART в массовых операционных системах
Широкое распространение UART в цифровой технике предопределило встраивание поддержки этого интерфейса в API многих операционных систем. Как правило, этот интерфейс фигурирует в документации ОС как COM-порт или последовательный порт.
 
Microsoft Windows
С последовательными портами в Win32 работают, как с файлами. Для открытия порта используется функция CreateFile. Портов может быть много, поэтому они обозначаются как COM1, COM2 и т. д. по порядку обнаружения драйверов соответствующих устройств. Первые 9 портов доступны в том числе как именованные каналы для передачи данных (доступны по именам «COM1», «COM2», …), такой метод доступа считается устаревшим. Рекомендуется ко всем портам обращаться как к файлам (по именам «\\.\COM1», «\\.\COM2»,… «\\.\COMx»).
 
Поиск PnP-имен устройств в системе осуществляется вызовом SetupDiGetClassDevs. В реестре существует раздел HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM, в котором отображаются имеющиеся в данный момент COM-порты.
 
Для каждого порта в реестре имеется раздел. Эти разделы имеют такие имена:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial\Parameters\Serial10000, где последнее значение «Serial10000» — уникальный номер для каждого нового добавленного в систему COM-порта, для второго — «Serial10001» и т. д.
 
Коммуникационные протоколы
В редких задачах допустимо слать через UART прямой поток данных. Как правило, необходимо указывать начало и конец блока данных; обеспечивать контроль целостности данных и выполнять восстановление потерянных элементов; управлять потоком данных для предотвращения перегрузки входного буфера и т. п. 
Существует большое количество разнообразных протоколов связи, предназначенных для использования с UART. Наиболее известные:
 
MODBUS - Семейство протоколов типа «запрос-ответ», популярное в промышленной автоматике. Ориентированы на управление оборудованием короткими командами.
AT - команды телефонных модемов. Набор текстовых команд, позволяющих управлять работой модема при установлении соединения.
PPP — протокол широко использовался при подключениях к интернету через модем. Позволяет выполнять аутентификацию пользователя у провайдера, шифровать данные и т. п.
IrDA — семейство протоколов для оптического беспроводного физического уровня.
 

Нет прав для добавления комментария