Что такое rs 232
Интерфейс RS-232 – обзор, схема преобразователей, распиновка кабелей
Последовательный интерфейс RS-232 — обзор стандарта
Это широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально он создавался для связи компьютера с терминалом. В настоящее время используется в самых различных сферах.
Интерфейс RS-232-C соединяет два устройства. Линия передачи первого устройства соединяется с линией приема второго и наоборот (полный дуплекс) Для управления соединенными устройствами используется программное подтверждение (введение в поток передаваемых данных соответствующих управляющих символов). Возможна организация аппаратного подтверждения путем организации дополнительных RS-232 линий для обеспечения функций определения статуса и управления.
Стандарт | EIA RS-232-C, CCITT V.24 |
Скорость передачи | 115 Кбит/с (максимум) |
Расстояние передачи | 15 м (максимум) |
Характер сигнала | несимметричный по напряжению |
Количество драйверов | 1 |
Количество приемников | 1 |
Схема соединения | полный дуплекс, от точки к точке |
Порядок обмена по интерфейсу RS-232C:
Наименование | Направление | Описание | Контакт (25-контактный разъем) | Контакт (9-контактный разъем) |
DCD | IN | Carrier Detect (Определение несущей) | 8 | 1 |
RXD | IN | Receive Data (Принимаемые данные) | 3 | 2 |
TXD | OUT | Transmit Data (Передаваемые данные) | 2 | 3 |
DTR | OUT | Data Terminal Ready (Готовность терминала) | 20 | 4 |
GND | — | System Ground (Корпус системы) | 7 | 5 |
DSR | IN | Data Set Ready (Готовность данных) | 6 | 6 |
RTS | OUT | Request to Send (Запрос на отправку) | 4 | 7 |
CTS | IN | Clear to Send (Готовность приема) | 5 | 8 |
RI | IN | Ring Indicator (Индикатор) | 22 | 9 |
Интерфейс RS-232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS-232C по сравнению с Centronics являются:
Назначение сигналов следующее:
Для двухпроводной линии связи в случае только передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.
Формат передаваемых данных показан на рисунке ниже. Собственно, данные (5, 6, 7 или 8 бит) сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение — не более 10 %). Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.
Все сигналы RS-232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рисунок ниже). Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю — высокий уровень).
Для подключения произвольного УС к компьютеру через RS-232C обычно используют трех- или четырехпроводную линию связи, но можно задействовать и другие сигналы интерфейса.
Обмен по RS-232C осуществляется с помощью обращений по специально выделенным для этого портам:
Распиновки кабелей RS-232
Рассмотрим стандартные и не очень распиновки кабелей.
Применяется для соединения таких устройств как компьютер и модем.
DTE 9 F DTE 9 F (Null-modem 9)
Применяется для соединения таких устройств как компьютер и компьютер.
Применяется для соединения таких устройств как компьютер (25-пиновый разъем) и 9-пиновая мышь (или модем).
Применяется для соединения таких устройств как компьютер (9-пиновый разъем) и 25-пиновая мышь (или модем).
Применяется для соединения таких устройств как компьютер (25-пиновый разъем) и 25-пиновая мышь (или модем).
DTE 25 F DTE 25 F (Null-modem Универсальный 25)
Применяется для соединения таких устройств как компьютер (25-пиновый разъем) и компьютер (25-пиновый разъем).
Заглушка на COM-порт 9 pin F
Применяется для тестирования коммуникационных приложений.
Заглушка на COM-порт 25 pin F
Применяется для тестирования коммуникационных приложений.
Как получить 5 вольт от порта RS-232?
Список необходимых деталей:
Преобразователи интерфейса RS-232
Конвертер RS-232 в TTL
Для преобразования уровней RS-232 в стандартные логические уровни TTL обычно используют специальные микросхемы преобразователей. Однако далеко не всегда имеет смысл закладывать преобразователь уровней в схему проектируемого устройства, поскольку часто бывает так, что связь с компьютером нужна только на этапе изготовления и отладки устройства, а для конечного изделия в ней нет никакой необходимости.
Кроме того, с целью упрощения использования данного преобразователя в нем предусмотрена схема питания прямо от последовательного порта, что избавляет от необходимости использования внешних источников питания.
Использование описанного выше преобразователя RS-232 в TTL оказывается удобным в тех случаях, когда в процессе эксплуатации устройства не требуется наличие возможности связи с компьютером, но она нужна на этапе отладки или изготовления устройства. Типичным примером этого может служить, например, устройство с flash или EEPROM памятью, требующей начальной инициализации. Кроме того, часто бывает очень удобно в процессе разработки выводить в последовательный порт различного рода отладочную информацию, что иногда позволяет обойтись без аппаратных эмуляторов.
Преобразователь интерфейса RS232–RS422
Конвертер собран на SMD элементах и помещается в корпусе разьёма Sub-D9.
Печатную плату можно скачать ниже:
Файлы для скачивания: rs232rs422.rar
Схема преобразователя интерфейсов RS232–RS485
Интерфейс RS485 довольно широко распространен в сфере подключения промышленного оборудования. По своему принципу работы он напоминает популярный интерфейс последовательной передачи данных RS232, однако RS485 более надежный и позволяет передавать информацию на куда большие расстояния, чем это может сделать RS232.
К сожалению, персональные компьютеры и большинство микроконтроллеров изначально не поддерживают интерфейс RS485, зато поддерживают RS232. Для того, чтобы соединить эти два мира в одно информационное пространство, следует собрать преобразователь этих интерфейсов. Представленная в данном материале схема позволяет сделать своими руками простой конвертер интерфейсов RS232-RS485, который позволит подключить компьютер или другое устройство к другим устройствам с RS485.
Схема основана на популярных микросхемах MAX232 и MAX485. Разъем DB-9 соединяет плату с последовательным портом с помощью кабеля. Разъемы J1 и J2 предоставляют доступ к линиям ввода/вывода MAX232, а разъем CN1 позволяет получить доступ к линиям ввода/вывода MAX485. С помощью джампера J4 к плате можно подвести внешнее питание до 12 В, которое будет преобразовано стабилизатором в 5 В. Если вы подаете питание через разъем J1, то убедитесь, что J4 разомкнут. Светодиод D2 обеспечивает визуальную индикацию питания платы, а диод D1 защищает от подключения питания не правильной полярности.
Кабель RS485 подключается к разъему CN2 через сопротивления R3, R1 и R4, обеспечивающие необходимый импеданс. Вывод A разъёма CN1 представляет собой вывод контроля приема/передачи. Подтяжка этого вывода к земле позволит RS485 работать в режиме приёма, а подтяжка к напряжению питания Vcc в режиме передачи.
Для подключения MAX232 к MAX485 соедините вывод C разъема J1 с выводом DI разъема CN1 и соедините вывод B разъема J1 с выводом RO разъема CN1.
Ниже представлены схема расположения компонентов на печатной плате и сама печатная плата.
RS232. Взгляд изнутри
Последовательный порт (далее ПП) удобный инструмент для общения между разными периферийными устройствами (как собранные самостоятельно на основе какого-нибудь МК, так и заводские: принтеры, осциллографы и т.д.) с одной стороны, и ПК с другой. На сегодняшний день наиболее популярные из всех ПП являются RS232 стандарт (переводится как «Recommended Standard») за его простоту и USB стандарт («Universal Serial BUS») за его резвость.
USB бесспорно вещь полезная, но жудко навороченная. Поскольку многим самодельным устройствам бешенный обмен данными с ПК неособо нужон, тогда на помощи приходит простой, надежный и многоопытный RS232 Интерфейс.
По RS232 стандарту устройства участвующие в обмене данными бывают двух типов:
Data Terminal Equipment (DTE) (устройство отдающее команды — ведущий) и
Data Circuit-Terminating Equipment (DCE) (периферия, обслуживающая хозяина — ведомый). Нередко, некоторые периферийные устройства ведут себя как DTE (например осциллографы, или наши с вами девайсы).
Модемное соединение — подрозумеваеи наличие некой иерархии, тоесть в случае когда в обмене данными участвуют больше чем два устройства им необходим некий арбитр (модем), разрешающий в определенный момент времени отсылать данные только одному устройству (в то время как читать могут хоть все остальные). Модемом может быть что угодно: отдельный девайс, или один из участников обмена данными, главное недопустить потери данных.
В случае когда устройств только два, или есть явный ведущий которого слушаются все остальные, никакого посредника им не нужно, а это означает что к их общению больше никто не подключится, и никакого арбитра в лице модема им не надо ( в отличие от предыдущего типа соединения, когда к одному принтеру можно подключить штук 10 ПК ). Опять-же главное недопустить одновременной отправки данных — в определенный момент времени, общатся может только одна пара устройств. Такое соединение называется нуль-модемное соединение:
Типы передач данных
Минимальное количество проводков необходимое для обмена данными равно двум (этокий жадный изврат), если передача является односторонней ([Tx, GND]). В случае когда необходимо полноценное — двухстороннее общение число проводков возростает аж до трех ([Rx, Tx, GND]). Большинство периферийных устройств поддерживают одновременную передачу и прием данных — full-duplex, но если один из собеседников на такое не способен, обмен переходит в разряд неполноценных — half-duplex (пока один не закончил передачу/прием другой пляшит под его дудку).
Распиновка COM разъёма
В столбце Signal Name, DATA Terminal можно заменить на ПК (то есть Data Terminal Ready соответствует ПК готов к работе), а DATA Set на Периферия.
Назначение управляющих пинов ([RTS, CTS], [DTR, DSR] и [CD, RI]) сводится к следующему:
• Отслеживать состояние собеседника
• Отслеживать поток данных
Пара [RTS, CTS] — используется для обозначения готовности данной пары устройств к передачи/приему соответственно.
1. DTE устройство устанавливает RTS = on, сигнализируя о том что оно готово к приему данных. Если устройство получило достаточное количество данных то устанавливаем RTS =off.
2. DCE устройство устанавливает CTS =on, сигнализируя о том что оно готово к приему данных. Если устройство получило достаточное количество данных то устанавливаем CTS =off.
Кто каким пином будет управлять (тоесть кому быть DTE а кому DCE) решать вам. Соответственно программы управления этими устройствами должны выставить RTS(выход)/CTS (вход), или наоборот, иначе могут быть глюки.
Пара [DTR, DSR] — большинство устройств используют эти пины для сигнализирования что они подключены и готовы к работе.
1. DTE устройство устанавливает DTR=on, сообщая DCE устройству что оно готово к работе. Соответственно когда DTE устанавливает DTR=off, то оно больше не желает (или не может) общатся (положила трубку 🙂 )
2. DCE устройство устанавливает DSR=on, сообщая что оно подключено, а когда DSR=off – оно отключено.
Такой метод контроля потока данных называется – hardware handshaking (чтото вроде аппаратное управление). Пары [DTR, DSR] и [RTS, CTS] могут быть с легкостью взаимо-заменены без всякого ущерба.
Пара [CD, RI] – используется для обозначения (в тот самом случае когда один принтер на отару кампов) что в данный момент линии передачи данных кем-то заняты.
Как правило этой парой управляет модем, но не обязательно.
• St – Стартовый Бит (начало передачи данных) – логический ноль
• 0..8 – позиция бита (данных) в пакете (позиция «0» – LSB)
• P – бит парности (проверка успешной передачи данных)
• Sp1,Sp2 – стоп биты (завершают передачу пакета) – логическая единица
• [] – в скобках обозначены биты которые могут отсутствовать
(биты данных с 5 по 8 так или иначе будут переданы, но не рассмотрены — мусор)
• IDLE – ожидание (логическая единица)
Как я уже говорил, во время передачи — данные инвертируются, так что если будете проверять осциллографом как отсылается пакет — не пугайтесь.
Часто формат пакета обозначается следующим образом: 8-N-1 (8 бит данных, без бита проверки, один стоп бит) или 5-E-2 (5 бит данных (3 бита мусора), с проверкой на четность, два стоп бита).
Поскольку MAX232 поддерживает аппаратное управление COM портом, и если с разводкой данной схемы проблем нет, почемуб и не использовать эту возможность, вдруг когда пригодится (не пропадать же добру). В противном случае, можно обойтись без аппаратного управления, как зачастую и происходит.
Софт
UPD: заменил вывод cout на printf, и убрал флаги RxClear и TxClear
ПП по сути является фаилом из которого ведется чтение/запись, поэтому основные операции которые применяются над ПП можно группировать следующим способом:
Запихните предыдущий код в хидэр фаил, например с именем COM_INIT.h и можно использовать ПП.
Надеюсь эти скромные знания кому-то помогут. Если есть вопросы попытаюсь ответить.
Интерфейс RS 232 — стандарт для стыковки оборудования
Строго говоря, интерфейс RS 232 — это название стандарта (RS — recommended standard — рекомендованный стандарт, 232 — его номер), описывающего интерфейс для соединения компьютера и устройства передачи данных.
Стандарт был разработан достаточно давно, в 60-х годах 20-го века. В настоящее время действует редакция стандарта, принятая в 1991 году ассоциациями электронной и телекоммуникационной промышленности, под названием EIA/TIA-232-E.
Тем не менее, большинство людей по-прежнему использует название RS-232, которое накрепко приросло к самому интерфейсу.
Устройства
Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) — ООД (Оконечное Оборудование Данных), второе — DCE (Data Communications Equipment) — ОПД (Оборудование Передачи Данных).
Как правило, DTE (ООД) — это компьютер, а DCE (ОПД) — это модем, хотя RS-232 использовался и для подключения к компьютеру периферийных устройств (мышь, принтер), и для соединения с другим компьютером или контроллером.
Важно запомнить эти обозначения (DTE и DCE). Они используются в названиях сигналов интерфейса и помогают разобраться с описанием конкретной реализации.
Типы разъемов
Изначально стандарт описывал применение 25-контактного соединителя, типа DB25. DTE-устройство должно оснащаться вилкой (male — «папа»), DCE-устройство — розеткой (female — «мама»). Позднее, с появлением IBM PC, стали использовать усеченный вариант интерфейса и 9-контактные соединители DB9, наиболее распространенные в настоящее время.
Распайка RS-232
В приведенной ниже таблице показано назначение контактов 9-контактного соединителя DB9. Таблица показывает распайку вилки оборудования обработки данных (DTE), например, ПЭВМ. Розетка устройства передачи данных (DCE) распаяна так, что два разъема стыкуются напрямую, или через кабель, распаянный «контакт в контакт».
Для передачи данных предназначены цепи RD и TD. Остальные цепи предназначены для индикации состояния устройств (DTR, DSR), управления передачей (RTS, CTS) и индикации состояния линии (CD, RI). Полный набор цепей используется только для подключения к ПЭВМ внешнего модема. В остальных случаях, например при подключении к ПЭВМ промышленного контроллера, используется ограниченный набор цепей, зависящий от аппаратной и программной реализации стыка в контроллере.
Схема кабеля RS-232
Как было сказано выше, для соединения строго соответствующих стандарту устройств DTE и DCE нужен кабель «контакт в контакт». Для соединения двух DTE-устройств используют так называемые нуль-модемные кабели, в которых провода «перекрещиваются» в соответствии с назначением сигналов. На практике перед распайкой кабеля всегда следует разобраться с документацией на оба соединяемых устройства.
Остальные цепи интерфейса в данном подключении не используются.
Длина и провод
Стандарт определяет максимальную длину кабеля в 50 футов (примерно 15 метров) при скорости 9600 бит/с. На практике устойчивая работа может быть достигнута и при большей длине кабеля. Утверждают, что можно удвоить указанную цифру при использовании неэкранированного кабеля и упятерить ее для экранированного кабеля, а при понижении скорости вдвое предельная длина может быть увеличена примерно вдвое. Тем не менее, мы не можем ручаться за это утверждение, из-за различного уровня внешних электромагнитных помех в каждом конкретном случае.
Рекомендуется использовать кабели на основе витой пары, где каждый из сигнальных проводов свит с общим проводом. Например, для этой цели хорошо подходит кабель для прокладки локальной сети Ethernet на неэкранированных витых парах (Unshielded Twisted Pair — UTP), а лучше — на экранированных — STP. Экран кабеля рекомендуется не объединять с сигнальным общим, а подключить к металлической оболочке разъема.
Уровни сигналов
Передача данных
RS-232 называют последовательным интерфейсом, поскольку поток данных передается по одному проводу бит за битом. В отсутствие передачи данных линия находится в состоянии логической единицы (-12В). Скорость передачи данных стандартом не нормируется, но обычно выбирают из ряда 110, 300, 600, 1200, 2400, 4800, 9600, 19200 бит в секунду. В основном используется асинхронный режим работы, при котором данные передаются фреймами. Каждый фрейм состоит из стартового бита, битов данных, бита контроля четности (может отсутствовать), стопового бита. Биты байта данных передаются «хвостом вперёд», начиная с младшего бита.
Для правильной стыковки приемопередатчики на обоих устройствах должны быть запрограммированы одинаковым образом, т.е. должны совпадать скорость, количество битов данных (7 или 8), тип контроля по четности (см. ниже), длина стопового бита (1, 1.5 или 2).
При точных расчётах времени на передачу массива байтов наряду с битами данных следует учитывать все служебные биты.
Осциллограмма
Ниже приведена «осциллограмма» одного фрейма при следующих настройках: 8 битов данных, контроль по нечетности (parity odd), 1 стоповый бит:
Стартовый бит всегда идет уровнем логического нуля, стоповый — единицей. Состояние бита паритета определяется настройкой передатчика. Бит дополняет число единичных битов данных до нечетности (parity odd), четности (parity even), может не использоваться (parity none), быть всегда единицей (mark) или нулем (space).
Перспективы
На самом деле перспектив у RS-232 нет. В настоящее время появляется всё больше компьютеров, не оснащенных этим интерфейсом. Однако в эксплуатации находится большое число устройств с интерфейсом RS-232. Для стыковки ПЭВМ с такими устройствами используют переходники USB — RS-232.
После подключения такого переходника и установки драйверов в ПЭВМ появляется виртуальный COM-порт, через который можно общаться с устройством.