Что такое com port

Что такое com port

Практически каждый компьютер оборудован хотя бы одним последовательным асинхронным адаптером. Обычно он представляет собой отдельную плату или же расположен прямо на материнской плате компьютера. Его называют еще асинхронным адаптером RS-232-C, или портом RS-232-C. Каждый асинхронный адаптер обычно содержит несколько портов RS-232-C, через которые к компьютеру можно подключать внешние устройства. Каждому такому порту соответствует несколько регистров, через которые программа получает к нему доступ, и определенная линия IRQ для сигнализирования компьютеру об изменении состояния порта. При выполнении BIOS процедуры начальной загрузки каждому порту RS-232-C присваивается логическое имя COM1 — COM4 (COM-порт номер 1 — 4).

Интерфейс RS-232-C разработан ассоциацией электронной промышленности (Electronic Industries Association — EIA) как стандарт для соединения компьютеров и различных последовательных периферийных устройств. Компьютер IBM PC поддерживает интерфейс RS-232-C не в полной мере скорее разъем, обозначенный на корпусе компьютера как порт последовательной передачи данных, содержит некоторые из сигналов, входящих в интерфейс RS-232-C и имеющих соответствующие этому стандарту уровни напряжения. В настоящее время порт последовательной передачи данных используется очень широко. Вот далеко не полный список применений:

Основные понятия и термины

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

Из рисунка видно, что исходное состояние линии последовательной передачи данных — уровень логической 1. Это состояние линии называют отмеченным — MARK. Когда начинается передача данных, уровень линии переходит в 0. Это состояние линии называют пустым — SPACE. Если линия находится в таком состоянии больше определенного времени, считается, что линия перешла в состояние разрыва связи — BREAK. Стартовый бит START сигнализирует о начале передачи данных. Далее передаются биты данных, вначале младшие, затем старшие.

Если используется бит четности P, то передается и он. Бит четности имеет такое значение, чтобы в пакете битов общее количество единиц (или нулей) было четно или нечетно, в зависимости от установки регистров порта. Этот бит служит для обнаружения ошибок, которые могут возникнуть при передаче данных из-за помех на линии. Приемное устройство заново вычисляет четность данных и сравнивает результат с принятым битом четности. Если четность не совпала, то считается, что данные переданы с ошибкой. Конечно, такой алгоритм не дает стопроцентной гарантии обнаружения ошибок. Так, если при передаче данных изменилось четное число битов, то четность сохраняется и ошибка не будет обнаружена. Поэтому на практике применяют более сложные методы обнаружения ошибок.

Лекция 230. СОМ порт

В самом конце передаются один или два стоповых бита STOP, завершающих передачу байта. Затем до прихода следующего стартового бита линия снова переходит в состояние MARK. Использование бита четности, стартовых и стоповых битов определяют формат передачи данных. Очевидно, что передатчик и приемник должны использовать один и тот же формат данных, иначе обмен будет невозможен. Другая важная характеристика — скорость передачи данных. Она также должна быть одинаковой для передатчика и приемника.

Скорость передачи данных обычно измеряется в бодах (по фамилии французского изобретателя телеграфного аппарата Emile Baudot — Э. Бодо). Боды определяют количество передаваемых битов в секунду. При этом учитываются и старт/стопные биты, а также бит четности. Иногда используется другой термин — биты в секунду (bps). Здесь имеется в виду эффективная скорость передачи данных, без учета служебных битов.

Аппаратная реализация

Компьютер может быть оснащен одним или двумя портами последовательной передачи данных. Эти порты расположены либо на материнской плате, либо на отдельной плате, вставляемой в слоты расширения материнской платы. Бывают также платы, содержащие четыре или восемь портов последовательной передачи данных. Их часто используют для подключения нескольких компьютеров или терминалов к одному, центральному компьютеру. Эти платы имеют название «мультипорт».

В основе последовательного порта передачи данных лежит микросхема Intel 8250 или ее современные аналоги — Intel 16450, 16550, 16550A. Эта микросхема является универсальным асинхронным приемопередатчиком (UART — Universal Asynchronous Receiver Transmitter). Микросхема содержит несколько внутренних регистров, доступных через команды ввода/вывода. Микросхема 8250 содержит регистры передатчика и приемника данных. При передаче байта он записывается в буферный регистр передатчика, откуда затем переписывается в сдвиговый регистр передатчика. Байт «выдвигается» из сдвигового регистра по битам. Аналогично имеются сдвиговый и буферный регистры приемника.

Программа имеет доступ только к буферным регистрам, копирование информации в сдвиговые регистры и процесс сдвига выполняется микросхемой UART автоматически. Регистры, управляющие асинхронным последовательным портом, будут описаны в следующей главе. К внешним устройствам асинхронный последовательный порт подключается через специальный разъем. Существует два стандарта на разъемы интерфейса RS-232-C, это DB25 и DB9. Первый разъем имеет 25, а второй 9 выводов. Приведем разводку разъема последовательной передачи данных DB25:

Номер контакта Назначение контакта Вход или выход компьютера
1Защитное заземление(Frame Ground, FG)
2Передаваемые данные(Transmitted Data, TD)Выход
3Принимаемые данные(Received Data, RD)Вход
4Запрос для передачи(Request to send, RTS)Выход
5Сброс для передачи(Clear to Send, CTS)Вход
6Готовность данных(Data Set Ready, DSR)Вход
7Сигнальное заземление(Signal Ground, SG)
8Детектор принимаемого с линии сигнала(Data Carrier Detect, DCD)Вход
9-19Не используются
20Готовность выходных данных(Data Terminal Ready, DTR)Выход
21Не используется
22Индикатор вызова(Ring Indicator, RI)Вход
23-25Не используются

Наряду с 25-контактным разъемом часто используется 9-контактный разъем:

Номер контакта Назначение контакта Вход или выход
1Детектор принимаемого с линии сигнала(Data Carrier Detect, DCD)Вход
2Принимаемые данные(Received Data, RD)Вход
3Передаваемые данные(Transmitted Data, TD)Выход
4Готовность выходных данных(Data Terminal Ready, DTR)Выход
5Сигнальное заземление(Signal Ground, SG)
6Готовность данных(Data Set Ready, DSR)Вход
7Запрос для передачи(Request to send, RTS)Выход
8Сброс для передачи(Clear to Send, CTS)Вход
9Индикатор вызова(Ring Indicator, RI)Вход

Только два вывода этих разъемов используются для передачи и приема данных. Остальные передают различные вспомогательные и управляющие сигналы. На практике для подсоединения того или иного устройства может понадобиться различное количество сигналов. Интерфейс RS-232-C определяет обмен между устройствами двух типов: DTE (Data Terminal Equipment — терминальное устройство) и DCE (Data Communication Equipment — устройство связи). В большинстве случаев, но не всегда, компьютер является терминальным устройством. Модемы, принтеры, графопостроители всегда являются устройствами связи. Рассмотрим теперь сигналы интерфейса RS-232-C более подробно.

Сигналы интерфейса RS-232-C

Здесь мы рассмотрим порядок взаимодействия компьютера и модема, а также двух компьютеров непосредственно соединенных друг с другом. Сначала посмотрим, как происходит соединение компьютера с модемом. Входы TD и RD используются устройствами DTE и DCE по-разному. Устройство DTE использует вход TD для передачи данных, а вход RD для приема данных. И наоборот, устройство DCE использует вход TD для приема, а вход RD для передачи данных. Поэтому для соединения терминального устройства и устройства связи выводы их разъемов необходимо соединить напрямую:

Остальные линии при соединении компьютера и модема также должны быть соединены следующим образом:

Рассмотрим процесс подтверждения связи между компьютером и модемом. В начале сеанса связи компьютер должен удостовериться, что модем может произвести вызов (находится в рабочем состоянии). Затем, после вызова абонента, модем должен сообщить компьютеру, что он произвел соединение с удаленной системой. Подробнее это происходит следующим образом. Компьютер подает сигнал по линии DTR, чтобы показать модему, что он готов к проведению сеанса связи. В ответ модем подает сигнал по линии DSR. Когда модем произвел соединение с другим, удаленным модемом, он подает сигнал по линии DCD, чтобы сообщить об этом компьютеру. Если напряжение на линии DTR падает, это сообщает модему, что компьютер не может далее продолжать сеанс связи, например из-за того что выключено питание компьютера. В этом случае модем прервет связь. Если напряжение на линии DCD падает, это сообщает компьютеру, что модем потерял связь и не может больше продолжать соединение. В обоих случаях эти сигналы дают ответ на наличие связи между модемом и компьютером.

Сейчас мы рассмотрели самый низкий уровень управлением связи — подтверждение связи. Существует более высокий уровень, который используется для управления скоростью обмена данными, но он также реализуется аппаратно. Практически управление скоростью обмена данными (управление потоком) необходимо, если производится передача больших объемов данных с высокой скоростью. Когда одна система пытается передать данные с большей скоростью, чем они могут быть обработаны принимающей сиситемой, результатом может стать потеря части передаваемых данных. Чтобы предотвратить передачу большего числа данных, чем то, которое может быть обработано, используют управление связью, называемое «управление потоком» (flow-controll handshake). Стандарт RS-232-C определяет возможность управления потоком только для полудуплексного соединения. Полудуплексным называется соединение, при котором в каждый момент времени данные могут передаваться только в одну сторону. Однако фактически этот механизм используется и для дуплексных соединений, когда данные передаются по линии связи одновременно в двух направлениях.

Управление потоком

В полудуплексных соединениях устройство DTE подает сигнал RTS, когда оно желает передать данные. DCE отвечает сигналом по линии CTS, когда оно готово, и DTE начинает передачу данных. До тех пор, пока оба сигнала RTS и CTS не примут активное состояние, только DCE может передавать данные. При дуплексных соединениях сигналы RTS/CTS имеют противоположные значения по сравнению с теми, которые они имели для полудуплексных соединений. Когда DTE может принять данные, он подает сигнал по линии RTS. Если при этом DCE готово для принятия данных, оно возвращает сигнал CTS. Если напряжение на линиях RTS или CTS падает, то это сообщает передающей системе, что получающая система не готова для приема данных. Ниже мы приводим отрывок диалога между компьютером и модемом, происходящий при обмене данными.

Конечно, все это хорошо звучит. На практике все не так просто. Соединить компьютер и модем не составляет труда, так как интерфейс RS-232-C как раз для этого и предназначен. Но если вы захотите связать вместе два компьютера при помощи такого же кабеля, который вы использовали для связи модема и компьютера, то у вас возникнут проблемы. Для соединения двух терминальных устройств — двух компьютеров — как минимум необходимо перекрестное соединение линий TR и RD:

Однако в большинстве случаев этого недостаточно, так как для устройств DTE и DCE функции, выполняемые линиями DSR, DTR, DCD, CTS и RTS, асимметричны. Устройство DTE подает сигнал DTR и ожидает получения сигналов DSR и DCD. В свою очередь, устройство DCE подает сигналы DSR, DCD и ожидает получения сигнала DTR. Таким образом, если вы соедините вместе два устройства DTE кабелем, который вы использавали для соединения устройств DTE и DCE, то они не смогут договориться друг с другом. Не выполнится процесс подтверждения связи.

Теперь перейдем к сигналам RTS и CTS, управления потоком данных. Иногда для соединения двух устройств DTE эти линии соединяют вместе на каждом конце кабеля. В результате получаем то, что другое устройство всегда готово для получения данных. Поэтому, если при большой скорости передачи принимающее устройство не успевает приинимать и обрабатывать данные, возможна потеря данных. Чтобы решить все эти проблемы для соединеия двух устройств типа DTE используется специальный кабель, в обиходе называемый нуль-модемом. Имея два разъема и кабель, вы легко можете спаять его самостоятельно, руководствуясь следующими схемами.

