Перевод Игоря Бирюкова
«Обрежьте жирок» с RS-485 По материалам Maxim's Tutorial 119 (A184, март 2001 г.)
В системах промышленной автоматизации применяется ряд удаленных устройств сбора данных, которые передают и принимают информацию через центральный модуль, предоставляющий доступ к данным как пользователям, так и другим процессорам. Типичными элементами подобных систем являются регистраторы данных и считывающие устройства. Почти идеальная линия передачи данных для этих целей определена стандартом RS-485, который предусматривает связь устройства сбора данных кабелем на основе витой пары.
Поскольку многие из устройств сбора и накопления данных в сетях RS-485 являются компактными автономными устройствами с батарейным питанием, для контроля за их тепловыделением и для увеличения срока службы батарей необходимо принятие мер по снижению их энергопотребления. Точно так же экономия энергии важна для носимых устройств и других приложений, в которых интерфейс RS-485 используется для загрузки данных в центральный процессор.
Следующий раздел предназначен в первую очередь для тех, кто не знаком с RS-485.
RS-485: история и описание
Стандарт RS-485 был совместно разработан двумя ассоциациями производителей: Ассоциацией электронной промышленности (EIA — Electronics Industries Association) и Ассоциацией промышленности средств связи (TIA — Telecommunications Industry Associastion). EIA некогда маркировала все свои стандарты префиксом «RS» (рекомендованный стандарт). Многие инженеры продолжают использовать это обозначение, однако EIA/TIA официально заменил «RS» на «EIA/TIA» с целью облегчить идентификацию своих стандартов. На сегодняшний день различные расширения стандарта RS-485 охватывают широкое разнообразие приложений.
Стандарты RS-485 и RS-422 имеют много общего, и поэтому их часто путают. В табл. 1 для сравнения приводятся характеристики этих стандартов. RS-485, определяющий двунаправленную полудуплексную передачу данных, является единствен- ным стандартом EIA/TIA, допускающим множественные приемники и драйверы в шинных конфигурациях. RS-422, с другой стороны, определяет единственный однонаправленный драйвер с множественными приемниками. Элементы RS-485 обратно совместимы и взаимозаменяемы со своими двойниками из RS-422, однако драйверы RS-422 не должны использоваться в системах на основе RS-485, поскольку они не могут отказаться от управления шиной.
Таблица 1. Стандарты RS-485 и RS-422
|
RS-422 |
RS-485 |
Режим работы |
Дифференциальный |
Дифференциальный |
Допустимое число Tx и Rx |
1 Tx, 10 Rx |
32 Tx, 32 Rx |
Максимальная длина кабеля |
1200 м |
1200 м |
Максимальная скорость передачи данных |
10 Мбит/с |
10 Мбит/с |
Минимальный выходной диапазон драйвера |
±2 В |
±1,5 В |
Максимальный выходной диапазон драйвера |
±5 В |
±5 В |
Максимальный ток короткого замыкания драйвера |
150 мА |
250 мА |
Сопротивление нагрузки Tx |
100 Ом |
54 Ом |
Чувствительность по входу Rx |
±200 мВ |
±200 мВ |
Максимальное входное сопротивление Rx |
4 кОм |
12 кОм |
Диапазон напряжений входного сигнала Rx |
±7 В |
от –7 до +12 В |
Уровень логической единицы Rx |
> 200 мВ |
> 200 мВ |
Уровень логического нуля Rx |
< 200 мВ |
< 200 мВ |
Защита от электростатических разрядов
Дифференциальная передача сигнала в системах на основе стандартов RS-485 и RS-422 обеспечивает надежную передачу данных в присутствии шумов, а дифференциальные входы их приемников, кроме того, могут подавлять значительные синфазные напряжения. Однако для защиты от значительно больших уровней напряжений, которые обычно ассоциируются с электростатическим разрядом (ESD), необходимо принимать дополнительные меры.
Заряженная емкость человеческого тела позволяет человеку уничтожать интегральную схему простым прикосновением к ней. Такой контакт может произойти при прокладке и подключении интерфейсного кабеля. Для защиты от таких разрушительных воздействий интерфейсные микросхемы Maxim включают так называемые ESD-структуры. Эти структуры защищают выходы передатчиков и входы приемников в приемопередатчиках RS-485 от уровней ESD с потенциалом до ±15 кВ.
Чтобы гарантировать заявленную защиту от ESD, Maxim осуществляет многократное тестирование положительных и отрицательных выводов питания с шагом 200 В, для проверки последовательности уровней до ±15 кВ. Устройства этого класса, отвечающие спецификациям модели человеческого тела (Human Body Model) или IEC 1000-4-2, маркируются в обозначении изделия дополнительным суффиксом «E».
Скорости передачи данных
и нагрузка драйвера
Допустимая нагрузка драйвера RS-485/RS-422 количественно определяется в терминах единичной нагрузки, которая, в свою очередь, является входным импедансом одного стандартного приемника RS-485 (12 кОм). Таким образом, стандартный драйвер RS-485 может управлять 32 единичными нагрузками (32 параллельных 12-килоомных входа). Однако для некоторых приемников RS-485 входное сопротивление является более высоким — 48 кОм (1/4 единичной нагрузки) или даже 96 кОм (1/8 единичной нагрузки), — это означает, что к одной шине могут быть подключены сразу 128 или 256 таких приемников. Вы можете подключить любую комбинацию типов приемников, если их параллельный импеданс не превышает 32 единичных нагрузки (то есть суммарное сопротивление не меньше 375 Ом).
Высокие скорости передачи требуют больших скоростей нарастания напряжения на выходах драйверов, что создает высокоуровневые электромагнитные помехи (EMI). Некоторые приемопередатчики RS-485 сводят EMI к минимуму, ограничивая их скорости нарастания. Относительно невысокие скорости нарастания также помогают контролировать отражения, вызванные быстрыми переходными процессами, высокими скоростями передачи данных или длинными линиями связи. Основой для минимизации отражений является использование согласующих резисторов с номиналами, соответствующими волновому сопротивлению кабеля. Для обычных кабелей RS-485 (витая пара проводов 24AWG) это означает размещение 120-омных резисторов на обоих концах линии связи.
Потери мощности
Очевидным источником потери мощности является ток покоя приемопередатчика (IQ), который, правда, в современных устройствах значительно снижен. В табл. 2 токи покоя малопотребляющих КМОП-приемопередатчиков сравниваются с токами покоя в устройстве 75176, являющемся промышленным стандартом.
Таблица 2. Сравнение токов утечки для различных приемопередатчиков RS-485
Устройство |
IQ
(драйвер отключен) |
IQ
(драйвер включен) |
Ток в режиме отключения |
Максимальная скорость |
MAX3471 |
2,8 мкА |
83 мкА |
N/A |
64 Кбит/с |
MAX1483 |
20 мкА |
55 мкА |
0,1 мкА |
250 Кбит/с |
MAX3088 (SRL = GND) |
420 мкА |
475 мкА |
1 нА |
10 Мбит/с |
SN75ALS176 |
26 мкА |
30 мкА |
N/A |
35 Мбит/с |
Рис. 1
Заметное потребление энергии приемопередатчиков RS-485 проявляется при отсутствии нагрузки, разрешении выхода драйвера и присутствии периодического входного сигнала. При каждом переключении выхода происходит короткое включение обоих выходных транзисторов, что немедленно вызывает бросок тока питания. Достаточно большой входной конденсатор сглаживает эти броски, но, тем не менее некоторый действующий (RMS) ток, который растет вместе со скоростью передачи данных до своего максимального значения, присутствует всегда. Для приемопередатчиков MAX1483 этот максимум равен примерно 15 мА.
Подключение стандартного приемопередатчика RS-485 к минимальной нагрузке (еще один приемопередатчик, два согласующих и два защитных резистора) позволяет измерить зависимость тока питания от скорости передачи данных в более реальных условиях. На рис. 2 представлена зависимость ICC от скорости передачи данных для MAX1483 при следующих условиях: стандартные резисторы на 560, 120 и 560 Ом, VCC = 5 В, DE = RE = VCC, кабель длиной 300 м.
Рис. 2
Как можно видеть на рис. 2, ток потребления возрастает приблизительно до 37 мА даже при чрезвычайно низких скоростях передачи данных. Это вызвано, прежде всего, добавлением согласующих резисторов и резисторов защитного смещения. Очевидно, что для малопотребляющих устройств крайне важен тип используемого согласования, равно как и способ достижения отказоустойчивости.
Отказоустойчивость
При напряжениях на входах приемников RS-485 в диапазоне от –200 до +200 мВ выходное состояние остается неопределенным. Иными словами, если дифференциальное напряжение на стороне RS-485 в полудуплексной конфигурации равно 0 В и ни один из приемопередатчиков не ведет линию (или соединение разорвано), тогда логическая единица и логический ноль на выходе равновероятны. Для обеспечения определенного состояния на выходе в таких условиях большинство современных приемопередатчиков RS-485 требуют установки резисторов защитного смещения: резистор задания начального высокого уровня (pullup) на одну линию (A) и низкого уровня (pulldown) на другую (B), как это показано на рис. 1. Исторически резисторы защитного смещения в большинстве схем указывались с номиналом 560 Ом, однако для снижения энергопотерь (когда согласование производится только на одном конце линии связи) это значение можно увеличить приблизительно до 1,1 кОм. Некоторые разработчики устанавливают на обоих концах резисторы с номиналами от 1,1 до 2,2 кОм. Здесь приходится искать компромисс между помехоустойчивостью и энергопотреблением.
Производители приемопередатчиков RS-485 прежде исключали необходимость использования внешних смещающих резисторов, обеспечивая внутренние резисторы положительного смещения по входам приемника, однако такой подход был эффективен только для решения проблемы разомкнутых цепей. Резисторы положительного смещения, используемые в этих псевдоотказоустойчивых приемниках, были слишком слабы для установления уровня на выходе приемника в согласованной шине. Другие попытки избежать использования внешних резисторов за счет изменения пороговых значений приемника на 0 и –0,5 В нарушали спецификацию RS-485.
Семейство приемопередатчиков MAX3080 и MAX3471 компании Maxim решило обе эти проблемы, определив точный диапазон пороговой чувствительности от –50 до –200 мВ, устранив, таким образом, потребность в резисторах защитного смещения, сохраняя при этом полное соответствие стандарту RS-485. Эти микросхемы гарантируют, что 0 В на входе приемника вызовет высокий логический уровень на выходе. Более того, эта конструкция гарантирует известное состояние выхода приемника для условий замкнутой и разорванной линии.
Способы уменьшения энергопотребления
Как было показано в табл. 2, приемопередатчики сильно различаются значениями их токов покоя. Таким образом, первым шагом в деле сохранения энергии должен стать выбор малопотребляющего устройства, такого как MAX3471 (2,8 мкА при отключенном драйвере, при скорости до 64 Кбит/с). Поскольку потребление энергии существенно возрастает при передаче данных, другой целью является минимизация времени работы драйверов за счет передачи коротких телеграмм (блоков данных. — Примеч. перев.) с длительными периодами ожидания между ними. В табл. 3 представлена структура типовой телеграммы последовательной передачи.
Таблица 3. Телеграмма последовательной передачи
Биты управления |
Адресные биты |
Биты данных |
Контрольные биты |
Биты управления |
Система на основе RS-485, использующая приемники в одну единичную нагрузку (до 32 адресуемых устройств), может, например, иметь следующие биты: 5 бит адреса, 8 бит данных, стартовые биты (все кадры), стоповые биты (все кадры), биты четности (необязательные) и биты CRC (необязательные). Минимальная длина телеграммы для такой конфигурации — 20 бит. Для безопасных передач вы должны отправить дополнительную информацию, такую как размер данных, адрес отправителя и направление, которая увеличит длину телеграммы до 255 байт (2040 бит).
Подобное изменение длины телеграммы со структурой, определяемой такими стандартами, как X.25, обеспечивает надежность данных за счет увеличения времени использования шины и потребляемой мощности. Например, передача 20 бит при 200 Кбит/с потребует 100 мкс. При использовании MAX1483 для ежесекундной отправки данных на скорости 200 Кбит/с средний ток составит 25,3 мкА.
Когда приемопередатчик находится в неактивном режиме (idle mode), его драйвер должен быть отключен для минимизации потребляемой мощности. В табл. 4 демонстрируется влияние длины телеграммы на потребляемую мощность одиночного драйвера MAX1483, который работает с определенными перерывами между передачами. Использование режима отключения (shutdown mode) может еще больше снизить потребляемую мощность в системе, использующей технологию опроса через фиксированные промежутки времени или детерминированные перерывы между передачами.
Таблица 4. Соотношение между длиной телеграммы и потребляемым током при использовании драйвера MAX1483
Телеграмма |
Ежесекундно, мкА |
Каждые 10 секунд, мкА |
Ежеминутно, мкА |
20-битовая |
25,3 |
20,5 |
20,1 |
100-битовая |
61,1 |
24,1 |
20,7 |
255-битовая |
560,4 |
74,0 |
29,0 |
Рис. 3
Кроме того, аппаратные средства предлагают множество вариантов снижения энергопотребления. На рис. 3 сравниваются токи, потребляемые различными трансиверами при передаче сигнала прямоугольной формы по 300-метровому кабелю с активными драйверами и приемниками. 75ALS176 и MAX1483 используют стандартную согласующую цепь 560 Ом/120 Ом/560 Ом на обоих концах линии связи, в то время, как «истинно безотказные» («true failsafe») устройства MAX3088 и MAX3471 имеют лишь 120-омные согласующие резисторы на обоих концах шины. При скорости 20 Кбит/с токи потребления лежат в диапазоне от 12,2 мА (MAX3471 с напряжением питания VCC = 3,3 В) до 70 мА (75ALS176). Таким образом, значительное сокращение потребления возникает немедленно, как только вы выбираете малопотребляющее устройство со свойством «истиной безотказности», которое, кроме того, исключает необходимость установки резисторов защитного смещения (на землю и на линию питания VCC). Убедитесь, что приемник выбранного вами приемопередатчика RS-485 выдает на выход правильные логические уровни для условий как замкнутой, так и разомкнутой цепи.
Проблемы с согласованием
Как было отмечено выше, согласующие резисторы устраняют отражения, вызванные рассогласованием импедансов. Однако их недостаток — дополнительное рассеяние мощности. Это показано в табл. 5, в которой приводятся токи потребления для различных приемопередатчиков (при активном драйвере) при отсутствии резисторов, при использовании только согласующих резисторов, а также при одновременном наличии согласующих резисторов и резисторов защитного смещения.
Таблица 5. Использование согласующих резисторов и резисторов защитного смещения увеличивает потребляемый ток
|
MAX1483, мкА |
MAX3088, мкА |
MAX3471, мкА |
SN75ALS176, мкА |
IVCC (no RT) |
60 |
517 |
74 |
22 |
IVCC (RT =120) |
24 |
22,5 |
19,5 |
48 |
IVCC (RT = 560-120-560) |
42 |
N/A |
N/A |
70 |
Исключение согласования
Первый способ уменьшения потребляемой мощности состоит в том, чтобы вообще устранить согласующие резисторы. Этот вариант возможен только для коротких линий связи и низких скоростей передачи данных, которые позволяют отражениям успокоиться еще до того, как данные будут обработаны приемником. Как показывает практика, согласование не нужно, если время нарастания сигнала по крайней мере в четыре раза превосходит время задержки одностороннего прохождения сигнала через кабель. Следующие шаги используют это правило для вычисления максимальной допустимой длины несогласованного кабеля.
- Для рассматриваемого кабеля необходимо найти скорость одностороннего прохождения сигнала, обычно предоставляемую производителем кабеля как процентное отношение к скорости света в свободном пространстве. Типовое значение для стандартного кабеля в поливинилхлоридной изоляции, состоящего их витой пары #24 AWG, составляет 20,3 мм/нс.
- Из спецификации приемопередатчика RS-485 находится его минимальное время нарастания (tr min). Например, для MAX3471 оно равно 750 нс.
- Это минимальное время нарастания делится на 4. Для MAX3471 получается tr min/4 = 750/4 = 187,5 нс.
- На последнем этапе вычисляется максимальная протяженность кабеля, для которой не требуется согласование. Для MAX3471 она равна 187,5 нс (230 мм/нс) = 38 м.
Таким образом, MAX3471 может обеспечить приличное качество сигнала без согласующих резисторов при передаче и приеме на скорости 64 Кбит/с по 38-метровому кабелю. Рисунок 4 демонстрирует, сколь сильно снижается потребление MAX3471 при работе на тридцатиметровый кабель без согласующих резисторов по сравнению с работой на трехсотметровый кабель и согласующие резисторы.
Рис. 4
RC-согласование
На первый взгляд, способность RC-согласования блокировать постоянный ток является весьма многообещающей. Однако этот способ налагает определенные условия. Согласование состоит из последовательной RC-цепочки, включенной параллельно дифференциальным входам приемника (A и B), как показано на рис. 5. Резистор R выбирают равным волновому сопротивлению кабеля (Z0), а емкость конденсатора C определяется условиями функционирования устройства. Большая величина C обеспечивает хорошее согласование, позволяя любому сигналу «видеть» R, которое соответствует Z0, однако при этом увеличивается пиковое значение выходного тока драйвера. К сожалению, длинные кабели требуют больших значений емкости C. Целые статьи были посвящены определению номинала C для достижения компромисса между согласованием и потреблением. Вы можете найти детальные рекомендации по этому выбору в руководствах, ссылки на которые приведены в конце настоящей статьи.
Рис. 5
Среднее напряжение сигнала — другой важный фактор, который часто игнорируется при RC-согласовании. Если среднее напряжение сигнала не сбалансировано по постоянному току, это вызовет значительное дрожание уровня сигнала на линии из-за эффекта, известного как «межсимвольная интерференция». Проще говоря, RC-согласование эффективно для снижения потребления, однако оно способствует ухудшению качества сигнала. Таким образом, RC-согласование налагает так много ограничений на свое использование, что лучшая альтернатива во многих случаях — отсутствие согласования вообще.
Согласование на диодах Шотки
Диоды Шотки позволяют реализовать альтернативный предыдущему метод согласования, когда большая потребляемая мощность оказывается неприемлемой. В отличие от других типов согласования, сопротивление согласующих элементов (диодов Шотки) не соответствует волновому сопротивлению шины. Согласование осуществляется за счет того, что диоды просто подавляют положительные и отрицательные выбросы на фронтах импульсов, вызванные отражением. В результате изменения напряжения ограничены положительным пороговым напряжением и нулем.
Цепь согласования на диодах Шотки впустую рассеивает незначительную энергию, поскольку проводимость проявляется только при наличии положительных и отрицательных выбросов. С другой стороны, стандартное резистивное согласование (как с резисторами защитного смещения, так и без оных) приводит к постоянному рассеиванию мощности. Рисунок 6 иллюстрирует использование диодов Шотки для борьбы с отражениями. Диоды не обеспечивают отказоустойчивую работу, однако уровни порогового напряжения, выбранные в приемопередатчиках MAX308X и MAX3471, дают возможность реализовать отказоустойчивую работу и с этим типом согласования.
Рис. 6
Диод Шотки, являющийся наилучшим доступным приближением к идеальному диоду (нулевое прямое напряжение Vf, нулевое время включения tON и нулевое время обратного восстановления trr), представляет большой интерес в качестве замены энергоемких согласующих резисторов. Недостаток такого согласования в системах на основе RS-485/RS-422 заключается в том, что диоды Шотки не могут подавлять все отражения. Как только отраженный сигнал угаснет ниже прямого напряжения диода Шотки, его энергия останется незатронутой согласующими диодами и сохранится до тех пор, пока не будет рассеяна кабелем.
Рис. 7
Главный недостаток Шотки-терминатора — его стоимость. Одна точка согласования требует двух диодов. Поскольку шина RS-485/RS-422 является дифференциальной, это число умножается на два (рис. 6). Использование на шине множественных Шотки-терминаторов не является необычным.
Терминаторы на диодах Шотки дают много преимуществ для систем на основе RS-485/RS-422, и экономия энергии — главное из них (рис. 7). Не нужно ничего вычислять, поскольку специфицированные ограничения для длины кабеля и скорости передачи данных будут достигнуты раньше, чем какие- либо ограничения Шотки-терминатора. Другое преимущество заключается в том, что множественные Шотки-терминаторы в различных ответвлениях и на входах приемников улучшают качество сигнала без загрузки коммуникационной шины.
Заключение
Когда скорость передачи данных высока и кабель имеет большую длину, в системе RS-485 трудно обеспечить сверхмалое потребление, поскольку возникает необходимость устанавливать на линии связи согласующие устройства (терминаторы). В этом случае приемопередатчики с функцией «истинной помехоустойчивости» на выходах приемников могут экономить энергию даже при использовании терминаторов, устраняя потребность в резисторах защитного смещения. Программная организация связи также позволяет снизить потребляемую мощность, переводя приемопередатчик в отключенное состояние или запрещая драйвер, когда он не используется.
Для более низких скоростей и более коротких кабелей разница в энергопотреблении огромна. Передача данных со скоростью 60 Кбит/с по 30-метровому кабелю при использовании стандартного приемопередатчика SN75ALS176 со 120-омными согласующими резисторами потребует от системы электропитания ток 70 мА. С другой стороны, использование MAX3471 при тех же самых условиях потребует только 2,5 мА от источника питания.
|