Интерфейс RS-232 (COM-порт)
Описание интерфейса RS-232, формат используемых разъемов и назначение выводов, обозначения сигналов, протокол обмена данными.
Общее описание
Интерфейс RS-232, совсем официально называемый "EIA/TIA–232–E", но более известный как интерфейс "COM-порта", ранее был одним из самых распространенных интерфейсов в компьютерной технике. Он до сих пор встречается в настольных компьютерах, несмотря на появление более скоростных и "интеллектуальных" интерфейсов, таких как USB и FireWare. К его достоинствам с точки зрения радиолюбителей можно отнести невысокую минимальную скорость и простоту реализации протокола в самодельном устройстве.
Физический интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M, последний в выпускаемых в настоящее время компьютерах практически не встречается.
Назначение выводов 9-контактного разъема
Назначение выводов 25-контактного разъема
Из таблиц видно, что 25-контактный интерфейс отличается наличием полноценного второго канала приема-передачи (сигналы, обозначенные "#2"), а также многочисленных дополнительных управляющих и контрольных сигналов. Однако, часто, несмотря на наличие в компьютере "широкого" разъема, дополнительные сигналы на нем просто не подключены.
Электрические характеристики
Логические уровни передатчика: "0" – от +5 до +15 Вольт, "1" – от -5 до -15 Вольт.
Логические уровни приемника: "0" – выше +3 Вольт, "1" – ниже -3 Вольт.
Максимальная нагрузка на передатчик: входное сопротивление приемника не менее 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-портом не поддерживается.
Асинхронный режим передачи состоит в том, что каждый байт данных (и бит контроля четности, в случае его наличия) "оборачивается" синхронизирующей последовательностью из одного нулевого старт-бита и одного или нескольких единичных стоп-битов. Схема потока данных в асинхронном режиме представлена на рисунке.
Один из возможных алгоритмов работы приемника следующий:
- Ожидать уровня "0" сигнала приема (RXD в случае хоста, TXD в случае устройства).
- Отсчитать половину длительности бита и проверить, что уровень сигнала все еще "0"
- Отсчитать полную длительность бита и текущий уровень сигнала записать в младший бит данных (бит 0)
- Повторить предыдущий пункт для всех остальных битов данных
- Отсчитать полную длительность бита и текущий уровень сигнала использовать для проверки правильности приема с помощью контроля четности (см. далее)
- Отсчитать полную длительность бита и убедиться, что текущий уровень сигнала "1".
- Вернуться к ожиданию начала следующего байта данных (шаг 1)
Протокол имеет ряд переменных параметров, которые должны быть приняты одинаковыми на стороне приемника и на стороне передатчика для успешного обмена данными:
Обзор стандарта RS-232
RS232 — популярный протокол, применяемый для связи компьютеров с модемами и другими периферийными устройствами. В данном обзоре представлен комплект полезной и справочной информации, представлена распиновка стандартных разъемов, описано что такое квитирование (HANDSHAKING) и применение микросхем MAX232 фирмы MAXIM.
Что это такое RS-232
RS-232 — интерфейс передачи информации между двумя устройствами на расстоянии до 20 м. Информация передается по проводам с уровнями сигналов, отличающимися от стандартных 5В, для обеспечения большей устойчивости к помехам. Асинхронная передача данных осуществляется с установленной скоростью при синхронизации уровнем сигнала стартового импульса.
Интерфейс 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.

