Как использовать протокол rs232 а ноутбук его
Перейти к содержимому

Как использовать протокол rs232 а ноутбук его

  • автор:

Рассмотрим детали последовательного интерфейса RS232

Передача протокола RS 232 включает в себя отправку данных по одному биту за раз по одной линии связи. Напротив, параллельная связь требует по меньшей мере столько строк, сколько битов в передаваемом слове (для 8-битного слова требуется минимум 8 строк). Последовательная передача RS 232 полезна для связи на большие расстояния, тогда как параллельная предназначена для коротких расстояний или, когда требуются очень высокие скорости передачи информации.

Стандарты интерфейса RS 232
Одним из преимуществ протокола RS 232 является то, что он пригоден для передачи по телефонным линиям. Последовательные цифровые данные могут быть преобразованы модемом, помещены в стандартную телефонную линию голосового качества и преобразованы обратно в последовательные цифровые данные на приемном конце линии другим модемом. Официально RS-232 определяется как «Интерфейс между терминальным оборудованием и оборудованием передачи данных с использованием последовательного двоичного обмена данными». Понятие определяет терминальное оборудование данных (DTE) как компьютер, а оборудование передачи данных (DCE) — модем. Модемный кабель имеет контакты между контактами и предназначен для подключения устройства DTE к устройству DCE. Интерфейс RS-232 широко используется для соединений между устройствами сбора данных и компьютерными системами. Устройства RS 232 определяются как DTE (обычно компьютер) или DCE (обычно интерфейсное устройство). При подключении устройства DCE к компьютеру (DTE) требуется прямое соединение. Однако не все интерфейсные устройства или системы сбора данных являются DCE, для них требуется специальный нуль-модемный кабель, который «пересекает» необходимые сигнальные провода.

Порт RS 232
В дополнение к связи между компьютерным оборудованием по телефонным линиям протокол RS-232 в настоящее время широко используется для соединений между устройствами сбора данных и компьютерными системами. Как и в определении RS 232, компьютер является оборудованием для передачи данных (DTE). Однако многие устройства не являются оборудованием передачи данных (DCE). Для этой ситуации предназначены нуль-модемные кабели; вместо того, чтобы иметь прямые соединения модемных кабелей, нуль-модемные кабели имеют отличную от них внутренние соединения, чтобы устройства DTE могли обмениваться данными друг с другом.

Разновидности кабелей для последовательного соединения
Кабели RS-232 обычно доступны с 4, 9 или 25-контактной проводкой. 25-контактный кабель RS 232 соединяет каждый контакт; 9-контактные кабели RS232 не включают в себя многие из редко используемых соединений; 4-контактные кабели RS 232 обеспечивают минимальное количество подключений и имеют перемычки для обеспечения «рукопожатия» для тех устройств, которые в этом нуждаются. Эти перемычки соединяют контакты 4, 5 и 8, а также контакты 6 и 20. Появление IBM PC AT открыло новую эру в коммуникациях RS 232. Вместо стандартного 25-контактного разъема этот компьютер и множество новых плат расширения для ПК оснащены 9-контактным последовательным портом. Чтобы подключить этот порт к стандартному 25-контактному порту, можно использовать 9–25-контактный адаптер.

Выбор кабеля RS 232
Основные соображения при выборе кабеля RS-232 основаны на подключаемых устройствах. Во-первых, подключаете ли Вы два устройства DTE (нуль-модемный кабель) или устройство DTE к устройству DCE (модемный кабель)? Во-вторых, какие разъемы требуются на каждом конце, мужской (Male, типа вилка) или женский (Female, типа розетка), и 25 или 9-контактный (стиль AT)? Обычно рекомендуется, чтобы пользователь получил два подключаемых устройства, а затем определил, какой кабель требуется.

Подключение интерфейса RS 232
Большинство устройств RS-232 будут работать только с 3 сигнальными проводами: Transmit (TX), Receive (RX) и Ground (GND). Чтобы два устройства RS-232 могли обмениваться данными, необходимо подключить TX от одного устройства к RX второго и наоборот. Контакты заземления должны быть соединены вместе. Имейте в виду, что 25-контактный порт RS-232 на ПК транслирует на контакт 2 и получает на контакт 3, а заземление — на контакт 7. 9-контактный порт RS-232 на ПК передает на контакт 3, получает на контакт 2 и Земля — это контакт 5. Вы не можете просто соединить два устройства последовательным кабелем просто потому, что разъемы подходят. Вы должны проверить функции каждого контакта на каждом устройстве, а также проверить, является ли кабель прямым или нуль-модемным.

Распиновка RS-232
Уровни напряжения:
Двоичный 0: +5 до +15В при постоянном токе (называется «пробел» или «вкл»)
Двоичный 1: от -5 до -15В при постоянном токе (называется «отметка» или «выключен»)

Полученный сигнал:
Двоичный 0: +3 до +13В при постоянном токе
Двоичный 1: -3 до -13В при постоянном токе

Формат данных
Начальный бит: двоичный 0
Данные: 5, 6, 7 или 8 бит
Четность: нечетное, четное, метка или пробел (не используется с 8-битными данными)
Стоповый бит: двоичный 1, один или два бита

Интерфейс RS-232C

Интерфейс RS-232C предназначен для подключения аппаратуры, передающей или принимающей данные (ООД — оконечное оборудование данных, или АПД — аппаратура передачи данных; DTE — Data Terminal Equipment), к оконечной аппаратуре каналов данных (АКД; DCE — Data Communication Equipment). В роли АПД может выступать компьютер, принтер, плоттер и другое периферийное оборудование. В роли АКД обычно выступает модем. Конечной целью подключения является соединение двух устройств АПД. Полная схема соединения приведена на рис. 1; интерфейс позволяет исключить канал удаленной связи вместе с парой устройств АКД, соединив устройства непосредственно с помощью нуль-модемного кабеля (рис. 2).
Рис.1. Полная схема соединения по RS-232C
Рис.2. Соединение по RS-232C нуль-модемным кабелем Стандарт описывает управляющие сигналы интерфейса, пересылку данных, электрический интерфейс и типы разъемов. В стандарте предусмотрены асинхронный и синхронный режимы обмена, но COM-порты поддерживают только асинхронный режим. Функционально RS-232C эквивалентен стандарту МККТТ V.24/ V.28 и стыку С2, но они имеют различные названия сигналов. Стандарт RS-232C описывает несимметричные передатчики и приемники — сигнал передается относительно общего провода — схемной земли (симметричные дифференциальные сигналы используются в других интерфейсах — например, RS-422). Интерфейс не обеспечивает гальванической развязки устройств. Логической единице (состояние MARK) на входе данных (сигнал RxD) соответствует диапазон напряжения от –12 до –3 В; логическому нулю — от +3 до +12 В (состояние SPACE). Для входов управляющих сигналов состоянию ON (“включено”) соответствует диапазон от +3 до +12 В, состоянию OFF (“выключено”) — от –12 до –3 В. Диапазон от –3 до +3 В — зона нечувствительности, обусловливающая гистерезис приемника: состояние линии будет считаться измененным только после пересечения порога (рис. 3). Уровни сигналов на выходах передатчиков должны быть в диапазонах от –12 до –5 В и от +5 до +12 В. Разность потенциалов между схемными землями (SG) соединяемых устройств должна быть менее 2 В, при более высокой разности потенциалов возможно неверное восприятие сигналов. Заметим, что сигналы уровней ТТЛ (на входах и выходах микросхем UART) передаются в прямом коде для линий TxD и RxD и в инверсном — для всех остальных. Интерфейс предполагает наличие защитного заземления для соединяемых устройств, если они оба питаются от сети переменного тока и имеют сетевые фильтры. ВНИМАНИЕ Подключение и отключение интерфейсных кабелей устройств с автономным питанием должно производиться при отключенном питании. Иначе разность невыровненных потенциалов устройств в момент коммутации может оказаться приложенной выходным или входным (что опаснее) цепям интерфейса и вывести из строя микросхемы. Стандарт RS-232C регламентирует типы применяемых разъемов. На аппаратуре АПД (в том числе на COM-портах) принято устанавливать вилки DB-25P или более компактный вариант — DB-9P. Девятиштырьковые разъемы не имеют контактов для дополнительных сигналов, необходимых для синхронного режима (в большинстве 25-штырьковых разъемах эти контакты не используются). На аппаратуре АКД (модемах) устанавливают розетки DB-25S или DB-9S. Это правило предполагает, что разъемы АКД могут подключаться к разъемам АПД непосредственно или через переходные “прямые” кабели с розеткой и вилкой, у которых контакты соединены “один в один”. Переходные кабели могут являться и переходниками с 9 на 25-штырьковые разъемы (рис. 4). Если аппаратура АПД соединяется без модемов, то разъемы устройств (вилки) соединяются между собой нуль-модемным кабелем (Zero-modem, или Z-modem), имеющим на обоих концах розетки, контакты которых соединяются перекрестно по одной из схем, приведенных на рис. 5.
Рис. 3. Прием сигналов RS-232C Рис. 4. Кабели подключения модемов
Рис. 5. Нуль-модемный кабель: а — минимальный, б — полный Если на каком-либо устройстве АПД установлена розетка — это почти 100 % того, что к другому устройству оно должно подключаться прямым кабелем, аналогичным кабелю подключения модема. Розетка устанавливается обычно на тех устройствах, у которых удаленное подключение через модем не предусмотрено. В табл. 1 приведено назначение контактов разъемов COM-портов (и любой другой аппаратуры передачи данных АПД). Контакты разъема DB-25S определены стандартом EIA/TIA-232-E, разъем DB-9S описан стандартом EIA/TIA-574. У модемов (АКД) название цепей и контактов такое же, но роли сигналов (вход-выход) меняются на противоположные. Таблица 1. Разъемы и сигналы интерфейса RS-232C

Обозначение цепи Контакт разъема № провода кабеля выносного разъема PC Направление
COM- RS- V.24 DB- DB- 11 22 33 44 I/O
порт 232 Стык 2 25P 9P
PG AA 101 1 5 (10) (10) (10) 1
SG AB 102 7 5 5 9 1 13
TD BA 103 2 3 3 5 3 3 O
RD BB 104 3 2 2 3 4 5 I
RTS CA 105 4 7 7 4 8 7 O
CTS CB 106 5 8 8 6 7 9 I
DSR CC 107 6 6 6 2 9 11 I
DTR CD 108/2 20 4 4 7 2 14 O
DCD CF 109 8 1 1 1 5 15 I
RI CE 125 22 9 9 8 6 18 I

1 Ленточный кабель 8-битных мультикарт.
2 Ленточный кабель 16-битных мультикарт и портов на системных платах.
3 Вариант ленточного кабеля портов на системных платах.
4 Широкий ленточный кабель к 25-контактному разъему. Подмножество сигналов RS-232C, относящихся к асинхронному режиму, рассмотрим с точки зрения COM-порта PC. Для удобства будем пользоваться мнемоникой названий, принятой в описаниях COM-портов и большинства устройств (она отличается от безликих обозначений RS-232 и V.24). Напомним, что активному состоянию управляющих сигналов (“включено”) и нулевому значению бита передаваемых данных соответствует положительный потенциал (выше +3 В) сигнала интерфейса, а состоянию “выключено” и единичному биту — отрицательный (ниже –3 В). Назначение сигналов интерфейса приведено в табл. 2. Нормальную последовательность управляющих сигналов для случая подключения модема к COM-порту иллюстрирует рис. 6. Таблица 2. Назначение сигналов интерфейса RS-232C

Сигнал Назначение
PG Protected Ground — защитная земля, соединяется с корпусом устройства и экраном кабеля
SG Signal Ground — сигнальная (схемная) земля, относительно которой действуют уровни сигналов
TD Transmit Data — последовательные данные — выход передатчика
RD Receive Data — последовательные данные — вход приемника
RTS Request To Send — выход запроса передачи данных: состояние “включено” уведомляет модем о наличии у терминала данных для передачи. В полудуплексном режиме используется для управления направлением — состояние “включено” служит сигналом модему на переключение в режим передачи
CTS Clear To Send — вход разрешения терминалу передавать данные. Состояние “выключено” запрещает передачу данных. Сигнал используется для аппаратного управления потоками данных
DSR Data Set Ready — вход сигнала готовности от аппаратуры передачи данных (модем в рабочем режиме подключен к каналу и закончил действия по согласованию с аппаратурой на противоположном конце канала)
DTR Data Terminal Ready — выход сигнала готовности терминала к обмену данными. Состояние “включено” поддерживает коммутируемый канал в состоянии соединения
DCD Data Carrier Detected — вход сигнала обнаружения несущей удаленного модема
RI Ring Indicator — вход индикатора вызова (звонка). В коммутируемом канале этим сигналом модем сигнализирует о принятии вызова
  1. Установкой DTR компьютер указывает на желание использовать модем.
  2. Установкой DSR модем сигнализирует о своей готовности и установлении соединения.
  3. Сигналом RTS компьютер запрашивает разрешение на передачу и заявляет о своей готовности принимать данные от модема.
  4. Сигналом CTS модем уведомляет о своей готовности к приему данных от компьютера и передаче их в линию.
  5. Снятием CTS модем сигнализирует о невозможности дальнейшего приема (например, буфер заполнен) — компьютер должен приостановить передачу данных.
  6. Сигналом CTS модем разрешает компьютеру продолжить передачу (в буфере появилось место).
  7. Снятие RTS может означать как заполнение буфера компьютера (модем должен приостановить передачу данных в компьютер), так и отсутствие данных для передачи в модем. Обычно в этом случае модем прекращает пересылку данных в компьютер.
  8. Модем подтверждает снятие RTS сбросом CTS.
  9. Компьютер повторно устанавливает RTS для возобновления передачи.
  10. Модем подтверждает готовность к этим действиям.
  11. Компьютер указывает на завершение обмена.
  12. Модем отвечает подтверждением.
  13. Компьютер снимает DTR, что обычно является сигналом на разрыв соединения (“повесить трубку”).
  14. Модем сбросом DSR сигнализирует о разрыве соединения.

Из рассмотрения этой последовательности становятся понятными соединения DTR–DSR и RTS–CTS в нуль-модемных кабелях.

Асинхронный режим передачи

Асинхронный режим передачи является байт-ориентированным (символьно-ориентированным): минимальная пересылаемая единица информации — один байт (один символ). Формат посылки байта иллюстрирует рис. 7. Передача каждого байта начинается со старт-бита, сигнализирующего приемнику о начале посылки, за которым следуют биты данных и, возможно, бит четности (Parity). Завершает посылку стоп-бит, гарантирующий паузу между посылками. Старт-бит следующего байта посылается в любой момент после стоп-бита, то есть между передачами возможны паузы произвольной длительности. Старт-бит, имеющий всегда строго определенное значение (логический 0), обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что приемник и передатчик работают на одной скорости обмена. Внутренний генератор синхронизации приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема начала старт-бита. Этот счетчик генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты. В идеале стробы располагаются в середине битовых интервалов, что позволяет принимать данные и при незначительном рассогласовании скоростей приемника и передатчика. Очевидно, что при передаче 8 бит данных, одного контрольного и одного стоп-бита предельно допустимое рассогласование скоростей, при котором данные будут распознаны верно, не может превышать 5 %. С учетом фазовых искажений и дискретности работы внутреннего счетчика синхронизации реально допустимо меньшее отклонение частот. Чем меньше коэффициент деления опорной частоты внутреннего генератора (чем выше частота передачи), тем больше погрешность привязки стробов к середине битового интервала, и требования к согласованности частот становятся более строгие. Чем выше частота передачи, тем больше влияние искажений фронтов на фазу принимаемого сигнала. Взаимодействие этих факторов приводит к повышению требований к согласованности частот приемника и передатчика с ростом частоты обмена.

Рис.7. Формат асинхронной передачи RS-232C

Формат асинхронной посылки позволяет выявлять возможные ошибки передачи.

  • Если принят перепад, сигнализирующий о начале посылки, а по стробу старт-бита зафиксирован уровень логической единицы, старт-бит считается ложным и приемник снова переходит в состояние ожидания. Об этой ошибке приемник может не сообщать.
  • Если во время, отведенное под стоп-бит, обнаружен уровень логического нуля, фиксируется ошибка стоп-бита.
  • Если применяется контроль четности, то после посылки бит данных передается контрольный бит. Этот бит дополняет количество единичных бит данных до четного или нечетного в зависимости от принятого соглашения. Прием байта с неверным значением контрольного бита приводит к фиксации ошибки.
  • Контроль формата позволяет обнаруживать обрыв линии: как правило, при обрыве приемник “видит” логический нуль, который сначала трактуется как старт-бит и нулевые биты данных, но потом срабатывает контроль стоп-бита.

Для асинхронного режима принят ряд стандартных скоростей обмена: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 и 115200 бит/с. Иногда вместо единицы измерения “бит/с” используют “бод” (baud), но при рассмотрении двоичных передаваемых сигналов это некорректно. В бодах принято измерять частоту изменения состояния линии, а при недвоичном способе кодирования (широко применяемом в современных модемах) в канале связи скорости передачи бит (бит/с) и изменения сигнала (бод) могут отличаться в несколько раз.

Количество бит данных может составлять 5, 6, 7 или 8 (5- и 6-битные форматы распространены незначительно). Количество стоп-бит может быть 1, 1,5 или 2 (“полтора бита” означает только длительность стопового интервала).

Управление потоком данных

Для управления потоком данных (Flow Control) могут использоваться два варианта протокола — аппаратный и программный. Иногда управление потоком путают с квитированием. Квитирование (handshaking) подразумевает посылку уведомления о получении элемента, в то время как управление потоком предполагает посылку уведомления о возможности или невозможности последующего приема данных. Зачастую управление потоком основано на механизме квитирования.

Аппаратный протокол управления потоком RTS/CTS (hardware flow control) использует сигнал CTS, который позволяет остановить передачу данных, если приемник не готов к их приему (рис. 8). Передатчик “выпускает” очередной байт только при включенной линии CTS. Байт, который уже начал передаваться, задержать сигналом CTS невозможно (это гарантирует целостность посылки). Аппаратный протокол обеспечивает самую быструю реакцию передатчика на состояние приемника. Микросхемы асинхронных приемопередатчиков имеют не менее двух регистров в приемной части — сдвигающий, для приема очередной посылки, и хранящий, из которого считывается принятый байт. Это позволяет реализовать обмен по аппаратному протоколу без потери данных.

Рис.8. Аппаратное управление потоком

Аппаратный протокол удобно использовать при подключении принтеров и плоттеров, если они его поддерживают. При непосредственном (без модемов) соединении двух компьютеров аппаратный протокол требует перекрестного соединения линий RTS — CTS.

При непосредственном соединении у передающего терминала должно быть обеспечено состояние “включено” на линии CTS (соединением собственных линий RTS — CTS), в противном случае передатчик будет “молчать”.

Применяемые в IBM PC приемопередатчики 8250/16450/16550 сигнал CTS аппаратно не отрабатывают, а только показывают его состояние в регистре MSR. Реализация протокола RTS/CTS возлагается на драйвер BIOS Int 14h, и называть его “аппаратным” не совсем корректно. Если же программа, пользующаяся COM-портом, взаимодействует с UART на уровне регистров (а не через BIOS), то обработкой сигнала CTS для поддержки данного протокола она занимается сама. Ряд коммуникационных программ позволяет игнорировать сигнал CTS (если не используется модем), и для них не требуется соединение входа CTS с выходом даже своего сигнала RTS. Однако существуют и иные приемопередатчики (например, 8251), в которых сигнал CTS отрабатывается аппаратно. Для них, а также для “честных” программ, использование сигнала CTS на разъемах (а то и на кабелях) обязательно.

Программный протокол управления потоком XON/XOFF предполагает наличие двунаправленного канала передачи данных. Работает протокол следующим образом: если устройство, принимающее данные, обнаруживает причины, по которым оно не может их дальше принимать, оно по обратному последовательному каналу посылает байт-символ XOFF (13h). Противоположное устройство, приняв этот символ, приостанавливает передачу. Когда принимающее устройство снова становится готовым к приему данных, оно посылает символ XON (11h), приняв который противоположное устройство возобновляет передачу. Время реакции передатчика на изменение состояния приемника по сравнению с аппаратным протоколом увеличивается, по крайней мере, на время передачи символа (XON или XOFF) плюс время реакции программы передатчика на прием символа (рис. 9). Из этого следует, что данные без потерь могут приниматься только приемником, имеющим дополнительный буфер принимаемых данных и сигнализирующим о неготовности заблаговременно (имея в буфере свободное место).

Рис.9. Программное управление потоком XON/XOFF

Преимущество программного протокола заключается в отсутствии необходимости передачи управляющих сигналов интерфейса — минимальный кабель для двустороннего обмена может иметь только 3 провода (см. рис. 5, а). Недостатком, помимо обязательного наличия буфера и большего времени реакции (снижающего общую производительность канала из-за ожидания сигнала XON), является сложность реализации полнодуплексного режима обмена. В этом случае из потока принимаемых данных должны выделяться (и обрабатываться) символы управления потоком, что ограничивает набор передаваемых символов.

Кроме этих двух распространенных стандартных протоколов, поддерживаемых и ПУ, и ОС, существуют и другие.

Теги:

none Опубликована: 2005 г. 0 0

Вознаградить Я собрал 0 0

Как работает последовательная связь Протокол RS-232

Информация, передаваемая между оборудованием для обработки данных и периферийными устройствами, представлена в форме цифровых данных, которые передаются в последовательном или параллельном режиме. Параллельная связь используется главным образом для соединений между тестовыми приборами или компьютерами и принтерами, а последовательная связь часто используется между компьютерами и другими периферийными устройствами.

Передача протокола RS232 включает в себя отправку данных по одному биту за раз по одной линии связи. Напротив, параллельная связь требует по меньшей мере столько строк, сколько битов в передаваемом слове (для 8-битного слова требуется минимум 8 строк). Последовательная передача RS232 полезна для связи на большие расстояния, тогда как параллельная предназначена для коротких расстояний или когда требуются очень высокие скорости передачи.

Стандарты RS232

Одним из преимуществ протокола RS232 является то, что он пригоден для передачи по телефонным линиям. Последовательные цифровые данные могут быть преобразованы модемом, помещены в стандартную телефонную линию голосового качества и преобразованы обратно в последовательные цифровые данные на приемном конце линии другим модемом.

Официально RS-232 определяется как «Интерфейс между терминальным оборудованием и оборудованием передачи данных с использованием последовательного двоичного обмена данными». Это определение определяет терминальное оборудование данных (DTE) как компьютер, а оборудование передачи данных (DCE) — модем. Модемный кабель имеет контакты между контактами и предназначен для подключения устройства DTE к устройству DCE.

01

Порт RS232

В дополнение к связи между компьютерным оборудованием по телефонным линиям протокол RS-232 в настоящее время широко используется для соединений между устройствами сбора данных и компьютерными системами. Как и в определении RS232, компьютер является оборудованием для передачи данных (DTE). Однако многие продукты интерфейса не являются оборудованием передачи данных (DCE). Нуль-модемные кабели предназначены для этой ситуации; вместо того, чтобы иметь штыревые соединения модемных кабелей, нуль-модемные кабели имеют различную внутреннюю проводку, позволяющую устройствам DTE взаимодействовать друг с другом.

03

Варианты кабелей

Кабели RS-232 обычно доступны с 4, 9 или 25-контактной проводкой. 25-контактный кабель Rs232 соединяет каждый контакт; 9-контактные кабели Rs232 не включают в себя многие из редко используемых соединений; 4-контактные кабели RS232 обеспечивают минимальное количество подключений и имеют перемычки для обеспечения «рукопожатия» для тех устройств, которые в этом нуждаются. Эти перемычки соединяют контакты 4, 5 и 8, а также контакты 6 и 20.

Появление IBM PC AT создало новую складку в коммуникациях RS-232. Вместо стандартного 25-контактного разъема этот компьютер и множество новых плат расширения для ПК оснащены 9-контактным последовательным портом. Чтобы подключить этот порт к стандартному 25-контактному порту, можно использовать 9–25-контактный адаптерный кабель или пользователь может создать свой собственный кабель специально для этой цели.

Выбор кабеля RS232

Основные соображения при выборе кабеля RS-232 основаны на подключаемых устройствах. Во-первых, подключаете ли вы два устройства DTE (нуль-модемный кабель) или устройство DTE к устройству DCE (модемный кабель)? Во-вторых, какие разъемы требуются на каждом конце, мужской или женский, и 25 или 9-контактный (стиль AT)? Обычно рекомендуется, чтобы пользователь получил два подключаемых устройства, а затем определил, какой кабель требуется.

Распиновка RS-232

Двоичный 0: +5 до +15 В пост. Тока (называется «пробел» или «вкл»)

Двоичный 1: от -5 до -15 В пост. Тока (называется «отметка» или «выключен»)

Двоичный 0: +3 до +13 В пост.

Двоичный 1: -3 до -13 В пост.

Начальный бит: двоичный 0

Данные: 5, 6, 7 или 8 бит

Четность: нечетное, четное, метка или пробел (не используется с 8-битными данными)

Стоповый бит: двоичный 1, один или два бита

02

Если у вас есть какие-либо вопросы, пожалуйста, свяжитесь с нашей группой поддержки. Tenveo будет рад помочь вам решить любые проблемы с RS-232, с которыми вы можете столкнуться.

Какой модем способен перевести интерфейс RS232 серийно выпускаемого устройства в беспроводной режим работы?

Бурный рост беспроводных технологий, наблюдающийся в последнее время, побуждает многих разработчиков создавать устройства для беспроводной связи уже готовых, серийно выпускаемых приборов, изначально использующих интерфейс RS232 для сопряжения с компьютером. В качестве аппаратных средств, обеспечивающих подобную беспроводную связь, используются радиомодемы, имеющие интерфейс RS232. Однако различия в физических принципах обмена информации в радиомодемах и в проводных интерфейсах, каковым является, например, RS232, создают препятствия, преодолеть которые разработчикам, не сведущим в радиосвязи (и не желающим вдаваться в подробности), представляется отнюдь не тривиальной задачей. В статье рассказывается, по каким параметрам следует выбирать радиомодем, как его протестировать, как обеспечить «прямую видимость» антенн, используя некоторые дополнительные аппаратные средства, а также идет речь о некоторых нюансах в различиях протоколов обмена в модемах и самом интерфейсе RS232, которые необходимо учитывать для решения задач подобного рода.

Постановка задачи

Предположим, имеется серийно выпускаемое некоей фирмой устройство, выполняющее определенную функцию и сопряженное для обмена информацией с компьютером по интерфейсу RS232. К подобным устройствам, например, можно отнести небольшие устройства сбора, обработки, архивирования измеренной информации и передачи ее в компьютер по запросу последнего. В качестве примеров подобных устройств можно привести различные теплосчетчики, газовые корректоры и им подобные устройства, которые уже давно серийно выпускаются промышленностью и годами работают на предприятиях. Для передачи информации с устройства в компьютер уже разработаны и отлажены определенные протоколы обмена данными, запрограммированные в микроконтроллер устройства и использующиеся в программе для компьютера. Требуется «разорвать» провод связи по интерфейсу RS232, сопрячь устройство и компьютер с радиомодемами, имеющими интерфейс RS232 и удалить устройство от компьютера, например, на расстояние в 1 км. При этом программное обеспечение микроконтроллера прибора и компьютера изменять не допускается.

Предлагаемое решение задачи

Протоколы обмена информации устройства и модема

Для обеспечения достоверности и надежности информации, передаваемой из устройства в компьютер, для каждого устройства разработаны помехозащищенные протоколы обмена по интерфейсу RS232. Как правило, протокол обмена устроен таким образом, что по определенным командам, поступающим с компьютера в устройство, последнее передает информацию некоторыми порциями или пакетами. Длина такого пакета обычно составляет чуть более 256 байт. Пакет состоит из информационных данных, объем которых не превышает 256 байт, и служебной информации (несколько байт), в которую, в частности, включена длина пакета, контрольная сумма пакета и некоторая дополнительная информация. Принято, что для передачи количества информационных байт в служебной информации отводится не более одного байта (вот почему объем информационных байт не превышает 256). Таким образом, длина пакета может варьироваться от нескольких байт до 256 плюс несколько байт (например, 260–265).

Кроме того, связь по протоколу, как правило, является дуплексной, то есть при приеме пакета от устройства компьютер может выдать в интерфейс какой-либо символ (например, символ, означающий ошибочно принятые данные и т. п.). Этот символ, подчеркнем, компьютер может выдать по своей линии TxD, в то время как по линии RxD он продолжает принимать информацию.

Если посмотреть описания большинства радиомодемов, то в глаза сразу бросается несколько проблем. Первая связана с длиной передаваемого и принимаемого пакетов. Длина этих пакетов в модемах не превышает 256 байт. Это вполне можно объяснить: разработчики модемов используют такую длину пакета, поскольку она является, например, максимальной длиной пакета, которую способен передать радиотрансивер, входящий в состав радиомодема. Если, например, прибор передает в компьютер пакет размером в 260 байт, то радиомодем разбивает этот пакет на два, передает вначале 256 байт, а затем еще 4. Причем временная задержка между передачей первого и второго пакета может достигать таких значений, что компьютерная программа, принимающая пакет в 260 байт, может прервать свою работу по тайм-ауту, и, таким образом, обмен сорвется. Поэтому при выборе радиомодема необходимо внимательно отнестись к этой проблеме. К счастью, программное обеспечение некоторых достаточно «навороченных» радиомодемов справляется с этой проблемой. В них предусмотрен специальный буфер (размером намного больше, чем 256 байт, например, 512 или более), куда поступает принятая из эфира информация. Эта информация выдается в интерфейс только тогда, когда весь буфер (например в 260 байт) полностью принят. Причем эти 260 байт выводятся в интерфейс непрерывно и, таким образом, компьютерная программа «не чувствует» различия между приемом пакета с радиомодема и чистого интерфейса RS232 и не прерывает работу по тайм-ауту. А вот тайм-аут между приемом пакетов, как правило, в такой программе выбран достаточно большим, что объясняется относительно медленной реакцией прибора на команды компьютера.

Вторая проблема связана с тем, что подавляющее число радиомодемов являются полудуплексными. Этот момент также легко объясним: все радиотрансиверы, насколько это известно автору, не могут одновременно и передавать, и принимать сигнал при помощи одной и той же антенны. В связи с этим, в описании таких радиомодемов указано, что перед передачей информации в модем необходимо проверить какую-либо линию квитирования, например, линию CTS интерфейса, и только при ее разрешающем состоянии передавать информацию в модем из интерфейса. Но дело в том, что большинство компьютерных программ, предназначенных для обмена информацией с устройством, такую проверку не делают, поскольку они «предполагают» дуплексную связь и в такой проверке нет необходимости. Поэтому если в описании модема пользователя «заставляют» проверять линию квитирования, то такой модем использовать в приложениях подобного рода нельзя.

Программное обеспечение хорошего радиомодема устроено таким образом, что в модеме помимо приемного буфера организован и передающий буфер, в который независимо от того, в каком состоянии находится модем — принимающим информацию из эфира либо свободным — записывается принятая из интерфейса информация. Другими словами, хороший модем для пользователя представляется именно дуплексным устройством.

Третья проблема связана с размером пакетов, передаваемых модемом непосредственно в эфир. Хороший модем должен предоставлять пользователю выбор объема в байтах такого пакета (не путать этот объем с объемом пакета, используемым прибором для передачи информации, о котором говорилось ранее). Дело в том, что чем меньше длина пакета передаваемого в эфир, тем больше вероятность его безошибочного приема. Если такой пакет принят с ошибками, то он передается и принимается еще раз (так, как правило, организована работа многих радиотрансиверов и программного обеспечения работы модемов). С другой стороны, чем больше длина пакета, тем меньше вероятность его безошибочной передачи, и в случае приема пакета с ошибками он должен быть повторно передан. Но, и в этом вся суть возможности выбора длины пакета пользователем, чем длиннее пакет, тем больше времени требуется на его повторную передачу и прием. Если это время превысит тайм-аут программы для компьютера, то программа остановит свою работу и сообщит об ошибке, в результате чего обмен сорвется. Выбирая экспериментально длину пакета, можно значительно улучшить надежность обмена. Если такого выбора в модеме не предоставляется пользователю, то к такому модему следует относиться с осторожностью. В большинстве случаев его лучше не использовать в приложениях подобного рода.

И, наконец, четвертая проблема, которую хотелось бы отметить, — это предоставляемая пользователю возможность выбрать скорость передачи/приема в эфире и интерфейсе. А эти скорости могут отличаться. Пусть, например, компьютерная программа и устройство обмениваются информацией по интерфейсу RS232 на скорости 9600 бод. Не факт, что скорость обмена информацией приемного и передающего модема в эфире должна соответствовать также 9600 бод. Дело в том, что чем ниже скорость обмена в эфире, тем больше расстояние, на которое могут быть разнесены модемы при одинаковой надежности обмена информацией и наоборот. Но, с другой стороны, если скорость обмена информацией в эфире меньше скорости на интерфейсе, увеличивается время задержки между приемами пакетов. Если это время превысит тайм-аут программы для компьютера, то обмен сорвется. Экспериментально подбирая скорость обмена в эфире, можно добиться компромисса между расстоянием и надежностью обмена. Поэтому этот фактор также следует принимать в расчет. Как правило, хороший модем позволяет выбирать и скорость обмена по интерфейсу, и скорость обмена в эфире.

Помимо этих четырех моментов, которые, с точки зрения автора, следует учитывать, существует и масса других настроек модемов, предоставляемых пользователю. Причем чем больше таких возможностей, тем вероятнее, что такой модем следует использовать в приложениях ввиду его высокой гибкости.

Устройство тестирования модема

Но вот, наконец, вы приняли решение и приобрели два радиомодема. С чего следует начать, чтобы удостовериться, что они подойдут для работы приложений? Прежде всего, конечно, необходимо тщательно изучить документацию, попробовать запрограммировать модем при помощи компьютера, используя различные его настройки. Если все это удалось проделать с модемом, на взгляд автора, следует его протестировать.

Для проверки функционирования модемов автор рекомендует изготовить (пусть даже на макетных платах) нехитрое устройство, схема которого приведена на рис. 1.

Плата сопряжения модема с компьютером

Рис. 1а. Плата сопряжения модема с компьютером (№ 1)

Плата сопряжения модема с AT89С2051

Рис. 1в. Кабель связи с компьютером

Как видно из рис. 1а, б, устройство состоит из двух плат: № 1 и № 2. Первая плата предназначена для сопряжения модема с компьютером по интерфейсу RS232. В схеме используется достаточно надежный преобразователь интерфейса ADM3202. Питание (+5 В) на плату подается через двухконтактный разъем X3. Для индикации включения питания используется светодиод VD1. Сигналы интерфейса TxDC и RxDC подаются на плату через разъем X2, к которому подключается кабель связи с компьютером (COM1). Модем, показанный на плате условно, устанавливается в панельку; к нему подходят сигналы RxDTTL и TxDTTL уже TTL уровня. На схеме можно заметить еще один разъем X1, служащий для прямого соединения двух плат между собой для проверки совместной работы программ компьютера и микроконтроллера. В таком режиме работы плат модемы, естественно, вытаскиваются из панелек.

На плате № 2 в панельке установлен второй модем, также показанный условно; к нему подходят сигналы TxDA и RxDA с микроконтроллера AT89c2051 (DD1). Разъем X1, как и в плате № 1, служит для прямого (безмодемного) соединения двух плат между собой. Питание (и «земля») на плату № 2 в таком режиме работы плат поступает с 3 и 4 контактов разъема X1. При работе плат с модемами к контактам 3 и 4 подключается отдельный блок питания.

Кабель связи с компьютером, показанный на рис. 1в прямоугольнике, очерченном пунктиром, представляет собой обычный плоский ленточный кабель, в котором чередуются сигнальные и «земляные» шины. Цепочка R1-C3, подключенная к выводу RST микроконтроллера, обеспечивает его сброс/запуск при включении питания.

Программы для микроконтроллера и компьютера выполняют следующие действия. Программа для микроконтроллера выводит 150 пакетов (строк) по 260 байт каждый. После вывода очередной строки микроконтроллер ожидает приема от компьютера символа (‘@’ — 40h), означающего, что пакет принят компьютером, и после поступления такого символа выводит следующий пакет. Компьютер, приняв строку из 260 байт (символы русского и латинского алфавита), выводит ее на экран монитора, и посылает в интерфейс символ ‘@’. В программе для компьютера предусмотрен тайм-аут, при превышении которого выдается сообщение о сбое, после которого программа заканчивает работу.

Скорость обмена в программах установлена в 9600 бод. Текст программы для компьютера (tstmodem.cla), написанной на языке Clarion v. 3.100 и работающей в ОС MS-DOS, приведен ниже. Далее приведен файл-проект для трансляции программы: tstmodem.pr. Вслед за ним приведен текст программы для микроконтроллера на макро-ассемблере. Программы достаточно просты и в комментариях (кроме тех, что приведены в текстах) не нуждаются.

Необходимо отметить, что тестовые платы, схемы которых показаны на рис. 1, и приведенные ниже программы, в совокупности являются достаточно жестким тестом, и не каждый модем способен его выдержать без сбоев. С другой стороны, если модем выдержит такой тест, то его можно смело использовать в приложениях.

Обеспечение прямой видимости антенн

Как правило, все производители радиомодемов настоятельно рекомендуют использование направленных антенн, расположенных таким образом, чтобы обеспечивалась прямая видимость. Это неудивительно, поскольку эта рекомендация отражает физическую сущность радиопередачи в диапазоне ВЧ и СВЧ. Однако обеспечить прямую видимость антенн не всегда удается, используя только кабель интерфейса RS232 или фидер, высокочастотный кабель, соединяющий модем с антенной. Дело в том, что расположение объектов, в том числе зданий на территории, где используются модемы, в подавляющем большинстве случаев не позволяет обеспечить прямую видимость антенн. Если прибор (например, газовый корректор) расположен где-нибудь в подвале (а именно там проходят все газовые магистрали), а компьютер находится в здании (скажем, на 2 этаже), да еще с другой его стороны (надеюсь, понятно, о чем идет речь), то единственным способом обеспечить прямую видимость антенн является их установка на крышах обоих зданий. Но, предположим, расстояние от корректора, расположенного в подвале, до крыши и расстояние от компьютера до крыши превышает длину фидера (как правило, менее 10 м) и максимальную длину кабеля связи прибора и компьютера с модемами, составляющую по стандарту RS232 не более 15–20 м. Что можно предпринять в такой ситуации?

Одно из решений, предлагаемое автором, — «удлинить» интерфейс RS232, преобразовав его в интерфейс RS485/RS422 с помощью двух одинаковых и достаточно простых устройств. Как известно, длина кабеля связи для интерфейса RS485 может достигать 1200 м. Принципиальная схема подобных устройств — преобразователей интерфейса RS232 в интерфейс RS485 и обратно — была опубликована в [1]. В настоящей статье также приведены примеры несколько модифицированных устройств, использующихся для аналогичных целей.

Конструкция модема

При прочих равных условиях предпочтение следует отдавать такой конструкции модема, чтобы она удовлетворяла хотя бы двум условиям. Во-первых, чтобы разъем сопряжения модема с интерфейсом располагался бы только с одной стороны платы модема и был бы, по возможности, небольшим. Тогда на основной плате, куда включается модем, будет достаточно места для расположения собственных элементов. Если же модем имеет два разъема, то, как правило, между ними уже ничего расположить не удастся, и это место на плате просто пропадет.

Во-вторых, модем должен иметь крепежные отверстия (или свободные места, где их можно просверлить), с помощью которых его можно достаточно прочно прикрепить к основной плате (например, винтами к стойкам с просверленными вдоль них отверстиями с нарезанной резьбой). Кроме того, желательно, чтобы к модему уже был бы припаян разъем для соединения с фидером (например, типа SMA).

Результаты решения задачи

Пример использования модема для беспроводного сопряжения газового корректора Corus с компьютером по интерфейсу RS-232

В качестве демонстрации применения вышеописанных рассуждений на практике далее приводится пример использования модема для беспроводного сопряжения газового корректора Corus с компьютером по интерфейсу RS232. Вначале несколько слов о выборе модема. Были проверены и протестированы три модема (правда, в разное время), два из которых — отечественного производства и один импортный. Два из них были отбракованы, так как не прошли тест, о котором упоминалось выше. Единственный модем, с успехом прошедший тест и, тем самым, подходящий для нашего приложения — отечественный. Кроме того, его свойства, как читатель смог уже догадаться, удовлетворяют всем параметрам, указанным ранее.

В результате был разработан комплект устройств, названный Corus-модем. Ниже представлено краткое техническое описание разработки и пример схемы его включения в общую систему.

Технические характеристики Corus-модем

Как уже упоминалось выше, комплект устройств Corus-модем предназначен для беспроводной передачи информации с газового корректора Corus в компьютер по радиоканалу и позволяет производить обмен информацией между компьютером и газовым корректором по радиоканалу в нелицензируемом диапазоне частот 433…435 МГц на расстоянии до 1 км при использовании направленных антенн, находящихся в условиях прямой видимости. Для работы устройств используются стабилизированные источники питания +5 В 0,2 А и +9 В 0,2 А. Для того, чтобы обеспечить требуемую функциональность, был разработан комплект связи, в состав которого входят три устройства: устройство AT_COMP, предназначенноe для сопряжения компьютера с ОЕМ-модемом по интерфейсам RS232 и RS485; устройство AT_CORUS, предназначенноe для сопряжения газового корректора Corus Actaris с ОЕМ-модемом по интерфейсам RS232 и RS485 и устройство RS485_2 — двунаправленный преобразователь интерфейсов RS232-RS485, предназначенный для сопряжения компьютера с AT_COMP по интерфейсу RS485, а также для сопряжения газового корректора с AT_CORUS по интерфейсу RS485. Кроме того, для обеспечения функционирования системы понадобятся два ОЕМ-модема, направленные антенны для диапазона частот 433…435 МГц, а также вспомогательные комплектующие: необходимые для соединения устройств кабели и разъемы, а также блоки питания с выходными стабилизированными напряжениями +5 В и +9 В. Варианты подключения устройств приведены на рис. 2. Рассмотрим по очереди устройства, входящие в комплект.

Варианты подключения устройств

Рис. 2. Варианты подключения устройств

Устройство AT_COMP

Общий вид основной платы устройства AT_CORUS

Рис. 3. Общий вид основной платы устройства AT_CORUS

Устройство AT_COMP заключено в пластиковый корпус и состоит из двух плат: основной платы, на которой расположены все необходимые разъемы и клеммы для подключения кабелей, и платы OEM-модема, подключаемой к основной плате специальным разъемом и прикрепленной к ней винтами (рис. 3). Для выбора проводного интерфейса — RS232 или RS485 — на плате имеются перемычки. Кроме того, на плате расположены клеммники для подключения кабелей сопряжения по интерфейсам, разъем питания, а также штыревой разъем для подключения платы OEM-модема. Сердцем платы является микроконтроллер AT89C2051 (DD5), установленный в панель и в который «зашита» программа функционирования всего устройства. Принципиальная схема сопряжения устройства с компьютером по интерфейсам RS232 и RS485 (подключение необходимых кабелей и установка джамперов) показана на рис. 4.

Схема соединения компьютера с устройством AT_COMP по интерфейсу RS232

Рис. 4. Схема соединения компьютера с устройством AT_COMP по интерфейсу RS232

Устройство AT_CORUS

Фотография общего вида устройства AT_CORUS со снятой крышкой корпуса

Рис. 5. Фотография общего вида устройства AT_CORUS со снятой крышкой корпуса

Устройство AT_CORUS рзаключено в корпус и состоит из двух плат: основной платы, на которой расположены все необходимые разъемы и клеммы для подключения кабелей, и платы OEM-модема, подключаемой к основной плате специальным разъемом и прикрученной к ней винтами через специальные стойки. Внешний вид устройства приведен на рис. 5. Как и ранее рассмотренное устройство, AT_CORUS имеет клеммники для подключения кабелей сопряжения по интерфейсам RS232 и RS485, разъем для подключения OEM-модема и внешнего источника питания. Здесь также вся функциональность реализована на базе микроконтроллера AT89C2051. Принципиальная схема сопряжения устройства с компьютером по интерфейсам RS232 и RS485 (подключение необходимых кабелей и установка джамперов) приведена на рис. 6.

Схема соединения газового корректора с устройством AT_CORUS по интерфейсу RS232

Рис. 6. Схема соединения газового корректора с устройством AT_CORUS по интерфейсу RS232

Устройство RS485_2

Устройство RS485_2 представляет собой двунаправленный преобразователь интерфейсов RS485 и RS232. Оно предназначено для обеспечения большей дальности линии связи между устройством AT_COMP и компьютером, а также между устройством AT_CORUS и прибором CORUS до 1200 м (см. варианты подключения устройств на рис. 2). Устройство RS485_2 расположено в корпусе и представляет собой плату, на которой по краям находятся необходимые клеммники для подключения кабелей и подачи напряжения питания с внешнего источника. Внешний вид устройства показан на рис. 7.

Фотография устройства RS485_2 со снятой крышкой корпуса

Рис. 7. Фотография устройства RS485_2 со снятой крышкой корпуса

Заключение

Представленный читателю материал не претендует на полноту охвата темы, поскольку автор не является специалистом в области радиосвязи и конструирования радиомодемов. Правда, в настоящее время фирмы-производители радиотрансиверов прилагают все больше усилий для того, чтобы сконструировать радиомодем смог и специалист по микроконтроллерам, не обладающий специальными знаниями в области связи. В связи с этим автор хотел бы упомянуть одну из новейших разработок компании Chipcon — радиотрансивер CC1110 с интегрированным мощнейшим 8051-совместимым микроконтроллером, который, насколько это известно автору, появится в продаже к концу текущего года [2, 3].

Надеюсь, что эта статья поможет специалистам более обоснованно подходить к выбору радиомодемов для своих разработок. Автор был бы благодарен за ваши замечания, предложения и вопросы.

  1. Кузьминов А. Современные аппаратные средства связи микроконтроллера с компьютером по интерфейсу RS232 // «Компоненты и технологии». 2006. № 5.
  2. www.chipcon.com
  3. www.ti.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *