Полный дуплекс по одной паре проводов

Нижеописанный интерфейс я назвал RS-486.5 (четыреставосемьдесятшесть с половиной), это я сам придумал, никакой связи со стандартами протоколов это неимеет.

RS-486.5 — физический интерфейс передачи данных призванный победить болезни широкораспространенного RS-485.

Не совсем по теме, если неинтересно пропускаем (это подзаголовок).

Просто напомню список главных болезней RS-485-го:

  1. Нет полного дуплекса в 2-х проводном варианте, даже в 4-х проводном варианте в многоточечном режиме как такового полного дуплекса тоже нет т.к. в этом случае все устройства кроме одного (ведущего), большую часть времени могут только принимать но не передавать.
  2. Дорогие и неоправданно сложные преобразователи интерфейсов с гальванической развязкой (UART/RS485, RS232/RS485). Так в типовом преобразователе, кроме 2-х оптронов и микросхемы трансмиттера дополнительно присутствуют: логика формирования сигнала RTS, третий оптрон для RTS и dc/dc преобразователь. Для формирования качественного сигнала RTS как правило используют микроконтроллер.
  3. Нет типизированных коннекторов/соединителей.
  4. Постоянные вопросы связанные с терминированием/согласованием линии. Нет четких 100% работающих рекомендаций на этот счет. Многоточечная линия позволяет сэкономить на преобразователях (одно конечное устройство — один преобразователь), но усложняет согласование линии и снижает общую надежность системы на основе сети RS-485. Например случайная подача повышенного напряжения в линию выводит из строя все устройства на этой линии.
  5. Постоянные вопросы связанные с экранированием и уравниванием потенциалов. Нет четких 100% работающих рекомендаций на этот счет.

До определенного момента RS-485-ый меня полностью удовлетворял. Там где он обычно работает — он работает неплохо. Но возникла потребность встроить возможность передачи данных в каждую розетку и лампочку. Причем связь должна быть быстрой — до 1Мбс. Конечно лампочке такая скорость никчему, ну и пусть лампочка работает себе на скорости 10кбс, но из за этой лампочки общая скорость сети не должна снижаться.

Естественно речь идет об умном доме. И естественно сразу понятно, что ни один интерфейс под такие требования (дешевизна, скорость до 1Мбс, г.развязка) не подходит. KNX — медленно, Ethernet — дорого и накладно, RS-485 — см.выше. Остались CAN и RS-422. CAN хорош, но опять таки это многоточка и полудуплекс, а от них я решил отказаться.

RS-422 — почти идеален, и возможно это именно то что я искал, но из-за схожести с отвратным RS-485 был отвергнут. У него тоже можно найти недостатки: необходимость в dc/dc конвертерах и относительная дороговизна ИМС трансмиттеров. Кроме того для работы нужны 2 пары для передачи данных + доп.проводники (экраны, потенциалы, возможно питание), то есть больше чем 2 пары проводов (экранированный двухпарный кабель минимально достаточен).

Далее по делу (это тоже подзаголовок).

Итак, уже больше века известен принцип телефонной связи по паре проводов. Такая связь работает одновременно в обе стороны, то есть полнодуплексная. Аналогичный принцип использован в RS-486.5(далее RS.5). На рисунке 1 изображена поясняющая схема. Передатчик Tx1(2)-Com, находится либо в состоянии 0 либо 1 и не имеет высокоомного состояния. Получается, что оба конца линии всегда согласованны/терминированы на сопротивление 120 Ом. Приемником сигнала с линии является пороговое устройство (Comp1(2)), которое вычитает из суммарного сигнала присутствующего в линии сигнал передаваемый собственным передатчиком и формирует принимаемый сигнал Rx1(2)-Com. Таким образом возможна одновременная работа в обоих направлениях. Наименования Rx и Tx, как уже понятно, здесь взяты по отношению к внешнему устройству (микроконтроллер например).

Принцип работы

Рисунок 1


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

Система RS.5

Рисунок 2

В моей реализации преобразователи RS-.5 не имеют собственного источника питания трансмиттера. Дело в том, что кабель типа витая пара всегда имеет как минимум 2 пары проводов. Поэтому, я задействовал еще одну пару проводов для передачи напряжения питания всех трансмиттеров в линии/сети. Это позволяет избавиться от dc/dc конвертеров (вещь довольно не дешевая). Все приемопередающие части преобразователей можно питать от одного источника питания. Если сеть большая ИП может быть и больше чем один естественно.
На картинке нарисована коробочка с двумя портами и надписью RS-.5 Switch — на самом деле возможность коммутировать данные в сети асинхронной передачи данных определяется используемым протоколом. На практике я такого не встречал ни в одном протоколе, но реализовать нетрудно.

После проработки основных принципов была разработана принципиальная схема UART to RS.5 трансмиттера (Рисунок 3).

Принципиальная схема

Рисунок 3

Хотя там разрабатывать нечего. Оптроны выбрал самые дешевые из не самых медленных — H11L1. Заявленная скорость до 1Мб. На скорости 115200 работает хорошо. Хотя есть неприятный момент: один оптрон работал вплоть до скорости 921 600 бит в секунду, тогда как другой спотыкался уже на 230 400 бит в секунду. При осциллографической диагностике оказалось что все оптроны H11L1 перетягивают задний фронт. В общем это не проблема, можно оптроны подобрать по вкусу.
Так все выглядит в железе (конечно же это тестовые железки):

transmitters

Рисунок 4

Коробочки

Рисунок 5

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

3 комментария читателей статьи «Полный дуплекс по одной паре проводов»

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