В RS-232 используются два уровня сигналов: логические 1 и 0. Логическую 1 иногда обозначают MARK, логический 0 — SPACE . Логической 1 соответствуют отрицательные уровни напряжения, а логическому 0 — положительные. Соответствующие значения напряжений представлены в таблице.
Уровни сигналов данных
| Уровень | Передатчик | Приемник |
| Логический 0 | От +5 В до +15 В | От +3 В до +25 В |
| Логический 1 | от-5 В до -15 В | От -3 В до -25 В |
| Не определен | От -3 В до +3 В | |
Уровни управляющих сигналов
| Сигнал | На выходе устр-ва (Driver) | На входе устр-ва (Terminator) |
| «Off» | От -5 В до -15 В | от -3 В до -25 В |
| «On» | От 5 В до 15 В | от 3 В до 25 В |
Сигналы после прохождения по кабелю ослаюляются и искажаются. Ослабление растет с увеличением длины кабеля. Этот эффект сильно связан с электрической емкостью кабеля. По стандарту максимальная нагрузочная емкость составляет 2500 пФ. Типичная погонная емкость кабеля составляет 130 пФ, поэтому максимальная длина кабеля ограничена примерно 17 м.
Дополнительная информация в разделе Кабели и Длина проводов.
Проблемы с источником питания
Перед соединением двух компьютеров через RS-232, каждый из которых питается от различных источников рекомендуется выравнять напряжения между их сигнальными землями перед подключением.
Контакты разъемов
| DB25 Розетка (мама) | |||
| Контакт | Обозн. | Направление | Описание |
| 1 | SHIELD | — | Shield Ground — защитная земля, соединяется с корпусом устройства и экраном кабеля |
| 2 | TXD | —> | Transmit Data — Выход передатчика |
| 3 | RXD | Request to Send — выход запроса передачи данных | |
| 5 | CTS | Data Terminal Ready — выход сигнала готовности терминала к обмену данными | |
| 21 | N/C | — | — |
| 22 | RI | Transmit Data | |
| 4 | DTR | —> | Data Terminal Ready |
| 5 | GND | — | System Ground |
| 6 | DSR | Request to Send | |
| 8 | CTS | Data Terminal Ready | |
| 4 | GND | — | System Ground |
| 5 | RxD | Transmit Data | |
| 7 | CTS | Request to Send | |
Соединения коннектора 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 кросс-кабели.
- DTE — DCE называется ‘прямой кабель’
- DTE — DTE называегся ‘нуль-модемный кабель’
- DCE — DCE называется ‘Tail Circuit Cable’
Описание полного нуль-модемного кабеля
Соединение D9- D9
| 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 со стандартным терминальным программным обеспечением.
Кабель контроля (мониторинга) 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 измеряется в Бодах. Эта единица названа в честь Эмиля Бодо (Jean Maurice-Emile Baudot) (1845-1903), французского инженера по телеграфии, изобретателя первого печатающего устройства для телеграфа (телепринтера) , представленного на Международной Телеграфной конференции в 1927. Максимальная скорость согласно стандарту 20000 Бод. Однако современное оборудование может работать значительно быстрее. Не имеет значения на сколько быстрое (медленное) ваше соединение — максимальное число чтения за секунду можно установить с помощью используемого программного обеспечения.
Контроль четности
Четность в RS-232 (Parity)
При передаче по последовательному каналу контроль четности может быть использован для обнаружения ошибок при передаче данных. При использовании контроля четности посылаются сообщения подсчитывающие число единиц в группе бит данных. В зависимости от результата устанавливается бит четности. Приемное устройство также подсчитывает число единиц и затем сверяет бит четности.
Для обеспечения контроля четности компьютер и устройство должны одинаково производить подсчет бита четности. То есть, определиться устанавливать бит при четном (even) или нечетном (odd) числе единиц. При контроле на четность биты данных и бит четности всегда должны содержать четное число единиц. В противоположном случае соответствует для контроля на нечетность.
Mark и Space биты четности
Часто в драйверах доступны еще две опции на четность: Mark и Space. Эти опции не влияют на возможность контроля ошибок. Mark означает, что устройство всегда устанавливает бит четности в 1, а Space — всегда в 0.
Проверка на четность — это простейший способ обнаружения ошибок. Он может определить возникновение ошибок в одном бите, но при наличии ошибок в двух битах уже не заметит ошибок. Также такой контроль не отвечает на вопрос какой бит ошибочный. Другой механизм проверки включает в себя Старт и Стоп биты, циклические проверки на избыточность, которые часто применяются в соединениях Modbus.
В этом примере показана структура передаваемых данных со синхронизирующим тактовым сигналом. В этом примере используется 8 бит данных, бит четности и стоп бит. Такая структура также обозначается 8Е1.
Примечание: Тактовый сигнал — для асинхронной передачи это внутренний сигнал
Сигнальная линия может находится в двух состояниях: включена и выключена. Линия в состоянии ожидания всегда включена. Когда устройство или компьютер хотят передать данные, они переводят линию в состояние выключено — это установка Старт бита. Биты сразу после Старт бита являются бюитами данных.
Стоп бит позволяет устройству или компьютеру произвести синхронизацию при возникновении сбоев. Например, помеха на линии скрыла Старт бит. Период между старт и стоп битами постоянен, согласно значению скорости обмена, числу бит данных и бита четности. Стоп бит всегда включен. Если приемник определяет выключенное состояние, когда должен присутствовать стоп бит, фиксируется появление ошибки.
Установка Стоп бита
Стоп бит не просто один бит минимального интервала времени в конце каждой передачи данных. На компьютерах обычно он эквивалентен 1 или 2 битам, и это должно учитываться программе драйвера. Хоя, 1 стоп бит наиболее общий, выбор 2 бит в худшем случае немного замедлит передачу сообщения.
(Есть возможность установки значения стоп бита равным 1.5. Это используется при передаче менее 7 битов данных. В этом случае не могут быть переданы символы ASCII, и поэтому значение 1.5 используется редко.)
Управление потоком
Управление потоком представляет управлять передаваемыми данными. Иногда устройство не может обработать принимаемые данные от компьютера или другого устройства. Устройство использует управление потоком для прекращения передачи данных. Могут использоваться аппаратное или программное управление потоком.
Аппаратное управление потоком
Аппаратный протокол управления потоком RTS/CTS. Он использует дополнительно два провода в кабеле, а не передачу специальных символов по линиям данных. Поэтому аппаратное управление потоком не замедляет обмен в отличие от протокола Xon-Xoff. При необходимости послать данные компьютер устанавливает сигнал на линии RTS. Если приемник (модем) готов к приему данных, то он отвечает установкой сигнала на линии CTS, и компьютер начинает посылку данных. При неготовности устройства к приему сигнал CTS не устанавливается.
Программное управление потоком
Программный протокол управления потоком Xon/Xoff использует два символа: Xon и Xoff. Код ASCII символа Xon — 17, а ASCII код Xoff — 19. Модем имеет маленький буфер, поэтому при его заполнении модем посылает символ Xoff компьютеру для прекращения посылки данных. При появлении возможности приема данных посылается символ Xon и компьютер продолжит пересылку данных. Этот тип управления имеет преимущество в том, что не требует дополнительных линий, т.к. символы передаются по линиям TD/RD. Но на медленных соединениях это может привести к значительному замедлению соединения, т.к. каждый символ требует 10 битов.
Преобразование уровней RS-232 в TTL уровень с помощью MAX232
Два типа устройств RS-232, 1488 и 1489, используются и сейчас. Это ранние представители этого стандарта. Устройства того времени запитывались мощными источниками питания, поскольку согласно стандарту RS-232 передатчики должны были обеспечивать минимальный +5В сигнал низкого уровня и минимальный -5В сигнал высокого уровня. Эти уровни сигналов обеспечивали устойчивость к помехам после передачи по проводам к приемнику. Но это требувало наличие двуполярного источника питания, и поэтому многие материнские платы включали в себя источник отрицательного напряжения исключительно для питания устройств типа 1488 ии 1489.
Семейство микросхем MAX220-MAX249 линейных приемо-передатчиков предназначены для интерфейсов EIA/TIA-232E и V.28/V.24, особенно в устройствах, где отсутствуют напряжения ±12В.
Альтернативная микросхема ICL232. Это сдвоенный приемо-передатчик соответсвующая спецификациям RS-232C и V.28. Для питания мс требуется только напряжение +5В. Напряжения +10В и -10В преобразуются из 5В-го при помощи двух емкостных преобразователях напряжения.
Микросхема MAX232 быстро стала индустриальным стандартом. Многие разработчики используют ее, несмотря на то, что параметры микросхем с однополярным питанием значительно улучшились со временем.
Конфигурация выводов MAX232: представлена на рис.
Структурная схема MAX232A
На структурной схеме MAX232A изображены удвоитель напряжения и инвертор напряжения +10В в -10В. Эти напряжения используются для формирования сигналов соответсвующих RS-232. MAX232A позволяет подключить два последовательных порта.
Токовая петля
До начала 1960-х в телепринтерах для связи на большие расстояния применялась токовая петля 60мА. В 1962 была представлена модель 33 телетайпа с 20мА токовой петлей. После этого этот интерфейс стал широко использоваться. На протяжении 60-х, 70-х и 80-х интерфейс 20мА токовая петля применялся во многом оборудовании. Этот интерфейс стал популярным из-за его низкой цены при использовании на больших расстояниях, а также высокой помехоустойчивостью передачи данных.
В интерфейсе токовая петля электрическим сигналом является ток, а не напряжение. Токовая петля может работать в дуплексном, полудуплексном режиме, а также в активном или пассивном режиме.
Этот стандарт позволяет передавать данны на расстояния до 600 м со скоростью до 19.2 кБод.
- большая дальность чем у RS-232
- помехоустойчивость передачи данных
- расстояния до 600 м
- скорость передачи до 19.2 кБод
Одновременная двунаправленная передача данных возможна по этой схеме. Для этого режима необходимы два генератора тока 20мА. Например, карта IBM адаптера последовательного интерфейса имеет в своем составе только один генератор тока. В этом случае для создания полного соединения второе устройство должно иметь генератор тока для создания второй токовой петли.
Полнодуплексная схема 20 mA
Симплексная схема 20 мА
Основными элементами 20 мА токовой петли являются источник тока, токовый ключ и токовый детектор. Передатчик — это токовый ключ, а приемник — детектор тока. Схема, содержащая источник тока называется активной стороной, другие элементы интерфейса — пассивной. В симплексной схеме передатчики и приемники располагаются последовательно в одной токовой петле. При работе одного передатчика оба приемника принимают данные.
Симплексная схема 20 mA (возможна только поочередная передача данных)
Сранение уровней сигналов RS-232 и 20мА токовой петли
На рис ниже представлены уровни сигналов интерфейса RS-232 и их соответствие с интерфейсом токовой петли 20 мА. Для токовой петли наличие тока соответствует пассивному состоянию (отсутствие передачи данных).
Сравнение уровней RS-232 и 20мА токовой петли
Схема преобразователя аналоговой токовой петли 4- 20 мА
Эта схема упоминается здесь потому, что иногда ее путают с 20мА токовой петлей. Назначение данной схемы — передача сигнала от удаленного аналогового датчика через токовой сигнал. Для передачи сигнала требуется только два провода и источник питания датчика. Для питания датчика используется источник напряжения 24В. Удаленный датчик изменяет ток в петле в соответствии с измеренным параметром. На последовательном резисторе RL этот ток преобразуется в напряжение, которое далее может быть обработано.
Схема преобразователя аналоговой токовой петли 4 — 20 мА
HART® 4 — 20 мАтоковая петля
Это другой пример комбинирования аналоговой и цифровой токовой петли схемы 4 — 20 мА. Для этой токовой петли применяется коммуникационный протокол HART®. HART® протокол используется для интеллектуальных удаленных преобразователей, совместимых с аналоговой токовой петлей 4-20 мА, а также имеющих цифровой обмен по тем же проводам. Это осуществляется за счет применения двухтонального частотного сигнала (FSK) сигнала с уровнями 4-20 мА.
Схема аналоговой токовой петли 4 к 20 мА с цифровой передачей данных по HART протоколу
Программное обеспечение
Утилита Hercules SETUP
Утилита Hercules SETUP — полезный терминал последовательного порта (RS-232 или RS-485), протоколов UDP/IP и TCP/IP (клиент или сервер). Может использоваться с оригинальными устройствами Ethernet (конвертеры Serial/Ethernet, RS-232/Ethernet буферы или контроллеры ввода/вывода) for the UDP Setup. Утилита была создана для собственных нужд, но сейчас она включает в себя много дополнительных функций и распространяется Freeware.
Основные полезные части:
- Терминал последовательного порта — поддержка COM5 и выше
- TCP/IP клиентский терминал
- TCP/IP серверный терминал
- UDP терминал
- Не требует инсталляции, только один .EXE файл.
- Работает с виртуальным последовательным портом, (COM12 к примеру)
- Можно использовать простые Макро функции, включающую посылку HEX комманд. Макро функции сохраняются в регисрах, и Hercules запоминает их.
- Терминал последовательного порта показывает состояния и может управлять сигналами модема (CTS, RTS, DTR, DSR, RI, CD)
- Можно пересылать файлы и сохранять полученные данные в LOG файле.
- Поддержка TEA — безопасную TCP/IP авторизацию для клиента и сервера TCP/IP, тестовых режимов..
- Поддержка передачи данных TCP/IP в TCP/IP сервере или клиенте TCP/IP.
- Поддержка передачи данных UDP/IP в UDP/IP терминале
- Поддержка сетевого виртуального терминала NVT (Network Virtual Terminal) в тестовом режиме.
- Применение Telnet дополнительно с NVT позволяет конфигурировать последовательный порт (RFC2217), проводить идентификацию устройства, подтверждение передачи данных и др.
- Эта утилита распространяется FREEWARE, можно использовать ее и распространять без всяких ограничений!

Terminal — это простой эмулятор терминала последовательного порта (COM). Может применяться для коммуникациис различными устройствами, такитми как модемы, роутеры, GSM телефоны. Очень полезная утилита для отладки приложений для соединений по последовательному каналу.
- Маленький размер файла small .exe 246k
- Простая посылка файла
- Счетчик символов
- До 6 com портов
- Скорость обмена до 256кБит/c
- Запись в log файл (hex & string)
- Передача макросов

Tera Term (Pro) — свободно распространяемый эмулятор терминаладля MS-Windows. Поддерживает эмуляцию VT100, telnet соединение,соединение по последовательному порту и т.д.
COM порт глазами ремонтника. Ремонт, настройка, диагностика. Часть 1, теория.
Статья первая «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».
Данный раздел содержит только теоретические данные и для практики имеет малое значение, однако именно на этот раздел будет ссылаться остальной материал, поэтому обойти стороной этот материал не удастся. Однако тем, кто знаком с принципом работы COM порта, данный раздел желательно пропустить.
Статья первая «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».
Данный раздел содержит только теоретические данные и для практики имеет малое значение, однако именно на этот раздел будет ссылаться остальной материал, поэтому обойти стороной этот материал не удастся. Однако тем, кто знаком с принципом работы COM порта, данный раздел желательно пропустить.
Описание и принцип работы.
COM-порт(Communication port) — порт работающий по стандарту RS-232 (Recommended Standard 232). RS-232 — стандарт описывающий интерфейс для последовательной двунаправленной передачи двоичных данных между терминалом (DTE, Data Terminal Equipment) и конечным устройством (DCE,Data Circuit-Terminating Equipment ). В настоящее время действующим является RS-232C (Recommended Standard 232 Edition: C) редакция 1969 года, именно это стандарт мы и будем рассматривать далее. Интерфейс RS-232 реализован полностью аппаратно, это значит, что он работает всегда, не зависимо от ОС (операционной системы) или даже без ОС.
Разъемы интерфейса COM порта.
На компьютере интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M (разъем DB-25M на современных компьютерах не применяется, однако DB-25F(M), напротив, широко используется в переферийных устройствах например — ККМ, принтера).
В современных компьютерах бытового назначения разъем COM порта может не выводится непосредственно наружу, а организован в виде вывода под планку COM порта, либо вообще отсутствует. Начиная с 1999 по спецификации РС 99 интерфейс RS-232 должен заменяться интерфейсом USB.
![]() |
![]() |
![]() |
| COM порт непосредственно установленный на материнской плате | COM порт на материнской плате под планку COM порта | Планка COM порта |
![]() |
| Контакт | Сигнал | Направление | Описание |
|---|---|---|---|
| 1 | DCD | Вход | Data Carrier Detected — Несущая обнаружена |
| 2 | RxD | Вход | Receive Data — Принимаемые данные |
| 3 | TxD | Выход | Transmit Data — Передаваемые данные |
| 4 | DTR | Выход | Data Terminal Ready — Готовность хоста (компьютера) к работе |
| 5 | GND | – | Signal Ground — Схемная земля |
| 6 | DSR | Вход | Data Set Ready — Готовность устройства к работе |
| 7 | RTS | Выход | Request To Send — Запрос на передачу (хост готов к передаче) |
| 8 | CTS | Вход | Clear To Send — Готовность устройства к приему данных (устройство готово к приему) |
| 9 | RI | Вход | Ring Indicator — Индикатор вызова |
Разъем DB25M (папа), внешний вид, расположение контактов (pinout).

