Последовательный порт персонального компьютера в любительских разработках

April 3, 2012 by admin Комментировать »

Последовательный или, как его еще называют, сериальный порт является одним из вне шних интерфейсов компьютерных систем, выполняющих обмен данными в соответствии со стандартом RS 232. В большинстве случаев для физической связи устройств, работающих по RS 232, используются 9 контактные  соединители, хотя иногда можно  встретить и 25 контакт ные разъемы. Процесс передачи  приема данных по этому стандарту осуществляется последова тельно, бит за битом, откуда, собственно, и произошло название  «последовательный порт».

Последовательный порт представляет собой один из наиболее ранних интерфейсов обме на данными между устройствами и известен под названием  «COM» порт.  Для обмена данны ми через  последовательный порт используются специальные микросхемы,  известные  под названием UART (Universal Asynchronous Receiver Transmitter,  Универсальный Асинхронный Приемо Передатчик), способные обеспечить скорость обмена данными по последовательно му порту до 115  килобит/с  (сокращенно kbps), хотя последние разработки позволяют увели чить эту скорость  до 460 килобит/с.

В персональном компьютере обычно присутствует не один, а несколько последователь

ных портов, которым присваиваются  следующие аппаратные  ресурсы (табл. 4.1).

Рис. 4.2

Передача байта данных

На схеме, показанной  на рис. 4.2, демонстрируется передача ASCII символа A в асинхрон ном режиме: 7 бит данных, бит четности и два стоповых бита. При этом каждому байту данных предшествует стартовый  бит, за которым  следуют 7 бит данных.

После передачи  битов  данных передается бит четности (в данном  случае, равный  0), и завершают передачу байта данных два стоповых бита, гарантирующих определенную вы держку времени между соседними посылками. Логические уровни сигналов являются инвер

тированными по отношению к полярности напряжения сигналов, т. е. отрицательным перепа

дам напряжения  соответствует логическая «1», а положительным  — логический  «0».

Стартовый бит следующей посылки может передаваться в любой момент времени после окончания  стопового  бита предыдущей посылки, поэтому между двумя последовательными посылками данных могут быть паузы произвольной  длительности.

Синхронизация приемника  осуществляется стартовым битом передатчика — при этом приемник и передатчик должны работать на одной и той же тактовой частоте F (рис. 4.2). После спада стартового бита передатчика генератор синхроимпульсов приемника сбрасыва ется и начинает формировать импульсы синхронизации, которые через программируемый делитель частоты и схемы синхронизации  управляют приемом  данных.

Аппаратно прием  и  передача  данных  через  интерфейс RS 232  обычно  реализуются в многофункциональном   контроллере  UART. Это общее  название   для данного типа чипов, хотя выпускается  очень много разновидностей  этого устройства. Наиболее распространенны ми контроллерами приема передачи по последовательному порту являются устройства, сов местимые с серией 8250, которая включает чипы 16450, 16550, 16650, 16750.

Для безошибочного приема каждый бит данных должен захватываться в средине интер вала времени,  когда он является действительным (рис. 4.2).  С возрастанием скорости пере дачи синхронизация передатчика и приемника  усложняется — начинают сказываться пара зитные емкости электронных узлов, затягивающие  фронты синхроимпульсов,  а также распре деленная индуктивность физической линии передачи.

На практике  интерфейс RS 232 реализован как  группа сигнальных линий:

    SG (Signal Ground) — сигнальная  земля (относительно нее ведется отсчет уровней сигналов);

    TD (Transmit Data) — выход передатчика (TXD);

    RD (Receive Data) — вход приемника  (RXD);

    RTS (Request–To–Send) — запрос обмена данных, который выставляется контролле

ром  UART последовательного порта;

    CTS (Clear–To–Send)   —  сигнализирует  о  готовности  модема  или  терминального устройства к обмену данными;

    DTR (Data Terminal Ready) — сигнализирует модему или другому устройству, что конт

роллер последовательного порта готов к установке соединения;

    DSR (Data Set Ready) — сигнализирует  контроллеру UART последовательного порта на то, что периферийное устройство готово установить соединение;

    DCD (Data Carrier Detect) — наличие входного сигнала от удаленного модема или устройства. Когда модем или другое устройство обнаруживает появление несущей на другом конце линии, то линия становится активной;

    RI (Ring Indicator) — вход индикатора вызова.

Сигналы RD и TD, определяющие прием/передачу  данных, мы уже рассмотрели на приме ре передачи/приема   байта данных. Обратите внимание  на то, что линии данных являются последовательными,  в то время  как   сигнальные  линии RTS, CTS, DCD, DSR, DTR, RTS и RI фактически являются  параллельными.

Напомню, что для соединения устройств, работающих через данный интерфейс использует

ся 9 контактный  соединитель, выводы которого соответствуют сигналам, указанным  в табл. 4.2.

Эти же сигналы присутствуют и на COM порту компьютера, к которому подсоединено ка

кое либо устройство, например, модем.

Таблица 4.2

Сигналы и выводы интерфейса RS 232 для 9 контактного соединителя

Во многих случаях для проверки  и тестирования  устройств, присоединенных  к последова тельному порту, используется так называемое «нуль модемное» соединение. Такой упрощен ный интерфейс используется как  для целей  диагностики, так и для управления системами промышленной автоматики, реализованных на базе специализированных  модулей, напри мер, микроконтроллеров.

Схема нуль модемного соединения приведена на рис. 4.3.

Рис. 4.3

Нуль модемное соединение

Рис. 4.4

Схема интерфейса обратной  связи

Довольно часто (особенно это касается программистов) возникает необходимость в быс

трой проверке  функционирования  приложений, работающих с последовательными портами.

В таких  случаях можно  воспользоваться  так  называемым  интерфейсом обратной связи (loopback interface), схема которого приведена на рис. 4.4.

Интерфейс RS 232 позволяет управлять потоком данных в зависимос  ти от состояния передатчика и приемника, для чего могут использоваться несколько протоколов обмена данными. Функционирование  этих протоко лов не касается базовых принципов передачи данных, рассмотренных ра нее, их назначение иное — они позволяют синхронизировать устройства, имеющие различные скорости приема/передачи  данных, а также различ ные размеры буферов памяти для хранения данных. Например,  принтер, получающий данные через последовательный порт, может откладывать их прием до окончания процесса обработки предыдущего фрагмента данных, сигнализируя об этом передатчику.

Управление потоком данных может осуществляться посредством как аппаратного, так и программного  протоколов.  Вот наиболее часто используемые протоколы управления обме ном данными:

    аппаратный протокол RTS/CTS — используется для соединения принтера с компью тером или для соединения компьютеров  (нуль модемный кабель в этом случае ис пользовать нельзя);

    аппаратный протокол DTR/DSR — функционирует аналогично протоколу RTS/CTS, но

использует другие сигналы;

    программный протокол XON/XOFF — применяется  в двунаправленных каналах обме на при буферизованном обмене данными. В случае полного заполнения буфера при емника передача данных прекращается и ее возобновление возможно  только после обработки данных в буфере приемника. Приемник останавливает передачу данных передатчиком, посылая ему  XOFF, и возобновляет ее, инициируя команду XON.

    программный  протокол ACK — основан  на синхронизации  приема одного или не скольких байт данных. Приемник отправляет передатчику команду ACK, в ответ на которую передатчик посылает приемнику байт или группу байтов.

Далее  мы  рассмотрим  практические   аспекты  применения  последовательного порта в  различных  проектах,  которые  могут  представить интерес  для радиолюбителей и  всех пользователей ПК, интересующихся созданием систем домашней электроники.

Источник:  Магда Ю. С. Компьютер  в домашней лаборатории.  – М.: ДМК Пресс, 2008. – 200 с.: ил.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты