Com порт распиновка rs232. Распиновка разъёмов COM-порта
Для чего это нужно? Дело в том, что современные материнские платы, как правило, не имеют com-портов, и количество пользовательских устройств, использующих этот интерфейс неуклонно снижается. Но в промышленных устройствах, таких как различные контроллеры для прошивки микросхем, в торговом оборудовании, например, сканеры штрих-кода, фискальные регистраторы, этот интерфейс всё еще встречается довольно часто, и благодаря относительной простоте реализации, а так-же менее строгих ограничений на максимально возможную длину кабеля, судя по-всему окончательно уходить в прошлое совсем не собирается.
Если Вы по каким-либо причинам используете этот интерфейс, то безусловно Вы сталкивались с необходимостью наличия COM-порта в компьютере. Если для ПК существуют в продаже различные адаптеры типа USB-COM, PCI-COM, а также в некоторых системных платах этот интерфейс всё-таки присутствует с выходом в виде 9-контактного разъёма без вывода на заднюю панель компьютера, и без интерфейсного кабеля, поиск которого в настоящее время является ещё той головной болью, то кабель RS-232 в продаже найти практически невозможно. Ситуация усугубляется тем, что для наших целей зачастую требуется кабель большей длины, чем те редкие экземпляры, которые удается обнаружить в свободной продаже.
Выход только один - изготовить требуемый кабель самостоятельно, что при наличии паяльника, «прямых рук», и необходимых запчастей совсем несложно. Но прежде чем взять в руки паяльник нам надо, хотя-бы в общих чертах, прояснить для себя какие штекера нам необходимы и нумерацию контактов на них, а так-же какие из девяти реально используются, а какими можно пренебречь чтобы облегчить себе работу без потери работоспособности изготовленного кабеля.
Итак полная распиновка разьёма DB-9 (таблица 1):
1 | Carrier Detect (CD) | Наличие несущей частоты |
2 | Received Data (RD) | Принимаемые данные |
3 | Transmitted Data (TD) | Передаваемые данные |
4 | Data Terminal Ready (DTR) | Готовность ООД |
5 | Signal Ground | Общий |
6 | Data Set Ready (DSR) | Готовность ОПД |
7 | Request To Send (RTS) | Запрос на передачу |
8 | Clear To Send (CTS) | Готов передавать |
9 | Ring Indicator (RI) | Наличие сигнала вызова |
Внешний вид и нумерация выводов разъемов спереди:
Внешний вид и нумерация выводов разъемов сзади:
Обратите внимание что разъем с 9 штырьками - это ПАПА(MALE), а разъём с 9 контактными отверстиями - это МАМА(FEMALE)
Если Вам необходим полноценный интерфейс RS-232(используется в основном для модемов), то Вам нужно соединить между собой все соответствующие контакты «один в один», т. е. первый контакт МАМЫ соединяете с первым контактом ПАПЫ, второй со вторым и так далее.
Из вышеприведённой таблицы видно, что для передачи данных используются контакты 2,3 и 5(общий). Если Вы намереваетесь использовать кабель, например, для подключения чекового принтера, то этих трех контактов будет достаточно. На рисунках ниже можно увидеть сделанный самостоятельно кабель RS-232 и результат печати чека через него на чековый принтер.
Следует отметить что хотя большинство оборудования использует всего 3 вышеперечисленных контакта для передачи данных, и показанную выше стандартную распиновку RS-232, некоторые производители идут своим путём и могут использовать дополнительные контакты для сервисных целей, поэтому перед началом работы всё-таки следует изучить документацию на Ваше оборудование.
Для соединения очень удобно использовать кабель UTP (витая пара). Для изоляции соседних припаянных контактов - термоусадочные трубки (термоусадка) . Использование экранированного кабеля может увеличить максимальную длину при которой кабель будет работать (максимальна длина кабеля по стандарту порядка 15 метров). Для увеличения расстояния при котором подключаемое оборудование должно работать без сбоев, можно так-же понижать скорость в настройках com-порта. На практике без особых трудностей нам удавалось «завести» оборудование на расстоянии 35-40 метров, скорее всего возможно и больше, просто не было такой необходимости.
Внимание!
Не путайте стандартный кабель RS-232(МАМА-ПАПА), с так называемым нуль-модемным
кабелем(МАМА-МАМА), который может применяться для управления различными коммутационными устройствами с компьютера. На всякий случай приведём стандартную
распайку нуль-модемного кабеля:
(таблица 2)
Номер контакта DB-9 FEMALE 1 | Номер контакта DB-9 FEMALE 2 |
2 | 3 |
3 | 2 |
5 | 5 |
7 | 8 |
8 | 7 |
9 | 9 |
Здесь меняются местами 2/3 контакты, а так-же 7/8, что вполне логично (см. Таблицу 1)
Фотографии:
Два разъёма: ПАПА и МАМА с корпусами и отрезок витой пары.
Готовый кабель(использованы контакты 2,3,5).
Результат печати на чековый принтер:
Обратите внимание, что и здесь производитель POS-терминала пошёл своим путем: в корпусе терминала имеется два COM-порта, но вместо стандартных гнёзд DB-9 использовано два гнезда, внешне напоминающих вход сетевой платы компьютера, где вместо стандартного RJ-45 используется разъём с десятью(!) контактами. В комплекте было 2 переходника, к одному из которых подсоединён наш кабель на фотографии, а второй был сломан в процессе эксплуатации. Переходник в нашем случае можно было приобрести на заказ со временем ожидания от недели и более. Для подключения второго принтера нам было проще купить адаптер USB-COM и начать работу немедленно, чем тратить уйму нервов и времени на заказ сломанного переходника у производителя, благо USB-портов у этого аппарата оказалось аж 4 штуки...
Первоначально, когда появились персональные компьютеры , с ними пришло сразу несколько не бог весть каких мудрёных, но вполне успешно работавших в комплексе со всей остальной начинкой, портов или схемных интерфейсов. Словом порт обозначили способ передачи данных. Это как ячейка памяти. Только в оперативную память записывается информация и лежит там, пока она нужна какой-нибудь программе, пока программа её не обработает (или сама программа пока нужна на компьютере кому-нибудь).
Порт и память
То есть, программа прочитает данное из памяти в процессор, что-то с ним сделает, может быть получит из этой информации какие-то новые данные, которые запишет в другое место. Или само данное просто перепишет на другое место. Во всяком случае в памяти информация, которая однажды была записана может быть либо прочитана, либо стёрта. Ячейка получается как сундучок, стоящий у стенки. А вся память состоит из ячейки каждая ячейка имеет свой адрес. Точно как сундучки, стоящие в ряд у стенки в подвале скупого рыцаря.
Ну и порт можно себе представить тоже как ячейку. Только такая ячейка сзади имеет окошко, ведущее куда-то за стенку. Можно записать в неё информацию, а информация возьмёт, и улетит в окошко, хотя какое-то время будет находиться в ячейке так же, как и в обычной ячейке оперативной памяти.
Или наоборот, в ячейку-порт информация может «прилететь» из окошка. Процессор это увидит и прочтёт эту новую появившуюся информацию. И пустит её в дело — перепишет куда-то, пересчитает вместе с какими-то другими данными. Даже может записать её в другую ячейку. Или в другую ячейку-порт, тогда эта поступившая по первому порту информация может «улететь» в окошко второго порта, — ну это уж как распорядится процессор. Вернее, программа, которая в этот момент процессором командует и данные, записанные в памяти и приходящие из портов, обрабатывает.
Просто и красиво. Эти порты так и назвали сразу — порты ввода-вывода. Через одни из них данные отправляются куда-то, через другие — откуда-то принимаются.
Ну а дальше начинается движение по кругу. Вот есть одно устройство, и есть другое. И вот есть цепочка символов, каждый из которых состоит из отдельных двоичных битов, и эту цепочку нужно передать. Как передавать? Можно по линии из 8 проводочков сразу передавать по целому символу — один проводок = один бит, потом код другого, потом третьего, и так, пока не передашь всю цепочку.
А можно было разворачивать каждый бит не в пространстве (по проводочкам), а во времени: сначала передать один бит символа, потом второй и так восемь раз. Ясно, что во втором случае нужны какие-то дополнительные средства, чтобы символы так разворачивать во времени.
Параллельные и последовательные
И скорость передачи будет другая:
Получается, у каждого варианта свои плюсы, но и свои минусы.
- Сразу по восемь бит (то есть побайтно) передавать быстрее, но проводочков надо в восемь раз больше
- По одному биту передавать — нужно всего один информационный проводок, зато будет в 8 раз медленнее.
Вот и назвали в первом случае передачу параллельной, а во втором случае — последовательной.
Интерфейс портов
А вся система такой передачи — в одном случае так, в другом — этак, называется интерфейс . Один интерфейс параллельный, другой — последовательный. Почти одно и то же, порты, один параллельный, другой последовательный.
Чем понятие порт отличается от понятия «интерфейс»? В современной технике слова не только появляются, они растут и получают «образование». И как и у людей, могут становиться узкими специалистами, а могут стать «дилетантами». Вот такое типичное слово-дилетант — «интерфейс». Потому что оно — «каждой дыре затычка». Интерфейсы бывают:
А смысл слова — что-то между чем-то. Интер — между, фэйс — лицо. Красиво получилось, поэтому и везде употребляется. Например, пользовательский интерфейс системы Windows — это экранное лицо системы, предназначенное для общения с человеком.
И оно состоит из нарисованной на экране картинки + правила работы каждого элемента картинки (например, нажми на кнопочку на экране мышкой — она нажмётся) + правила реагирования каждого элемента и всей системы в целом + все аппаратные средства, участвующие в диалоге (мышь, клавиатура, экран) + все программы, обеспечивающие диалог как со стороны всей системы, так и со стороны отдельных устройств (драйверы).
Не упомянули только о человеке, но так как он тоже часть взаимодействия, то должен иметь знания и навыки работы в системе, а для этого существуют обучающие программы, справочные системы… И вот изо всего этого и встаёт красивое и ёмкое слово: интерфейс .
В нашей теме интерфейс обозначает вещи немного более простые.
Это аппаратные + программные средства передачи + правила передачи. Аппаратные — понятно. А вот программные средства на компьютерах и в современных средствах связи присутствуют всегда и везде. Даже бывает так: сначала на какой-то аппаратной базе создаётся нечто функциональное, которое выполняется не сразу, а с применением специально написанных программ . А программы все настраиваются.
И постепенно, по мере работы новой функции (или функционального блока), программы которые его «делают» — а они от аппаратных средств отличаются тем, что их можно легко настраивать — доводятся до какого-то состояния оптимальной настройки. Что уже больше и не надо настраивать. И тогда программу в новой версии функционального блока могут заменить на аппаратно выполненный заменитель программной части. Например, «зашить» оптимально работающую хорошо настроенную программу в постоянную память . Или придумать специальную логическую схему, которая выполнит точь-в-точь то же самое, что делала оптимально настроенная программа — не шарахаясь и не забывая иногда все свои полезные настройки.
Поэтому интерфейс такой часто и называют — программно-аппаратным .
Правила передачи нужны для того, чтобы на обоих концах взаимодействия одни и те же вещи понимались (и обрабатывались) одинаково. Мы говорим о передаче импульсов? Значит нужно, чтобы импульсы были строго одинаковыми.
Например, чтобы 1 битовый приходил в виде +12 или +15 вольт перепада напряжения от нуля. И чтобы была в виде прямоугольничка, или острого всплеска - пик которого обязательно был не меньше, ну, + 5 вольт, а верхнее ограничение вводить, допустим, не очень обязательно. Это потому, что при передаче импульсов на какие-то расстояния электрические сигналы имеют свойство ослабевать и «размазываться».
Если с одного конца отправят строго 12 вольт, то до другого может дойти 3 вольта, а это системой приёма может расцениться просто как шум в линии, и переданная информация будет потеряна.
Смысл импульсов тоже должен пониматься одинаково. А импульсы могут быть информационные , служебные, синхронизирующие. И вообще, например, не импульсы, а просто постоянное напряжение. Которое может использоваться на другом конце, как питание небольшого устройства.
А ещё должны одинаково пониматься и сами те самые проводочки, о которых шла речь в самом начале. Тут надо сказать сразу, такого, чтобы шёл один проводок, никогда не бывает. Даже к телефону подходят в кабеле два проводка, а в норме полагается, чтобы было в кабеле четыре. И у интерфейсов передачи данных всегда несколько проводников. Какие-то из них — информационные, какие-то — служебные. И именно это должно одинаково распознаваться на обоих концах взаимодействия. А проводочки распознаются как ? По цвету, если в кабеле и по местоположению, если в контактах подключения.
Порт слово простое и тоже не совсем однозначное. Но смысл сходный: то, что что-то грузит на что-то и куда-то отправляет. Или наоборот, то, что что-то принимает и что-то из него выгружает. Смысл почти тот же, что и программно-аппаратный интерфейс, но как-то лаконичнее. И строже, как на флоте («Вам скажут — не спорьте… а мы и не спорим…»). Только наши сигналы плывут не по морю, а по кабелю.
Распиновка разъёмов COM-порта
Распиновка никакой связи не имеет с распинанием, хотя, как проводки, вольно бегущие в одной оболочке кабеля, разбирают на стороны и жёстко припаивают к своим штырькам, сходно с распинанием. Штырёк, по-английски «pin», булавка, поэтому и распиновка, слово уже это компьютерно-связистский «проанглийский» жаргонизм. Означает — распайка проводов по штырькам на разъёме.
Форма разъёма, порядок проводков (штырьков) в нём, назначение каждого штырька, а также номиналы напряжений и смысл сигналов в каждом — это часть интерфейса. Обычно вся эта информация собирается в отдельный документ, называемый спецификацией порта. Такая простая и понятная табличка на одну страницу. В других разновидностях интерфейсов что-то такое может называться «протоколом». А здесь ещё просто называют «распиновкой» .
Последовательные порты COM
COM-порты компьютера, это связь компьютерного комплекса «дальнего действия». В отличие от параллельных портов и кабелей, ведших на «тяжёлые» устройства — принтеры, сканеры, Com-порты присоединяли к компьютеру «лёгкие» юниты — мышка, модем. Первые межкомьютерные интерфейсы (через «нуль-модем»). В дальнейшем, когда распространились локальные сети , а мыши стали подключаться по такому же разъёму, как и клавиатура — port ps/2 (пэ-эс-пополам) — com port как-то был подзабыт.
Возрождение пришло с появлением последовательного интерфейса USB. Вот и получилось движение по кругу. Теперь на USB можно встретить, кроме флешек, и мыши USB-шные, и USB-шные «клавы». Принтеры, сканеры модемы — вся периферия теперь на USB, забыла уже о толстых и солидных параллельных LTP — кабелях, которые необходимо было в обязательном порядке прикручивать с каждой стороны на 2 болта. А проводочков-то в этих USB — два сигнальных (собственно, канал один, один прямой сигнал, другой тот же — инверсный) и два — питание и корпус.
Прежних последовательных портов COM было несколько. Самый маленький — и самый востребованный 9-контактный порт (D9), к которому подключали большую чать устройств: мыши, модемы, нуль-модемные кабели. Контакты располагались в два ряда, 5 и 4 в ряд, получалась трапеция. Поэтому и название D9. На «маме» нумерация шла слева направо и сверху вниз:
1 2 3 4 5
Распайка COM-порта, port RS232, 9 контактов.
№ | Обозначение | Тип | Описание |
---|---|---|---|
1 | DCD | Вход | Высокий уровень от модема, когда он принимает несущую модема-партнёра |
2 | RxD | Вход | Входящие импульсы данных |
3 | TxD | Выход | Исходящие импульсы данных |
4 | DTR | Выход | Высокий уровень (+12В) показывает готовность компьютера к приёму данных. Подключённая мышь использовала этот контакт как источник питания |
5 | GND | Общий | Земля |
6 | DSR | Вход | Готовность к передаче данных устройством |
7 | RTS | Выход | Ответная готовность устройства — партнёра |
8 | CTS | Вход | Готовность к приёму данных от партнёра |
9 | RI | Вход | Сигнал информирования компьютера о входящем звонке, поступившим на модем из линии связи |
Правильная распиновка СOM-порта RS232
Распиновка COM порта — RS232 интерфейс был сконструирован более пятидесяти лет тому назад. А после этого был стандартизирован. В различных периодах усовершенствования технических возможностей компьютеров успешно применялся для подключения к телефонной линии с помощью модема. На данный момент такой интерфейс считается как уже вчерашний день. В основном его невостребованность заключается слишком низким быстродействием. Так как там задействованы линейные сигналы в однофазной форме. То-есть не дифференциальные.
Что касается самой контактной колодки интерфейса RS-232 и ее кабельной составляющей, то они собраны на 9-пиновом разъеме D-Sub. Штыревые контакты размещенные в двухрядном варианте, для обеспечения точности подсоединения вилки к разъему, форма колодки имеет несимметричную конструкцию. Все контактные штырьки обозначены номерами, подробнее как делается распиновка COM порта обозначено в приведенной ниже таблице.
Таблица
Множество устройств во время своей работы задействует не все контакты, а только необходимую им часть, поэтому исходя из этого обусловливается реальная распиновка COM-порта. Необходимая информация об это имеется прилагаемой документации к соответствующему оборудованию.
Соединительный кабель
Если нет необходимости задействования все контактной группы, то в таком случае можно использовать обычную витую пару. При этом ее отдельные провода припаиваются к вилке и контактам в колодке разъема. Ввиду ограниченного пространства в самой колодке, в местах пайки провода желательно помещать в кембрик.
Наибольшее расстояние связи относительно стандарта должна быть более 15 метров. Если требуется ее увеличение, тогда для этого нужно использовать экранированный провод.
COM порт — лекция
Интерфейс RS232 обеспечивает соединение персонального компьютера с каким-либо оборудованием или устройством. Раньше он применялся для подсоединения к ПК периферийных устройств (мышь, принтер и модем), но в настоящее время он в основном используется для подключения оборудования медицинского и промышленного назначения через интерфейс RS-485.
Интерфейс RS232 в компьютере: электрические характеристики, распиновка, програмирование, Управление состояниями и чтение состояний линий, инициализация
RS232 в микроконтроллере: характеристики, использование сигналов RS232 при запуске и программировании микроконтроллера, микросхемы преобразователей уровней интерфейса, примеры сопряжения микроконтроллеров с компьютером по RS232; Пример применения RS232 при программировании микроконтроллеров ADUC8XX; Программаторы микроконтроллеров
Что может и чего не может интерфейс RS232 Приложение:
Удаленная система сбора и обработки информации, поступающей с датчиков аналоговых, частотных и дискретных сигналов на базе IBM-совместимого компьютера и MSC-51
Распайка интерфейса RS232 (COM порта) |
На рисунке ниже показано назначение контактов девяти контактного соединителя типа DB9.
Для передачи данных используются выводы RD и TD. Остальные контакты RS-232 предназначены для индикации состояния устройств (DTR, DSR), управления передачей данных (RTS, CTS) и индикации состояния линии передачи (CD, RI). Полный перечисленный список выводов вы увидите разве что в устаревшем модеме. В остальных случаях, например при подключении к компьютеру , используется меньший набор контактов интерфейса RS-232.
RS-232 интерфейс применяется в основном вместе с аппаратным модулем передачи данных, называемым UART, у которого протокол стандартизирован, но он также не определяет разъемы и т.п. Т.е, RS-232 дополняет UART. Тогда как UART - это периферийный модуль в микроконтроллере, цифровые входы-выходы которого не отвечают электрическим параметрам интерфейса RS-232, их между собой сводят вместе специальной схемой - преобразователем уровней. Одним из известных преобразователей между RS-232 и TTL CMOS логикой является, к примеру, микросхема MAX232.
Кроме того, интерфейс RS232 содержит кроме сигналов(RX, TX) еще и контролирующие выводы - DTR, DCD, DSR, RI, RTS и CTS, которые применяются в управлении общения между различными устройствами. К примеру, с их помощью схема интерфейса может дать знать готово оно или нет принимать цифровой код. Так как изначальная цель RS-232 была соединение компьютеров с модемом, то некоторые сигналы использовались в нем для показания состояния телефонной линии.
Для соединения двух устройств использующих COM порт применяется нуль модемный кабель, в котором провода "перекрещиваются" в соответствии с назначением сигналов. Для соединения большинства приборов и ПК достаточно минимального набора цепей интерфейса RS-232: RD, TD и Signal Ground. Вот, например, на рисунке ниже приведена схема кабеля для соединения компьютера с com портом и контроллера ВАРИКОНТ, на типовых соединителях DB9:
Стандарт ограничивает максимальную длину кабеля в 15 метров при скорости 9600 бит/с. Экран кабеля советуют не объединять с сигнальным общим, а подсоединить к металлической оболочке разъема.
Все сигналы в COM порте потенциальные, с номинальными уровнями +12В и -12В относительно общего. Логической единице соответствует уровень -12В, а нулю соответственно +12В. RS232 называют еще последовательным интерфейсом, т.к поток данных передается по одному проводу бит за битом. При отсутствии передачи линия находится в состоянии логической единицы. Скорость передачи данных не нормируется, но обычно выбирают из цифрового ряда 110, 300, 600, 1200, 2400, 4800, 9600, 19200, 36600,с 54200 бит в секунду. В основном применяется асинхронный режим работы, при котором данные идут фреймами. Каждый отдельный фрейм состоит из битов данных, стартового, контроля четности и стопового бита. Биты байта данных передаются начиная с младшего. Для правильной работы приемопередатчики на обоих устройствах должны совпадать скорость, количество битов данных, тип контроля по четности, длина стопового бита.
При точных расчетах времени на передачу массива байтов наряду с битами данных следует принимать во внимании все служебные биты.
На рисунке ниже показана "осциллограмма" одного фрейма при следующих настройках: 8 битов данных, контроль по нечетности, один стоповый бит: Стартовый бит всегда следует уровнем логического нуля, стоповый - единицей. Состояние бита паритета задается опцией передатчика. Бит дополняет число единичных битов данных до нечетности, четности, в некоторых случаях может не использоваться, может быть всегда единицей или нулем.
Т.к большинство компьютеров и микроконтроллеров не поддерживают RS485, во многих случая может потребоваться преобразователь на RS232. Представленная ниже схема позволяет собрать простой конвертер интерфейсов RS232-RS485.
Основа схема популярные микросборки MAX232 и MAX485. Разъем DB-9 соединяет плату с COM портом. Через разъемы J1 и J2 происходит доступ к линиям ввода-вывода MAX232, через разъем CN1 осуществляется доступ к линиям ввода вывода микросхемы MAX485. При помощи перемычки J4 к устройству можно подключит внешнее питание уровнем от 9 до 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.
Для желающих собрать радиолюбительскую конструкцию ниже привожу рисунок печатной платы.
Существуют некоторые радиолюбительские конструкции которые лучше запитать непосредственно от COM порта, а не от основного блока питания. Большинству микросхем для питания хватает напряжения 5 Вольт, и интерфейс способен выдавать ток в районе 8 мА. В схеме применяется всего четыре биполярных транзистора, на ее выходе мы имеем 5 В и ток короткого замыкания до 19 мА.
Ток, потребляемый самой схемой составляет около 0.2 мА. Конструкция очень проста, но у нее имеются определенные хитрости. Для удовлетворения требований цепи требуется учитывать коэффициенты усиления транзисторов. В нашем примере применяются только устройства класса B, коэффициент усиления которых от 220 до 280. Через диоды D1-D3 проходит только положительная часть напряжение из порта. Токоограничение реализуется с помощью сопротивления R1 и T1. Как только напряжение на сопротивление дойде до уровня 0.7 В (при токе 18 мА R1 = 39 Ом) транзистор открывается и тем самым запирает T2 гася выходное напряжение. Выходное напряжение 5 В стабилизируется на D4.
Следует добавить, что выходное напряжение здесь имеет приблизительное значение. Когда напряжение на стабилитроне и напряжение, идущее через T4, суммируются вместе, в результате на выходе 5.8 В. Однако из-за T3 стабилитрон работает на низких токах, и фактический порог для открывания T4 около 4.9 В. Основой цикла регулирования являются сопротивление R2 и T2. Требуется подобрать R2 с большим сопротивлением (от 1.5 МОм), т.к это ограничивает максимальный ток протекающий через транзистор Т2. Чтобы получить на выходе ток 19 мА, база T2 должна получать именно 1/220 (коэффициент усиления) от 19 мА, и ток, идущий в базу T3, должен быть 1/220 от 80 мкА. При входном напряжении 9 В падение напряжения на R2 достигает уровня 3.3 В, и будет идти ток 2.2 мкА. Транзистор T3 умножит его на 220, доведя его до уровня 0.5 мА.
Под обозначениями RS-232, RS-422 и RS-485 понимаются интерфейсы для цифровой передачи данных. Стандарт RS-232 более известен как обычный СОМ порт компьютера или последовательный порт (хотя последовательным портом также можно считать Ethernet, FireWire и USB). Интерфейсы RS-422 и RS-485 широко применяются в промышленности для соединения различного оборудования.
В таблице приведены основные отличия интерфейсов RS-232, RS-422 и RS-485.
Название | RS-232 | RS-422 | RS-485 |
---|---|---|---|
Тип передачи | Полный дуплекс | Полный дуплекс | Полудуплекс (2 провода),полный дуплекс (4 провода) |
Максимальная дистанция | 15 метров при 9600 бит/с | 1200 метров при 9600 бит/с | 1200 метров при 9600 бит/с |
Задействованные контакты | TxD, RxD, RTS, CTS, DTR, DSR, DCD, GND* | TxA, TxB, RxA, RxB, GND | DataA, DataB, GND |
Топология | Точка-точка | Точка-точка | Многоточечная |
Макс. кол-во подключенных устройств | 1 | 1 (10 устройств в режиме приема) | 32 (с повторителями больше, обычно до 256) |
* Для интерфейса RS-232 не обязательно использовать все линии контактов. Обычно используются линии данных TxD, RxD и провод земли GND, остальные линии необходимы для контроля над потоком передачи данных. Подробнее вы узнаете далее в статье.
Информация, передаваемая по интерфейсам RS-232, RS-422 и RS-485, структурирована в виде какого-либо протокола, например, в промышленности широко распространен протокол Modbus RTU.
Описание интерфейса RS-232
Интерфейс RS-232 (TIA/EIA-232) предназначен для организации приема-передачи данных между передатчиком или терминалом (англ. Data Terminal Equipment, DTE ) и приемником или коммуникационным оборудованием (англ. Data Communications Equipment, DCE ) по схеме точка-точка.
Скорость работы RS-232 зависит от расстояния между устройствами, обычно на расстоянии 15 метров скорость равна 9600 бит/с. На минимальном расстоянии скорость обычно равна 115.2 кбит/с, но есть оборудование, которое поддерживает скорость до 921.6 кбит/с.
Интерфейс RS-232 работает в дуплексном режиме, что позволяет передавать и принимать информацию одновременно, потому что используются разные линии для приема и передачи. В этом заключается отличие от полудуплексного режима, когда используется одна линия связи для приема и передачи данных, что накладывает ограничение на одновременную работу, поэтому в полудуплексном режиме в один момент времени возможен либо прием, либо передача информации.
Информация по интерфейсу RS-232 передается в цифровом виде логическими 0 и 1.
Логическому «0» (SPACE) соответствует напряжение в диапазоне от +3 до +15 В.
В дополнение к двум линиям приема и передачи, на RS-232 имеются специальные линии для аппаратного управления потоком и других функций.
Для подключения к RS-232 используется специальный разъем D-sub, обычно 9 контактный DB9, реже применяется 25 контактный DB25.
Разъемы DB делятся на Male – «папа» (вилка, pin) и Female – «мама» (гнездо, socket).
Распиновка разъема DB9 для RS-232
Распайка кабеля DB9 для RS-232
Существует три типа подключения устройств в RS-232: терминал-терминал DTE-DTE, терминал- коммуникационное оборудование DTE-DCE, модем-модем DCE-DCE.
Кабель DTE-DCE называется «прямой кабель», потому что контакты соединяются один к одному.
Кабель DCE-DCE называется «нуль-модемный кабель», или по-другому кросс-кабель.
Ниже приведены таблицы распиновок всех перечисленных типов кабеля, и далее отдельно представлена таблица с переводом основных терминов на русский язык.
Распиновка прямого кабеля DB9 для RS-232
Распиновка нуль-модемного кабеля DB9 для RS-232
Таблица с распиновкой разъемов DB9 и DB25.
DB9 | DB25 | Обозначение | Название | Описание |
---|---|---|---|---|
1 | 8 | CD | Carrier Detect | Обнаружение несущей |
2 | 3 | RXD | Receive Data | Прием данных |
3 | 2 | TXD | Transmit Data | Передача данных |
4 | 20 | DTR | Data Terminal Ready | Готовность оконечного оборудования |
5 | 7 | GND | System Ground | Общий провод |
6 | 6 | DSR | Data Set Ready | Готовность оборудования передачи |
7 | 4 | RTS | Request to Send | Запрос на передачу |
8 | 5 | CTS | Clear to Send | Готов передавать |
9 | 22 | RI | Ring Indicator | Наличие сигнала вызова |
Для работы с устройствами RS-232 обычно необходимо всего 3 контакта: RXD, TXD и GND. Но некоторые устройства требуют все 9 контактов для поддержки функции управления потоком передачи данных.
Структура передаваемых данных в RS-232
Одно сообщение, передаваемое по RS-232/422/485, состоит из стартового бита, нескольких бит данных, бита чётности и стопового бита.
Стартовый бит (start bit) - бит обозначающий начало передачи, обычно равен 0.
Данные (data bits) – 5, 6, 7 или 8 бит данных. Первым битом является менее значимый бит.
Бит четности (parity bit) – бит предназначенный для проверки четности. Служит для обнаружения ошибок. Может принимать следующие значения:
- Четность (EVEN), принимает такое значение, чтобы количество единиц в сообщении было четным
- Нечетность (ODD), принимает такое значение, чтобы количество единиц в сообщении было нечетным
- Всегда 1 (MARK), бит четности всегда будет равен 1
- Всегда 0 (SPACE), бит четности всегда будет равен 0
- Не используется (NONE)
Стоповый бит (stop bit) – бит означающий завершение передачи сообщения, может принимать значения 1, 1.5 (Data bit =5), 2.
Например, сокращение 8Е1 обозначает, что передается 8 бит данных, используется бит четности в режиме EVEN и стоп бит занимает один бит.
Управление потоком в RS-232
Для того чтобы не потерять данные существует механизм управления потоком передачи данных, позволяющий прекратить на время передачу данных для предотвращения переполнения буфера обмена.
Есть аппаратный и программный метод управления.
Аппаратный метод использует выводы RTS/CTS. Если передатчик готов послать данные, то он устанавливает сигнал на линии RTS. Если приёмник готов принимать данные, то он устанавливает сигнал на линии CTS. Если один из сигналов не установлен, то передачи данных не произойдет.
Программный метод вместо выводов использует символы Xon и Xoff (в ASCII символ Xon = 17, Xoff = 19) передаваемые по тем же линиям связи TXD/RXD, что и основные данные. При невозможности принимать данные приемник передает символ Xoff. Для возобновления передачи данных посылается символ Xon.
Как проверить работу RS-232?
При использовании 3 контактов достаточно замкнуть RXD и TXD между собой. Тогда все переданные данные будут приняты обратно. Если у вас полный RS-232, тогда вам нужно распаять специальную заглушку. В ней должны быть соединены между собой следующие контакты:
DB9 | DB25 | Соединить |
---|---|---|
1 + 4 + 6 | 6 + 8 + 20 | DTR -> CD + DSR |
2 + 3 | 2 + 3 | Tx -> Rx |
7 + 8 | 4 + 5 | RTS -> CTS |
Описание интерфейса RS-422
Интерфейс RS-422 похож на RS-232, т.к. позволяет одновременно отправлять и принимать сообщения по отдельным линиям (полный дуплекс), но использует для этого дифференциальный сигнал, т.е. разницу потенциалов между проводниками А и В.
Скорость передачи данных в RS-422 зависит от расстояния и может меняться в пределах от 10 кбит/с (1200 метров) до 10 Мбит/с (10 метров).
В сети RS-422 может быть только одно передающее устройство и до 10 принимающих устройств.
Линия RS-422 представляет собой 4 провода для приема-передачи данных (2 скрученных провода для передачи и 2 скрученных провода для приема) и один общий провод земли GND.
Скручивание проводов (витая пара) между собой позволяет избавиться от наводок и помех, потому что наводка одинаково действует на оба провода, а информация извлекается из разности потенциалов между проводниками А и В одной линии.
Напряжение на линиях передачи данных может находится в диапазоне от -6 В до +6 В.
Логическому 0 соответствует разница между А и В больше +0,2 В.
Логической 1 соответствует разница между А и В меньше -0,2 В.
Стандарт RS-422 не определяет конкретный тип разъема, обычно это может быть клеммная колодка или разъем DB9.
Распиновка RS-422 зависит от производителя устройства и указывается в документации на него.
При подключении устройства RS-422 нужно сделать перекрестие между RX и TX контактами, как показано на рисунке.
Т.к. расстояние между приемником и передатчиком RS-422 может достигать 1200 метров, то для предотвращения отражения сигнала от конца линии ставится специальный 120 Ом согласующий резистор или "терминатор". Этот резистор устанавливается между RX+ и RX- контактами в начале и в конце линии.
Как проверить работу RS-422?
Для проверки устройств с RS-422 лучше воспользоваться конвертером из RS-422 в RS-232 или USB (I-7561U). Тогда вы сможете воспользоваться ПО для работы с СОМ портом.
Описание интерфейса RS-485
В промышленности чаще всего используется интерфейс RS-485 (EIA-485), потому что в RS-485 используется многоточечная топология, что позволяет подключить несколько приемников и передатчиков.
Интерфейс RS-485 похож на RS-422 тем что также использует дифференциальный сигнал для передачи данных.
Существует два типа RS-485:
- RS-485 с 2 контактами, работает в режиме полудуплекс
- RS-485 с 4 контактами, работает в режиме полный дуплекс
В режиме полный дуплекс можно одновременно принимать и передавать данные, а в режиме полудуплекс либо передавать, либо принимать.
В одном сегменте сети RS-485 может быть до 32 устройств, но с помощью дополнительных повторителей и усилителей сигналов до 256 устройств. В один момент времени активным может быть только один передатчик.
Скорость работы также зависит от длины линии и может достигать 10 Мбит/с на 10 метрах.
Напряжение на линиях находится в диапазоне от −7 В до +12 В.