Назначение выводов 25 контактного (25pin) разъема DB25M COM порта со стороны компьютера по стандарту RS232C. Направление сигналов указано относительно хоста (компьютера).
| Контакт | Сигнал | Направление | Описание |
|---|---|---|---|
| 1 | PG | – | Protective Ground — Защитное заземление. |
| 2 | TxD | Выход | Transmit Data — Передаваемые данные |
| 3 | RxD | Вход | Receive Data — Принимаемые данные |
| 4 | RTS | Выход | Request To Send — Запрос на передачу (хост готов к передаче) |
| 5 | CTS | Вход | Clear To Send — Готовность устройства к приему данных (устройство готово к приему) |
| 6 | DSR | Вход | Data Set Ready — Готовность устройства к работе |
| 7 | GND | – | Signal Ground — Схемная земля |
| 8 | DCD | Вход | Data Carrier Detected — Несущая обнаружена |
| 20 | DTR | Выход | Data Terminal Ready — Готовность хоста (компьютера) к работе |
| 22 | RI | Вход | Ring Indicator — Индикатор вызова |
Электрические характеристики COM порта (стандарт RS232C).
Полное описание можно посмотреть в документации действующего протокола ITU-T v.28 03.1993 в редакции от 1993 года (скачать).

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

- Электрические характеристики приёмника сигналов.
- RL— общее сопротивление приёмника должно находиться в пределах 3000. 7000 Ом.
- V1— напряжение на входе приёмника должно быть в пределах ±3. ±15 В.
- EL— ЭДС приёмника при разомкнутой схеме должно быть не более ±2 В.
- CL— общая ёмкость цепей приёмника должна быть не более 2500 пФ.
- Входной импеданс приёмника не должен быть индуктивным.
- Электрические характеристики генератора сигналов.
- Допускается короткое замыкание сигналов.
- Допускается оставлять выход генератора без нагрузки.
- V0— напряжение генератора при разомкнутой схеме должно быть не более ±25В/±15 В (RS-232/ITU-T v.28)
- R0 и C0 для генератора не нормируются.
- Короткое замыкание цепей генератора не должно вызывать токи величиной более 0,5А.
- Если EL=0, то напряжение на входе приёмника должно быть V1=±5. ±15 В, для любого диапазона нагрузки генератора RL=3000. 7000 Ом.
- Генератор должен быть способен работать на ёмкостную нагрузку C0 плюс 2500 пФ.
- Уровни сигналов для стандарта RS-232C.
- Логической «1» считается информационный сигнал с напряжением V1 менее -3 В.
- Логическим «0» считается информационный сигнал с напряжением V1 более +3 В.
- Сервисный или синхронизирующий сигнал считается включенным «ON»(«MARK») если V1 более +3 В.
- Сервисный или синхронизирующий сигнал считается выключенным «OFF»(«SPACE») если V1 менее -3 В.
- Напряжение в диапазоне V1=-3 В. +3 В считается переходной областью.
- Характеристики сигналов.
- Все сигналы вошедшие в область перехода V1=-3В. +3В должны выйти в противоположный сигнал без повторного захода в эту область (т.е. монотонно).
- Не допускается колебания сигнала в области перехода.
- Сервисные и синхронизирующие сигналы должны проходить область перехода за время не более 1мс.
- Сигналы данных должны проходить область перехода за время не более 3% от времени одиночного элемента, но не более чем за 1 мс.
- Скорость нарастания фронта сигнала не должна превышать величины 30В за миллисекунду.
- Ограничения первых двух пунктов не относятся к электромеханическим устройствам размыкания и замыкания цепи.
Описание контактов интерфейса RS232C
- GND- Ground, (общий) второй провод для всех сигналов.(Сигналы передаются всегда по двум проводам!)
- TxD- Transmited Data, асинхронный канал для передачи данных.
- RxD- Received Data, асинхронный канал для приема данных.
- RTS- Request To Send (запрос на передачу), Выход который говорит о том, что у компьютера есть данные для передачи по каналу TxD для конечного устройства.
- DTR- Data Terminal Ready(готовность терминала данных), Выход который говорит о том, что компьютер(терминал) готов к обмену данными с конечным устройством
- CTS- Clear To Send (очищен для передачи) Вход, который говорит о том, что конечное устройство готово принимать данные от терминала по каналу TxD. Обычно этот сигнал выставляет конечное устройство после того, как оно получит от компьютера сигнал RTS=True(запрос на передачу) и будет готово принять данные от компьютера. Если конечное устройство не выставит сигнал CTS=True, то передача по каналу TxD не начнется. Данный сигнал используется для аппаратного управления потоками данных
- DSR- Data Set Ready(установка данных готова), Вход который говорит о том, что конечное устройство выполнило все установки и готово начать передавать и принимать данные от компьютера. Если конечное устройство модем, то установка DSR=True воспринимается компьютером(терминалом) так, что модем уже установил связь с другим модемом и готов начать процедуру обмена между двумя компьютерами оснащенных модемами
- DCD- Data Carrier Detected(обнаружен носитель информации), Вход который информирует компьютер(терминал) об обнаружении другого терминала, то есть конечное устройство , например модем, обнаружил другой модем, который хочет инициализировать обмен данных между терминалами. Модем выставляет сигнал DCD=True, который обнаруживается на входе компьютера(терминала). Если терминал готов к обмену данными, то он на сигнал DCD=True должен выставить сигнал готовности терминала к обмену данными DTR=True, после чего начинается обмен данными между двумя терминалами.
- RI- Ring Indicator(индикатор звонка), Вход который говорит компьютеру(терминалу) что на конечное устройство поступает сигнал вызова. Например, на модем поступил сигнал вызова с телефонной станции, совсем не обязательно, что этот вызов закончится обменом данных.
Следует отметить, что данные инверитрованы, т.е -12в- это логическая еденица, +12в -это логический ноль, а служебные сигналы +12в — это Mark (логическая еденица), -12 — это Space(логический ноль).
Протокол обмена данными.
В протоколе RS-232 существуют два метода управления обменом данных: аппаратный и программный, а также два режима передачи: синхронный и асинхронный. Протокол позволяет использовать любой из методов управления совместно с любым режимом передачи. Также допускается работа без управления потоком, что подразумевает постоянную готовность хоста и устройства к приему данных, когда связь установлена (сигналы DTR и DSR установлены).
Аппаратный метод управления реализуется с помощью сигналов RTS и CTS. Для передачи данных хост (компьютер) устанавливает сигнал RTS и ждет установки устройством сигнала CTS, после чего начинает передачу данных до тех пор, пока сигнал CTS установлен. Сигнал CTS проверяется хостом непосредственно перед началом передачи очередного байта, поэтому байт, который уже начал передаваться, будет передан полностью независимо от значения CTS. В полудуплексном режиме обмена данными (устройство и хост передают данные по очереди, в полнодуплексном режиме они могут делать это одновременно) снятие сигнала RTS хостом означает его переход в режим приема.
Программный метод управления заключается в передаче принимающей стороной специальных символов остановки (символ с кодом 0x13, называемый XOFF) и возобновления (символ с кодом 0x11, называемый XON) передачи. При получении данных символов передающая сторона должна соответственно остановить передачу или возобновить ее (при наличии данных, ожидающих передачи). Этот метод проще с точки зрения реализации аппаратуры, однако обеспечивает более медленную реакцию и соответственно требует заблаговременного извещения передатчика при уменьшении свободного места в приемном буфере до определенного предела.
Синхронный режим передачи подразумевает непрерывный обмен данными, когда биты следуют один за другим без дополнительных пауз с заданной скоростью. Этот режим COM-портом не поддерживается.
Асинхронный режим передачи состоит в том, что каждый байт данных (и бит контроля четности, в случае его наличия) «оборачивается» синхронизирующей последовательностью из одного нулевого старт-бита и одного или нескольких единичных стоп-битов.
Протокол имеет ряд переменных параметров, которые должны быть приняты одинаковыми на стороне приемника и на стороне передатчика для успешного обмена данными:
Полезная информация
COM – общий контакт реле, который является подвижным. Зачастую обозначается, как BASE или COMMON. Общий контакт еще называется полюс, а те, с которыми он соединяется – направлениями.
NC (Normal Close) – контакт с которым общий нормально замкнут (нормально закрытый). Это значит, что контакты замкнуты, когда реле обесточено и размыкаются, когда подается ток на управляющую катушку.
NO (Normal open) – контакт с которым общий нормально разомкнут (нормально открытый). Т.е. когда реле обесточено контакты разомкнуты, а когда на катушку подается напряжение, то контакты замыкаются.
В схеме с NC мы видим, что ток протекает через реле при обесточенной катушке и, чтобы разомкнуть цепь нам нужно подать напряжение на катушку, а во втором случае в с обесточенной катушкой и через контакты реле ток не протекает.
Нормальное состояние — это изначальное состояние реле (при обесточеной катушке). Но стоить отметить, что есть типы реле, например, поляризованные для которых понятия нормального состояния нет, поскольку оно может меняться, а соответственно контакт NO может стать NC и наоборот.
2. Типы переключателей.
По типу переключения все реле можно поделить на 2 основных типа:
— реле размыкает или замыкает контакт (SPST). Такое реле имеет один вход и один выход, и работает как ключ. При этом одно такое реле может содержать несколько пар независимых контактов, т.е. иметь несколько баз со своими контактами (DPST).
— реле переключается между двумя и более контактами (SPDT). Здесь имеется одна база, но может быть несколько выходов. Такие реле так же могут иметь в себе несколько пар контактов (DPDT).
SPDT (Single Pole, Double Throw). Один полюс, два направления. Т.е. Есть один общий контакт, который может переключаться с двумя направлениями.

DPDT (Double Pole, Double Throw). Два полюса на два направления, т.е. 2 группы переключателей. По сути это два реле SPDT в одном, но имеющие общую катушку. Иногда реле типа DPDT так и обозначается -2SPDT. Таким образом может быть реализовано и реле с гораздо большим количеством переключателей.

SPST (Single Pole, Single Throw). Один полюс на одно направление. Формально это управляемый ключ, который может быть либо нормально замкнутым (NC), либо нормально разомкнутым (NO).


DPST (Double Pole, Single Throw). Два полюса на одно направление. Реле DPST с двойным полюсом эквивалентно двум переключателям SPST (NO нормально разомкнутый и NC нормально замкнутый) и может использоваться для переключения двух разных нагрузок.


У нас есть 2 сценария в зависимости от типа реле
Без напряжения на катушке:
С NO, нагрузки будут ОТКЛЮЧЕНЫ, поскольку ток не может протекать.
С NC нагрузки будут ВКЛЮЧЕНЫ, поскольку ток может протекать
С напряжением на катушке:
С NO, нагрузки будут ВКЛЮЧЕНЫ, поскольку ток может протекать.
С NC нагрузки будут ОТКЛЮЧЕНЫ, поскольку ток не может протекать.
4. Варианты обозначений.
На сложных комбинациях реле можно встретить детализированные обозначения типов переключателей. Как уже писалось выше, реле DPDT может обозначаться, как 2SPDT, хотя здесь все и так понятно, но в случае с DPST NC-NO мы можем не какое из направлений нормально замкнутое, а какое нормально разомкнутое, поэтому вводится обозначение типа 2SPST-1NC-1NO.

Мы должны понимать, что в данной ситуации DPST NC-NO = 2SPST-1NC-1NO.
5. Общая таблица обозначений.
| Тип переключения | Тип переключения (альтернативное обозначение) | Схема коммутации | Описание |
| SPST-NO | A | ![]() |
SPST-NO (Single Pole Single Throw – Normally Open) |
Один контакт на включение, нормально разомкнутый
Один контакт на включение, нормально замкнутый
Один контакт на преключение

Два контакта на включение, нормально разомкнутые

Два контакта на включение, нормально замкнутые

Два контакта на включение: один нормально замкнутый, другой — нормально разомкнутый







