Как подключить Последовательный порт, COM порт

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

Хотя такие интерфейсы, как Ethernet , FireWire и USB, все отправляют данные в виде последовательного потока , термин «последовательный порт» обычно идентифицирует аппаратное обеспечение, более или менее совместимое со стандартом RS-232 , предназначенное для взаимодействия с модемом или с аналогичным устройством связи.

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

Оборудование

На некоторых компьютерах, таких как IBM PC , используется интегральная схема, называемая UART. Эта ИС преобразует символы в асинхронную последовательную форму и из нее , реализуя синхронизацию и кадрирование данных на оборудовании. Очень недорогие системы, например, некоторые ранние домашние компьютеры , вместо этого используют CPU для отправки данных через выходной вывод, используя технику бит-биения. Прежде чем широкомасштабная интеграция (LSI) интегральных схем UART была распространена, миникомпьютер или микрокомпьютер имели бы последовательный порт из нескольких небольших интегральных схем для реализации сдвиговых регистров, логических затворов, счетчиков и всей другой логики для последовательного порта

Ранние домашние компьютеры часто имели запатентованные последовательные порты с распиновками и уровнями напряжения, несовместимыми с RS-232. Взаимодействие с устройствами RS-232 может быть невозможным, так как последовательный порт не выдерживает создаваемых уровней напряжения и может иметь другие отличия, которые « блокируют » пользователя для продуктов конкретного производителя.

В настоящее время недорогие процессоры обеспечивают более скоростные, но более сложные, последовательные стандарты связи, такие как USB и FireWire, для замены RS-232. Это позволяет подключать устройства, которые не могли бы работать по более медленным последовательным соединениям, таким как массовое хранилище, звуковые и видеоустройства.

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

DTE и DCE

Отдельные сигналы на последовательном порту однонаправлены, и при подключении двух устройств выходы одного устройства должны быть подключены к входам другого. Устройства делятся на две категории: терминальное оборудование (DTE) и оборудование для завершения передачи данных (DCE). Строка, являющаяся выходом на устройстве DTE, представляет собой вход на устройстве DCE и наоборот, поэтому устройство DCE может быть подключено к устройству DTE с прямым проводным кабелем. Conventionally, computers and terminals are DTE while modems and peripherals are DCE. Обычно компьютеры и терминалы являются DTE, а модемы и периферийные устройства — DCE.

Если необходимо подключить два устройства DTE (или два устройства DCE, но это более необычно), необходимо использовать перекрестный нуль-модем в виде адаптера или кабеля.

Гнездовые и штекерные разъемы

Как правило, разъемы последовательного порта имеют гендерный характер, что позволяет использовать только соединители с разъемом противоположного пола. С разъемами D-subminiature разъемы имеют выступающие штифты, а гнездовые разъемы имеют соответствующие круглые разъемы. Любой тип разъема может быть установлен на оборудовании или панели или на конце кабеля.

Коннекторы, установленные на DTE, скорее всего, будут охватывать, а те, которые установлены на DCE, скорее всего, будут охватывать (при этом кабельные разъемы будут противоположными). Однако это далеко не универсально. например, большинство серийных принтеров имеют гнездовой разъем DB25, но они являются DTE.

Соединители

В то время как в стандарте RS-232 изначально был указан 25-контактный разъем D-типа , многие разработчики персональных компьютеров предпочли реализовать только подмножество полного стандарта: они торгуют совместимостью со стандартом против использования менее дорогостоящих и более компактных разъемов (в частности, версия DE-9, используемая оригинальным IBM PC-AT ). Желание поставлять последовательные интерфейсные карты с двумя портами требовало, чтобы IBM уменьшала размер разъема до одной панели задней панели. Разъем DE-9 также подходит для карты со вторым разъемом DB-25. Начиная с момента появления IBM PC-AT, последовательные порты обычно были построены с 9-контактным разъемом для экономии затрат и пространства. Однако наличие 9-контактного разъема D-subminiature недостаточно, чтобы указать, что соединение фактически является последовательным портом, поскольку этот разъем также используется для видео, джойстиков и других целей.

Некоторые миниатюрные электроники, в частности графические калькуляторы, а также ручное радиолюбительское и радиолюбительское оборудование, имеют последовательные порты с использованием телефонного разъема , обычно меньшие разъемы 2,5 или 3,5 мм и используют самый простой 3-проводной интерфейс.

Многие модели Macintosh поддерживают соответствующий стандарт RS-422 , в основном с использованием немецких мини-DIN-разъемов , за исключением самых ранних моделей. Macintosh включал стандартный набор из двух портов для подключения к принтеру и модему, но некоторые ноутбуки PowerBook имели только один комбинированный порт для экономии места.

Поскольку большинство устройств не используют все 20 сигналов, определенных стандартом, часто используются более мелкие разъемы. Например, 9-контактный разъем DE-9 используется большинством IBM-совместимых ПК с IBM PC AT и стандартизирован как TIA-574. Совсем недавно были использованы модульные разъемы. Наиболее распространенными являются разъемы 8P8C , для которых стандарт EIA / TIA-561 определяет распиновку, в то время как «Стандарт проводки последовательного устройства Yost», изобретенный Дэйвом Йостом (и популяризированный Руководством по системному администрированию Unix ), распространен на компьютерах Unix и более новые устройства от Cisco Systems. Разъемы 10P10C также можно найти на некоторых устройствах. Digital Equipment Corporation определила собственную систему соединений DECconnect, которая основана на разъеме Modified Jack (MMJ). Это 6-контактный модульный разъем, где ключ смещен от центрального положения. Как и в стандарте Yost, DECconnect использует симметричную компоновку контактов, которая обеспечивает прямое соединение между двумя DTE. Другим распространенным разъемом является соединитель заголовка DH10, общий на материнских платах и ​​дополнительных картах, которые обычно преобразуются через кабель в более стандартный 9-контактный разъем DE-9 (и часто устанавливаются на свободной пластине слота или другой части корпуса)

В следующей таблице перечислены наиболее часто используемые сигналы RS-232 и назначение выводов.

Сигнал
Направление
Соединительные контакты
Наименование
V.24 схема
сокращение
DTE
DCE
DB-25
DE-9
TIA-574
MMJ
8P8C («RJ45»)
10P10C («RJ50»)
EIA/TIA-561
Yost (DTE)
Yost (DCE)
Cyclades
Digi (ALTPIN option)
National Instruments
Cyclades
Digi
Transmitted Data 103 TxD Out In 2 3 2 6 6 3 3 4 8 4 5
Received Data 104 RxD In Out 3 2 5 5 3 6 6 5 9 7 6
Data Terminal Ready 108/2 DTR Out In 20 4 1 3 7 2 2 8 7 3 9
Data Carrier Detect 109 DCD In Out 8 1 N/A 2 2 7 7 1 10 8 10
Data Set Ready 107 DSR In Out 6 6 6 1 8 N/A 5 9 2
Ring Indicator 125 RI In Out 22 9 N/A N/A N/A N/A N/A 2 10 1
Request To Send 105 RTS Out In 4 7 N/A 8 8 1 1 2 4 2 3
Clear To Send 106 CTS In Out 5 8 N/A 7 1 8 5 7 3 6 8
Signal Ground 102 G Common 7 5 3, 4 4 4, 5 4, 5 4 6 6 5 7
Protective Ground 101 PG Common 1 N/A N/A N/A N/A N/A N/A 3 N/A 1 4

Земля сигнала является общим возвратом для других соединений. Он отображается на двух контактах в стандарте Yost, но является одним и тем же сигналом. Разъем DB-25 включает в себя второе «защитное заземление» на контакте 1, которое должно быть соединено каждым устройством с его собственным каркасным заземлением или аналогичным. Подключение к контакту этого 7 (опорный сигнал заземления) является обычной практикой, но не рекомендуется.

