Перейти к содержанию
    

uart с трансформаторной развязкой

не, декодер манчестера - это уже тяжело

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

гениально

при том, что я ведь об этом даже знаю

только скорее всего старты/стопы нужно тоже учитывать

и возможно, для эзернетовского трансформатора скорость передачи uart низковата

даже с учётом кодирования

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не совсем понял смысл что-то химичить когда есть куча готовых стандартных вариантов гальванической развязки uart

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

и нафига народ изобретает что-то ещё кроме ?

...

Ну, народ всегда чего-нибудь "изобредает". Особой популярностью пользуются велосипеды.

С конкретными задачами "изобредательство" зачастую связано только косвенно.

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

 

Или я чего-то не понимаю, и у Вас действительно есть задача, требующая изобретательства?

Если задача действительно есть, и "манчестер - это уже тяжело", разберитесь хотя бы с 6b/8b, который Вам уже советовали.

В части железа 6b/8b будет самым лёгким вариантом. Софт - наше всё.

Только вместо 10/100 трансформатора надо взять что-то более подходящее.

 

не совсем понял смысл что-то химичить...

Пока ещё никто не понял, а ТС объяснять не спешит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на счет кучи хотелось бы услышать

и с ценами

и чем таки uart, пусть даже irda, такой нестандарный

 

post-26588-1422528176_thumb.png

 

обнаружилась одна неудобная неожиданность

вход разрешения передатчика необходимо синхронизировать со входом данных

иначе приёмник, через раз, защелкивается не в том состоянии

пока не понятно, как этого избежать, чтобы без дополнительной логики

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

post-26588-1422540065_thumb.png

 

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

 

для сравнения, сколько стоит честный эзеркат ?

т.е. _два_ гальванически изолированных канала с соответствующим камнем

примерно, конечно, навскидку

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

декодер http://www.findpatent.ru/patent/208/2088044.html

 

 

uart оказывается даёт 9 мегабит по максимуму, что почти 10

недостающее можно добрать путём снижения напряжения т.е. резистором последовательно с трансформатором

так что 6->8 - вполне решение

манчестер, кстати, можно легко "декодировать", если передавать 4->8 (или 8->16, некоторые uart`ы поддерживают)

что может быть даже и удобнее, чем 6->8

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

только скорее всего старты/стопы нужно тоже учитывать

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

 

обнаружилась одна неудобная неожиданность

вход разрешения передатчика необходимо синхронизировать со входом данных

иначе приёмник, через раз, защелкивается не в том состоянии

пока не понятно, как этого избежать, чтобы без дополнительной логики

 

Чтобы не париться с моментом включения, достаточно перед началом пакета посылать преамбулу с кодом 0х55. Тогда алгоритм передачи пакета такой:

- начинаем гнать байты преамбулы 0х55

- включаем передатчик

- ждем пока хотя бы пара-тройка 0х55 уйдет на выxод и сбалансирует трансформатор(ы) (понятное дело, что проще приклеить несколько байтов преамбулы 0х55 к началу передаваемого буфера, чем ждать)

- передаем два байта 0хF0; первый из них, возможно, будет принят неправильно, зато он прочистит UART; второй байт 0xF0 будет принят правильно

- по приходу 0хF0 очищаем приемный буфер, затем принимаем все символы вплоть до символа "конец пакета", после чего проверяем и CRC т.д.

- если во время приема приходит символ, не соответствующий кодировке 6b8b, то очищаем буфер (пакет битый)

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

post-26588-1422575948_thumb.png

 

скорее всего на этом я и остановлюсь

плюс что-нибудь типа 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

 

 

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

 

post-26588-1422643044_thumb.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну и остался наверно последний вопрос по топику - как упихать два конца витой пары, приходящий сверху и уходящий вниз, в один разъём rj45, подключаемый к розетке rj45 слейва ?

в моск приходит пока только один вариант - пассивный хаб на несколько подключений

там один разъем, от которого кабель уходит вниз, от мастера к первому слейву

в слейве 1я и 2я пары разводятся на трансформаторы приемника и передатчика

а так же параллелятся на контакты 3й и 4й пары, по которым возвращаются в хаб

там они идут ко второму разъёму к контактам 1й и 2й пары, по которым уходят ко второму слейву

ну и так далее зигзагом, через все слейвы к последнему разъёму с терминатором

все свободные разъемы можно обойти при помощи одного патч-корда, который подключается от первого свободного сразу на терминатор

как вам такая вот колбаса ?

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...