Для полноты картины рассмотрим еще один аспект, связанный с механическим соединением портов RS-232-C. Из-за наличия двух типов разъемов — DB25 и DB9 — часто бывают нужны переходники с одного типа разъемов на другой. Например, вы можете использовать такой переходник для соединения COM-порта компьютера и кабеля нуль-модема, если на компьютере установлен разъем DB25, а кабель оканчивается разъемами DB9. Схему такого переходника мы приводим на следующем рисунке:

Заметим, что многие устройства (такие, как терминалы и модемы) позволяют управлять состоянием отдельных линий RS-232-C посредством внутренних переключателей (DIP-switches). Эти переключатели могут менять свое значение на разных моделях модемов. Поэтому для их использования следует изучить документацию модема. Например, для hayes-совместимых модемов, если переключатель 1 находится в положении «выключен» (down), это означает, что модем не будет проверять наличие сигнала DTR. В результате модем может отвечать на приходящие звонки, даже если компьютер и не запрашивает у модема установление связи.

Технические параметры интерфейса RS-232-C

При передаче данных на большие расстояния без использования специальной аппаратуры из-за помех, наводимых электромагнитными полями, возможно возникновение ошибок. Вследствие этого накладываются ограничения на длину соединительного кабеля между устройствами DTR-DTR и DTR-DCE. Официальное ограничение по длине для соединительного кабеля по стандарту RS-232-C составляет 15,24 метра. Однако на практике это расстояние может быть значительно больше. Оно непосредственно зависит от скорости передачи данных. Согласно McNamara (Technical Aspects of Data Communications, Digital Press, 1982) определены следующие значения:

Скорость передачи,
бодах Максимальная длина для экранированного кабеля, м Максимальная длина для неэкранированного кабеля, м
1101524,0914,4
3001524,0914,4
1200914,4914,4
2400304,8152,4
4800304,876,2
960076,276,2

Уровни напряжения на линиях разъема составляют для логического нуля -15..-3 вольта, для логической единицы — +3..+15 вольт. Промежуток от -3 до +3 вольт соответствует неопределенному значению. Если вы подключаете внешние устройства к разъему интерфейса RS-232-C (а также при соединении двух компьютеров нуль-модемом), предварительно выключите его и компьютер, а также снимите статический заряд (подсоединив заземление). В противном случае можно вывести из строя асинхронный адаптер. Земля компьютера и земля внешнего устройства должны быть соединены вместе.
Источник: shems.h1.ru

Назначение выводов 9-контактного разъема

Контакт Сигнал Направление Описание
1CDВходОбнаружена несущая
2RXDВходПринимаемые данные
3TXDВыходПередаваемые данные
4DTRВыходХост готов
5GNDОбщий провод
6DSRВходУстройство готово
7RTSВыходХост готов к передаче
8CTSВходУстройство готово к приему
9RIВходОбнаружен вызов
25-контактная вилка типа DB-25M
Нумерация контактов со стороны штырьков
Направление сигналов указано относительно хоста (компьютера)
Контакт Сигнал Направление Описание
1SHIELDЭкран
2TXDВыходПередаваемые данные
3RXDВходПринимаемые данные
4RTSВыходХост готов к передаче
5CTSВходУстройство готово к приему
6DSRВходУстройство готово
7GNDОбщий провод
8CDВходОбнаружена несущая
9Резерв
10Резерв
11Не используется
12SCDВходОбнаружена несущая #2
13SCTSВходУстройство готово к приему #2
Контакт Сигнал Направление Описание
14STXDВыходПередаваемые данные #2
15TRCВходТактирование передатчика
16SRXDВходПринимаемые данные #2
17RCCВходТактирование приемника
18LLOOPВыходЛокальная петля
19SRTSВыходХост готов к передаче #2
20DTRВыходХост готов
21RLOOPВыходВнешняя петля
22RIВходОбнаружен вызов
23DRDВходОпределена скорость данных
24TRCOВыходТактирование внешнего передатчика
25TESTВходТестовый режим

Из таблиц видно, что 25-контактный интерфейс отличается наличием полноценного второго канала приема-передачи (сигналы, обозначенные «#2»), а также многочисленных дополнительных управляющих и контрольных сигналов. Однако, часто, несмотря на наличие в компьютере «широкого» разъема, дополнительные сигналы на нем просто не подключены.

Электрические характеристики

Логические уровни передатчика: «0» – от +5 до +15 Вольт, «1» – от -5 до -15 Вольт.

Логические уровни приемника: «0» – выше +3 Вольт, «1» – ниже -3 Вольт.

Максимальная нагрузка на передатчик: входное сопротивление приемника не менее 3 кОм.

Данные характеристики определены стандартом как минимальные, гарантирующие совместимость устройств, однако реальные характеристики обычно существенно лучше, что позволяет, с одной стороны, питать маломощные устройства от порта (например, так спроектированы многочисленные самодельные data-кабели для сотовых телефонов), а с другой – подавать на вход порта инвертированный TTL-уровень вместо двуполярного сигнала.

COM порт глазами ремонтника. Ремонт, настройка, диагностика. Часть 1, теория.

Статья первая «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».

Данный раздел содержит только теоретические данные и для практики имеет малое значение, однако именно на этот раздел будет ссылаться остальной материал, поэтому обойти стороной этот материал не удастся. Однако тем, кто знаком с принципом работы COM порта, данный раздел желательно пропустить.

Статья первая «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».

Данный раздел содержит только теоретические данные и для практики имеет малое значение, однако именно на этот раздел будет ссылаться остальной материал, поэтому обойти стороной этот материал не удастся. Однако тем, кто знаком с принципом работы COM порта, данный раздел желательно пропустить.

Что такое com port

Описание и принцип работы.

COM-порт(Communication port) — порт работающий по стандарту RS-232 (Recommended Standard 232). RS-232 — стандарт описывающий интерфейс для последовательной двунаправленной передачи двоичных данных между терминалом (DTE, Data Terminal Equipment) и конечным устройством (DCE,Data Circuit-Terminating Equipment ). В настоящее время действующим является RS-232C (Recommended Standard 232 Edition: C) редакция 1969 года, именно это стандарт мы и будем рассматривать далее. Интерфейс RS-232 реализован полностью аппаратно, это значит, что он работает всегда, не зависимо от ОС (операционной системы) или даже без ОС.

Что такое com port

Разъемы интерфейса COM порта.

На компьютере интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M (разъем DB-25M на современных компьютерах не применяется, однако DB-25F(M), напротив, широко используется в переферийных устройствах например — ККМ, принтера).
В современных компьютерах бытового назначения разъем COM порта может не выводится непосредственно наружу, а организован в виде вывода под планку COM порта, либо вообще отсутствует. Начиная с 1999 по спецификации РС 99 интерфейс RS-232 должен заменяться интерфейсом USB.

COM порт непосредственно установленный на материнской платеCOM порт на материнской плате под планку COM портаПланка COM порта

В чем отличие разъема DB-9M от DE-9M, какое обозначение правильное?

Правильное обозначение DE-9M, но есть некотороые нюансы.

Если придерживаться технической документации разъемов D-sub обойма B отличается по типоразмеру от обоймы E

Разъём D-sub содержит два или более параллельных рядов контактов или гнёзд, обычно окружённых металлическим экраном в форме латинской D, который обеспечивает механическое крепление соединения и экранирует от электромагнитных помех. Форма разъёма в виде буквы D предохраняет от неправильной ориентации разъёма. В принятой системе обозначений буква D обозначает всю серию разъёмов D-sub, а вторая буква используется для указания размера разъёма, исходя из числа стандартных контактов, которые могут разместиться внутри D-образного экрана (A = 15 контактов, B = 25, C = 37, D = 50, E = 9), далее следует число фактически используемых контактов, и буква, обозначающая «пол» разъёма: M — male («папа»), F — female («мама»), P — plug (штепсель/«папа»), S — socket (розетка/«мама»). Например, DB25M означает разъём D-sub с экраном, вмещающим 25 контактов и фактическим числом контактов, равным 25.
Таким образом выражение DB-9M не правильное, фактически правильно будет DE-9M, однако в современных условиях, различие между этими названиями не делается, как в технической литературе, так и у поставщиков. Поэтому, как бы это не звучало странно, далее мы будем сознательно делать ошибку и разъем DE-9M называть, как DB-9M, хотя в реальности такого разъема не может быть по определению.

Что такое com port

Разъем DB9M (папа), внешний вид, расположение контактов (pinout).

Назначение выводов 9 контактного (9pin) разъема DB9M COM порта со стороны компьютера по стандарту RS232C. Направление сигналов указано относительно хоста (компьютера).

Контакт Сигнал Направление Описание
1DCDВходData Carrier Detected — Несущая обнаружена
2RxDВходReceive Data — Принимаемые данные
3TxDВыходTransmit Data — Передаваемые данные
4DTRВыходData Terminal Ready — Готовность хоста (компьютера) к работе
5GNDSignal Ground — Схемная земля
6DSRВходData Set Ready — Готовность устройства к работе
7RTSВыходRequest To Send — Запрос на передачу (хост готов к передаче)
8CTSВходClear To Send — Готовность устройства к приему данных (устройство готово к приему)
9RIВходRing Indicator — Индикатор вызова

Что такое com port

Разъем DB25M (папа), внешний вид, расположение контактов (pinout).

Назначение выводов 25 контактного (25pin) разъема DB25M COM порта со стороны компьютера по стандарту RS232C. Направление сигналов указано относительно хоста (компьютера).

Контакт Сигнал Направление Описание
1PGProtective Ground — Защитное заземление.
2TxDВыходTransmit Data — Передаваемые данные
3RxDВходReceive Data — Принимаемые данные
4RTSВыходRequest To Send — Запрос на передачу (хост готов к передаче)
5CTSВходClear To Send — Готовность устройства к приему данных (устройство готово к приему)
6DSRВходData Set Ready — Готовность устройства к работе
7GNDSignal Ground — Схемная земля
8DCDВходData Carrier Detected — Несущая обнаружена
20DTRВыходData Terminal Ready — Готовность хоста (компьютера) к работе
22RIВходRing Indicator — Индикатор вызова

Что такое com port

Электрические характеристики COM порта (стандарт RS232C).

Полное описание можно посмотреть в документации действующего протокола ITU-T v.28 03.1993 в редакции от 1993 года (скачать).

Эквивалентная электрическая схема RS-232C

  • V0- напряжение генератора при разомкнутой схеме
  • R0- общее сопротивление генератора
  • C0- общая ёмкость генератора
  • V1- напряжение между сигнальной линией и общим проводом в месте стыка.
  • CL- общая ёмкость приёмника
  • RL- общее сопротивление приёмника
  • EL- ЭДС приёмника при разомкнутой схеме

  • Электрические характеристики приёмника сигналов.
  • RL- общее сопротивление приёмника должно находиться в пределах 3000. 7000 Ом.
  • V1- напряжение на входе приёмника должно быть в пределах ±3. ±15 В.
  • EL- ЭДС приёмника при разомкнутой схеме должно быть не более ±2 В.
  • CL- общая ёмкость цепей приёмника должна быть не более 2500 пФ.
  • Входной импеданс приёмника не должен быть индуктивным.
  • Электрические характеристики генератора сигналов.
  • Допускается короткое замыкание сигналов.
  • Допускается оставлять выход генератора без нагрузки.
  • V0- напряжение генератора при разомкнутой схеме должно быть не более ±25В/±15 В (RS-232/ITU-T v.28)
  • R0 и C0 для генератора не нормируются.
  • Короткое замыкание цепей генератора не должно вызывать токи величиной более 0,5А.
  • Если EL=0, то напряжение на входе приёмника должно быть V1=±5. ±15 В, для любого диапазона нагрузки генератора RL=3000. 7000 Ом.
  • Генератор должен быть способен работать на ёмкостную нагрузку C0 плюс 2500 пФ.
  • Уровни сигналов для стандарта RS-232C.
  • Логической «1» считается информационный сигнал с напряжением V1 менее -3 В.
  • Логическим «0» считается информационный сигнал с напряжением V1 более +3 В.
  • Сервисный или синхронизирующий сигнал считается включенным «ON»(«MARK») если V1 более +3 В.
  • Сервисный или синхронизирующий сигнал считается выключенным «OFF»(«SPACE») если V1 менее -3 В.
  • Напряжение в диапазоне V1=-3 В. +3 В считается переходной областью.
  • Характеристики сигналов.
  • Все сигналы вошедшие в область перехода V1=-3В. +3В должны выйти в противоположный сигнал без повторного захода в эту область (т.е. монотонно).
  • Не допускается колебания сигнала в области перехода.
  • Сервисные и синхронизирующие сигналы должны проходить область перехода за время не более 1мс.
  • Сигналы данных должны проходить область перехода за время не более 3% от времени одиночного элемента, но не более чем за 1 мс.
  • Скорость нарастания фронта сигнала не должна превышать величины 30В за миллисекунду.
  • Ограничения первых двух пунктов не относятся к электромеханическим устройствам размыкания и замыкания цепи.

Что такое com port

Описание контактов интерфейса RS232C

  • GND- Ground, (общий) второй провод для всех сигналов.(Сигналы передаются всегда по двум проводам!)
  • TxD- Transmited Data, асинхронный канал для передачи данных.
  • RxD- Received Data, асинхронный канал для приема данных.
  • RTS- Request To Send (запрос на передачу), Выход который говорит о том, что у компьютера есть данные для передачи по каналу TxD для конечного устройства.
  • DTR- Data Terminal Ready(готовность терминала данных), Выход который говорит о том, что компьютер(терминал) готов к обмену данными с конечным устройством
  • CTS- Clear To Send (очищен для передачи) Вход, который говорит о том, что конечное устройство готово принимать данные от терминала по каналу TxD. Обычно этот сигнал выставляет конечное устройство после того, как оно получит от компьютера сигнал RTS=True(запрос на передачу) и будет готово принять данные от компьютера. Если конечное устройство не выставит сигнал CTS=True, то передача по каналу TxD не начнется. Данный сигнал используется для аппаратного управления потоками данных
  • DSR- Data Set Ready(установка данных готова), Вход который говорит о том, что конечное устройство выполнило все установки и готово начать передавать и принимать данные от компьютера. Если конечное устройство модем, то установка DSR=True воспринимается компьютером(терминалом) так, что модем уже установил связь с другим модемом и готов начать процедуру обмена между двумя компьютерами оснащенных модемами
  • DCD- Data Carrier Detected(обнаружен носитель информации), Вход который информирует компьютер(терминал) об обнаружении другого терминала, то есть конечное устройство , например модем, обнаружил другой модем, который хочет инициализировать обмен данных между терминалами. Модем выставляет сигнал DCD=True, который обнаруживается на входе компьютера(терминала). Если терминал готов к обмену данными, то он на сигнал DCD=True должен выставить сигнал готовности терминала к обмену данными DTR=True, после чего начинается обмен данными между двумя терминалами.
  • RI- Ring Indicator(индикатор звонка), Вход который говорит компьютеру(терминалу) что на конечное устройство поступает сигнал вызова. Например, на модем поступил сигнал вызова с телефонной станции, совсем не обязательно, что этот вызов закончится обменом данных.

Следует отметить, что данные инверитрованы, т.е -12в- это логическая еденица, +12в -это логический ноль, а служебные сигналы +12в — это Mark (логическая еденица), -12 — это Space(логический ноль).

Что такое com port

Протокол обмена данными.

В протоколе RS-232 существуют два метода управления обменом данных: аппаратный и программный, а также два режима передачи: синхронный и асинхронный. Протокол позволяет использовать любой из методов управления совместно с любым режимом передачи. Также допускается работа без управления потоком, что подразумевает постоянную готовность хоста и устройства к приему данных, когда связь установлена (сигналы DTR и DSR установлены).

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

Программный метод управления заключается в передаче принимающей стороной специальных символов остановки (символ с кодом 0x13, называемый XOFF) и возобновления (символ с кодом 0x11, называемый XON) передачи. При получении данных символов передающая сторона должна соответственно остановить передачу или возобновить ее (при наличии данных, ожидающих передачи). Этот метод проще с точки зрения реализации аппаратуры, однако обеспечивает более медленную реакцию и соответственно требует заблаговременного извещения передатчика при уменьшении свободного места в приемном буфере до определенного предела.

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

Асинхронный режим передачи состоит в том, что каждый байт данных (и бит контроля четности, в случае его наличия) «оборачивается» синхронизирующей последовательностью из одного нулевого старт-бита и одного или нескольких единичных стоп-битов.

Протокол имеет ряд переменных параметров, которые должны быть приняты одинаковыми на стороне приемника и на стороне передатчика для успешного обмена данными:

  • Скорость обмена данными задается в битах в секунду, определяя длительность одного бита, выбирается из ряда стандартных значений (300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200), но могут быть и нестандартными, если поддерживаются обеими сторонами;
  • Количество бит данных может быть от 4 до 8;
  • Контроль четности может быть четным («even», когда общее число единичных битов в принятых данных, включая сам бит четности, должно быть четным), нечетным («odd», когда общее число единичных битов в принятых данных, включая сам бит четности, должно быть четным) или вообще отсутствовать;
  • Длина стоп-бита может составлять одну, полторы или две длительности бита.

Внесенные изменения

При этом управление COM-портом существенно не изменилось. Пользователь по старинке должен производить сложную настройку чуть ли не вручную. Однако современный COM-порт представляет собой уже не то громоздкое приспособление, размещавшееся на задней панели системного блока, а совсем иное устройство. И тут все дело в том, что с программной точки зрения все их реализации выглядят безлико, то есть нет разницы между виртуальными и реальными портами. Для программного обеспечения порты различаются только номерами, которые им присвоены производителями КПК на совершенно случайной основе. К примеру, приемник от ASUS обычно находится на COM5, а PocketLOOX 560 показывает приемник на COM8. Получается, что программа, которая желает получать от GPS-приемника данные, не имеет изначально никакой достоверной информации об условном номере, под которым фигурирует порт, прописанный соответствующим для приемника на данном КПК.

Анатомия COM порта

Как все это работает?

При том, что среди всех имеющихся COM-портов можно провести автоматический поиск подходящего, процедура такого опроса является довольно ненадежной и достаточно громоздкой. Связано это с тем, что устройства, отображаемые в системе в качестве COM-портов, могут быть довольно разнообразными и не иметь отношения к GPS, они могут совершенно непредсказуемо ответить на такой опрос. К примеру, на КПК бывают порты, сопряженные с внутренним сотовым модемом, с USB, с инфракрасным портом, а также с иными элементами. Обращение к ним программы, предназначенной для работы с конкретным приспособлением, может привести к совершенно непредсказуемой реакции, а также к различным сбоям в работе, что часто становится причиной зависания КПК. Именно поэтому попытка открыть COM-порт может привести к неожиданным ситуациям вплоть до включения Bluetooth или инфракрасного порта. А могут быть и более непонятные случаи.

Открыть COM порт

Лекция 8. Последовательный интерфейс сом-порт.

Последовательный интерфейс СОМ-порт (Communication Port — коммуникационный порт) появился в первых моделях IBM PC. Он был реализован на микросхеме асинхронного приемопередатчика Intel 8250. Порт имел поддержку BIOS (/Л/Т 74/?), однако широко применялось (и применяется) взаимодействие с портом на уровне регистров. Поэтому во всех PC совместимых компьютерах для последовательного интерфейса применяют микросхемы приемопередатчиков, совместимые с i8250. В ряде отечественных PC-совместимых (почти) компьютеров для последовательного интерфейса применялась микросхема КР580ВВ51 — аналог 18251. Однако эта микросхема является универсальным синхронно-асинхронным приемопередатчиком (УСАПП или USART — Universal Asynchronous Receiver-Transmitter). Совместимости с PC на уровне регистров СОМ-порта такие компьютеры не имеют. Хорошо, если у соответствующих компьютеров имеется «честный» драйвер BIOS /Л/Т 14h, а не заглушка, возвращающая состояние модема «всегда готов» и ничего не делающая. Совместимость на уровне регистров СОМ-порта считается необходимой. Многие разработчики коммуникационных пакетов предлагают работу и через BIOS /Л/Т 14h, однако на высоких скоростях это неэффективно. Говоря о СОМ-порте PC, по умолчанию будем подразумевать совместимость регистровой модели с i8250 и реализацию асинхронного интерфейса RS-232C.

СОМ-порты чаще всего применяют для подключения манипуляторов (мышь, трекбол). В этом случае порт используется в режиме последовательного ввода; питание производится от интерфейса. Мышь с последовательным интерфейсом — Serial Mouse -может подключаться к любому исправному порту. Для согласования разъемов порта и мыши возможно применение переходника DB-9S-DB-25P или DB-25S-DB-9P. Для мыши требуется прерывание, для порта СОМ1 — IRQ4, для COM2 — IRQ3. Жесткая привязка номера IRQ к номеру порта обусловлена свойствами драйверов. Каждое событие — перемещение мыши или нажатие-отпускание кнопки – кодируется двоичной посылкой по интерфейсу RS-232C. Применяется асинхронная передача; двуполярное питание обеспечивается от управляющих линий интерфейса (табл. 2.3).

Две разновидности Serial Mouse — MS-Mouse и PC-Mouse (Mouse Systems Mouse) — требуют соответствующих драйверов, многие мыши имеют переключатель MS/PC. Мышь с «чужим» драйвером либо не отзывается, либо «скачет» загадочным образом. Эти разновидности используют различные форматы посылок: при одинаковой скорости 1200 бит/с, одном стоп-бите и отсутствии контроля четности Microsoft Mouse использует 7 бит данных, a PC-Mouse — 8 бит. Мышь посылает пакет при каждом изменении состояния — перемещении, нажатии или отпускании кнопки. Пакет, передаваемый MS-Mouse, состоит из трех байт (табл. 2.4). PC-Mouse передает 5 байт (табл. 2.5). Здесь LB (Left Buttom), MB (Middle Buttom) и RB (Right Buttom) означают состояние левой, средней и правой кнопок, Х[7:0] и Y[7:0] — биты относительного перемещения мыши с момента предыдущей посылки по координатам Х и Y. Положительным значениям соответствует перемещение по координате Х вправо, а по координате Y вниз для MS-Mouse и вверх для PC-Mouse. Отсюда становятся понятными беспорядочные перемещения курсора на экране при несоответствии драйвера типу мыши.

Совпадает со 2-м байтом

Совпадает с 3-м байтом

Для подключения внешних модемов используется полный(9-проводный) кабель АПД-АКД, схема которого приведена на рис. 2.7. Этот же кабель используется для согласования разъемов (по количеству контактов); возможно применение переходников 9-25, предназначенных для мышей. Для работы коммуникационного ПО обычно требуется использование прерываний, но здесь есть свобода выбора номера (адреса) порта и линии прерывания. Если предполагается работа на скоростях 9600 бит/с и выше, то СОМ-порт должен быть реализован на микросхеме UART 16550A или совместимой. Возможности работы с использованием FIFO-буферов и обмена по каналам DMA зависят от коммуникационного ПО.

Для связи двух компьютеров, удаленных друг от друга на небольшое расстояние, используют и непосредственное соединение их СОМ-портов нуль-модемным кабелем (рис. 2.8). Использование программ типа Norton Commander или Interink MS-DOS позволяет обмениваться файлами со скоростью до 115,2 Кбит/с без применения аппаратных прерываний. Это же соединение может использоваться и сетевым пакетом Lantastic, предоставляющим более развитый сервис.

Подключение принтеров и плоттеров к СОМ-порту требует применения кабеля, соответствующего выбранному протоколу управления потоком: программному XON/XOFF или аппаратному RTS/CTS. Схемы кабелей приведены на рис. 2.10 и 2.12. Аппаратный протокол предпочтительнее. Прерывания при выводе средствами DOS (командами COPY или PRINT) не используются.

СОМ-порт используется для подключения электронных ключей (Security Devices), предназначенных для защиты от нелицензированного использования ПО. Эти устройства могут быть как «прозрачными», позволяя воспользоваться тем же портом для подключения периферии, так и полностью занимающими порт.

СОМ-порт при наличии соответствующей программной поддержки позволяет превратить PC в терминал, эмулируя систему команд распространенных специализированных терминалов (VT-52, VT-100 и т. д.). Простейший терминал получается, если замкнуть друг на друга функции BIOS обслуживания СОМ-порта (INT 14h), телетайпного вывода (/Л/Т 10h) и клавиатурного ввода (INT 16h). Однако такой терминал будет работать лишь на малых скоростях обмена (если,конечно, его делать не на Pentium), поскольку функции BIOS хоть и универсальны, но не слишком быстры.

Интерфейс RS-232C широко распространен в различных ПУ и терминалах. СОМ-порт может использоваться и как двунаправленный интерфейс, у которого имеется 3 программноуправляемые выходные линии и 4 программно-читаемые входные линии с двуполярными сигналами. Их использование определяется разработчиком. Существует, например, схема однобитного широтно-импульсного преобразователя, позволяющего записывать звуковой сигнал на диск PC, используя входную линию СОМ-порта. Воспроизведение этой записи через обычный динамик PC позволяет передать речь. В настоящее время, когда звуковая карта стала почти обязательным устройством PC, это не впечатляет, но когда то такое решение было интересным.

СОМ-порт используют для беспроводных коммуникаций с применением излучателей и приемников инфракрасного диапазона — IR (Infra Red) Connection. Этот интерфейс позволяет осуществлять связь между парой устройств, удаленных на расстояние, достигающее нескольких метров. Различают инфракрасные системы низкой (до 115,2 Кбит/с), средней (1,152 Мбит/с) и высокой (4 Мбит/с) скорости. Низкоскоростные системы служат для обмена короткими сообщениями, высокоскоростные — для обмена файлами между компьютерами, подключения к компьютерной сети, вывода на принтер, проекционный аппарат и т. п. Ожидаются более высокие скорости обмена, которые позволят передавать «живое видео». В 1993 году создана ассоциация разработчиков систем инфракрасной передачи данных IrDA (Infrared Data Association), призванная обеспечить совместимость оборудования от различных производителей. В настоящее время действует стандарт IrDA 1.1. Имеются собственные системы фирм Hewlett Packard — HP-SIR (Hewlett Packard Slow Infra Red) — и Sharp — ASK (Amplitude Shifted Keyed IR). Основные характеристики интерфейсов следующие:

  • IrDA SIR (Slow Infra Red), HP-SIR — 9,6-115,2 Кбит/с;
  • IrDA MIR (Middle Infra Red) — 1,2 Мбит/с;
  • IrDA FIR (Fast Infra Red) — 4 Мбит/с;
  • + Sharp ASK — 9,6-57,6 Кбит/с.

На скоростях до 115 200 бит/с для инфракрасной связи используются UART, совместимые с 16450/16550. В современных системных платах на использование инфракрасной связи может конфигурироваться порт COM2. В этом случае на переднюю панель компьютера устанавливается внешний приемопередатчик — «инфракрасный глаз», который подключается к разъему IR-Connector системной платы. На средних и высоких скоростях обмена применяются специализированные микросхемы, ориентированные на интенсивный программно-управляемый обмен или DMA с возможностью прямого управления шиной. Инфракрасные излучатели не создают помех в радиочастотном диапазоне и обеспечивают конфиденциальность передачи. ИК-лучи не проходят через стены, поэтому зона приема ограничивается небольшим легко контролируемым пространством. Инфракрасная технология привлекательна для связи портативных компьютеров со стационарными компьютерами или док-станциями. Инфракрасный интерфейс имеют некоторые модели принтеров. 2.6. Функциональное тестирование В первом приближении СОМ-порт можно проверить диагностической программой (Checkit) без использования заглушек. Этот режим тестирования проверяет микросхему UART (внутренний диагностический режим) и вырабатывание прерываний, но не входные и выходные буферные микросхемы, которые являются более частыми источниками неприятностей. Если тест не проходит, причину следует искать или в конфликте адресов/прерываний, или в самой микросхеме UART. Для более достоверного тестирования рекомендуется использовать внешнюю заглушку, подключаемую к разъему СОМ порта (рис. 2.17). В отличие от LPT-порта у СОМ-порта количество входных сигналов превышает количество выходных, что позволяет выполнить полную проверку всех цепей. Заглушка соединяет выход приемника со входом передатчика. Обязательная для всех схем заглушек перемычка RTSCTS позволяет работать передатчику — без нее символы не смогут передаваться. Выходной сигнал DTR обычно используют для проверки входных линий DSR, DCD и RI. Если тест с внешней заглушкой не проходит, причину следует искать во внешних буферах, их питании или в шлейфах подключения внешних разъемов. Здесь может помочь осциллограф или вольтметр. Последовательность проверки может быть следующей: 1. Проверить наличие двуполярного питания выходных схем передатчиков (этот шаг логически первый, но поскольку он технически самый сложный, его можно отложить на крайний случай, когда появится желание заменить буферные микросхемы). 2. Проверить напряжение на выходах TD, RTS и DTR: после аппаратного сброса на выходе TD должен быть отрицательный потенциал около -12 В (по крайней мере ниже -5 В), а на выходах RTS и DTR — такой же положительный. Если этих потенциалов нет, возможна ошибка подключения разъема к плате через шлейф. Распространенные варианты:

  • шлейф не подключен;
  • шлейф подключен неправильно (разъем перевернут или вставлен со смещением);
  • раскладка шлейфа не соответствует разъему платы.

Первые два варианта проверяются при внимательном осмотре, третий же может потребовать некоторых усилий. В табл. 2.1 приведены три варианта раскладки 10-проводного шлейфа разъема СОМ-порта, известных автору; для СОМ-портов на системных платах возможно существование и других. Теоретически шлейф должен поставляться в соответствии с разъемом платы, на которой расположен порт. Если дело в ошибочной раскладке, то эти три выходных сигнала удастся обнаружить на других контактах разъемов (на входных контактах потенциал совсем небольшой). Если эти сигналы обнаружить не удалось, очевидно, вышли из строя буферные формирователи.

What is a serial port?

Serial Port

A COM port is a bidirectional serial interface that allows sending and receiving data bit by bit.

The serial port appeared long before personal computers of the IBM architecture were introduced. On first machines, the COM port was used for connecting peripheral devices. However, its scope of application was somewhat different from that of the parallel port. If the parallel port was mainly used to connect printers, the COM port (by the way, COM is short for communication) usually worked with telecommunication devices such as modems. However, a serial mouse as well as other peripheral devices can also interact with a computer via a serial interface.

Today serial port communications are not that common as they once were. A COM port has been replaced by USB — a more modern method which does not require special knowledge for implementation. However, modern standards of compatibility between serial equipment and its controlling software have been formed for quite some time around the concept of COM ports which are now seen as archaic.

This is due to the fact that initially almost any equipment, including GPS receivers, was external, and its connection to the computer was established via a serial cable attached to one of the PC’s hardware ports. In order to set up serial communication, a user needed to specify a correct port number and the speed of data transmission.

Now most modern computers are equipped with USB ports instead of COM interfaces. What’s more, GPS receivers have increasingly been installed inside of devices, meaning the cable connection is no longer efficient.

You may be interested in related articles

What is a virtual COM port?

A virtual serial port is a special software package that emulates a physical COM interface in software, which allows you to add serial ports to your PC without using additional physical hardware like expansion cards, etc. A virtual COM port is a solution if there’s a lack of real serial ports in your system.

Virtual Serial Port

Now, thanks to some dedicated software (e.g. Virtual Serial Port Driver, Virtual Serial Over Ethernet, etc.), a remote serial device can be emulated on your local PC in such a way that you can communicate with it as though it were connected directly to your machine.

In this case, remote serial peripherals are accessed via a virtual COM port created in your local system by a specialized app. And all serial apps communicating with a remote peripheral over a virtual serial port recognize the interface as a hardware one.

This makes it possible to ensure compatibility between legacy serial software and modern equipment.

As for the way you manage your COM ports, it does not change significantly. Users still have to make the port configurations as they would do with a physical serial port. However, a modern COM port is no longer a bulky interface located on the back panel of the system unit but a completely software solution.

Контакты и провода

Старые компьютеры используют 25-ти контактные разъемы, но только 9 контактов реально задействовано на сегодняшний день. Каждый из 9-ти контактов соединен обычно с проводом. за исключением двух проводов для передачи и приема данных, остальные используются для контроля и земли. Напряжение на каждом из контактов и проводов измеряется относительно сигнальной земли. Поэтому минимальное количество проводом для двунаправленной передачи данных — 3. В редких случаях для работы может хватитть и двух проводов (без сигнальной земли), однако это может привести к низкой производительности, и иногда к ошибкам при передаче данных.

Остается еще несколько проводов, которые предназначены только для управления (контроля) и не используются для передачи данных. Все эти сигналы могли бы передаваться по одной линии, но вместо этого, для выделены отдельные провода. Некоторые (или все вместе) эти сигнальные линии называются «линии состояния модема». Линии состояния могут находиться в одном из двух состояний установленном (включено) +12 вольт или сброшенном (выключено) -12 вольт. Одни из этих проводов сигнализируют компьютеру о том, что нужно прекратить передачу данных через последовательный порт. Другие в свою очередь сигнализируют устройству, подключенному к последовательному порту, прекратить передачу даных в компьютер. Если подключенно устройство это модем, то оставшиеся линии могут указывать модуме на то, что нужно занять телефонную линию или сигнализируют компьютеру о том, что соединение было установлено или что есть звонок на телефонной линии (значит кото-то соединиться с компьютером). Смотрите раздел Контакты и сигналы с более полной информацией.

RS-232 или EIA-232, и т.п.

Последовательный порт (serial port) (не путать с USB) обычно соответствует стандарту RS-232-C, EIA-232-D, или EIA-232-E. Это три обозачения одного и тоже. Основной стандарт RS (рекомендованный стандарт — Recommended Standard) получил префикс EIA (Electronics Industries Association) и позднее EIA/TIA после того как организация EIA было объединена с TIA (Telecommunications Industries Association). Спецификация EIA-232 также охватывает синхронную передачу данных, но в большинстве случаев синхронная передача данных не поддерживается чипами в компьютерах. Обозначение RS устарело, однако до сих пор широко используется. EIA будет использоваться далее на этом сайте более часто. Некоторые документы используют полное обозначение EIA/TIA.

Данные (байты из которых состоят письма, картинки и т.п.) проходят через последовательный порт. Скорости передачи данных (такие как 56k (56000) бит/сек) называются (неверно) «скоростью». Большинство людей неверно говорят «скорость» вместо «коэффициент скорости».

Важно знать, что средняя скорость передачи данных зачастую меньше максимально заявленной. Задержки (или периоды ожидания) и в результате скорость становится меньше. Эти задержки могут увеличиваться в щависимости от типа контроля передачи данных. Даже в лучшем случае всегда есть задержки между байтами, пусть даже и небольшие (несколько микросекунд). Если устройство, соединенное с компьютером через последоватльный порт не может работать на полной скорости, то средняя скорость должна быть уменьшена.

Оцените статью
TutShema
Добавить комментарий