Интерфейс rs232 что это
Интерфейс RS-232 (COM-порт)
Описание интерфейса RS-232, формат используемых разъемов и назначение выводов, обозначения сигналов, протокол обмена данными.
Общее описание
Интерфейс RS-232, совсем официально называемый «EIA/TIA–232–E», но более известный как интерфейс «COM-порта», ранее был одним из самых распространенных интерфейсов в компьютерной технике. Он до сих пор встречается в настольных компьютерах, несмотря на появление более скоростных и «интеллектуальных» интерфейсов, таких как USB и FireWare. К его достоинствам с точки зрения радиолюбителей можно отнести невысокую минимальную скорость и простоту реализации протокола в самодельном устройстве.
Физический интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M, последний в выпускаемых в настоящее время компьютерах практически не встречается.
Назначение выводов 9-контактного разъема
9-контактная вилка типа DB-9M
Нумерация контактов со стороны штырьков
Направление сигналов указано относительно хоста (компьютера)
Контакт | Сигнал | Направление | Описание |
---|---|---|---|
1 | CD | Вход | Обнаружена несущая |
2 | RXD | Вход | Принимаемые данные |
3 | TXD | Выход | Передаваемые данные |
4 | DTR | Выход | Хост готов |
5 | GND | – | Общий провод |
6 | DSR | Вход | Устройство готово |
7 | RTS | Выход | Хост готов к передаче |
8 | CTS | Вход | Устройство готово к приему |
9 | RI | Вход | Обнаружен вызов |
Назначение выводов 25-контактного разъема
25-контактная вилка типа DB-25M Нумерация контактов со стороны штырьков Направление сигналов указано относительно хоста (компьютера) |
|
|
Из таблиц видно, что 25-контактный интерфейс отличается наличием полноценного второго канала приема-передачи (сигналы, обозначенные «#2»), а также многочисленных дополнительных управляющих и контрольных сигналов. Однако, часто, несмотря на наличие в компьютере «широкого» разъема, дополнительные сигналы на нем просто не подключены.
Электрические характеристики
Максимальная нагрузка на передатчик: входное сопротивление приемника не менее 3 кОм.
Данные характеристики определены стандартом как минимальные, гарантирующие совместимость устройств, однако реальные характеристики обычно существенно лучше, что позволяет, с одной стороны, питать маломощные устройства от порта (например, так спроектированы многочисленные самодельные data-кабели для сотовых телефонов), а с другой – подавать на вход порта инвертированный TTL-уровень вместо двуполярного сигнала.
Описание основных сигналов интерфейса
CD – Устройство устанавливает этот сигнал, когда обнаруживает несущую в принимаемом сигнале. Обычно этот сигнал используется модемами, которые таким образом сообщают хосту о обнаружении работающего модема на другом конце линии.
RXD – Линия приема хостом данных от устройства. Подробно описана в разделе «Протокол обмена данными».
TXD – Линия передачи хостом данных к устройству. Подробно описана в разделе «Протокол обмена данными».
DTR – Хост устанавливает этот сигнал, когда готов к обмену данными. Фактически сигнал устанавливается при открытии порта коммуникационной программой и остается в этом состоянии все время, пока порт открыт.
DSR – Устройство устанавливает этот сигнал, когда включено и готово к обмену данными с хостом. Этот и предыдущий (DTR) сигналы должны быть установлены для обмена данными.
RTS – Хост устанавливает этот сигнал перед тем, как начать передачу данных устройству, а также сигнализирует о готовности к приему данных от устройства. Используется при аппаратном управлении обменом данными.
CTS – Устройство устанавливает этот сигнал в ответ на установку хостом предыдущего (RTS), когда готово принять данные (например, когда предыдущие присланные хостом данные переданы модемом в линию или есть свободное место в промежуточном буфере).
RI – Устройство (обычно модем) устанавливает этот сигнал при получении вызова от удаленной системы, например при приеме телефонного звонка, если модем настроен на прием звонков.
Протокол обмена данными
В протоколе RS-232 существуют два метода управления обменом данных: аппаратный и программный, а также два режима передачи: синхронный и асинхронный. Протокол позволяет использовать любой из методов управления совместно с любым режимом передачи. Также допускается работа без управления потоком, что подразумевает постоянную готовность хоста и устройства к приему данных, когда связь установлена (сигналы DTR и DSR установлены).
Аппаратный метод управления реализуется с помощью сигналов RTS и CTS. Для передачи данных хост (компьютер) устанавливает сигнал RTS и ждет установки устройством сигнала CTS, после чего начинает передачу данных до тех пор, пока сигнал CTS установлен. Сигнал CTS проверяется хостом непосредственно перед началом передачи очередного байта, поэтому байт, который уже начал передаваться, будет передан полностью независимо от значения CTS. В полудуплексном режиме обмена данными (устройство и хост передают данные по очереди, в полнодуплексном режиме они могут делать это одновременно) снятие сигнала RTS хостом означает его переход в режим приема.
Программный метод управления заключается в передаче принимающей стороной специальных символов остановки (символ с кодом 0x13, называемый XOFF) и возобновления (символ с кодом 0x11, называемый XON) передачи. При получении данных символов передающая сторона должна соответственно остановить передачу или возобновить ее (при наличии данных, ожидающих передачи). Этот метод проще с точки зрения реализации аппаратуры, однако обеспечивает более медленную реакцию и соответственно требует заблаговременного извещения передатчика при уменьшении свободного места в приемном буфере до определенного предела.
Синхронный режим передачи подразумевает непрерывный обмен данными, когда биты следуют один за другим без дополнительных пауз с заданной скоростью. Этот режим COM-портом не поддерживается.
Асинхронный режим передачи состоит в том, что каждый байт данных (и бит контроля четности, в случае его наличия) «оборачивается» синхронизирующей последовательностью из одного нулевого старт-бита и одного или нескольких единичных стоп-битов. Схема потока данных в асинхронном режиме представлена на рисунке.
Один из возможных алгоритмов работы приемника следующий:
Протокол имеет ряд переменных параметров, которые должны быть приняты одинаковыми на стороне приемника и на стороне передатчика для успешного обмена данными:
Интерфейс стандарта RS-232
RS-232 (англ. Recommended Standard 232 или другое название EIA232 ) — стандарт физического уровня для асинхронного интерфейса UART (UniversalAsynchronousReceiver-Transmitter – «универсальный асинхронный приемопередатчик»). Широко известен как последовательный порт (англ. serial port, COM-порт, англ. communications port — сленговое название интерфейса стандарта RS-232) персональных компьютеров. В современных компьютерах, практически полностью вытеснен интерфейсом USB. До этого использовался для подключения к компьютерам широкого спектра оборудования, особенно нетребовательного к скорости обмена данными и отклонений условий применения от стандартных.
Интерфейс RS-232 (или EIA-232) предназначен для организации приема-передачи данных между передатчиком или терминалом (англ. Data Terminal Equipment, DTE) и приемником или коммуникационным оборудованием (англ. Data Communications Equipment, DCE) по схеме точка-точка. Например:
Для электрических кабельных соединений используют разъёмы DB9 (9-ти контактные) или, реже, DB25 (25-ти контактные).
Распайка кабеля RS232 зависит от типа соединения компьютер-модем, модем-модем или компьютер-компьютер. Например, для разъёмов DB9:
Таблица соответствий распиновки разъёмов DB9 и DB25:
RI (ring indicator) – устройство (обычно модем) устанавливает этот сигнал при получении вызова от удаленной системы, например при приеме телефонного звонка, если модем настроен на прием звонков.
25-контактный интерфейс RS232, с разъёмами DB25, может отличаться от 9-контактного разъёма DB9 добавкой полноценного второго канала приема-передачи данных, а также многочисленных дополнительных управляющих и контрольных сигналов. Однако, часто, несмотря на наличие в компьютере «широкого» разъема, дополнительные сигналы на нём просто не подключены (или не используются).
Для успешного обмена данными ряд переменных параметров протокола должны быть заданы одинаково на стороне приёмника и передатчика :
38400, 57600, или другая, если она поддерживается обеими сторонами) ;
К основным электрическим характеристикам относят :
Довольно часто в специальных приложениях используется пяти- или трёх-проводная связь по интерфейсу RS232. Например, связь частотных преобразователей Simodrive с программатором фирмы Siemens или персональным компьютером (при наличии специального программного обеспечения) для выполнения работ по параметрированию приводной системы и так далее.
Интерфейс RS232 применяют и другие известные производители частотных преобазоватоелей, в т. ч. и всем известная фирма Mitsubishi, что пока ещё не снимает его использование с повестки дня.
Кроме этого, ещё работают на производстве станки с установленными на них ”устаревшими” системами ЧПУ, где загрузка и выгрузка управляющих программ обработки, машинных и технологических параметров осуществляется с применением интерфейса RS232.
В современных технологиях большое значение имеют расстояние и скорость передачи данных, в этом RS232 “немного” проигрывает другим типам интерфейсов. Надёжная передача данных зависит от многих факторов (наличие посторонних электромагнитных помех, схемы прокладки кабеля, материала проводников, надёжности контактных соединений и так далее), но мы акцентируем внимание на длине кабеля. Чем длиннее кабель, тем больше его ёмкость, поэтому для надёжной передачи требуется более низкая скорость. Максимальным расстоянием для RS232 принято считать 15 метров, не ссылаясь на стандарты. Приблизительная зависимость длины кабеля от скорости передачи данных указана в таблице ниже.
Обзор стандарта RS-232
Что это такое RS-232
Интерфейс RS-232-C был разработан для простого применения, однозначно определяемого по его названию «Интерфейс между терминальным оборудованием и связным оборудованием с обменом по последовательному двоичному коду». Каждое слово в названии значимое, оно определяет интерфейс между терминалом (DTE) и модемом (DCE) по передаче последовательных данных.
Устройства для связи по последовательному каналу соединяются кабелями с 9-ю или 25-ти контактными разъемами типа D. Обычно они обозначаются DB-9, DB-9, CANNON 9, CANNON 25 и т.д. Разъемы типов розетки и штырей. Каждый вывод обозначен и пронумерован. Расположение выводов представлено ниже.
Ассоциация электронной промышленности (EIA) развивает стандарты по передаче данных. Стандарты EIA имеют префикс «RS». «RS» означает рекомендуемый стандарт, но сейчас стандарты просто обозначаются как «EIA» стандарты. RS-232 был введен в 1962. Стандарт развивался и в 1969 представлена третья редакция (RS-232C). Четвертая редакция была в 1987 (RS-232D, известная также под EIA-232D). RS-232 идентичен стандартам МККТТ (CCITT) V.24/V.28, X.20bis/X.21bis и ISO IS2110.
Уровни сигналов данных
Уровни управляющих сигналов
Сигналы после прохождения по кабелю ослаюляются и искажаются. Ослабление растет с увеличением длины кабеля. Этот эффект сильно связан с электрической емкостью кабеля. По стандарту максимальная нагрузочная емкость составляет 2500 пФ. Типичная погонная емкость кабеля составляет 130 пФ, поэтому максимальная длина кабеля ограничена примерно 17 м.
Дополнительная информация в разделе Кабели и Длина проводов.
Проблемы с источником питания
Перед соединением двух компьютеров через RS-232, каждый из которых питается от различных источников рекомендуется выравнять напряжения между их сигнальными землями перед подключением.
Контакты разъемов
Соединения коннектора RJ-45 не стандартизовано. Данный вариант один из возможных.
Кабели подключения
Нуль модемные кабели RS-232
Рассмотрим сначала DSR сигнал (конт.6). Этот вход сигнала готовности от аппаратуры передачи данных. В схеме соединений вход замкнут на выход DTR (конт.4). Это означает, что программа не видит сигнала готовности другого устройства, хотя он есть. Аналогично устанавливается сигнал на входе CD (конт.1). Тогда при проверке сигнала DSR для контроля возможности соединения будет установлен выходной сигнал DTR.
Это соответствует 99% коммуникационного программного обеспечения. Под этим подразумевается, что 99% программного обеспечения с этим нуль-модемным кабелем примут проверку сигнала DSR.
Аналогичный трюк применяется для входного сигнала CTS. В оригинале сигнал RTS (конт.7) установливается и затем проверяется CTS (конт.8). Соединение этих контактов приводит к невозможности зависания программ по причине неответа на запрос RTS.
Самый дорогой полный нуль-модемный кабель с семью проводами. Только сигналы индикатора вызова и определения несущей не подключены.
Этот кабель не разрешает использовать предыдущий метод контроля предачи данных. Основная несовместимость перекрестное соединение сигналов RTS и CTS. Первоначально эти сигналы использовались для контроля потоком данных по типу запрос/ответ. При использовании полного нуль-модемного кабеля более нет запросов. Эти сигналы применяются для сообщения другой стороне есть ли возможность соединения.
Контакты 2 и 3 на 9-ти выводном разъеме D типа противоположны этим же контактам на 25-ти контатном раземе. Поэтому, если соединить контакты 2-2 и 3-3 между разъемами D25 и D9, получится коммуникационный кабель. Контакты сигнальной земли Signal Ground (SG) также должны быть подключены между собой. См. таблицу ниже.
5-проводный с управлением потоком
Можно найти или изготовить много типов кабелей для связи по интерфейсу RS-232. В этом нуль- модемном кабеле используется только 5 проводов: сигналы данных TXD, RXD, сигнал GND и управляющие сигналы RTS CTS для управления потоком.
Все DTE-DCE кабели прямого соединения, контакты соединяются один к одному. Кабели DTE-DTE и DCE-DCE кросс-кабели.
Описание полного нуль-модемного кабеля
DB9-1 | DB9-2 | ||
Receive Data | 2 | 3 | Transmit Data |
Transmit Data | 3 | 2 | Receive Data |
Data Terminal Ready | 4 | 6+1 | Data Set Ready + Carrier Detect |
System Ground | 5 | 5 | System Ground |
Data Set Ready + Carrier Detect | 6+1 | 4 | Data Terminal Ready |
Request to Send | 7 | 8 | Clear to Send |
Clear to Send | 8 | 7 | Request to Send |
DB25-1 | DB25-2 | ||
Receive Data | 3 | 2 | Transmit Data |
Transmit Data | 2 | 3 | Receive Data |
Data Terminal Ready | 20 | 6+8 | Data Set Ready + Carrier Detect |
System Ground | 7 | 7 | System Ground |
Data Set Ready + Carrier Detect | 6+8 | 20 | Data Terminal Ready |
Request to Send | 4 | 5 | Clear to Send |
Clear to Send | 5 | 4 | Request to Send |
DB9 | DB25 | ||
Receive Data | 2 | 2 | Transmit Data |
Transmit Data | 3 | 3 | Receive Data |
Data Terminal Ready | 4 | 6+8 | Data Set Ready + Carrier Detect |
System Ground | 5 | 7 | System Ground |
Data Set Ready + Carrier Detect | 6+1 | 20 | Data Terminal Ready |
Request to Send | 7 | 5 | Clear to Send |
Clear to Send | 8 | 4 | Request to Send |
Заглушка тестирования RS-232
Заглушка для эмуляции терминала
Данный соединитель RS-232 может быть использован для проверки последовательного порта кмпьютера. Сигналы данных и управления соединены. В этом случае передаваемые данные сразу возвращаются. Компьютер проверяет собственный поток. Это может быть использовано для проверки функционирования порта RS-232 со стандартным терминальным программным обеспечением.
DB 9 мама
DB 25 мама
Кабель контроля (мониторинга) RS-232
Контроль связи по RS-232 между двумя устройствами с помощью компьютера возможен при помощи кабеля, изображенного на рис. Два разъема подключаются к устройствам, а третий подключается к наблюдающему компьютеру. Этот кабель принимает информацию от двух источников только на один приемный порт RS-232. Поэтому, если оба устройства начнут одновременную работу, контролируемая информация на входе компьютера будет нарушена. В большинстве случаев связь осуществляется в полудуплексном режиме. Для этих режимов этот кабель будет работать без проблем.
Расстояния передачи
Длина кабеля влияет на максимальную скорость передачи информации. Более длинный кабель имеет большую емкость и соответственно для обеспечения надежной передачи более низкую скорость. Большая емкость приводит к тому, что изменение напряжения одного сигнального провода может передаться на другой смежный сигнальный провод. Максимальным расстоянием обычно считается равным 15 м, но это не установлено в стандарте. Мы рекомендуем использовать на расстояниях до 50 м, но это зависит от типа используемого оборудования и характеристик кабеля.
Максимальная длина кабеля
Скорость [бод] | Макс. длина [футы] | Макс. длина [метры] |
19 200 | 50 | 15 |
9 600 | 500 | 150 |
4 800 | 1000 | 300 |
2 400 | 3000 | 900 |
Скорость передачи данных
Контроль четности
Четность в RS-232 (Parity)
При передаче по последовательному каналу контроль четности может быть использован для обнаружения ошибок при передаче данных. При использовании контроля четности посылаются сообщения подсчитывающие число единиц в группе бит данных. В зависимости от результата устанавливается бит четности. Приемное устройство также подсчитывает число единиц и затем сверяет бит четности.
Для обеспечения контроля четности компьютер и устройство должны одинаково производить подсчет бита четности. То есть, определиться устанавливать бит при четном (even) или нечетном (odd) числе единиц. При контроле на четность биты данных и бит четности всегда должны содержать четное число единиц. В противоположном случае соответствует для контроля на нечетность.
Mark и Space биты четности
В этом примере показана структура передаваемых данных со синхронизирующим тактовым сигналом. В этом примере используется 8 бит данных, бит четности и стоп бит. Такая структура также обозначается 8Е1.
Стоп бит позволяет устройству или компьютеру произвести синхронизацию при возникновении сбоев. Например, помеха на линии скрыла Старт бит. Период между старт и стоп битами постоянен, согласно значению скорости обмена, числу бит данных и бита четности. Стоп бит всегда включен. Если приемник определяет выключенное состояние, когда должен присутствовать стоп бит, фиксируется появление ошибки.
Установка Стоп бита
Стоп бит не просто один бит минимального интервала времени в конце каждой передачи данных. На компьютерах обычно он эквивалентен 1 или 2 битам, и это должно учитываться программе драйвера. Хоя, 1 стоп бит наиболее общий, выбор 2 бит в худшем случае немного замедлит передачу сообщения.
(Есть возможность установки значения стоп бита равным 1.5. Это используется при передаче менее 7 битов данных. В этом случае не могут быть переданы символы ASCII, и поэтому значение 1.5 используется редко.)
Управление потоком
Управление потоком представляет управлять передаваемыми данными. Иногда устройство не может обработать принимаемые данные от компьютера или другого устройства. Устройство использует управление потоком для прекращения передачи данных. Могут использоваться аппаратное или программное управление потоком.
Аппаратное управление потоком
Аппаратный протокол управления потоком RTS/CTS. Он использует дополнительно два провода в кабеле, а не передачу специальных символов по линиям данных. Поэтому аппаратное управление потоком не замедляет обмен в отличие от протокола Xon-Xoff. При необходимости послать данные компьютер устанавливает сигнал на линии RTS. Если приемник (модем) готов к приему данных, то он отвечает установкой сигнала на линии CTS, и компьютер начинает посылку данных. При неготовности устройства к приему сигнал CTS не устанавливается.
Программное управление потоком
Преобразование уровней RS-232 в TTL уровень с помощью MAX232
Семейство микросхем MAX220-MAX249 линейных приемо-передатчиков предназначены для интерфейсов EIA/TIA-232E и V.28/V.24, особенно в устройствах, где отсутствуют напряжения ±12В.
Микросхема MAX232 быстро стала индустриальным стандартом. Многие разработчики используют ее, несмотря на то, что параметры микросхем с однополярным питанием значительно улучшились со временем.
Конфигурация выводов MAX232: представлена на рис.
Структурная схема MAX232A
Токовая петля
До начала 1960-х в телепринтерах для связи на большие расстояния применялась токовая петля 60мА. В 1962 была представлена модель 33 телетайпа с 20мА токовой петлей. После этого этот интерфейс стал широко использоваться. На протяжении 60-х, 70-х и 80-х интерфейс 20мА токовая петля применялся во многом оборудовании. Этот интерфейс стал популярным из-за его низкой цены при использовании на больших расстояниях, а также высокой помехоустойчивостью передачи данных.
В интерфейсе токовая петля электрическим сигналом является ток, а не напряжение. Токовая петля может работать в дуплексном, полудуплексном режиме, а также в активном или пассивном режиме.
Этот стандарт позволяет передавать данны на расстояния до 600 м со скоростью до 19.2 кБод.
Одновременная двунаправленная передача данных возможна по этой схеме. Для этого режима необходимы два генератора тока 20мА. Например, карта IBM адаптера последовательного интерфейса имеет в своем составе только один генератор тока. В этом случае для создания полного соединения второе устройство должно иметь генератор тока для создания второй токовой петли.
Полнодуплексная схема 20 mA
Симплексная схема 20 мА
Симплексная схема 20 mA (возможна только поочередная передача данных)
Сранение уровней сигналов RS-232 и 20мА токовой петли
На рис ниже представлены уровни сигналов интерфейса RS-232 и их соответствие с интерфейсом токовой петли 20 мА. Для токовой петли наличие тока соответствует пассивному состоянию (отсутствие передачи данных).
Сравнение уровней RS-232 и 20мА токовой петли
Схема преобразователя аналоговой токовой петли 4- 20 мА
Схема аналоговой токовой петли 4 к 20 мА с цифровой передачей данных по HART протоколу
Программное обеспечение
Утилита Hercules SETUP
Основные полезные части: