что такое rs232 интерфейс для чайников
Интерфейс 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 (англ. 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 метров, не ссылаясь на стандарты. Приблизительная зависимость длины кабеля от скорости передачи данных указана в таблице ниже.