Что такое последовательный порт. COM порт. Распайка, распиновка и схема

Современный персональный компьютер никогда не приобрёл бы такую огромную популярность, выполняй он только вычислительные функции. Нынешний ПК – это многофункциональное устройство, при помощи которого, пользователь может не только проводить какие-либо расчёты, но также выполнять ещё массу различных дел: распечатывать текст, управлять внешними устройствами, связываться с другими пользователями с помощью компьютерных сетей и т. д. Все эта огромная функциональность достигается при помощи дополнительных устройств – периферии, которые подключаются к персональному компьютеру посредством специальных разъёмов, называемыми портами.

Порты персонального компьютера

Порт электронное устройство, выполняемое прямо на материнской плате ПК или на дополнительных платах, устанавливаемых в персональный компьютер. Порты имеют уникальный разъем для подключения внешних устройств – периферии. Предназначены они для обмена данными между ПК и внешними устройствами (принтерами, модемами, цифровыми фотоаппаратами и т. д.). Довольно часто, в литературе можно встретить ещё одно название для портов – интерфейсы .

Все порты можно условно разбить на две группы:

  • Внешние - для подключения внешних устройств (принтеры , сканеры , плоттеры , устройства видеоизображения , модемы и т. п.);
  • Внутренние - для подключения внутренних устройств (жёсткие диски , платы расширения).

Внешние порты персонального компьютера

  1. PS/2 - порт для подключения клавиатуры ;
  2. PS/2 - порт для подключения "мышки ";
  3. Ethernet - порт для подключения локальной сети и сетевых устройств (роутеров, модемов и др.);
  4. USB - порт для подключения устройств внешней периферии (принтеров, сканеров, смартфонов и др.);
  5. LPT - параллельный порт. Служит для подключения ныне устаревших моделей принтеров, сканеров и плотеров;
  6. COM - последовательный порт RS232. Служит для подключения устройств типа dial-up модемов и старых принтеров. Ныне устарели, практически не используется;
  7. MIDI - порт для подключения игровых консолей, midi клавиатур, музыкальных инструментов с таким же интерфейсом. В последнее время практически вытеснен USB-портом;
  8. Audio In - аналоговый вход для линейного выхода звуковых устройств (магнитофонов, плееров и др.);
  9. Audio Out - выход аналогово звукового сигнала (наушники, калонки и др.);
  10. Mikrophone - микрофонный выход для подключения микрофона;
  11. SVGA - порт для подключения устройств видеоотображения: мониторов, современных LED, LCD и плазменных панелей (этот тип разъёма является устаревшим);
  12. VID Out - порт используется для вывода и ввода низкочастотного видеосигнала;
  13. DVI - порт для подключения устройств видеоотображения, более современнее чем SVGA.

Последовательный порт (COM-порт)

Один из самых старых портов, устанавливаемых в ПК на протяжении уже более 20 лет. В литературе довольно часто можно встретить его классическое наименование – RS232 . Обмен данными при помощи его происходит в последовательном режиме, то есть линии передачи и приёма – однобитные. Таким образом, информация, которая передаётся от компьютера к устройству или наоборот, разделяется на биты, которые последовательно следуют друг за другом.

Скорость передачи данных , обеспечиваемая этим портом не велика, и имеет стандартизованный ряд: 50, 100, 150, 300, 1200, 2400, 4800, 9600, 14400, 38400, 57600, 115200 Кбит/сек.

Использовался последовательный порт для подключения к ПК таких «медленных» устройств, как первые принтеры и плоттеры, dial-up модемы, манипуляторы «мышь» и даже для связи компьютеров между собой. Как бы ни была медленной его скорость, для того, чтобы соединить устройства между собой требовалось всего три провода – настолько простым был протокол обмена данными. Понятно, что для полноценной работы требовалось большее количество проводников в шнуре.

На сегодняшний день последовательный порт практически уже не используется и полностью вытеснен более молодым, но и более скоростным «собратом» - USB-портом . Следует, правда, отметить, что некоторые производители все ещё комплектуют COM-портом свои материнские платы. Однако, само наименование - «последовательный порт» до сих пор используется разработчиками программного обеспечения. Так, например, Bluetooth-устройства, порты сотовых телефонов часто представляются именно, как «последовательный порт». Это, возможно, несколько сбивает с толку, но сделано это по той причине, что передача данных в них тоже осуществляется последовательно, но на более высокой скорости.