Обратите внимание, что EIA / TIA 561 объединяет DSR и RI, а стандарт Yost объединяет DSR и DCD.

Сетевой последовательный порт

Некоторые последовательные порты на материнских платах или дополнительных картах предоставляют перемычки, которые выбирают, подключается ли контакт 1 разъема DE-9 к DCD или напряжение питания, и подключается ли контакт 9 разъема DE-9 к RI или напряжение питания. Напряжение питания может быть + 5В, +12В, + 9В или земля(Выбор зависит от поставщика.) Мощность предназначена для использования оборудованием для продажи (это не официальный стандарт).

Аппаратная абстракция

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

Unix-подобные операционные системы обычно обозначают устройства последовательного порта. TTY — это обычная аббревиатура для телетайпа , не относящаяся к товарным знакам, обычно используемая для последовательных портов ранних компьютеров, и * представляет собой строку, идентифицирующую конкретный порт. синтаксис этой строки зависит от операционной системы и устройства. На Linux , серийные порты аппаратного обеспечения 8250/16550 UART называются / dev / ttyS * , USB-адаптеры отображаются как / dev / ttyUSB *, а для разных типов виртуальных последовательных портов необязательно есть имена, начинающиеся с tty.

Среда DOS и Windows относится к последовательным портам как COM- порты: COM1, COM2 и т. Д. Порты, номера которых больше COM9, следует ссылаться на синтаксис \\. \ COM10.

Стандарт RS-232 используется многими специализированными и настраиваемыми устройствами. Этот список включает в себя некоторые из наиболее распространенных устройств, которые подключены к последовательному порту на ПК. Некоторые из них, такие как модемы и серийные мыши, выходят из употребления, тогда как другие легко доступны.

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

— Модем для удаленного доступа

— Конфигурирование и управление сетевым оборудованием, таким как маршрутизаторы , коммутаторы , брандмауэры , балансиры нагрузки.

— GPS- приемники (обычно NMEA 0183 со скоростью 4800 бит / с )

— Сканеры штрих-кодов и другие устройства для продажи.

— Светодиодные и ЖК- дисплеи

— Спутниковые телефоны , низкоскоростные спутниковые модемы и другие спутниковые приемопередающие устройства

— Мониторы с плоским экраном (LCD и Plasma) для управления функциями экрана с внешнего компьютера, других AV-компонентов или пультов дистанционного управления

— Испытательное и измерительное оборудование, такое как цифровые мультиметры и системы взвешивания.

— Обновление прошивки на различных потребительских устройствах.

— Контроллеры с ЧПУ

— Бесперебойный источник питания

— Стенографические или стенотипные машины.

— Программные отладчики, которые работают на втором компьютере.

— Промышленные полевые автобусы

— Компьютерный терминал , телетайп

— Старые цифровые камеры

— Сеть (Macintosh AppleTalk с использованием RS-422 со скоростью 230,4 кбит / с )

— Старые мыши

— Старые мобильные телефоны GSM

— Жесткий диск IDE ремонт

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

Настройки

Скорости передачи данных

Битрейт
(Скорость передачи)
Временной период
Бит
Windows
поддержка
50 Бит/с 20000 мс Нет
75 Бит/с 13333.3 мс Да
110 Бит/с 9090.9 мс Да
134.5 Бит/с 7434.9 мс Да
150 Бит/с 6666.6 мс Да
300 Бит/с 3333.3 мс Да
600 Бит/с 1666.7 мс Да
1,200 Бит/с 833.3 мс Да
1,800 Бит/с 555.6 мс Да
2,400 Бит/с 416.7 мс Да
4,800 Бит/с 208.3 мс Да
7,200 Бит/с 138.9 мс Да
9,600 Бит/с 104.2 мс Да
14,400 Бит/с 69.4 мс Да
19,200 Бит/с 52.1 мс Да
38,400 Бит/с 26.0 мс Да
56,000 Бит/с 17.9 мс Да
57,600 Бит/с 17.4 мс Да
76,800 Бит/с 13.0 мс Нет
115,200 Бит/с 8.68 мс Да
128,000 Бит/с 7.81 мс Да
230,400 Бит/с 4.34 мс Нет
256,000 Бит/с 3.91 мс Нет
460,800 Бит/с 2.17 мс Нет

Для последовательных соединений, используемых для асинхронной связи «старт-стоп» , требуется множество настроек, чтобы выбрать скорость, количество бит данных на символ, четность и количество стоповых бит на символ. В современных последовательных портах с использованием интегральной схемы UART все настройки обычно управляются программным обеспечением. аппаратное обеспечение с 1980-х годов и ранее может потребовать установки переключателей или перемычек на монтажной плате. Одно из упрощений в таких стандартах последовательной шины, как Ethernet, FireWire и USB, заключается в том, что многие из этих параметров имеют фиксированные значения, так что пользователям не нужно и не нужно менять конфигурацию. скорость либо фиксированная, либо автоматически согласованная. Часто, если настройки введены неправильно, соединение не будет удалено. однако любые отправленные данные будут получены на другом конце как бессмыслица.

Скорости

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

Скорость включает в себя биты для кадрирования (стоп-биты, четность и т. Д.), И поэтому эффективная скорость передачи данных ниже, чем скорость передачи бит. Например, с 8-N-1 символьным кадрированием доступно только 80% битов для данных (для каждых восьми бит данных посылаются еще два бита кадра).

Часто используемые битовые скорости включают в себя 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 и 115200 бит / с. Кристаллические осцилляторы с частотой 1,843200 МГц продаются специально для этой цели. Это в 16 раз быстрее, чем скорость передачи данных, и схема последовательного порта может легко разделить ее на более низкие частоты по мере необходимости.

Биты данных

Количество бит данных в каждом символе может быть 5 (для кода Бодо ), 6 (редко используется), 7 (для истинного ASCII ), 8 (для большинства видов данных, так как этот размер соответствует размеру байта ) или 9 (редко используется). 8 бит данных почти повсеместно используются в новых приложениях. 5 или 7 бит обычно имеют смысл для более старого оборудования, такого как телепринтеры.

Большинство конструкций последовательной связи сначала отправляют биты данных в каждый младший бит младшего разряда ( младший бит ). Этот стандарт также упоминается как «маленький конец». Также возможно, но редко используется, это «большой конец» или MSB (самый значительный бит), первая последовательная связь. это использовалось, например, с помощью принтера IBM 2741 Порядок бит обычно не настраивается в интерфейсе последовательного порта. Для связи с системами, которые требуют различного порядка бит, чем локальное значение по умолчанию, локальное программное обеспечение может переупорядочить биты в каждом байте непосредственно перед отправкой и сразу после получения.

Четности

Четность — это метод обнаружения ошибок при передаче. Когда четность используется с последовательным портом, дополнительный бит данных отправляется с каждым символом данных, упорядоченным так, что количество 1 бита в каждом символе, включая бит четности, всегда нечетное или всегда четное. Если байт получен с неправильным числом 1 с, он должен быть поврежден. Однако четное количество ошибок может проходить проверку четности.

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

Бит четности в каждом символе может быть установлен как none (N), нечетный (O), четный (E), знак (M) или пробел (S). None означает, что бит четности не отправляется вообще. Отрицательная четность означает, что бит четности всегда установлен в состояние сигнала метки (логический 1), а также четность пространства всегда отправляет бит четности в состояние космического сигнала. Помимо необычных приложений, которые используют бит 9-го (четности) для какой-либо формы адресации или специальной сигнализации, метка или пробел нередко встречается, поскольку она не добавляет информации об обнаружении ошибок. Нечетная четность более полезна, чем даже, поскольку она гарантирует, что по крайней мере один переход состояния происходит в каждом символе, что делает его более надежным. Однако наиболее распространенным параметром четности является «нет», с обнаружением ошибок, обрабатываемым протоколом связи.

Стоп-биты

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

Обычная нотация

Стандартная нотация данных / четности / остановки (D / P / S) указывает на кадрирование последовательного соединения. The most common usage on microcomputers is 8/N/1 (8N1). Наиболее распространенное использование на микрокомпьютерах — 8 / N / 1 (8N1). Это указывает 8 бит данных, без четности, 1 стоповый бит. В этих обозначениях бит четности не включен в биты данных. 7 / E / 1 (7E1) означает, что бит четности добавляется к 7 битам данных в сумме 8 бит между битами начала и остановки. Если приемник потока 7 / E / 1 ожидает поток 8 / N / 1, половина возможных байтов будет интерпретироваться как имеющий высокий бит.

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

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

Аппаратное квитирование выполняется с дополнительными сигналами, часто сигнальными цепями RS-232 RTS / CTS или DTR / DSR. Как правило, RTS и CTS отключены и включены с альтернативных концов для управления потоком данных, например, когда буфер почти заполнен. DTR и DSR, как правило, постоянно, и по стандарту RS-232 и его преемникам используются для сигнализации с каждого конца, что другое оборудование действительно присутствует и включено. Тем не менее, производители на протяжении многих лет создали множество устройств, которые применяли нестандартные варианты стандарта, например, принтеры, которые используют DTR в качестве управления потоком.

Коммуникационное обеспечение программного обеспечения выполняется, например, с управляющими символами ASCII XON / XOFF для управления потоком данных. Символы XON и XOFF отправляются получателем отправителю для управления, когда отправитель отправляет данные, т. Е. Эти символы идут в обратном направлении к отправляемым данным. Схема начинается в состоянии «отправка разрешено». Когда буферы приемника подходят к емкости, приемник отправляет символ XOFF, чтобы сообщить отправителю прекратить отправку данных. Позже, после того как приемник освободил свои буферы, он отправляет символ XON, чтобы сообщить отправителю возобновить передачу. Это пример внутриполосной сигнализации , где управляющая информация отправляется по тому же каналу, что и его данные.

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

Преимущество использования программного обеспечения заключается в том, что это может быть сделано с отсутствующими или несовместимыми аппаратными схемами установления связи и кабелями. Недостатком, общим для всей внутриполосной сигнализации управления, является то, что он вводит сложности в обеспечении того, чтобы а) управляющие сообщения проходили, даже когда данные были заблокированы, и б) данные никогда не могут быть ошибочно приняты за управляющие сигналы. Первый обычно обрабатывается операционной системой или драйвером устройства. последнее обычно обеспечивается тем, что управляющие коды « экранированы » (например, в протоколе Kermit ) или опущены конструкцией (например, в терминальном управлении ANSI ).

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

Виртуальные последовательные порты

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

Виртуальные последовательные порты эмулируют все функциональные возможности последовательного порта, включая скорость передачи данных , биты данных, биты четности, стоповые биты и т. Д. Кроме того, они позволяют управлять потоком данных, эмулируя все сигнальные линии (DTR, DSR, CTS, RTS, DCD и RI) и настройку распиновки. Виртуальные последовательные порты являются общими для Bluetooth и являются стандартным способом приема данных с модулей GPS, оборудованных Bluetooth.

Эмуляция виртуального последовательного порта может быть полезна в случае отсутствия доступных физических последовательных портов или они не отвечают текущим требованиям. Например, виртуальные последовательные порты могут обмениваться данными между несколькими приложениями с одного устройства GPS, подключенного к последовательному порту. Другим вариантом является общение с любыми другими последовательными устройствами через Интернет или ЛВС, как если бы они были локально подключены к компьютеру (технология последовательной передачи по локальной сети / последовательной сети). Два компьютера или приложения могут взаимодействовать через эмулируемый канал последовательного порта. Эмуляторы виртуального последовательного порта доступны для многих операционных систем, включая MacOS, Linux, NetBSD и другие Unix-подобные операционные системы, а также различные мобильные и настольные версии Microsoft Windows.