В уроке расскажу о простом, но эффективном радиальном интерфейсе ИРПС. Больше внимания уделю не самому стандарту, а практической реализации цифровых интерфейсов по принципу “токовой петли”.
Предыдущий урок Список уроков Следующий урок
ИРПС расшифровывается как "интерфейс радиальный последовательный". Другое название –“токовая петля”. Интерфейс появился задолго до современных стандартов RS232, RS485 и широко использовался в телетайпах. Затем несколько изменились его параметры, и ИРПС нашел применение в компьютерных системах.
ИРПС позволяет простыми аппаратными средствами реализовать передачу данных на большие расстояния, до нескольких километров. Он обладает высокой помехоустойчивостью, и, что немаловажно, обеспечивает гальваническую развязку абонентов от линии связи.
Благодаря простоте реализации ИРПС идеально подходит для недорогих распределенных систем на базе Ардуино. Я расскажу о его различных схемных вариантах, позволяющих значительно увеличить длину линии связи, повысить помехоустойчивость, использовать для соединения устройств не витые пары, а простые провода. Используя принцип ”токовой петли” можно построить и сети магистральной топологии, с несколькими абонентами.
Когда-то на одной ГРЭС мне выделили для организации связи между устройствами два простых провода в высоковольтном кабеле. Высоковольтным назвал кабель я, работники ГРЭС называли его низковольтным. Максимальное напряжение в кабеле было 1000 В, дикий уровень помех, длина примерно 1000 м. В сеть было включено два компьютера и 8 регистраторов дискретных сигналов. Передачу данных я организовал по принципу “токовой петли”, и сеть прекрасно работала на скорости 19200 бод. Я не знаю, какой другой интерфейс можно было использовать в таких условиях.
Сейчас ИРПС несколько теряет свою актуальность в связи распространением беспроводных технологий. Но благодаря своей простоте и надежности его применение во многих случаю остается оправданным. Например, я использую ”токовую петлю” для подключения к станциям катодной защиты компьютера, терминала, телеметрии. В фасовочном оборудовании периферийные контроллеры обмениваются данными с центральным контроллером также по ”токовым петлям”. Привлекают все те же качества: простота, помехоустойчивость, гальваническая развязка.
Принцип действия “токовой петли”.
Основной принцип действия содержится в названии – “токовая петля”.
Передатчик и приемник связаны двух проводной линией связи. Образуется контур передачи (петля).
Передатчик это не источник напряжения, а источник тока. Информация передается значением тока в контуре.
Для источника тока, ток в последовательном контуре не зависит от сопротивления цепи. Поэтому ток на входе приемника будет иметь то же значение, как и на выходе передатчика независимо от:
- сопротивления линии связи (R линии);
- сопротивления приемника (R вх.);
- эдс индуктивной помехи (E инд.);
- напряжения питания;
- любого падения напряжения в контуре.
Это справедливо для чисто последовательного контура, без утечек тока. Это означает, что передатчик и приемник должны быть гальванически развязанными или приемник должен быть дифференциальным.
Емкостные наводки вызывают эдс, приложенные параллельно передатчику-источнику тока (E емк.). Токовая петля их не подавляет. Поэтому в качестве линии связи в ИРПС обычно используют витую пару.
ЭДС емкостных помех соседних скрученных участков кабеля вычитаются друг из друга, компенсирую емкостную помеху. Дополнительной защитной мерой может быть экранирование витой пары.
Еще одним свойством, повышающим помехозащищенность ИРПС, является низкое входное сопротивление приемника.
Также помехоустойчивость ИРП в значительной мере зависит от тока передатчика. Чем больше ток, тем труднее помехе или наводке повлиять на него. Когда-то для телетайпов использовали ток 60 мА. Затем этот параметр был снижен, и в настоящее время стандартными считаются значения 20 и 40 мА. Но ничего не мешает использовать для “токовой петли” другие значения токов в зависимости от конкретных требований.
“Токовую петлю” можно применять для передачи данных одновременно нескольким приемникам.
С помощью токовой петли могут передаваться как аналоговые, так и цифровые сигналы. В этой статье речь идет о передаче дискретных данных, т.е. о цифрой “токовой петле”.
Приемник цифровой ”токовой петли” срабатывает на определенные пороговые значения тока. В этом случае требования к точности и выходному сопротивлению передатчиков значительно ниже, чем при передаче аналоговых сигналов. Как следствие, проще аппаратная реализация.
Скорость передачи данных.
Использование в качестве передатчика источника тока приводит к основному недостатку ИРПС – невысокой скорости передачи данных. Это связано с зарядом емкости кабеля от источника тока при переключении сигнала.
При стабильном токе I через емкость C время заряда ее до напряжения U определяется формулой:
T = U * C / I.
Допустим, у нас кабель длиной 1000 м и емкостью 75 нФ (75 пкФ/м). При токе 20 мА время заряда емкости кабеля до напряжения 5 В составит 18,75 мкс. Если принять время ”дрожания” асинхронного цифрового сигнала 25%, то длительность передачи бита будет 75 мкс, что соответствует скорости приблизительно 13 кбод.
Скорость передачи ИРПС определяется длиной линии связи. Стандарт заявляет скорость 9600 бод для линии длиной до 500 м. При увеличении длины кабеля скорость передачи пропорционально падает.
Стандартные параметры ИРПС.
Параметры интерфейса ИРПС описаны в стандарте ИРПС/IFFS (ОСТ 11305.916-84).
За рубежом интерфейс “Токовая петля” называется “Current Loop” . Специфицирован он в стандартах IEC 62056-21 / DIN 66258.
Основные параметры ИРПС я свел в таблицу.
Параметр | Значение |
Топология | Радиальный интерфейс |
Линия связи | 4 провода (2 витые пары) |
Режим обмена данными | Асинхронный, дуплексный |
Гальваническая развязка | Со стороны приемника, напряжение 500 В |
Способ передачи сигнала | Токовая петля. |
Уровень логической 1 | Ток 15 … 25 мА (для ИРПС 20 мА) Ток 30 … 50 мА (для ИРПС 40 мА) |
Уровень логического 0 | Ток 0 … 3 мА (для ИРПС 20 мА) Ток 5 … 10 мА (для ИРПС 40 мА) |
Длительность фронта сигнала на выходе передатчика | Не более 1 мкс |
Длительность фронта сигнала на входе приемника | Не более 50 мкс |
Скорость передачи информации | 9600 бод, на расстояние до 500 м. При большем расстоянии скорость снижается пропорционально. |
Режимы обрыва и замыкания линии связи | Долговременные. |
Падение напряжения на входе приемника | Не более 5 В для телетайпа. Не более 2,5 В для других устройств. |
Входная емкость приемника | Не более 10 нФ. |
Все эти требования могут и часто нарушаются в конкретных разработках. Могут быть другие токи, параметры передатчиков и приемников. Я, как правило, использую сигналы инверсных по отношению к стандарту уровней. Т.е. логической 1 соответствует отсутствие тока, а логическому 0 – наличие. В этом случае меньше потребляемый ток. Главное – это принцип “токовой петли”, который и обеспечивает свойства ИРПС.
Аппаратная реализация ИРПС.
Передатчик это источник тока. Источник тока - это источник напряжения с высоким выходным сопротивлением, в идеале с бесконечным сопротивлением.
Самый простой передатчик ИРПС это транзисторный ключ с последовательно включенным резистором.
Ток в цепи определяется:
I = Uпит / ( Rпередатчика + Rлинии + Rприемника)
Если сопротивление линии намного меньше, чем сопротивление передатчика, то ток в контуре в малой мере зависит от параметров линии.
Приведу пример.
- Допустим сопротивление приемника равно 0. В любом случае мы его знаем, оно стабильно, и его можно учесть в расчетах.
- Если нам необходим ток 20 мА в цепи с нулевым сопротивлением линии, то сопротивление передатчика должно быть R = 12 В / 0,02 А = 600 Ом.
- Сопротивление двойного кабеля длиной 1000 м и сечением 0,35 мм2 составляет 100 Ом. Если мы его подключим к цепи, то ток будет I = 12 В / ( 600 + 100 ) = 0,017 мА.
В итоге. При изменении сопротивления линии от 0 до 100 Ом ток в контуре будет меняться от 20 до 17 мА. Вполне допустимые значения для цифровой “токовой петли”.
Сопротивление резистора передатчика зависит от напряжения питания ключа. Для обеспечения того же тока в линии при увеличении напряжения питания сопротивление резистора необходимо увеличивать. Поэтому чем больше напряжение питания, тем большим может быть сопротивление линии связи.
В качестве приемника обычно используется оптрон. Он сам по себе является токовым приемником и обеспечивает гальваническую развязку.
Источник тока может быть расположен как на приемной, так и на передающей стороне. Узел с источником тока называется активным.
Лучше я объясню все это на практических схемах. Их может быть много. Я приведу основные варианты, наиболее распространенные.
Самая простая схема соединения двух плат Ардуино с помощью ”токовой петли”.
Проще, наверное, не придумать. Передатчиком - источником тока является дискретный выход микроконтроллера с последовательно включенным резистором.
В качестве приемника используется оптрон. Я выбрал PC817. По этой ссылке можно посмотреть его технические характеристики PC817.pdf.
Расчет тока в цепи простой.
I = ( Uпередатчика – Uвх. приемника ) / ( R1 + Rлинии )
Относительно схемы выше при сопротивлении линии равном 0:
I = ( 5 В – 1,3 В ) / 360 Ом = 10,2 мА
Основные недостатки схемы:
- Низкое напряжение на выходе микроконтроллера, а значит небольшое сопротивление последовательного резистора.
- Как следствие, сопротивление линии должно быть достаточно низким, линия не может быть слишком длинной.
- Схема не может обеспечить ток более 10-15 мА из-за невысокой нагрузочной способности выводов микроконтроллера.
Тем не менее, схема вполне рабочая для связи устройств на расстоянии до нескольких десятков и даже сотен метров.
Можете соединить платы Ардуино по этой схеме. Программа из урока 49 будет работать без изменений. Только теперь максимальное расстояние между платами значительно увеличится.
В последней схеме логической 1 на выходе микроконтроллера соответствует отсутствие тока в линии, а при логическом 0 в контуре течет ток 10 мА. Если необходима обратная полярность, то схема будет выглядеть так.
Более совершенные схемы ИРПС.
В предыдущих 2 схемах активными являются передатчики. Гальваническая развязка происходит в приемниках. Устройства гальванически развязаны как бы параллельно линии связи, что не очень хорошо с точки зрения безопасности.
- Любое повреждение кабеля связи может привести к нарушению гальванической развязки.
- Да и главное требование безопасности – это гальваническая развязка устройства от потенциально опасного кабеля связи между устройствами. Кабель, как правило, физически расположен в местах где можно ожидать чего угодно, в том числе и замыкания на опасное для жизни напряжение.
Следующая схема намного совершеннее во всех отношениях.
В ней обеспечиваются гораздо лучшие параметры передатчика, приемника и полная гальваническая развязка от линии связи одного устройства. На рисунке левого устройства.
В передатчике используется выходной ключ оптрона. В правом на схеме устройстве и приемник и передатчик являются активными, а в левом – пассивными. Получается, что левое устройство гальванически развязано от линии связи без применения дополнительного источника питания.
Ток в цепи упрощенно можно рассчитать по формуле:
I = ( Uпит – Uвх. Приемника ) / ( R6 + Rлинии )
Для схемы выше:
I = ( 12 – 1,5 ) / 510 = 20,6 мА.
Диоды VD1-VD4 защищают приемники и передатчики от выбросов и наводок в линии отрицательной полярности. Лучше еще добавить пробивные стабилитроны (супрессоры) для ограничения сигналов по амплитуде, но это другая тема. Но как минимум, диоды на длинных линиях должны быть.
Если для правого устройства использовать гальванически развязанный от микроконтроллера источник питания, то развязаны от линии связи будут оба устройства.
В качестве передатчиков и приемников в схеме используются оптроны. Это приводит к двум проблемам.
Выходной ток оптрона связан с входным коэффициентом передачи. Для различных типов оптронов он имеет разные значения. Но часто разработчики оптронов нормируют его в широких пределах. Например, для CNY74-3H коэффициент передачи составляет от 50 до 600 %.
При минимальном коэффициенте передачи 50 %, для того чтобы обеспечить выходной ток 20 мА, входной ток должен быть 40 мА. Это недопустимое значение, как для выхода микроконтроллера, так и для светодиода оптрона.
Выходной ток оптрона можно увеличить по этой схеме:
Дополнительный транзистор вместе с выходным транзистором оптрона образуют составной транзистор.
Вторая проблема со стороны приемника. Это ток срабатывания оптрона, а значит и приемника. Этот параметр опять же зависит от коэффициента передачи оптрона и может меняться в значительных пределах.
Необходимо задать порог тока, ниже которого приемник срабатывать не будет. Это можно сделать, включив дополнительный резистор параллельно светодиоду оптрона.
Часть тока будет течь через резистор R1. Ток через светодиод оптрона определяется формулой:
Iсветодиода = Iлинии – ( Uпр. светодиода / R 1).
Резистор “заберет” ток Uпр. светодиода / R1. Это и будет порог, к которому надо еще прибавить ток срабатывания оптрона. В это схеме порог равен 1,3 В / 130 Ом = 10 мА.
Использование в ИРПС стабилизатора тока.
Во всех предыдущих схемах стабилизатор тока активной стороны ИРПС реализовывался за счет резистора, включенного последовательно с источником напряжения. При этом ток в контуре зависел, в том числе и от сопротивления линии связи.
I = ( Uпередатчика – Uвх. приемника ) / ( Rпосл. + Rлинии )
Поэтому на сопротивление линии связи накладывалось ограничение. Как правило, оно не должно превышать 10-20 % от Rпосл.
Полностью устранить влияние сопротивления линии связи можно за счет применения стабилизатора тока. Например, по этой схеме.
Ток определяется по формуле:
I = UКЭ VT1 / R2
и для этой схемы составляет 20 мА.
Здесь активным является передатчик. Но ничего не мешает использовать стабилизатор тока на приемной стороне.
Такие схемы позволяют осуществлять передачу данных на большие расстояния. Они в широких пределах компенсируют сопротивление линии связи.
Например, в последних двух схемах:
- задан ток 20 мА;
- напряжение питания 12 В;
- минимальное падение напряжение в передатчике 1,4 В;
- падение напряжения на входе приемника 1,5 В;
- максимально допустимое сопротивление линии связи
Rmax линии = (12 В – 1,4 В – 1,5 В ) / 0,02 А = 455 Ом. - Сопротивление двойного кабеля длиной 1000 м и сечением 0,35 мм2 составляет
R = ρ * L / S = 0,0175 Ом мм2 / м * 2000 м / 0,35 мм2 = 100 Ом.
Т.е. две приведенные выше схемы допускаю длину кабеля связи сечением 0,35 мм2 до 4,5 км.
Если увеличить напряжение питания, то этот параметр станет еще больше. Кстати, в схемах со стабилизатором тока питание может быть не стабилизированным. Источник тока скомпенсирует и эту нестабильность.
Другие конфигурации интерфейсов по принципу токовой петли.
Использую принцип токовой петли можно создать интерфейсы более сложных конфигураций. Например, в системе управления фасовочным оборудованием периферийные контроллеры связываются с центральным по двухпроводной линии связи. Используется принцип токовой петли, но реализована двунаправленная связь.
Со стороны центрального контроллера схема представляет собой резистор, подключенный к выходу микроконтроллера.
У периферийного контроллера схема сложнее.
В ней: приемный оптрон, передающий оптрон и оптрон, разрывающий цепь приемника во время передачи. В момент приема второй оптрон замыкает цепь приемного оптрона. А при передаче разрывает ее, позволяя нижнему оптрону передавать данные. Периферийный контроллер гальванически развязан от линии связи.
Урок получился с редким обилием схем. Основные радиальные интерфейсы я описал. Следующий урок будет посвящен протоколу ModBus.
Спасибо за статью, все очень доходчиво.
В ней: приемный оптрон, передающий оптрон и оптрон, разрывающий цепь приемника во время передачи. В момент приема второй оптрон замыкает цепь приемного оптрона. А при передаче разрывает ее, позволяя нижнему оптрону передавать данные. Периферийный контроллер гальванически развязан от линии связи.
Там точно всё правильно? Передающий оптрон разве не 6N137 на рисунке сверху?
Этот оптрон 6N137 как то интересно нарисован он разве не шунтирован перемычкой 7-8?
Здравствуйте!
Приемный оптрон 6N137. Для приема замыкается выход оптрона MCT6 (7-8) и ток в цепи PC+ и PC- открывает оптрон 6N137. Нижний оптрон (5-6) при приеме должен быть разомкнут.
При передаче оптрон MCT6 (7-8) размыкается и ток цепи PC+ и PC- определяется состоянием нижнего оптрона.
Извините пожалуйста, но с оптроном 6N137 что-то не так… На графике показано, что ток потечет по его выводам 7-5 и выход RxD будет постоянно подтянут к +5V. Ничего не понимаю.
Здравствуйте!
В режиме приема:
— нижний оптрон (5-6) закрыт;
— оптрон MCT6 (7-8) открыт;
— если по цепи PC+, светодиод оптрона 6N137 (2-3), оптрон MCT6 (7-8), PC- протекает ток, то на выходе 6N137 логический 0;
— если в этой цепи тока нет, то на выходе 6N137 логическая 1.
Таким образом, если через выводы PC+ и PC- протекает ток, то на выходе схемы логический 0. В противном случае — логическая 1.
Эдуард здравствуйте!
Я уже много лет люблю схемы на источниках тока.
Если ВЫ пришдете мне ВАШ адрес электронной почты, то я ВАМ отправлю фрагменты наших схем на источниках тока так ка они в графическом формате. У нас ИРПС выполнен на двух источниках тока. Один с с минуса на пассивном источнике токе расчитан на 25 мА. Второй активный рассчитан на 20 мА. Предприятие у которого я позаимствовал основу схемы писало в своей технической документации что при скорости 9600 гарантированная дальность витой пары 1200 метров. Мы проверяли в условиях помех металлургического предприятия связь практически осуществовалась без помех
Здравствуйте!
Я тоже использовал схемы с источниками тока как на передающей, так и на приемной стороне. Как правило это необходимо для тяжелых условий среды передачи. Когда-то на Новочеркасской ГРЭС мне выделили для передачи несколько проводов в силовом кабеле длиной более километра. Только благодаря такой реализации передатчиков и приемников все работало на скорости 19200.
Здравствуйте, Эдуард! Спасибо, в закладки статью однозначно!Хочу разобраться в работе последней схемы. Если я правильно понял, представлен конвертер дуплекс-полудуплекс UART. У меня возникло два вопроса:
1 В приемной части используется высокоскоростной 6N137(по моему он немножко некорректно обозначен на схеме, но не суть), а в передающей MCT6. Хватает ли быстродействия MCT6 для стабильной работы UART?
2 Не маловат ли, по Вашему мнению, номинал резистора 510 Ом? По схеме сигнал далее идет на ножку контроллера RxD. Нужен ли такой большой ток 10 мА?
Еще раз спасибо за материал!
ps извините, погорячился .. 6n137 абсолютно корректно отображен
Здравствуйте!
Вы правильно заметили. В принципе быстродействия MCT6 хватает до скорости 9600. В этой схеме в периферийный контроллер (ПК) данные передаются со скоростью 125000 бод, а данные от ПК в центральный контроллер это всего 8 битов и передаются они по другому протоколу с низкой скоростью.
Ток через резистор 510 Ом течет только когда на выходе оптрона лог. 0. Если я не ошибаюсь, он остался от предыдущего варианта схемы, когда использовался оптрон с выходом открытый коллектор 6N135. Такой ток (10 мА) необходим для быстрого перехода выхода оптрона из состояния лог. 0 в лог. 1.
И спасибо за хороший отзыв.
Спасибо Вам за опыт!!!! С нетерпением жду новую статью!
Эдуард добра и здравия! Ваша рубрика Комментарий может принять фрагмент схемы, выполненном в графическом редакторе?. В книге Титце и Шенк были ПОЛЕЗНЫЕ схемы и НЕ ПРАВИЛЬНЫЕ СХЕМЫ. Может имеет смысл подобный опыт применить и ВАМ на вашем сайте? Я могу прислать рабочие схемы по БАЧП (Блок Аналого-Частотного Преобразования). В этой схеме применяется несколько источников тока на операционных усилителях, которые обеспечивают точность преобразователя сигналов тензодатчиков в частоту с линейностью преобразования лучше 0,01%. Мне нравится ВАШ подход дать информацию шире, чем необходимо только для освещения понимания ИРПС. В .тензометрическом приборе Ф4235 была плата с ИРПС на двух стабилизаторах тока (активном и пассивном). Кстати если посмотреть схему 140УД12, работающем в диапазоне напряжений питания 3-18 В., то широкий диапазон напряжений обеспечивается массовым применением источников тока
Здравствуйте! Спасибо за добрые слова.
Все-таки сайт посвящен в основном программированию.
Вы может выложить схемы на форуме сайта. Откройте новую тему. В первый раз потребуется мое подтверждение, а затем у вас будет доступ.
Эдуард добра и здравия! Спасибо что разрешаете выложить свои наработки на ВАШЕМ форуме.. Я помимо разработки аналого-частотных преобразователей с передачей информации в виде частоты типа МЕАНДР по двухпроводной линии связи (витой паре) долгое время писал программы на ассемблере для блока преобразования частоты в десятичный код. На сегодняшний день решил повторить алгоритм работы прибора дозатора Тензод-200 на ардуино. А также параллельно освоить операционную систему Линукс-МИНТ. Вопрос имеются ли у Вас нароботки по установке среды разработки программ АРДУИНО на эту систему? И еще вопрос по финансам. Географически я живу в моем любимом городе Одесса. В связи с этим всплыавает политическая ЧЕХАРДА , которая создает сложности в пересылке финансов через надуманную границу. Имеется ли на территории Укр-ы кто-то из ВАШИХ знакомых чтобы я ему смог для ВАС перевести ф. через Приват-банк?