Если по какой-то причине вам может потребоваться COM-порт, а на вашем ПК его нет, то для это цели можно воспользоваться переходником, который подключается к современному USB-порту, имеющемуся на всех современных ПК, а с другой стороны у такого переходника имеется разъем последовательного порта. Есть, правда, одно ограничение, если программное обеспечение обращалось напрямую к «железу» настоящего COM-порта, то работать с таким переходником оно не будет. В этом случае необходимо приобретать специальную плату, которая устанавливается внутрь вашего ПК.

Конструктивно, последовательный порт ПК имеет разъем типа «папа» (с торчащими штырьками):


На сегодняшний день, 25-ти штырьковый разъем последовательного порта практически вышел из употребления и уже несколько лет не устанавливается на ПК. Если производитель снабжает материнскую плату COM-портом, то это 9-ти контактный разъем типа DB9.

Представляет собой интерфейс для подключения таких устройств, как принтеры, сканеры и плоттеры.

Позволяет одновременно передавать 8 бит данных, правда в одном направлении – от компьютера к периферии. В дополнении к этому, имеет 4 управляющих бита (так же как и в случае с битами данных, управляющие биты передаются от ПК к внешнему устройству), и 4 бита состояния (эти биты компьютер может «прочитать» из устройства).

В последние годы, LPT-порт усовершенствовали, и он стал двухсторонним, то есть биты данных стало возможным передавать через него в обе стороны. На сегодняшний день устарел и практически не используется, хотя производители материнских плат все ещё включают его в её состав.

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

USB-интерфейс

USB – это сокращение полного названия порта – universal serial bus («универсальная последовательная шина»).

На сегодняшний день это один из самых широко используемых портов на персональном компьютере. И это не случайно – его технические характеристики и простота использования действительно впечатляют.

Скорость обмена данными для интерфейса USB 2.0 может достигать - 480 Мбит/сек, а интерфейса USB3.0 – до 5 Гбит/сек (!).

Причём, все версии этого интерфейса совместимы между собой. То есть устройство использующее интерфейс 2.0 может быть подключено к порту USB 3.0 (порт в этом случае автоматически понизит скорость до нужного значения). Соответственно, устройство использующее порт USB 3.0 может быть подключено к порту USB 2.0. Единственное условие, если для нормальной работы требуется скорость выше, чем максимальная скорость USB 2.0, то нормальное функционирование периферийного устройства будет в этом случае не возможно.

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

Для версии порта USB 2.0 максимальный потребляемый ток может достигать значения в 0.5A, а в версии USB3.0 – 0.9А. Превышать указанные значения не рекомендуется, так как это приведёт к выходу интерфейса из строя.


Разработчики современных цифровых устройств, все время стремятся к минимизации. Поэтому, конструктивно данный порт может иметь кроме стандартного разъёма, ещё и мини-вариант для миниатюрных устройств – mini-USB . Никаких принципиальных отличий от стандартного USB-порта кроме конструкции самого разъёма mini-USB не имеет.


Практически все современные устройства имеют USB-порт для подключения к ПК. Лёгкость установки – подключенное устройство распознаётся операционной системой практически сразу после присоединения, даёт возможность пользоваться таким портом без специальных «компьютерных» знаний. Принтеры, сканеры, цифровые фотоаппараты, смартфоны и планшеты, внешние накопители – это лишь небольшой список периферийного оборудования, которое сейчас использует этот интерфейс. Простой принцип – «воткнул и работай» сделали данный порт поистине бестселлером среди всех имеющихся на сегодняшний день интерфейсов персонального компьютера.

Порт Fire-Wire (Другие названия - IEEE1394, i-Link)

Этот вид интерфейса появился сравнительно недавно – с 1995 года. Представляет собой высокоскоростную шину последовательного типа. Скорость передачи данных может достигать - до 400 Мбит/сек в стандарте IEEE 1394 и IEEE 1394a, 800 Мбит/сек и 1600 Мбит/сек - для стандарта IEEE1394b.

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



Значение этого интерфейса трудно переоценить, как правило, именно он используется для подключения персонального компьютера к локальной сети или для выхода в интернет в большинстве случаев. Практически все современные ПК, ноутбуки и нетбуки оборудованы встроенным в материнскую плату Ethernet-портом. В этом нетрудно убедиться, если осмотреть внешние разъёмы.

Для подключения внешних устройств используется специальный , имеющий с обоих концов одинаковые разъёмы – RJ-45 , содержащие восемь контактов.


