stringtranslate.com

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

Сверхминиатюрный разъем D- папа , используемый для последовательного порта на компьютере , совместимом с IBM PC , вместе с символом последовательного порта.

На компьютерах последовательный порт — это последовательный интерфейс связи , через который информация передается в/из последовательно по одному биту за раз. [1] Это отличие от параллельного порта , который передает несколько битов одновременно . На протяжении большей части истории персональных компьютеров данные передавались через последовательные порты на такие устройства, как модемы , терминалы , различные периферийные устройства , а также напрямую между компьютерами.

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

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

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

Аппаратное обеспечение

Современные устройства используют интегральную схему , называемую UART , для реализации последовательного порта. Эта микросхема преобразует символы в асинхронную последовательную форму и обратно, реализуя синхронизацию и кадрирование данных, заданные последовательным протоколом, на аппаратном уровне. IBM PC реализует свои последовательные порты, если они есть, с одним или несколькими UART.

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

До того, как крупномасштабная интеграция (LSI) сделала UART обычным явлением, последовательные порты обычно использовались в мейнфреймах и миникомпьютерах , которые имели несколько небольших интегральных схем для реализации сдвиговых регистров, логических элементов, счетчиков и всей другой необходимой логики. По мере развития ПК последовательные порты были включены в чип Super I/O , а затем и в набор микросхем .

DTE и DCE

Отдельные сигналы последовательного порта являются однонаправленными, и при подключении двух устройств выходы одного устройства должны быть подключены к входам другого. Устройства делятся на две категории: терминальное оборудование данных (DTE) и оконечное оборудование каналов передачи данных (DCE). Линия, которая является выходом устройства DTE, является входом устройства DCE и наоборот, поэтому устройство DCE можно подключить к устройству DTE с помощью прямого проводного кабеля, в котором каждый контакт на одном конце подключается к одному и тому же номеру. штифт на другом конце.

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

Пол

Как правило, разъемы последовательного порта имеют гендерную принадлежность , что позволяет разъемам сопрягаться только с разъемами противоположного пола. В сверхминиатюрных разъемах D штекерные разъемы имеют выступающие штыри, а гнездовые разъемы имеют соответствующие круглые гнезда. [2] Разъем любого типа можно установить на оборудовании или на панели; или заделите кабель.

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

Разъемы

Единственным разъемом, указанным в исходном стандарте RS-232, был 25-контактный сверхминиатюрный D-образный разъем, однако многие другие разъемы использовались, среди прочего, для экономии денег или физического пространства. В частности, поскольку многие устройства не используют все 20 сигналов, определенных стандартом, часто используются разъемы с меньшим количеством контактов. Несмотря на конкретные примеры, для соединений RS-232 использовалось бесчисленное множество других разъемов.

9-контактный разъем DE-9 использовался большинством IBM-совместимых ПК, начиная с опции последовательного/параллельного адаптера для PC-AT , где 9-контактный разъем позволял подключать последовательный и параллельный порты к одной и той же карте. [4] Этот разъем стандартизирован для RS-232 как TIA-574 .

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

Перевернутый кабель Cisco, использующий стандарт 8P8C Yost.

Разъемы 8P8C также используются во многих устройствах. Стандарт EIA/TIA-561 определяет распиновку с использованием этого разъема, тогда как поворотный кабель (или стандарт Yost) обычно используется на компьютерах Unix и сетевых устройствах, таких как оборудование Cisco Systems . [7]

Пара гнездовых разъемов Mini DIN-8 , используемых для последовательных портов RS-422 на компьютере Macintosh LC.

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

На некоторых устройствах можно встретить разъемы 10P10C . [9]

Другой распространенный разъем — это разъем 10 × 2 контакта , распространенный на материнских платах и ​​картах расширения, который обычно преобразуется с помощью ленточного кабеля в более стандартный 9-контактный разъем DE-9 (и часто монтируется на свободной слотовой пластине или другой части платы). жилье). [10]

Распиновка

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

Сигнальная земля является общим проводом для других соединений; он появляется на двух контактах стандарта Yost, но это тот же сигнал. Разъем DB-25 имеет второе защитное заземление на контакте 1, которое предназначено для подключения каждого устройства к собственному заземлению корпуса или аналогичному устройству. Соединение защитного заземления с сигнальным заземлением является обычной практикой, но не рекомендуется.

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

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

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

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

В средах DOS и Windows последовательные порты называются COM- портами : COM1, COM2 и т. д. [15]

Общие приложения для последовательных портов

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

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

Последовательные компьютерные мыши могут черпать свою рабочую мощность из полученных данных или сигналов управления. [16] [17]

Настройки

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

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

Конфигурация последовательных портов, предназначенных для подключения к ПК, стала стандартом де-факто и обычно обозначается как 9600/8-N-1 .

Скорость

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

Стандартный ряд тарифов основан на кратных тарифам на электромеханические телетайпы ; некоторые последовательные порты позволяют выбирать множество произвольных скоростей, но скорости на обеих сторонах соединения должны совпадать для правильного приема данных. Обычно поддерживаемые скорости передачи данных включают 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 и 115200 бит/с. [19] Многие из этих стандартных модемных скоростей передачи данных кратны либо 0,9 кбит/с (например, 19200, 38400, 76800), либо 1,2 кбит/с (например, 57600, 115200). [23] Специально для этой цели продаются кварцевые генераторы с частотой 1,843200 МГц. Это в 16 раз превышает максимальную скорость передачи данных, и схема последовательного порта может легко разделить ее на более низкие частоты по мере необходимости.

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

Биты данных

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

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

Паритет

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

Бит четности в каждом символе может быть установлен в одно из следующих значений:

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

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

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

Стоп-биты

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

Обычные обозначения

Условное обозначение данных/четности/останова (D/P/S) определяет структуру последовательного соединения. Наиболее распространенное использование на микрокомпьютерах — 8/N/1 (8N1). Это определяет 8 бит данных, без четности, 1 стоповый бит. В этой записи бит четности не включается в биты данных. 7/E/1 (7E1) означает, что к 7 битам данных добавляется бит четности, в результате чего между стартовым и стоповым битами получается 8 бит.

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

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

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

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

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

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

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

Смотрите также

Рекомендации

  1. ^ Бил, Ванги (сентябрь 1996 г.). «Определение и значение последовательного порта». Вебопедия . Проверено 8 марта 2021 г.
  2. ^ «Руководство по подключению последовательного кабеля» . ЦИСКО. 01 августа 2006 г. Проверено 31 января 2016 г.
  3. ^ «RS232 — разъемы DTE и DCE» . Лантроникс. 29 марта 2006 г. Архивировано из оригинала 14 декабря 2015 г. Проверено 31 января 2016 г.
  4. ^ «Последовательный/параллельный адаптер IBM PC AT» (PDF) . Архивировано из оригинала (PDF) 24 февраля 2020 г.
  5. ^ «TI-73...92+/V200 TI Link Guide». merthsoft.com . Проверено 14 августа 2020 г.
  6. ^ «Технический раздел». Миклор.com . Проверено 14 августа 2020 г.
  7. ^ «Руководство по прокладке кабелей для консольных портов и портов AUX» . Циско . Проверено 14 августа 2020 г.
  8. ^ «Классические порты для Mac». WhiteFiles.org . Проверено 14 августа 2020 г.
  9. ^ ab «Краткое справочное руководство по последовательному порту» (PDF) . NI.com . Национальные инструменты. Июль 2013 . Проверено 18 июня 2021 г.
  10. ^ Техническая спецификация серверной платы Intel S5000PAL/S5000XAL (PDF) . п. 38.
  11. ^ Огрен, Йоаким. «Сериал (ПК 9)». Архивировано из оригинала 11 августа 2010 г. Проверено 7 июля 2010 г.
  12. ^ ab «Стандарт подключения последовательных устройств Yost» . Архивировано из оригинала 17 июня 2020 г. Проверено 10 мая 2020 г.
  13. ^ "Книга по аппаратному обеспечению RS-232D" .
  14. ^ "Распиновка RS-232D EIA/TIA-561 RJ45" .
  15. ^ Стивен Байрон Купер. «Что такое порт Com1?» . Проверено 30 сентября 2021 г.
  16. ^ Чан, Элвин (1990). «Реализация компьютерной мыши AN-681 с использованием COP800» (PDF) . Национальный полупроводник . Проверено 29 июля 2023 г.
  17. ^ «AN519: реализация простого последовательного контроллера мыши» (PDF) . Microchip Technology Inc., 1997 г. Проверено 29 июля 2023 г.
  18. ^ "Структура SERIAL_COMMPROP" . Майкрософт . 22 апреля 2018 г. Архивировано из оригинала 28 сентября 2019 г. Проверено 28 сентября 2019 г.
  19. ^ ab «Структура DCB». Центр разработки Windows . Майкрософт . 04.12.2018. Архивировано из оригинала 28 сентября 2019 г. Проверено 28 сентября 2019 г.
  20. ^ «Обзорное руководство BACnet MS/TP» (PDF) . Нептроник. Архивировано (PDF) из оригинала 10 января 2020 г. Проверено 26 сентября 2019 г.
  21. ^ «Мультимодем ZBA» (PDF) . Multi-Tech Systems, Inc., январь 2019 г. Архивировано из оригинала (PDF) 3 марта 2019 г. . Проверено 26 сентября 2019 г.
  22. ^ «Бизнес-модем Courier 56K: Руководство пользователя: Управление скоростью передачи данных» . СШАРобототехника . 2007. Архивировано из оригинала 4 августа 2017 года . Проверено 26 сентября 2019 г.
  23. ^ «SX1272/73 — Техническое описание маломощного трансивера дальнего действия от 860 МГц до 1020 МГц» (PDF) . Семтех . Январь 2019.

дальнейшее чтение

Внешние ссылки