Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: uart с трансформаторной развязкой
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
Огурцов
применял ли кто-нибудь эзернетовский трансформатор на 10 или 100мбит для развязки обычных сегодня интерфейсов мк, типа uart/lin/can, особенно irda ?
на первый взгляд вроде бы вполне может получиться ?
NikolayXXX
А как быть с постоянкой?
Огурцов
модуляцию прикрутить
даже 1(мбит) к 10(мгц) может иметь шанс, а уж 1 к 100 подавно
просто хочется посмотреть на готовое, чтобы вновь не изобретать


i2s еще забыл, но он кажется даже сразу манчестер
NikolayXXX
С модуляцией это будет уже как то наворочено. Оптопара как то попроще.
Огурцов
Цитата(NikolayXXX @ Jan 25 2015, 21:29) *
С модуляцией это будет уже как то наворочено. Оптопара как то попроще.

в stm32 irda как-то через дополнительный _внутренний_ таймер модулируется, так что может и не навороченно
_4afc_
Цитата(Огурцов @ Jan 25 2015, 23:59) *
применял ли кто-нибудь эзернетовский трансформатор на 10 или 100мбит для развязки обычных сегодня интерфейсов мк, типа uart/lin/can, особенно irda ?
на первый взгляд вроде бы вполне может получиться ?


А чем трансформатор помешает? Вот если за ним 100 метров витой пары будет - вот это вопрос.

Цитата(Огурцов @ Jan 25 2015, 23:59) *
модуляцию прикрутить даже 1(мбит) к 10(мгц) может иметь шанс,


А много ли постоянной состовляющей в 500кГц?

В любом случае вам надо задуматься о приёмнике т.е. демодуляторе или восстановителе.

Цитата(Огурцов @ Jan 25 2015, 23:59) *
i2s еще забыл, но он кажется даже сразу манчестер


Нет. Это синхронная шина.

Берите RS422 и гоняйте его через трансформаторы...
NikolayXXX
Цитата(_4afc_ @ Jan 26 2015, 01:20) *
А много ли постоянной состовляющей в 500кГц?

Интересный вопрос. sm.gif А есть связь между частотой и постоянной составляющей?
Огурцов
Цитата(_4afc_ @ Jan 25 2015, 23:20) *
А чем трансформатор помешает? Вот если за ним 100 метров витой пары будет - вот это вопрос.

надо метров пять-десять

Цитата(_4afc_ @ Jan 25 2015, 23:20) *
В любом случае вам надо задуматься о приёмнике т.е. демодуляторе или восстановителе.

задумался
хотел ограничиться диодом с конденсатором
однако, наверное будет более логично вход умножить на несущую

Цитата(_4afc_ @ Jan 25 2015, 23:20) *
Берите RS422 и гоняйте его через трансформаторы...

в общем, вы меня правильно поняли
почему же такое не встречается в инете ?
vladec
В инете такое не встречается, должно быть потому, что так делать не стоит, это как удалять миндалины через анальное отверстие - современная медицина поволяет но через рот лучше. Просто возьмите обычный дрейвер RS-485 со встроенной гальваноразвязкой, что нибуть типа ADM2483BRW.
=AK=
Цитата(NikolayXXX @ Jan 26 2015, 07:36) *
А как быть с постоянкой?

Очень просто. Перед подачей на транс сигнал прогнать через дифференцирующую цепочку, чтобы через транс проходили только короткие импульсы на фронтах. А сигнал с выхода транса восстановить RS-триггером. Лет 25 назад я таким образом гальванически изолировал NRZ интерфейс со скоростью более 300 кбод, прекрасно все работало.

Цитата(Огурцов @ Jan 26 2015, 16:51) *
почему же такое не встречается в инете ?

Встречается. Смотрите ADuM от Analog Devices
Огурцов
Цитата(vladec @ Jan 26 2015, 07:24) *
Просто возьмите обычный дрейвер RS-485 со встроенной гальваноразвязкой

но ему все равно потребуется трансформатор




Цитата(=AK= @ Jan 26 2015, 08:15) *
RS-триггером

идею понял, вариант


если на вход данных 422 подать модуляцию, а на вход разрешения данные с irda, на трансформаторе получим пачки импульсов, соответствующие активным битам
как их поинтереснее собрать в приёмнике, кроме банального диода с конденсатором ?


еще вариант - передавать нолики по одной паре, единички - по другой
Огурцов
в данном случае вместо rs-тригера, как я понимаю, вполне можно ограничиться слабой пос по входу 422го приемника
vladec
Да зачем же ему потребуется трансформатор, когда он уже гальваноразвязан? Ему нужен только для запитки линейной стороны, маленький DC-DC преобразователь на 1 Вт, каких много (например AM1D-0505S). При этом Вы получаете стандартное изолированное решение.
prig
Цитата(vladec @ Jan 26 2015, 10:24) *
В инете такое не встречается, должно быть потому, что так делать не стоит, это как удалять миндалины через анальное отверстие - современная медицина поволяет но через рот лучше. Просто возьмите обычный дрейвер RS-485 со встроенной гальваноразвязкой, что нибуть типа ADM2483BRW.


Ну, на самом деле причины в другом. В 90-е такие решения использовались. Как раз в сочетании с приёмопередатчиками RS-485/422.
При наличии последовательного порта с режимом NRZ, Манчестера и т.п., получается дешевле и проще.

Другой вопрос, что элементная база, подходы и стандартные решения сейчас не те, что в 90-е.
Соответственно, подходящих для этого дела, интегрированных портов теперь не сыщешь.
А приживлять самому кодирование/модуляцию из расчёта трансформаторной изоляции большого смысла не имеет.
В конечном счёте, решение с приёмопередатчиками RS-485 со встроенной гальваноразвязкой будет дешевле и удобней.

П.С. Естественно, трансформаторы 10/100 в 90-е не использовались. Брали "помедленнее". С этим и сейчас проблем нет.
Огурцов
мы конечно можем поговорить, какой интерфейс лучше
только вот почему-то их до сих пор вагон и маленькая тележка
ну если хотите... 1. эзернет на оптике 2. эзернет на меди
оба тяжёлые, требуют дополнительные внешние компоненты
но весьма хороши стандартизированными разъемами
к сожалению, проциков с интегрированной физикой, пока собирался, я уже не застал
дальше - uart через оптику s/pdiff - но в рознице совершенно ничего нет
can - медленный, опять же для гальванической развязки куча всяческого дополнительного снаружи
ну и вот, если всё это положить в одну коробочку и потрясти, то оттуда можно достать...сабж
стандартный разъем, не занимает места на плате, не требует дополнительных компонетов, элементарный, 100500 раз отлаженный протокол, поддерживаемый совершенно любыми камнями
и нафига народ изобретает что-то ещё кроме ? не догадались ? или объективные причины ?


Цитата(prig @ Jan 27 2015, 10:23) *
Манчестера

не, декодер манчестера - это уже тяжело, с тем же успехом можно воткнуть какое-нибудь аналоговое радио на си-би или вообще цифровой чип, коих сейчас ещё больше, в т.ч. интегрированных с мк - места займёт не больше dc/dc
=AK=
Цитата(Огурцов @ Jan 28 2015, 08:34) *
не, декодер манчестера - это уже тяжело

Чтобы передавать сигнал через трансформатор, совсем не обязательно использовать Манчестер. Гигабитный Эзернет использует код 8b/10b, он тоже сбалансирован по постоянному току, как и Mанчестер. Однако по-хорошему 8b/10b тоже требует специального железа. А вот 6b/8b никакого железа не требует (с мизерными издержками реализуется программно) и прекрасно ложится на обычный UART. И заодно обеспечивает проверку на четность.
Огурцов
гениально
при том, что я ведь об этом даже знаю
только скорее всего старты/стопы нужно тоже учитывать
и возможно, для эзернетовского трансформатора скорость передачи uart низковата
даже с учётом кодирования
Огурцов
Нажмите для просмотра прикрепленного файла

а вроде бы неплохо
ZASADA
не совсем понял смысл что-то химичить когда есть куча готовых стандартных вариантов гальванической развязки uart
prig
Цитата(Огурцов @ Jan 28 2015, 01:04) *
...
и нафига народ изобретает что-то ещё кроме ?
...

Ну, народ всегда чего-нибудь "изобредает". Особой популярностью пользуются велосипеды.
С конкретными задачами "изобредательство" зачастую связано только косвенно.
Я так понимаю, ваш случай из той же серии. Городить нестандартный интерфейс ради сомнительной выгоды...

Или я чего-то не понимаю, и у Вас действительно есть задача, требующая изобретательства?
Если задача действительно есть, и "манчестер - это уже тяжело", разберитесь хотя бы с 6b/8b, который Вам уже советовали.
В части железа 6b/8b будет самым лёгким вариантом. Софт - наше всё.
Только вместо 10/100 трансформатора надо взять что-то более подходящее.

Цитата(ZASADA @ Jan 29 2015, 12:52) *
не совсем понял смысл что-то химичить...

Пока ещё никто не понял, а ТС объяснять не спешит.
Огурцов
на счет кучи хотелось бы услышать
и с ценами
и чем таки uart, пусть даже irda, такой нестандарный

Нажмите для просмотра прикрепленного файла

обнаружилась одна неудобная неожиданность
вход разрешения передатчика необходимо синхронизировать со входом данных
иначе приёмник, через раз, защелкивается не в том состоянии
пока не понятно, как этого избежать, чтобы без дополнительной логики
Огурцов
Нажмите для просмотра прикрепленного файла

вот так задний фронт покруче

для сравнения, сколько стоит честный эзеркат ?
т.е. _два_ гальванически изолированных канала с соответствующим камнем
примерно, конечно, навскидку
Огурцов
декодер http://www.findpatent.ru/patent/208/2088044.html


uart оказывается даёт 9 мегабит по максимуму, что почти 10
недостающее можно добрать путём снижения напряжения т.е. резистором последовательно с трансформатором
так что 6->8 - вполне решение
манчестер, кстати, можно легко "декодировать", если передавать 4->8 (или 8->16, некоторые uart`ы поддерживают)
что может быть даже и удобнее, чем 6->8
=AK=
Цитата(Огурцов @ Jan 28 2015, 14:57) *
только скорее всего старты/стопы нужно тоже учитывать

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

Цитата(Огурцов @ Jan 28 2015, 14:57) *
обнаружилась одна неудобная неожиданность
вход разрешения передатчика необходимо синхронизировать со входом данных
иначе приёмник, через раз, защелкивается не в том состоянии
пока не понятно, как этого избежать, чтобы без дополнительной логики


Чтобы не париться с моментом включения, достаточно перед началом пакета посылать преамбулу с кодом 0х55. Тогда алгоритм передачи пакета такой:
- начинаем гнать байты преамбулы 0х55
- включаем передатчик
- ждем пока хотя бы пара-тройка 0х55 уйдет на выxод и сбалансирует трансформатор(ы) (понятное дело, что проще приклеить несколько байтов преамбулы 0х55 к началу передаваемого буфера, чем ждать)
- передаем два байта 0хF0; первый из них, возможно, будет принят неправильно, зато он прочистит UART; второй байт 0xF0 будет принят правильно
- по приходу 0хF0 очищаем приемный буфер, затем принимаем все символы вплоть до символа "конец пакета", после чего проверяем и CRC т.д.
- если во время приема приходит символ, не соответствующий кодировке 6b8b, то очищаем буфер (пакет битый)

Поскольку при кодировании 6b8b число валидных символов больше чем 64, то для передачи данных в пакете символы 0x55, 0xF0 и "конец пакета" (который выбирается произвольно) - не используются.
Огурцов
Нажмите для просмотра прикрепленного файла

скорее всего на этом я и остановлюсь
плюс что-нибудь типа ds8923 за доллар
с разу на два канала, один от мастера и дальше к следующим слейвам, другой от слейвов к мастеру
надеюсь, на дюжине последовательных трансиверов задержки не сильно уйдёт
Огурцов
ещё вопрос, а если не пропускать сигнал с входного разъёма rj45 через трансформатор, приёмник, драйвер и ещё один трансформатор на выходной разъём, а сразу пробросить с разъёма на разъём, т.е. типо в аналоге
а через трансформатор подключать только свой приёмник
конечно это нестандартно для эзернетовского трансформатора, но зато весьма стандартно для драйверов rs422
как там ёмкости/индуктивности ?
максимум нужно до дюжины слейвов, а реально полдюжины и расстояния в пределах одной комнаты
Огурцов
LTC6820 - isoSPI Isolated Communications Interface

1Mbps Isolated SPI Data Communications
Simple Galvanic Isolation Using Standard Transformers
Bidirectional Interface Over a Single Twisted Pair
Supports Cable Lengths Up to 100 Meters

http://www.linear.com/product/LTC6820


опаньки, ну и кто сказал, что это не возможно:

Нажмите для просмотра прикрепленного файла
Огурцов
ну и остался наверно последний вопрос по топику - как упихать два конца витой пары, приходящий сверху и уходящий вниз, в один разъём rj45, подключаемый к розетке rj45 слейва ?
в моск приходит пока только один вариант - пассивный хаб на несколько подключений
там один разъем, от которого кабель уходит вниз, от мастера к первому слейву
в слейве 1я и 2я пары разводятся на трансформаторы приемника и передатчика
а так же параллелятся на контакты 3й и 4й пары, по которым возвращаются в хаб
там они идут ко второму разъёму к контактам 1й и 2й пары, по которым уходят ко второму слейву
ну и так далее зигзагом, через все слейвы к последнему разъёму с терминатором
все свободные разъемы можно обойти при помощи одного патч-корда, который подключается от первого свободного сразу на терминатор
как вам такая вот колбаса ?
Огурцов
poe: стоит ли связываться для питания слейвов ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.