Описание интерфейса RS-232, формат используемых разъемов и назначение выводов, обозначения сигналов, протокол обмена данными.
Общее описание
Интерфейс RS-232, совсем официально называемый «EIA/TIA–232–E», но более известный как интерфейс «COM-порта», ранее был одним из самых распространенных интерфейсов в компьютерной технике. Он до сих пор встречается в настольных компьютерах, несмотря на появление более скоростных и «интеллектуальных» интерфейсов, таких как USB и FireWare. К его достоинствам с точки зрения радиолюбителей можно отнести невысокую минимальную скорость и простоту реализации протокола в самодельном устройстве.
Физический интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M, последний в выпускаемых в настоящее время компьютерах практически не встречается.
Назначение выводов 9-контактного разъема
Назначение выводов 25-контактного разъема
Из таблиц видно, что 25-контактный интерфейс отличается наличием полноценного второго канала приема-передачи (сигналы, обозначенные «#2»), а также многочисленных дополнительных управляющих и контрольных сигналов. Однако, часто, несмотря на наличие в компьютере «широкого» разъема, дополнительные сигналы на нем просто не подключены.
Настройка MOXA NPort 5610-8-DT управление проектором через rs232
Электрические характеристики
Логические уровни передатчика: «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)
Протокол имеет ряд переменных параметров, которые должны быть приняты одинаковыми на стороне приемника и на стороне передатчика для успешного обмена данными:
- Скорость обмена данными задается в битах в секунду, определяя длительность одного бита, выбирается из ряда стандартных значений (300, 1200, 2400, 4800, 9600, 19200, 38400, 57600), но могут быть и нестандартными, если поддерживаются обеими сторонами;
- Количество бит данных может быть от 4 до 8;
- Контроль четности может быть четным («even», когда общее число единичных битов в принятых данных, включая сам бит четности, должно быть четным), нечетным («odd», когда общее число единичных битов в принятых данных, включая сам бит четности, должно быть четным) или вообще отсутствовать;
- Длина стоп-бита может составлять одну, полторы или две длительности бита.
Источник: denvo.ru
Что такое интерфейс RS-232?
RS-232 – это интерфейс передачи информации между двумя устройствами на расстояние до 15 м.
Используется для подключения к вычислительным машинам самого разного оборудования, нетребовательного к скорости обмена.
В офисной технике практически вытеснен интерфейсом USB. Зато активно используется в проме для подключения периферии и устройств, расположенных достаточно далеко от компьютера, и даже работающих в сложных условиях внешней среды. Также этот стандарт используется для взаимодействия микроконтроллеров различных архитектур, имеющих интерфейс UART, с другими цифровыми устройствами и периферией.
- Расстояние 15 м
- Скорость передачи данных до 115200 бит/с
- Тип точка-точка (master-slave)
- Можно подключить только одно устройство
- Протокол интерфейса предполагает синхронный и асинхронный режим передачи данных
- Аппаратный и программный метода управления обменом данных
Для организации RS232 используются разъемы DB9M и DB25M:
Распайка и схема подключения COM порта RS232:
Аппаратный контроль | Программный контроль | |
Скорость передачи | Любая скорость | Низкая скорость |
Скорость реакции | Быстрая | Медленная |
Поддержка интерфейса | RS-232/422 | RS-232/422/485 |
Символ начала передачи данных | Любой | Только XON/XOFF |
Потеря данных | Нет | Возможно |
Использование контактов | Полное | Упрощенное |
Источник: aveon.ru
Интерфейс RS232. Теория
В этом выпуске мы начнем проектировать контроллер легендарного интерфейса передачи данных RS232. И прежде чем мы напишем первую строчку кода на языке описания аппаратуры, необходимо как следует погрузиться в предметную область.
Сравнение с другими последовательными интерфейсами
Для передачи данных с клавиатуры в вычислительное устройство применяются две информационных ( С , D ) и две вспомогательных линии ( G , V ). Линия общей земли G необходима для выравнивания потенциалов подключаемого устройства и вычислителя.
Контакты интерфейса PS/2
Именно относительно общей земли можно судить об уровне напряжения на информационных линиях. Линия питания V позволяет подать напряжение, необходимое для работы подключаемого устройства.
Однако, линия тактового сигнала это роскошь для абсолютного большинства коммуникационных интерфейсов. Ярким примером довольно распространенной среды передачи сигналов является, так называемый, коаксиальный кабель.
Устройство коаксиального кабеля
Дешевый в производстве, надежный и обладающий высокой пропускной способностью. Эта среда передачи сигналов, как и многие другие, имеет проводник для передачи информации, но не имеют дополнительного проводника для передачи тактовых импульсов. Информацию несет напряжение между центральным проводником и оплеткой. Тактовые сигналы на считывание уровня напряжения вырабатываются на приемнике этого сигнала на основании стартовых и стоповых комбинаций бит в информационном потоке и заведомо известных технических параметров системы передачи информации.
Интерфейс RS232
А теперь ближе к делу. Для задач низкоскоростной передачи информации еще в середине прошлого века разработан ставший легендарным интерфейс RS232.
Внешний вид разъемов RS232
Свое имя он получил после выхода в свет документа, зафиксировавшего в качестве стандарта то как нужно изготавливать и использовать этот интерфейс. Имя это сокращение от Рекомендованный стандарт № 232 . Он получил очень широкую популярность во всех областях техники и не знать о нем даже в 21 веке грамотному инженеру нельзя. Его отличает узнаваемая внешность разъема в виде трапеции с девятью контактами в два ряда.
Версия с 25-ю контактами не получила широкого распространения. Все проводники даже в 9-контактной версии в абсолютном большинстве случаев оказываются не задействованы. Главное применение этого интерфейса это управление внешними устройствами. Внешними по отношению к вычислителю. Также он применяется для сбора данных, низкоскоростной передачи информации между двумя устройствами.
Контакты разъема
Рассмотрим контакты поближе. Для выравнивания потенциалов устройств необходима линия общей земли GND .
Контакты разъемов RS232
Именно относительно линии общей земли определяются уровни напряжения в остальных линиях. В самой минимальной комплектации для двунаправленной передачи данных нужны еще два проводника. Это для сигналов в одну и в другую сторону между двумя устройствами. Называются они RxD и ТxD . Остальные проводники служат для передачи вспомогательных сигналов о готовности к передаче и приему данных и других сигналов. Досконально разбираться с этим сейчас не будем.
Уровни напряжения в линиях
Для поддержания высокой надежности передачи информации этот стандарт предусматривает довольно высокие уровни напряжения в линиях. В середине прошлого столетия, по всей видимости, повышенное напряжение было хорошим способом борьбы с помехами. Компьютеры были большими и тяжелыми, никаких проблем выставить на линию напряжение в диапазоне от 3 до 15 вольт при передаче логического нуля и от -3 до -15 вольт для передачи логической единицы.
Уровни напряжения в линиях RS232
Характеристики кабеля позволяли передавать информацию на расстояние 1 километр со скоростью до 2400 бит в секунду. При смене состояния на несогласованной линии возникают затухающие гармонические колебания. Мы называли это явление дребезгом . При длине кабеля 1000 метров масштабы этого явления довольно значительные. Для затухания колебания нужна довольно продолжительная длительность одного бита информации. Это ограничивает скорость передачи данных на большие расстояния.
В случае уменьшения длины кабеля длительность дребезга уменьшается и соответственно можно увеличить скорость передачи данных. В пределах одной комнаты можно обеспечить довольно существенное повышение битовой скорости между двумя устройствами.
Скорость передачи бит в канале связи может быть выбрана пользователем но только из строго ограниченного списка. Это сделано для удобства установления связи между двумя удаленными точками. Значение скорости устанавливается в результате предварительной договоренности . Скорость передачи бит в секунду определяет и длительность передачи одного бита.
В структуре логических уровней напряжения не существует никаких разграничителей, пунктирные линии на рисунке выше нарисованы для нашего удобства. Они отделяют биты один от другого. Логическая единица это отрицательное напряжение, логический ноль — положительное. При отсутствии передачи информации на линии логическая 1 .
Фрейм или кадр передачи двоичного слова начинается со стартового бита уровня логического 0 . Это служебный бит и не является полезной информацией. Далее следуют полезные биты информации. Двоичное слово поступает в канал начиная с младшего бита. Оканчивает фрейм стоп бит уровня логической единицы, это тоже служебный бит.
Напряжения в линиях не являются пригодными для использования в вычислителях. Прежде чем можно будет обрабатывать такой сигнал он проходит через специальную микросхему, переводящую входные уровни напряжения в уровни широко используемого стандарта.
Структура фрейма RS232
При этом уровень единицы и нуля становятся на свои естественные места. Структура фрейма сохраняется: старт бит, двоичное слово, бит четности если он передавался, потом стоп бит. Стоп бит может быть не один подряд. Вероятно, остается лишь только один вопрос. Почему двоичное слово на рисунке всего лишь из пяти бит и может ли такое быть?
Размер фрейма
Стандарт предусматривает размер слова от 5 до 9 бит. Также может быть один бит четности, но он не обязательный. Не во все времена удобным считалось группировать биты по 8 штук.
Использование RS232 в области связи
В смежной области техники, где занимались передачей и приемом телеграмм и прочей текстовой информации один символ алфавита мог быть закодирован комбинацией из пяти бит. Все символы заглавные и это совсем не мешает чтению, зато очень экономит время в низкоскоростных каналах передачи информации. Таким образом, для удобства совершенно разных пользователей размер поля данных можно регулировать.
Настройка RS232
Настраиваются параметры интерфейса передачи данных довольно просто при помощи специальной программы в комплекте с операционной системой или другим способом.
Переходник USB-RS232
Трудностью будет найти этот разъем на современных компьютерах. Скорее всего вы вряд ли его найдете. Он остался лишь в промышленных компьютерах, где все еще актуальны вопросы управления различным оборудованием. В домашних компьютерах век этого интерфейса закончился. На смену нескольким различным старым разъемам, куда раньше вставлялась клавиатура, мышь, принтер — пришел универсальный последовательный интерфейс передачи данных. Мы все его хорошо знаем под именем USB .
Переходник c USB на RS232
С конца 90-х по 2000-е годы этот интерфейс прочно занял свое место, отправив на свалку истории весь зоопарк остальных низкоскоростных интерфейсов передачи данных.
На случай работы с устройством, обладающим старым простым проверенным интерфейсом, предусмотрены переходники. Для нашего случая необходим переходник с USB на RS232. По счастью, для пользователя все остается довольно прозрачно и не доставляет неудобств. Микросхема, находящаяся в разъеме преобразует пакеты интерфейса USB в уровни напряжения устаревшего интерфейса RS232.
Драйвер переходника сообщает операционной системе, что у нее появился устаревший интерфейс. Работа с ним происходит точно так же как десятилетия до этого.
Как принять фрейм RS232 ?
Сейчас разберем основную сложность, связанную с разработкой контроллера интерфейса RS232 на базе программируемой логической интегральной схемы (ПЛИС). Как мы уже ранее выяснили, при приеме фрейма тактовый сигнал на чтение логических уровней нужно добыть в честном поединке. В чистом виде он не представлен. В помощь нам информация о технических параметрах интерфейса.
Прежде всего это скорость передачи бит в секунду. Она позволит выяснить длительность одного бита.
Прием фрейма RS232
После перепада уровня напряжения с логической единицы на ноль мы считаем что начался стартовый бит. Проверить состояние стартового бита желательно в самой его середине. Тем самым мы защищаемся от дребезга, связанного с несогласованностью линии передачи данных. Если это на самом деле стартовый бит ноль, то можно перейти к приему информационных бит.
Соблюдать время считывания логического уровня нам поможет счетчик высокоскоростных импульсов кварцевого генератора. Количество бит данных во фрейме мы знаем предварительно, впрочем как и наличие или отсутствие бита четности. Учитывая все вышесказанное, мы вполне сможем написать контроллер легендарного интерфейса.
Видео-обзор с канала YouTube
Продолжение следует.
Поддержите статью лайком если понравилось и подпишитесь чтобы ничего не пропускать.
Источник: dzen.ru