Кабель симметричен, в связи с чем, порядок подключения устройств значения не имеет – к любому из идентичных разъёмов кабеля можно подключить любое устройство на выбор – ПК, роутер, модем и т. п. Маркируется аббревиатурой - UTP, общепринятое название – «витая пара» . В большинстве случаев как для домашнего, так и для офисного использования применяют кабель пятой категории марки UTP-5 или UTP-5E.

Скорость передаваемых по Ethernet-соединению данных зависит от технических возможностей порта и составляет 10 Мбит/сек, 100 Мбит/сек и 1000 Мбит/сек. Следует понимать, что эта пропускная способность является теоретической, и что в реальных сетях она несколько ниже в виду особенностей работы Ethernet-протокола передачи данных.

Также, следует иметь в виду, что далеко не все производители устанавливают в свои Ethernet-контроллеры быстродействующие чипы, так как они весьма дороги. Это приводит к тому, что на практике, реальная скорость передачи данных значительно ниже, указанной на упаковке или в спецификации. Как правило, практически все Ethernet-карты совместимы между собой и сверху вниз. То есть более новые модели, имеющие возможность подключения на скорости в 1000 Мбит/сек (1 Гбит/сек), без проблем будут работать со старыми моделями, на скоростях 10 и 100 Мбит/сек.

Для визуального контроля целостности подключения Ethernet-порт имеет индикаторы Link и Act . Индикатор Link - горит зелёным цветом при правильном и работающем физическом подключении, т. е. кабель между устройствами подключён, он целый, порты рабочие. Второй индикатор Act («активность») имеет, как правило, оранжевое свечение и мигает во время передачи или приёма данных.

Внутренние порты персонального компьютера

Как уже было сказано выше, внутренние порты предназначены для подключения такой периферии, как накопители на жёстких дисках, CD и DVD-ROM , «карт-ридеры» , дополнительные COM и USB порты и т. п. Находятся внутренние порты либо на материнской плате , либо на дополнительных платах расширения, устанавливаемых в системную шину.

Ныне устаревший интерфейс для подключения старых моделей накопителей на жёстких дисках («винчестеров», HDD). После создания SATA-интерфейса, получил название PATA-интерфейса, или сокращённо – ATA. PATA – ParallelAdvanced Technology Attachment . Это параллельный интерфейс передачи данных для подключения накопителей был разработан в середине 1986 года знаменитой теперь компанией WesternDigital.


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

Скорость передачи данных в последней версии интерфейса EnhancedIDE может достигать - 150 Мбит/сек. Подключение устройств осуществляется при помощи IDE-кабеля, имеющего 40 или 80 жил для старого или нового типа интерфейса соответственно.



Как правило, при помощи одного кабеля можно подключить до двух устройств одновременно к одному порту IDE. В этом случае, при помощи перемычек на накопителях, определяющих «старшинство» устройств работающих в паре, выбирается режим работы – на одном устройстве – «мастер» (master) , а для другого «подчинённый» (slave) .

Подключать можно как однотипные устройства, например, два накопителя на жёстких дисках или два DVD-ROM, так и разные в любых сочетаниях – DVD-ROM и HDD или CD-ROM и DVD-ROM. Разъём для подключения значения не имеет, следует лишь обратить внимания, что два разъёма для подключения периферии смещены для удобства к одному из концов шлейфа.

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

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

Этот интерфейс является развитием своего предшественника интерфейса IDE, с той лишь разницей, что в отличие от своего «старшего товарища» он является не параллельным, а последовательным интерфейсом. SATA – SerialATA.

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


Скорость передачи данных у этого интерфейса значительно выше устаревшего IDE и в зависимости от версии SATA составляет:

  1. SATARev. 1.0 – до 1.5 Гбит/сек;
  2. SATARev. 2.0 – до 3 Гбит/сек;
  3. SATARev. 3.0 – до 6 Гбит/сек.

Так же, как и IDE-интерфейс шнур для подключения устройств «универсален» - разъёмы одинаковы с обеих сторон, но в отличие от «собрата» теперь при помощи одного SATA-кабеля можно подключить лишь одно устройство к одному SATA-порту.

Но вряд ли стоит огорчаться по этому поводу. Производители позаботились о том, чтобы количество портов было достаточным для самых разных применений, устанавливая на одну материнскую плату до 8 портов SATA. Разъем SATA-порта третьей ревизии, как правило, имеет ярко-красный цвет.

Дополнительные порты

Большинство материнских плат оборудуется производителями дополнительным количеством портов USB, а иногда и ещё одним, дополнительным COM-портом.


Сделано это для удобства пользователя. Большинство современных корпусов настольных ПК имеют Usb-разъёмы, установленные на передней панели для комфортного подключения внешних накопителей. В этом случае не нужно тянуться к задней стенке системного блока и «попадать» в Usb-разъём, который выведен на заднюю панель.

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


Все вышесказанное относится и к другим портам, установленным на материнской плате. Например, последовательный порт COM или FireWireIEEE1394 может попросту не выводиться на заднюю панель персонального компьютера, однако на материнской плате он в то же время присутствует. В этом случае достаточно купить соответствующий шлейф и вывести его наружу.

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


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

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

PCIex 1 и PCIex 16 – это современная реализация более старой шины PCI разработанной в 1991 году. Но в отличие от своей предшественницы, она является последовательной шиной, а кроме этого все шины PCIe соединены по топологии «звезда», в то время как старая шина PCI соединялась параллельно друг другу. Кроме этого, новая шина обладает такими преимуществами, как:

  1. Возможность горячей замены плат;
  2. Полоса пропускания имеет гарантированные параметры;
  3. Контроль целостности данных при приёме и передачи;
  4. Управляемое энергопотребление.

Различаются шины PCI Express количеством проводников подводимых к слоту, при помощи которых осуществляется обмен данными с установленным устройством (PCIex 1, PCIex2, PCIex 4, PCIex 8, PCIex 16, PCIex 32). Максимальная скорость передачи данных может достигать - 16 Гбит/сек.

Serial port (серийный порт, последовательный порт или COM-порт -, communications port) — это последовательный интерфейс с двойной направленностью.

Почему порт назвается последовательным? Потому, что вся информация по этому порту передается шагом равным одному биту. В нем данные передаются бит за битом, в отличие от параллельного порта.

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

Данный порт, в сравнении с другими "последовательными" технологиями, обладает отличительной особенностью: в нем отсутствует какое-либо временное требование между 2 байтами. Временные требования существуют только между битами одного байта. Величина, обратная временной паузе между битами одного байта, носит название «baud rate» (скорость передачи). Кроме того, в данной технологии нет такого понятия, как "пакет". Другие технологии "последовательной" передачи данных (X.25, USB или Ethernet), используют "пакеты", также в них существуют и жесткие временные требования между битами одного пакета.

В части протоколов связи с индустриальным оборудованием имеются жесткие временные требования между байтами последовательного порта. Реализация в многозадачных операционных системах со слабой поддержкой реального времени этих протоколов очень сложна. К этим системам относятся и Windows. Вот почему для работы с этими протоколами зачастую применяют MS-DOS или более устаревшее программное обеспечение.

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

Благодаря COM-порту появляется возможность подключить друг к другу два ПК, применяя так называемый «нуль-модемный кабель». Данный метод использовался со времен MS-DOS в целях перекачки файлов с одного компьютера на другой. В UNIX-системах он использовался для терминального доступа к другой машине, а в операционных системах Windows - для отладчика уровня ядра.

Довольно популярный в свое время в IBM-совместимых ПК последовательный порт, сегодня уже морально устарел. Однако, следует отметить, что он еще нередко используется в промышленном и узкоспециальном оборудовании, а также на некоторых современных компьютерах. Последовательный порт активно вытесняется интерфейсом USB и FireWire.

Однако имеются специальные стандарты эмуляции последовательного порта над USB и над Bluetooth . Кстати, любопытно, но именно Bluetooth-технология проектировалась разработчиками в качестве беспроводной версии последовательного порта. Программная эмуляция порта широко используется и по сей день. Так, практически все мобильные телефоны сегодня эмулируют внутри себя COM-порт и модем, с целью реализации тетеринга (доступа компьютера к сети Интернет через GPRS/EGDE/3G). А вот непосредственно для физического подключения к компьютеру применяется USB, Bluetooth или Wi-Fi технологии.

Кроме того, программная эмуляция последовательного порта возможна для гостевых пользователей виртуальных машин VMWare и Microsoft Hyper-V. Основной целью данной процедуры является подключение отладчика уровня ядра Windows к гостевому клиенту.

Достоинства COM-порта

Главное преимущество данной технологии состоит в простоте подключения.

Недостатки COM-порта

Главными недостатками данного порта являются его низкая скорость, большие размеры разъемов, а также высокие требования к времени отклика операционной системы. Также, в данном стандарте наблюдается высокое количество прерываний (одно прерывание на каждые 8 байт).

Разъемы

Самыми распространенными разъемами стандарта являются 9-ти и 25-ти контактные (DB-9 и DB-25, соответственно), которые были стандартизированы в 1969 году. Это D-образные разъемы. Помимо них использовались и другие, но из этого же семейства: DB-31 и круглые восьмиконтактные DIN-8.

Максимальная скорость передачи (в обычном исполнении) достигает 115 200 бод.

Аппаратура

Разъем обладает следующими контактами:

  • DTR (Data Terminal Ready) - выход на ПК, вход - на модеме. Отвечает за готовность компьютера к работе с модемом. Сброс вызывает почти полную перезагрузку модема. В случае с мышью, данный провод используется для осуществления питания.
  • DSR (Data Set Ready) - вход на ПК, выход - на модеме. Отвечает за готовность модема. Если линия в нуле, то в некоторых операционных системах невозможно открыть порт в качестве файла.
  • RxD (Receive Data) - вход на ПК, выход - на модеме. Обозначает поток входящих в ПК данных.
  • TxD (Transmit Data) - выход на ПК, вход - на модеме. Обозначает поток исходящих от ПК данных.
  • CTS (Clear to Send) - вход на ПК, выход - на модеме. Компьютер должен приостановить процесс передачи данных, пока данный провод не будет выставлен в единицу. Применяется в аппаратном протоколе управления потоком в целях недопущения переполнения на модеме.
  • RTS (Request to Send) - выход на ПК, вход - на модеме. Модем должен приостановить процесс передачи данных, до тех пор, пока провод не будет выставлен в единицу. Применяется в аппаратном протоколе управления потоком в целях недопущения переполнения в оборудовании/драйвере.
  • DCD (Carrier Detect) - вход на ПК, выход - на модеме. После установления связи с модемом с той стороны возводится в единицу, сбрасывается в ноль, в случае разрыва связи. Аппаратура ПК может производить прерывание, в случае наступления подобного события.
  • RI (Ring Indicator) - вход на ПК, выход - на модеме. После детерминации вызывного сигнала телефонного звонка, возводится модемом в единицу. Аппаратная часть ПК может производить прерывание, в случае наступления подобного события.
  • SG (Signal Ground) - общий сигнальный провод порта. Важно: земля - не общая . Обычно провод имеет изоляцию от корпуса ПК или модема.

В нуль-модемном кабеле применяются две перекрещенные пары: TXD/RXD и RTS/CTS.

UART 16550 - стандартная аппаратура порта. Сегодня включена в SuperIO микросхему на материнской плате. Со времен IBM PC, она оснащена аппаратной очередью байтов. Она существенно снижает число возникающих прерываний.

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

Энциклопедичный YouTube

  • 1 / 5

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

    С помощью COM-порта можно соединить два компьютера, используя так называемый «нуль-модемный кабель» (см. ниже). Использовался со времен MS-DOS для перекачки файлов с одного компьютера на другой, в UNIX для терминального доступа к другой машине, а в Windows (даже современной) - для отладчика уровня ядра.

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

    Разъёмы

    На материнских платах ведущих производителей (например, Intel) или готовых системах (например, IBM , Hewlett-Packard , Fujitsu Siemens Computers) для последовательного порта принято следующее условное обозначение:

    Наиболее часто используются стандартизированные в 1969 году D-образные разъёмы: 9- и 25-контактные, (DE-9 и DB-25 соответственно). Раньше использовались также DA-31 и круглые восьмиконтактные DIN-8. Максимальная скорость передачи в обычном исполнении порта составляет 115 200 бод .

    Актуальность

    Существуют стандарты на эмуляцию последовательного порта над USB и над Bluetooth (эта технология в значительной степени и проектировалась как «беспроводной последовательный порт»).

    Тем не менее программная эмуляция данного порта широко используется и сегодня. Так, например, практически все мобильные телефоны эмулируют внутри себя классический COM-порт и модем для реализации тетеринга - доступа компьютера в Интернет через GPRS/EDGE/3G оборудование телефона. При этом для физического подключения к компьютеру используется USB , Bluetooth или Wi-Fi .

    Также программная эмуляция данного порта предоставляется «гостям» виртуальных машин VMWare и Microsoft Hyper-V , основная цель при этом - подключение отладчика уровня ядра Windows к «гостю».

    В виде UART, отличающегося уровнями напряжения и отсутствием дополнительных сигналов, присутствует практически во всех микроконтроллерах, кроме самых-самых маленьких, SoC, платах разработчиков, а также присутствует на платах большей части устройств, но не выведен разъем на корпус. Такая популярность связана с простотой этого интерфейса, как с физической точки зрения, так и с легкостью доступа к порту со стороны ПО по сравнению с другими интерфейсами.

    Аппаратура

    Разъем имеет контакты:

    DTR (Data Terminal Ready - готовность к приёму данных) - выход на компьютере, вход на модеме. Означает готовность компьютера к работе с модемом. Сброс этой линии вызывает почти полную перезагрузку модема в первоначальное состояние, в том числе бросание трубки (некоторые управляющие регистры выживают после такого сброса). В UNIX это происходит в случае, если все приложения закрыли файлы на драйвере последовательного порта. Мышь использует этот провод для получения питания.

    DSR (Data Set Ready - готовность к передаче данных) - вход на компьютере, выход на модеме. Означает готовность модема. Если эта линия находится в нуле - то в ряде ОС становится невозможно открыть порт как файл.

    RxD (Receive Data - приём данных) - вход на компьютере, выход на модеме. Поток данных, входящий в компьютер.

    TxD (Transmit Data - передача данных) - выход на компьютере, вход на модеме. Поток данных, исходящих из компьютера.

    CTS (Clear to Send - готовность передачи) - вход на компьютере, выход на модеме. Компьютер обязан приостановить передачу данных, пока этот провод не будет выставлен в единицу. Используется в аппаратном протоколе управления потоком для предотвращения переполнения в модеме.

    RTS (Request to Send - запрос на передачу) - выход на компьютере, вход на модеме. Модем обязан приостановить передачу данных, пока этот провод не будет выставлен в единицу. Используется в аппаратном протоколе управления потоком для предотвращения переполнения в оборудовании и драйвере.

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

    RI (Ring Indicator - сигнал вызова) - вход на компьютере, выход на модеме. Взводится модемом в единицу после обнаружения вызывного сигнала телефонного звонка. Аппаратура компьютера может издавать прерывание при наступлении такого события.

    SG (Signal Ground - сигнальная земля) - общий сигнальный провод порта, не является общей землёй , как правило, изолирован от корпуса ЭВМ или модема.

    В нуль-модемном кабеле используются две перекрещенные пары: TXD/RXD и RTS/CTS.

    Исходно в IBM PC и IBM PC/XT аппаратура порта была построена на микросхеме UART 8250 фирмы National Semiconductor, затем микросхема была заменена на 16450, программно совместимой с предыдущими, но позволявшей использовать скорости вплоть до 115200 бит в секунду, затем появилась микросхема 16550, содержавшая двунаправленный FIFO буфер данных для снижения нагрузки на контроллер прерываний. В настоящее время включена в SuperIO микросхему на материнской плате вместе с рядом иных устройств.

    В последнее время последовательный способ передачи данных вытесняет параллельный.
    За примерами далеко ходить не надо: появление шин USB и SATA говорит само за себя.
    И действительно, параллельную шину трудно масштабировать (удлинить шлейф, увеличить частоту тактирования шины), неудивительно, что технологии поворачиваются к параллельным шинам задней частью.

    Последовательные интерфейсы

    На сегодня существует великое множество различных интерфейсов последовательной передачи данных.
    Кроме уже упомянутых USB и SATA еще можно вспомнить как минимум два широко известных стандарта RS-232 и MIDI (он же и GamePort).
    Объединяет их все то же - последовательная передача каждого бита информации, или Serial Interface.
    Преимуществ у подобных интерфейсов великое множество, и самое главное из них - малое количество соединительных проводов, а следовательно, меньшая цена.

    Передача данных

    Последовательную передачу данных можно реализовать двумя способами: асинхронным и синхронным.

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

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

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

    Ну, если бы все компьютерные технологии были просты, то любая домохозяйка давно бы уже лепила параллельно с пельменями новые протоколы …
    Попробуем взглянуть на процесс по-другому.
    Данные передаются пакетами, примерно как IP пакеты, вместе с данными идут и информационные биты, количество этих битов может варьироваться от 2 до 3 с половиной.
    С половиной?!
    Да, ты не ослышался, именно с половиной!

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

    Такой способ передачи подразумевает, что приемник и передатчик должны работать с одной скоростью (ну, или почти с одной), иначе пришедшие биты данных приемник будет либо не успевать обрабатывать, либо принимать старый бит за новый.
    Для того чтобы этого избежать, каждый бит стробируется, то есть посылается синхронно со специальным сигналом - «стробом», формируемым внутри прибора.
    Существует ряд определенных скоростей работы асинхронных устройств - 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57 600 и 115 200 бит в секунду.

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

    Теперь пару слов о загадочном термине «пакет данных».
    Под пакетом в данном случае понимается набор битов, передаваемых между стартовым и стоповым битами.
    Их число может изменяться от пяти до восьми.
    Можно задаться вопросом, почему именно пять-восемь бит?
    Почему бы не передать сразу, скажем, килобайт данных внутри пакета?

    Ответ очевиден: передавая маленькие пакеты данных, мы пусть и проигрываем, отправляя с ними три служебных бита (от 50 до 30 процентов данных), зато если при передаче пакет будет испорчен, мы легко узнаем это (помнишь про бит четности?) и быстро передадим его снова.
    А вот в килобайте данных ошибку обнаружить будет уже трудно, и передавать его будет гораздо сложнее.

    В качестве примера асинхронного последовательного устройства передачи данных можно привести COM-порт компьютера, любимый модем с дизайном от Труссарди и мышь, подключаемую к этому же порту, которую недалекие секретарши почему-то все время стараются засунуть в PS/2.
    Работают все эти устройства по интерфейсу RS-232, вернее по асинхронной его части, поскольку в стандарте описана и синхронная передача данных.

    Особенностью данного порта по сравнению с другими "последовательными" технологиями является факт отсутствия каких-либо временных требований между 2 байтами. Временные требования есть только между битами одного байта (включая старт, стоп и четность), величина, обратная временной паузе между битами одного байта, называется baud rate - скорость передачи. Также в этой технологии отсутствует понятие "пакет".

    Другие "последовательные" технологии, такие, как X.25, USB или Ethernet, имеют понятие "пакет", и накладывают жесткие временные требования между всеми битами одного пакета.

    По этой причине в терминологии Cisco IOS данный порт назывался async - в отличие от синхронных serial, т.е. X.25. По этой же причине модуль Windows , реализующий PPP поверх данного порта, называется AsyncMac.sys (в стандарте PPP отдельно описана реализация PPP, использующего понятие "пакет", над последовательным портом, этого понятия не имеющим).

    Некоторые протоколы связи с индустриальным оборудованием налагают жесткие временные требования между байтами последовательного порта. Такие протоколы крайне сложны в реализации в многозадачных ОС со слабой поддержкой реального времени, такой, как Windows, и потому зачастую требуют MS-DOS и устаревшего ПО почти 20-летней давности на управляющем компьютере.

    Назначение

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

    С помощью COM-порта можно соединить два компьютера, используя так называемый «нуль-модемный кабель» (см. ниже). Использовался со времен MS-DOS для перекачки файлов с одного компьютера на другой, в UNIX для терминального доступа к другой машине, а в Windows (даже современной) - для отладчика уровня ядра.

    Достоинством технологии является крайняя простота оборудования. Недостатком является низкая скорость, крупные размеры разъемов, а также зачастую высокие требования к времени отклика ОС и драйвера и высокое количество прерываний (одно на половину аппаратной очереди, т.е. 8 байт).

    Разъемы

    На материнских платах ведущих производителей (например, Intel) или готовых системах (например, IBM , Hewlett-Packard , Fujitsu Siemens Computers) для последовательного порта принято следующее условное обозначение:

    Наиболее часто используются стандартизированные в 1969 году D-образные разъёмы: 9-ти и 25-ти контактные, (DB-9 и DB-25 соответственно). Раньше использовались также DB-31 и круглые восьмиконтактные DIN-8. Максимальная скорость передачи, в обычном исполнении порта, составляет 115 200 бод .

    Актуальность

    Существуют стандарты на эмуляцию последовательного порта над USB и над Bluetooth (эта технология в значительной степени и проектировалась как «беспроводной последовательный порт»).

    Тем не менее программная эмуляция данного порта широко используется и сегодня. Так, например, практически все мобильные телефоны эмулируют внутри себя классический COM-порт и модем для реализации тетеринга - доступа компьютера в Интернет через GPRS/EGDE/3G оборудование телефона. При этом для физического подключения к компьютеру используется USB, Bluetooth или Wi-Fi .

    Также программная эмуляция данного порта предоставляется «гостям» виртуальных машин VMWare и Microsoft Hyper-V , основная цель при этом - подключение отладчика уровня ядра Windows к «гостю».

    Аппаратура

    Разъем имеет контакты:

    DTR (Data Terminal Ready - готовность к приёму данных) - выход на компьютере, вход на модеме. Означает готовность компьютера к работе с модемом. Сброс этой линии вызывает почти полную перезагрузку модема в первоначальное состояние, в т.ч. бросание трубки (некоторые управляющие регистры выживают после такого сброса). В UNIX это происходит в случае, если все приложения закрыли файлы на драйвере сериального порта. Мышь использует этот провод для получения питания.

    DSR (Data Set Ready - готовность к передаче данных) - вход на компьютере, выход на модеме. Означает готовность модема. Если эта линия находится в нуле - то в ряде ОС становится невозможно открыть порт как файл.

    RxD (Receive Data - приём данных) - вход на компьютере, выход на модеме. Поток данных, входящий в компьютер.

    TxD (Transmit Data - передача данных) - выход на компьютере, вход на модеме. Поток данных, исходящих из компьютера.

    CTS (Clear to Send - готовность передачи) - вход на компьютере, выход на модеме. Компьютер обязан приостановить передачу данных, пока этот провод не будет выставлен в единицу. Используется в аппаратном протоколе управления потоком для предотвращения переполнения в модеме.

    RTS (Request to Send - запрос на передачу) - выход на компьютере, вход на модеме. Модем обязан приостановить передачу данных, пока этот провод не будет выставлен в единицу. Используется в аппаратном протоколе управления потоком для предотвращения переполнения в оборудовании и драйвере.

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

    RI (Ring Indicator - сигнал вызова) - вход на компьютере, выход на модеме. Взводится модемом в единицу после обнаружения вызывного сигнала телефонного звонка. Аппаратура компьютера может издавать прерывание при наступлении такого события.

    SG (Signal Ground - сигнальная земля) - общий сигнальный провод порта, не является общей землёй , как правило, изолирован от корпуса ЭВМ или модема.

    В нуль-модемном кабеле используются две перекрещенные пары: TXD/RXD и RTS/CTS.

    Стандартная (со времен оригинальной IBM PC) аппаратура порта называется UART 16550 (в настоящее время включена в SuperIO микросхему на материнской плате вместе с рядом иных устройств). Со времен IBM PC в ней появилась аппаратная очередь байт, которая сильно снижает количество издаваемых устройством прерываний.

    Программный доступ к СОМ-порту

    UNIX

    Для каждого порта в реестре имеется раздел. Эти разделы имеют такие имена:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial\Parameters\Serial10000

    где последнее значение “Serial10000” - уникальный номер для каждого нового добавленного в систему COM-порта, для второго – “Serial10001” и т.д

    Для связи с устройствами, поддерживающими Bluetooth, некоторым программам (например, к таким программам относятся: программа, которая синхронизирует список контактов с мобильным телефоном; программа, которая извлекает координаты GPS из GPS-приемника) на компьютере пользователя требуется COM-порт.

    К программам, использующим COM-порты для поддержки связи с помощью технологии беспроводного подключения Bluetooth, непосредственно разработанных фирмой Microsoft, относятся:

    • HotSync, используемый в ручных компьютерах
    • ActiveSync , используемый в карманных ПК

    OS/2

    Имеющийся драйвер COM.SYS поддерживает только 4 COM-порта, каждый из которых должен иметь свою линию прерываний. Для обслуживания COM-портов с общей линией прерывания необходимо воспользоваться драйвером SIO .

    Нуль-модемный кабель

    Основная статья: Нуль-модемный кабель

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

    См. также

    • Сигналы последовательных портов

    Примечания

    Ссылки

    • Перевод руководства по программированию СОМ-порта в POSIX операционных системах
    • Программирование порта на java - позволяет работать из Windows, в отличие от официальных пакетов от Sun.
    • Программирование COM порта на C++ под Windows. Готовая библиотека, исходные тексты, примеры программ.
    • Яшкардин В.Л. Последовательный порт. Программирование COM-порта в Windows и MS-DOS . SoftElectro (2009). Архивировано из первоисточника 8 февраля 2012.