Для управления потоком данных (Flow Control) могут использоваться два варианта протоко-
ла – аппаратный и программный. Иногда управление потоком путают с квитированием. Квитиро-
вание (handshaking) подразумевает посылку уведомления о получении элемента, в то время как управление потоком предполагает посылку уведомления о возможности или невозможности после- дующего приема данных. Зачастую управление потоком основано на механизме квитирования.
Аппаратный протокол управления потоком RTS/CTS (hardware flow control) использует сиг-
нал CIS, который позволяет остановить передачу данных, если приемник не готов к их приему.
Передатчик «выпускает» очередной байт только при включенной линии CTS. Байт, который уже начал передаваться, задержать сигналом CTS невозможно (это гарантирует целостность по- сылки). Аппаратный протокол обеспечивает самую быструю реакцию передатчика на состояние при- емника. Микросхемы асинхронных приемопередатчиков имеют не менее двух регистров в приемной части – сдвигающий, для приема очередной посылки, и хранящий, из которого считывается приня- тый байт. Это позволяет реализовать обмен по аппаратному протоколу без потери данных.
Аппаратный протокол удобно использовать при подключении принтеров и плоттеров, если они
его поддерживают. При непосредственном (без модемов) соединении двух компьютеров аппарат- ный протокол требует перекрестного соединения линий RTS – CTS. При непосредственном соеди- нении у передающего терминала должно быть обеспечено состояние «включено» на линии CTS (со- единением собственных линий RTS – CTS), в противном случае передатчик будет «молчать».
Применяемые в IBM PC приемопередатчики (8250) сигнал CTS аппаратно не отрабатывают, а только показывают его состояние в регистре MSR. Реализация протокола RTS/CTS возлагается на драйвер BIOS Int 14h, и называть его «аппаратным» не совсем корректно. Если же программа, пользующаяся СОМ-портом, взаимодействует с UART на уровне регистров (а не через BIOS), то обработкой сигнала CTS для поддержки данного протокола она занимается сама. Ряд коммуника- ционных программ позволяет игнорировать сигнал CTS (если не используется модем), и для них не требуется соединение входа CTS с выходом даже своего сигнала RTS. Однако существуют и иные приемопередатчики (например, 8251), в которых сигнал CTS отрабатывается аппаратно. Для них, а также для «честных» программ, использование сигнала CTS на разъемах (а то и на кабелях) обязательно. Преимущество протокола RTS/CTS во времени реакции (по сравнению с программ- ным методом XON/XOFF) остается лишь для буферированной (в режиме FIFO) передачи.
|
Программный протокол управления потоком XON/XOFF предполагает наличие двунаправ-
ленного канала передачи данных. Работает протокол следующим образом: если устройство, прини- мающее данные, обнаруживает причины, по которым оно не может их дальше принимать, оно по об- ратному последовательному каналу посылает байт-символ XOFF (13h). Противоположное устрой- ство, приняв этот символ, приостанавливает передачу. Когда принимающее устройство снова стано- вится готовым к приему данных, оно посылает символ XON (llh), приняв который противополож- ное устройство возобновляет передачу. Время реакции передатчика на изменение состояния при- емника по сравнению с аппаратным протоколом увеличивается, по крайней мере, на время переда- чи символа (XON или XOFF) плюс время реакции программы передатчика на прием символа.
|
Из этого следует, что данные без потерь могут приниматься только приемником, имеющим до- полнительный буфер принимаемых данных и сигнализирующим о неготовности заблаговременно (имея в буфере свободное место).
Преимущество программного протокола заключается в отсутствии необходимости передачи
управляющих сигналов интерфейса – минимальный кабель для двустороннего обмена может иметь только 3 провода. Недостатком, помимо обязательного наличия буфера и большего времени реакции (снижающего общую производительность канала из-за ожидания сигнала XON), является сложность реализации полнодуплексного режима обмена. В этом случае из потока принимаемых дан- ных должны выделяться (и обрабатываться) символы управления потоком, что ограничивает набор передаваемых символов.
Интерфейс RS-485
Стандарт RS-485 был совместно разработан двумя ассоциациями производителей: Амери- канскими Ассоциацией электронной промышленности (EIA – Electronics Industries Association) и Ассоциацией промышленности средств связи (TIA – Telecommunications Industry Associastion).
«Официальное» название стандарта – TIA/EIA-485 Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems (Электрические характеристики передатчи- ков и приемников, используемых в балансных цифровых многоточечных системах). Однако боль- шинство специалистов используют старое обозначение, RS-485.
Интерфейс RS-485 – широко распространенный достаточно высокоскоростной и помехо- устойчивый промышленный последовательный интерфейс передачи данных. Практически все со- временные компьютеры в промышленном исполнении, большинство интеллектуальных датчиков и исполнительных устройств, программируемые логические контроллеры наряду с традиционным интерфейсом RS-232 содержат в своем составе ту или иную реализацию интерфейса RS-485.
|
Традиционный интерфейс RS-232 в промышленной автоматизации применяется достаточно
редко. Сигналы этого интерфейса передаются несимметричными сигналами относительно общего провода, длина линии связи, как правило, ограничена расстоянием в несколько метров из-за низ- кой помехоустойчивости. Интерфейс RS-232 принципиально не позволяет создавать сети, так как соединяет только 2 устройства (соединение «точка-точка»). До недавнего времени RS-232 имелся в каждом PC-совместимом компьютере, где использовался в основном для подключения «мыши», модема, реже – для передачи данных на небольшое расстояние из одного компьютера в другой.
Интерфейс RS-485 позволяет создавать сети путем параллельного подключения многих уст- ройств к одной физической линии («мультиплексная шина»), обеспечивая обмен данными между несколькими устройствами по одной двухпроводной линии связи в полудуплексном режиме (раз- новидность RS-485 – RS-422 – в дуплексном). Сигналы интерфейса RS-485 передаются дифферен- циальными перепадами напряжения, что обеспечивает высокую помехоустойчивость и общую длину линии связи до 1 км (и более, с использованием специальных устройств – повторителей).
Протоколы. Стандарт RS-485 не нормирует формат информационных кадров и протокол обмена. Наиболее часто для передачи байтов данных используются те же фреймы, что и в интер- фейсе RS-232: стартовый бит, биты данных, бит паритета (если нужно), стоповый бит. Протоколы обмена в большинстве систем работают по принципу «ведущий»–«ведомый»: одно устройство на магистрали является ведущим (master) и инициирует обмен посылкой запросов подчиненным (ве- домым) устройствам (slave), которые различаются логическими адресами. Одним из популярных протоколов является протокол Modbus RTU.
Разъемы. Тип соединителей и их распайка также не оговариваются стандартом RS-485.
Встречаются соединители DB9, клеммные соединители и т.д.
В интерфейсе RS-485 используется принцип дифференциальной (балансной) передачи дан- ных, суть которого заключается в передаче одного сигнала по двум проводам, причем по одному проводу идет оригинальный сигнал, а по другому – его инверсная копия. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при «1» она положительна, при
«0» – отрицательна.
Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе (дейст- вующую на оба провода линии одинаково). Так, электромагнитная волна, проходя через участок линии связи, наводит в обоих проводах потенциал. Если сигнал передается потенциалом в одном проводе относительно общего («земли»), как в RS-232, то наводка на этот провод может исказить сигнал относительно хорошо поглощающей наводки «земли». Кроме того, на сопротивлении
длинной «земли» будет падать разность потенциалов земель – дополнительный источник искаже- ний. При дифференциальной же передаче искажения не происходит, поскольку, если два провода пролегают близко друг к другу (к тому же перевиты), то наводка на оба провода одинакова. По- тенциал в обоих одинаково нагруженных проводах изменяется одинаково, при этом информатив- ная разность потенциалов остается без изменений.
Существуют два варианта интерфейса: RS-422 и RS-485.
RS-422 – полнодуплексный интерфейс. Прием и передача идут по двум отдельным парам проводов. На каждой паре проводов может быть только по одному передатчику.
RS-485 – полудуплексный интерфейс. Прием и передача идут по одной паре проводов с раз-
делением по времени. В сети может быть много передатчиков, так как они могут отключаются в
режиме приема.
Стандартные параметры интерфейсов | RS-422 | RS-485 |
Допустимое число передатчиков / приемников | 1 / 10 | 32 / 32 |
Максимальная длина кабеля | 1200 м | 1200 м |
Максимальная скорость связи | 10 Мбит/с | 10 Мбит/с |
Диапазон напряжений "1" передатчика | +2...+10 В | +1.5...+6 В |
Диапазон напряжений "0" передатчика | –2...–10 В | –1.5...–6 В |
Диапазон синфазного напряжения передатчика | –3...+3 В | –1...+3 В |
Допустимый диапазон напряжений приемника | –7...+7 В | –7...+12 В |
Пороговый диапазон чувствительности приемника | ±200 мВ | ±200 мВ |
Максимальный ток короткого замыкания драйвера | 150 мА | 250 мА |
Допустимое сопротивление нагрузки передатчика | 100 Ом | 54 Ом |
Входное сопротивление приемника | 4 кОм | 12 кОм |
Максимальное время нарастания сигнала передатчика | 10% бита | 30% бита |
Аппаратная реализация интерфейса – микросхемы приемопередатчиков с дифференциаль- ными входами/выходами (подключаемыми к линии) и цифровыми портами (подключаемыми к портам UART микроконтроллера).
D (driver) – передатчик; A – прямой дифференциальный вход/выход;
R (receiver) – приемник; B – инверсный дифференциальный вход/выход; DI (driver input) – цифровой вход передатчика; Y – прямой дифференциальный выход (RS-422); RO (receiver output) – цифровой выход приемника; Z – инверсный дифференциальный выход (RS-422) DE (driver enable) – разрешение работы передатчика;
RE (receiver enable) – разрешение работы приемника;
Для работы приемопередатчика RS-485 с микроконтроллером цифровой выход приемника (RO) подключается к порту приемника UART (RX), а цифровой вход передатчика (DI) – к порту передатчика UART (TX). Поскольку на дифференциальной стороне приемник и передатчик со- единены, то во время приема нужно отключать передатчик, а во время передачи – приемник. Для этого служат управляющие входы – разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, то его можно соединить с DE и переключать приемник и передатчик одним сигналом с любого порта контроллера. При уровне «0» – работа на прием, при «1» – на пе- редачу.
Приемник, получая на дифференциальных входах (AB) разность потенциалов (UAB) перево- дит их в цифровой сигнал на выходе RO. Чувствительность приемника может быть разной, но га- рантированный пороговый диапазон распознавания сигнала обычно составляет ± 200 мВ. То есть, когда UAB > +200 мВ – приемник определяет «1», когда UAB < –200 мВ – приемник определяет «0». Если разность потенциалов в линии настолько мала, что не выходит за пороговые значения, пра- вильное распознавание сигнала не гарантируется. Кроме того, в линии могут быть и не синфазные помехи, которые исказят столь слабый сигнал.
Уровни сигналов. Интерфейс RS-485 использует балансную (дифференциальную) схему пе- редачи сигнала. Это означает, что уровни напряжений на сигнальных цепях А и В меняются в про- тивофазе, как показано на рисунке.
Передатчик должен обеспечивать уровень сигнала 1,5 В при максимальной нагрузке (32 стандартных входа и 2 терминальных резистора) и не более 6 В на холостом ходу. Уровни напря- жений – дифференциальные, то есть уровень одного сигнального провода относительно другого.
На стороне приемника RS-485 минимальный уровень принимаемого сигнала должен быть не
менее 200 мВ.
Схема подключения – приведена на рисунке, где изображена локальная сеть на основе ин-
терфейса RS-485, объединяющая несколько приемопередатчиков.
Лучшей средой передачи сигнала является кабель на основе витой пары. Концы кабеля должны быть заглушены терминальными резисторами (обычно 120 Ом). Сеть должна быть про- ложена по топологии шины, без ответвлений. Устройства следует подключать к кабелю провода- ми минимальной длины. Витая пара является оптимальным решением для прокладки сети, по- скольку обладает наименьшим паразитным излучением сигнала и хорошо защищена от наводок. В условиях повышенных внешних помех применяют кабели с экранированной витой парой, при этом экран кабеля соединяют с защитной «землёй» устройства.
Все устройства подключаются к одной витой паре одинаково: прямые выходы к одному про-
воду, инверсные – к другому, обычно называемые А и В. Переполюсовка не страшна, но устройст-
во работать не будет.
Согласование. При больших расстояниях между устройствами, связанными по витой паре и высоких скоростях передачи начинают проявляться так называемые эффекты длинных линий. Причина – конечная скорость распространения электромагнитных волн в проводниках (сущест- венно меньшая скорости света в вакууме, порядка 200 мм/нс). Электрический сигнал отражается от открытых концов линии передачи и ее ответвлений (аналогия – желоб, наполненный водой). Для коротких линий и малых скоростей передачи этот процесс происходит так быстро, что остает- ся незамеченным. Если расстояние достаточно большое (от нескольких десятков метров), фронт сигнала, отразившийся в конце линии и вернувшийся обратно, может исказить текущий или сле- дующий сигнал, учитывая, что время реакции приемников – десятки нс. В таких случаях нужно подавлять эффект отражения, для чего на удаленном конце линии, между проводниками витой па- ры включают резистор с номиналом, равным волновому сопротивлению линии. Электромагнитная волна, дошедшая до «тупика» поглощается на таком резисторе, называемым «согласующим» или
«терминатором».
Номинальное сопротивление согласующих резисторов для RS-485 соответствует волновому сопротивлению кабеля и для кабелей на основе витой пары обычно составляет 100 … 120 Ом (распространённый кабель UTP-5, используемый для прокладки Ethernet, имеет импеданс 100 Ом, специальные кабели для RS-485 – 120 Ом). Резисторы могут быть запаяны на контакты кабельных разъемов у конечных устройств. Иногда резисторы бывают смонтированы в самом устройстве и для подключения резистора нужно установить перемычку. В этом случае при отсоединении уст- ройства линия рассогласовывается, и для нормальной работы остальной системы требуется под- ключение согласующей заглушки.
Допустимая нагрузка драйвера RS-485/RS-422 количественно определяется в терминах еди- ничной нагрузки – входного импеданса одного стандартного приемника RS-485 (12 кОм). Стан- дартный драйвер RS-485 может управлять 32 единичными нагрузками (32 параллельно подклю- ченных нагрузки по 12 кОм). Выпускаются приемники с входным сопротивлением 1/2, 1/4, 1/8 от стандартного. При использовании таких приемников общее число устройств может быть увеличе- но до, соответственно, 64, 128 или 256. Можно подключить любую комбинацию типов приемни- ков, если их параллельный импеданс не превышает 32 единичных нагрузки (т.е. суммарное сопро- тивление не меньше 375 Ом).
Максимальная скорость связи по спецификации RS-485 может достигать 10 Мбод/сек. Мак- симальное расстояние – 1200 м. Если необходимо организовать связь на большем расстоянии или подключить больше устройств, чем допускает нагрузочная способность передатчика, применяют специальные повторители (репитеры).
Защитное смещение. Как уже упоминалось, при напряжениях на входах приемников RS-485 в диапазоне –200 мВ … +200 мВ, выходное состояние остается неопределенным. То есть, если дифференциальное напряжение на стороне RS-485 в полудуплексной конфигурации равно 0 В и ни один из приемопередатчиков не ведет линию (или соединение разорвано), тогда логические «0» и «1» на выходе равновероятны. Для обеспечения определенного состояния на выходе в таких ус- ловиях, многие приемопередатчики RS-485 требуют установки резисторов защитного смещения: резистор задания начального высокого уровня (pullup) на одну линию (A) и низкого уровня (pulldown) на другую (B), как это показано на рисунке. Резисторы защитного смещения в боль- шинстве схем указываются номиналом 560 Ом, однако для снижения энергопотерь, когда согласо- вание производится только на одном конце линии связи, это значение можно увеличить до
1,1 кОм, либо устанавливать на обоих концах резисторы с номиналами от 1,1 кОм до 2,2 кОм.
Здесь приходится искать компромисс между помехоустойчивостью и энергопотреблением.
Ряд приемопередатчиков имеют функцию безотказности (failsafe), заключающуюся во встро-
енном смещении. Следует различать два вида такой защиты.
Безотказность в открытых цепях (Open circuit failsafe). В таких приемопередатчиках при-
меняются встроенные подтягивающие резисторы, причем высокоомные, для уменьшения потреб- ления тока. Из-за этого необходимое смещение обеспечивается только для открытых (ненагру- женных) дифференциальных входов. Если приемник отключен от линии или она не нагружена, в среднем плече делителя имеется большое сопротивление, на котором возникает необходимая раз- ность потенциалов. Но если приемопередатчик нагружен на линию с двумя согласующими рези- сторами по 120 Ом, в среднем плече делителя оказывается меньше 60 Ом, на которых нет сущест- венного падения. Поэтому, если в нагруженной линии нет активных передатчиков, встроенные ре-
зисторы не обеспечивают достаточное смещение и в этом случае необходимо устанавливать внешние резисторы защитного смещения.
Истинная безотказность (True failsafe). В этих устройствах смещены сами пороги распозна-
вания сигнала. Приемопередатчики задают диапазон порогов, например, от –50 мВ до –200 мВ, устраняя, таким образом, потребность в резисторах защитного смещения, сохраняя при этом пол- ное соответствие стандарту RS-485.
Исключение приема при передаче в полудуплексном режиме. Обычно во время работы прие- мопередатчика RS-485 на передачу, выход приемника RO переводится в третье состояние и ножка RX контроллера (приемник UART) «повисает в воздухе». В результате, во время передачи на при- емнике UART вместо уровня стопового бита («1») окажется неопределенный уровень и любая по- меха может быть принята за входной сигнал. Поэтому нужно либо на время передачи отключать приемник UART (через управляющий регистр), либо подтягивать RX к единице (у некоторых микроконтроллеров это можно сделать программно – активировать встроенные подтяжки портов).
«Горячее» подключение к линии связи. Спецификацией RS-485 не предусмотрено «горячее» подключение – включение новых приемопередатчиков в линию связи во время работы системы. Однако это может быть сделано практически безболезненно с учетом следующего. В момент под- ключения, по включению питания, по сигналу сброса, по срабатыванию сторожевого таймера – контроллеру требуется время на инициализацию (до нескольких десятков миллисекунд). Пока контроллер находится в состоянии сброса, он принудительно настраивает все порты на вход. В этом состоянии, когда питание на приемопередатчик RS-485 уже подано, а входы разрешения при- емника /RE и передатчика DE «висят в воздухе», приемопередатчик может по помехе открыться на передачу и выдавать в работающую линию «мусор». Во избежание этого достаточно через ре- зистор в несколько килоом подтянуть вход разрешения приемника /RE к нулю, настраивая прие- мопередатчик сразу по включении питания на прием.
Организация протокола связи. В интерфейсе RS-485 устройства не могут передавать одно- временно – будет конфликт передатчиков. Следовательно, требуется распределить между устрой- ствами право на передачу. Отсюда основное деление: централизованный (одномастерный) обмен и децентрализованный (многомастерный).
В централизованной сети одно устройство всегда ведущее (мастер). Оно генерирует запросы
и команды остальным (ведомым) устройствам. Ведомые устройства могут передавать только по команде ведущего. Как правило, обмен между ведомыми идет только через ведущего, хотя для ус- корения обмена можно организовать передачу данных от одного ведомого к другому по команде ведущего.
В децентрализованной сети роль ведущего может передаваться от устройству к устройству либо по некоторому алгоритму очередности, либо по команде текущего ведущего к следующему (передача маркера ведущего). При этом ведомое устройство может в своем ответе ведущему пере- дать запрос на переход в режим ведущего и ожидать разрешения или запрета.
Последовательный канал по сравнению со скоростью контроллера очень медленный, на ско- рости 9600 бод передача одного символа занимает больше миллисекунды. Поэтому, когда кон- троллер загружен вычислениями и не должен их останавливать на время обмена по UART, нужно
использовать прерывания по завершению приема и передачи символа. Можно выделить место в памяти для формирования посылки на передачу и сохранения принятой посылки (буфер посылки), а также указатели на позицию текущего символа. Прерывания по завершению приема или переда- чи символа вызывают соответствующие подпрограммы, которые передают или сохраняют очеред- ной символ со сдвигом указателя и проверкой признака конца сообщения, после чего возвращают управление основной программе до следующего прерывания. По завершению отправки или прие- ма всей посылки либо формируется пользовательский флаг, отрабатываемый в основном цикле программы, либо сразу вызывается подпрограмма обработки сообщения.
В общем случае посылка по последовательному каналу состоит из управляющих байтов
(синхронизация посылки, адресов отправителя и получателя, контрольной суммы и пр.) и собст-
венно байтов данных.
Существует множество протоколов для RS-485, они могут быть определены самостоятельно, но надежнее пользоваться наиболее употребительными из них, например, стандартным протоко- лом последовательной передачи MODBUS, поддержку которого обеспечивают многие производи- тели промышленных контроллеров. В то же время, когда задача передачи данных тривиальна, бы- вает целесообразней использовать более простой протокол.
Основная задача в организации протокола – заставить все устройства различать управляю-
щие байты и байты данных. К примеру, ведомое устройство, получая по линии поток байтов,
должно понимать, где начало посылки, где конец и кому она адресована.
1. Протокол на основе ASCII-кода. Управляющие символы и данные передаются в виде обыкновенных ASCII символов. Посылка может выглядеть так: в начале – управляющий символ начала посылки «:», следующие две цифры – адрес получателя, затем символы данных и в конце – управляющий символ конца посылки (перевод строки). Все устройства на линии, приняв символ
«:», начинают записывать в память посылку до символа конца строки. Затем сравнивают адрес из посылки со своим адресом. Устройство с совпавшим адресом обрабатывает данные посылки, ос- тальные - игнорируют посылку. Данные могут содержать любые символы, кроме управляющих («:»,перевод строки).
Достоинство этого протокола в удобстве отладки системы и простоте синхронизации посы- лок. Можно через преобразователь RS485-RS232 подключить линию к COM-порту компьютера и легко увидеть всю проходящую информацию. Недостатки – относительно большой размер посыл- ки при передаче двоичной информации (на передачу каждого байта нужно два ASCII символа) и необходимость преобразования данных из двоичного вида в ASCII и обратно.
2. Протокол с непосредственной передачей двоичных данных. При этом управляющие сим-
волы и байты данных различаются с помощью настройки дополнительного девятого бита в UART. Для управляющих символов этот бит устанавливается в «1». Первым в посылке передается управ- ляющий символ с единичным девятым битом – остальные его биты могут содержать адрес устрой- ства-получателя, признак начала/конца посылки и пр. Затем передаются байты данных с нулевым девятым битом. Все принимающие устройства узнают по девятому биту управляющий символ и по содержанию его остальных битов определяют, кому адресованы последующие данные. Адре- суемое устройство принимает данные, а все остальные игнорируют их до следующего управляю- щего символа.
UART некоторых контроллеров, может в особом режиме (wakeup) автоматически распозна- вать в полученном байте девятый бит и генерировать прерывание при получении только управ- ляющего символа. Адресуемое устройство при этом нужно переключить в режим обычного прие- ма до следующего управляющего символа. Это позволяет остальным устройствам сэкономить время на обработке прерываний при получении байтов данных, адресованных не им.
Если требуется сопряжение системы и компьютера с Windows, такой протокол лучше не
применять, так как у Windows могут быть проблемы с распознанием девятого бита в UART.
3. «Двоичный» протокол без выделения специальных управляющих символов. Синхронизация
посылок в этом случае может осуществляться за счет отслеживания паузы между принятыми бай- тами. Принимающее устройство отсчитывает время с момента последнего приема байта до сле- дующего, и если эта пауза оказывается больше какой-то величины, делается вывод о потере пре- дыдущей посылки и начале новой. Даже если предыдущая посылка была незакончена, приемный буфер сбрасывается. Можно также синхронизировать посылки по уникальной стартовой последо- вательности байтов (по аналогии со стартовым символом в ASCII протоколе). В таких протоколах надо принимать особые меры для защиты от приема ложной посылки, начатой из-за помехи.
Защита устройств от перенапряжений в линии связи.
Разность потенциалов между «землями». При организации сети на основе интерфейса RS-
485 следует учитывать неявное присутствие третьего проводника – «земли». Если устройства рас-
положены недалеко, разность потенциалов между «землями» устройств в сети невелика. Но если устройства находятся далеко друг от друга и получают местное питание, то между их «землями» может оказаться существенная разность потенциалов. Возможные последствия – выход из строя приемопередатчика, а то и всего устройства. В таких случаях следует применять гальваническую развязку или дренажный провод.
Гальваническая развязка линии и устройств осуществляется либо опторазвязкой цифровых
сигналов (RO, DI, RE, DE) с организацией изолированного питания микросхем приемопередатчи- ков, либо применением приемопередатчиков со встроенной гальванической развязкой сигналов и питания. Тогда вместе с дифференциальными проводниками прокладываются провод изолирован- ной «земли» (сигнальной «земли») и, возможно, провод изолированного питания линии.
Дренажный провод прокладывается вместе с витой парой и соединяет «земли» удаленных устройств и уравнивает их потенциалы. При включении устройства в линию дренажный провод следует подсоединять первым, а при отключении – отсоединять последним. Для ограничения тока через дренажный провод его заземляют в каждом устройстве через резистор в 100 Ом (0.5 Вт).
Замыкание на высоковольтные цепи. Если существует опасность попадания на линию или одну из местных «земель» высокого напряжения, следует применять опторазвязку или шунти- рующие ограничители напряжения.
Напряжение пробоя опторазвязанного интерфейса составляет сотни и даже тысячи вольт.
Это хорошо защищает устройство от перенапряжения, общего для всех проводников линии. Одна- ко, при дифференциальных перенапряжениях, когда высокий потенциал оказывается на одном из проводников, сам приемопередатчик будет поврежден.
Для защиты от дифференциальных перенапряжений все проводники линии, включая изоли-
рованный общий, шунтируются на локальные «земли» при помощи ограничителей напряжения. Это могут быть варисторы, полупроводниковые ограничители напряжения и газоразрядные труб- ки. Физический принцип их действия разный, но суть одна – при напряжении выше порогового их сопротивление резко падает, и они шунтируют линию. Газоразрядные трубки могут шунтировать очень большие токи, но имеют высокий порог пробоя и низкое быстродействие, поэтому их лучше применять по трехступенчатой схеме вместе с полупроводниковыми ограничителями. Когда за- земление линии невозможно, проводники линии шунтируют ограничителями между собой. Но это защитит только от дифференциальных перенапряжений - защиту от общего должна взять на себя опторазвязка.
Защита ограничителями напряжения действенна при кратковременных перенапряжениях. При длительных – токи короткого замыкания могут вывести ограничители из строя, и устройства на линии окажутся без защиты. Для защиты от коротких замыканий в линию можно последова- тельно включить плавкие предохранители.
3.ИНТЕРФЕЙС "ТОКОВАЯ ПЕТЛЯ"
Интерфейс "токовая петля" используется для передачи информации с 1950-х годов. Первоначально в нем использовался ток 60 мА [Current]; позже, с 1962 года, получил распространение интерфейс с током 20 мА, преимущественно в телетайпных аппаратах. В 1980-х годах начала широко применяться "токовая петля" 4...20 мА в разнообразном технологическом оборудовании, датчиках и исполнительных устройствах средств автоматики. Популярность "токовой петли" начала падать после появления стандарта на интерфейс RS-485 (1983 г.) и в настоящее время в новом оборудовании она практически не применяется.
В передатчике "токовой петли" используется не источник напряжения, как в интерфейсе RS-485, а источник тока. По определению, ток, вытекающий из источника тока, не зависит от параметров нагрузки. Поэтому в "токовой петле" протекает ток, не зависящий от сопротивления кабеля , сопротивления нагрузки и э. д. с. индуктивной помехи (рис. 2.10), а также от напряжения питания источника тока (см рис. 2.11). Ток в петле может измениться только вследствие утечек кабеля, которые очень малы.
Это свойство токовой петли является основным и определяет все варианты ее применения. Емкостная наводка , э. д. с. которой приложена не последовательно с источником тока, а параллельно ему, не может быть ослаблена в "токовой петле" и для ее подавления следует использовать экранирование.
Рис. 2.10. Принцип действия "токовой петли" |
В качестве линии передачи обычно используется экранированная витая пара, которая совместно с дифференциальным приемником позволяет ослабить индуктивную и синфазную помеху.
На приемном конце ток петли преобразуется в напряжение с помощью калиброванного сопротивления . При токе 20 мА для получения стандартного напряжения 2,5 В, 5 В или 10 В используют резистор сопротивлением 125 Ом, 250 Ом или 500 Ом соответственно.
Основным недостатком "токовой петли" является ее принципиально низкое быстродействие, которое ограничивается скоростью заряда емкости кабеля от источника тока. Например, при типовой погонной емкости кабеля 75 пФ/м и длине 1 км емкость кабеля составит 75 нФ. Для заряда такой емкости от источника тока 20 мА до напряжения 5 В необходимо время 19 мкс, что соответствует скорости передачи около 9 кбит/с. На рис. 2.12 приведены зависимости максимальной скорости передачи от длины кабеля при разных уровнях искажений (дрожания), который оценивался также, как и для интерфейса RS-485 [Optically].
Вторым недостатком "токовой петли", ограничивающим ее практическое применение, является отсутствие стандарта на конструктивное исполнение разъемов и электрические параметры, хотя фактически стали общепринятыми диапазоны токовых сигналов 0...20 мА и 4...20 мА; гораздо реже используют 0...60 мА. В перспективных разработках рекомендуется использовать только диапазон 4...20 мА, как обеспечивающий возможность диагностики обрыва линии.
Интерфейс "токовая петля" распространен в двух версиях: цифровой и аналоговой.
Аналоговая "токовая петля"
а) |
б) |
Рис. 2.11. Два варианта построения аналоговой "токовой петли": со встроенным в передатчик источником питания (а) и выносным (б) |
Аналоговая версия "токовой петли" используется, как правило, для передачи сигналов от разнообразных датчиков к контроллеру или от контроллера к исполнительным устройствам. Применение "токовой петли" в данном случае дает два преимущества. Во-первых, приведение диапазона изменения измеряемой величины к стандартному диапазону обеспечивает взаимозаменяемость компонентов. Во-вторых, становится возможным передать сигнал на большое расстояние с высокой точностью (погрешность "токовой петли" может быть снижена до ±0,05%). Кроме того, стандарт "токовая петля" поддерживается подавляющим большинством производителей средств промышленной автоматизации.
В варианте "4...20 мА" в качестве начала отсчета принят ток 4 мА. Это позволяет производить диагностику целостности кабеля (кабель имеет разрыв, если ток равен нулю) в отличие от варианта "0...20 мА", где величина "0 мА" может означать не только нулевую величину сигнала, но и обрыв кабеля. Вторым преимуществом уровня отсчета 4 мА является возможность подачи энергии датчику для его питания.
На рис. 2.11 показаны два варианта построения аналоговой "токовой петли". В варианте а) используется встроенный незаземленный источник питания , в варианте б) источник питания - внешний. Встроенный источник удобен при монтаже системы, а внешний удобен тем, что его можно выбрать с любыми параметрами в зависимости от поставленной задачи.