реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Гальваническая развязка RS 485, Поиск оптимального способа по деньгам
alex2k3
сообщение Jul 24 2008, 19:32
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 15-10-05
Пользователь №: 9 673



Здравствуйте.
Подскажите как можно гальванически развязать линию связи и трансивер RS 485 или развязкулучше делать через оптопару после трансивера? Нашел такую микросхему MAX3535EEWI (даташит). В рознице порядка 200 рублей, не считая обвязки. Можноли достичь того же результата за меньшие деньги?
Спасибо всем откликнувшимся.
Go to the top of the page
 
+Quote Post
man with no name
сообщение Jul 24 2008, 22:58
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 158
Регистрация: 6-08-07
Из: Moscow
Пользователь №: 29 586



Можно использовать MAX1480 - не дешевле, но отпадает необходимость в трансформаторе.

Дешевле наверно может получиться лишь с простеньким DC-DC преобразователем и ADUM1301 (кажется, она с 2 tx, 1 rx?). Но это надо считать smile.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 25 2008, 02:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Ну MAX1480 это классическое и многократно проверенное временем решение. Но не самое дешевое. Если предполагается "обычный" коммуникационный RS-485 со скоростями до 115200 (а не какой-то монстроидально-специфический на десяток МГц) и с изоляцией до 500В, то у нас самый дешевый вариант получается с использованием нерегулируемого 1Вт DC/DC (типа RE-0505S, AM1S-0505S и подобных) + 3 шт. H11L1(S) для гальваноразвязки какого-нибудь драйвера типа ADM485. С применением ADUM1301 получается подороже, т.к. ADUM1301 дороже 3 шт. H11L1 да еще для него уже нужен DC/DC с нормальной стабилизацией выходного напряжения. Есть еще варианты гальваноразвязанного RS485 типа ADM2482E, требующий лишь внешнего трансформатора.
Go to the top of the page
 
+Quote Post
alex2k3
сообщение Jul 25 2008, 05:10
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 15-10-05
Пользователь №: 9 673



Правильно ли я понял, что у MAX1480 в корпусе микросхемы так же есть гальваническая развязка по питанию. Во всех остальных случаях и производится внешними элементами? И еще вопрос: какие есть решения для автоматического определения направления передачи данных без применения контроллера?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 25 2008, 05:22
Сообщение #5


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(alex2k3 @ Jul 25 2008, 09:10) *
какие есть решения для автоматического определения направления передачи данных без применения контроллера?

У макса в даташитах есть схемы с автоопределением направления. Там по-моему нога направления тупо садится на DO, но это наверно не все драйвера поддерживают.
Вот, например


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
jasper
сообщение Jul 25 2008, 05:31
Сообщение #6


Народный чинитель
***

Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811



Есть еще хорошие штуки у Texas Instruments iso3080, iso3082, iso3086, iso3088.
Стоят дешевле, чем алогичные изделия Analog Devices серии ADUM, только жрут поболее.

Цитата
И еще вопрос: какие есть решения для автоматического определения направления передачи данных без применения контроллера?

Ставится ждущий мультивибратор, который переключает направление при поступлении данных на передачу. Это решение подходит только для строго определенных скоростей передачи, естественно.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 25 2008, 05:59
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(alex2k3 @ Jul 25 2008, 11:10) *
Правильно ли я понял, что у MAX1480 в корпусе микросхемы так же есть гальваническая развязка по питанию. Во всех остальных случаях и производится внешними элементами?
Да, верно. MAX1480 это интегральная схема, содержащая внутри как (опто)изоляцию, так и питание изолированной части (драйвера).
Цитата(alex2k3 @ Jul 25 2008, 11:10) *
И еще вопрос: какие есть решения для автоматического определения направления передачи данных без применения контроллера?
Самый простой способ это перезапускаемый одновибратор, (пере)запускаемый по перепаду 1->0 сигнала передатчика. Длительность импульса одновибратора настраивается на время передачи одного символа. Но время передачи символа зависит от скорости передачи, в этом основной недостаток данного способа. Другие способы используют буферизацию с вычислением скорости передачи и/или "заточены" на конкретные протоколы связи.
Go to the top of the page
 
+Quote Post
Владимир
сообщение Jul 25 2008, 06:49
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



Цитата(man with no name @ Jul 25 2008, 01:58) *
Можно использовать MAX1480 - не дешевле, но отпадает необходимость в трансформаторе.

Дешевле наверно может получиться лишь с простеньким DC-DC преобразователем и ADUM1301 (кажется, она с 2 tx, 1 rx?). Но это надо считать smile.gif


A вот пример из схемы beer.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
alex2k3
сообщение Jul 25 2008, 07:41
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 15-10-05
Пользователь №: 9 673



Спасибо всем ответившим!
Скорее всегу буду применять
"с использованием нерегулируемого 1Вт DC/DC (типа RE-0505S, AM1S-0505S и подобных) + 3 шт. H11L1(S) для гальваноразвязки какого-нибудь драйвера типа ADM485"
Это самый дешевый способ из всех предложеных.
Над направлением передачи еще подумаю
Go to the top of the page
 
+Quote Post
man with no name
сообщение Jul 25 2008, 22:11
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 158
Регистрация: 6-08-07
Из: Moscow
Пользователь №: 29 586



Если завести сигнал ~drive enable (~DE) на data input (DI), притом сделать так на всех устройствах сети, то вы теряете в помехозащищённости (т.к. уровень логической единицы формируется подтягивающими резисторами) и скорости (изза ёмкостей входов), зато получаете защиту передатчиков от случайной встречной передачи (одновременной передачи разных сигналов несколькими передатчиками).
Если для увеличния скорости вы попытаетесь сильно задрать проводимость подтягивающих резисторов, наткнётесь на интересный глюк: так как фронты сигнала не вертикальные, то вы сдвинете сигнал в сторону логической единицы (сдвиг трапеции dataP-dataN вверх). И при этом у вас длительность единичного бита станет больше, чем длительность нулевого - новый источник помех.
А вобще, такая защита нафиг не нужна, т.к. можно просто ставить последовательно к выходу резисторы ом по 30-50.

UPD: да, но это всё касается только варианта с наличием RTS. Если его нет, то, пожалуй, варианта для управления передачей, прощё, чем завести ~DI на DE мне в голову не приходит.
Go to the top of the page
 
+Quote Post
Mike18
сообщение Jul 26 2008, 02:38
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 23-12-06
Из: Старых Васюков
Пользователь №: 23 821



Цитата(rezident @ Jul 25 2008, 09:59) *
Самый простой способ это перезапускаемый одновибратор, (пере)запускаемый по перепаду 1->0 сигнала передатчика. Длительность импульса одновибратора настраивается на время передачи одного символа. Но время передачи символа зависит от скорости передачи, в этом основной недостаток данного способа. Другие способы используют буферизацию с вычислением скорости передачи и/или "заточены" на конкретные протоколы связи.
Попадался не совсем "честный" smile.gif , но вполне работоспособный способ с "автопереключением". Линия "DE" удерживается в состоянии "1" во время формирования "0" передатчиком, перепад "0->1" запускает одновибратор, который задерживает перевод драйвера в режим приёма на время, достаточное для формирования в кабельной части динамического перехода "0->1". Это время определяется "шириной" одного информационного бита на максимальной используемой скорости.

То есть, "0" передатчика переводит и удерживает драйвер в режиме передачи, переход "0->1" обеспечивает необходимую динамику перехода "0->1" в кабельной части, а следующие за этим переходом в передатчике "1" обеспечиваются в кабельной части подтягивающими резисторами.

Сообщение отредактировал Mike18 - Jul 26 2008, 02:45


--------------------
Время - материя тонкая и неточная...
Go to the top of the page
 
+Quote Post
Владимир
сообщение Jul 26 2008, 05:20
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



Цитата(Mike18 @ Jul 26 2008, 05:38) *
Попадался не совсем "честный" smile.gif , но вполне работоспособный способ с "автопереключением". Линия "DE" удерживается в состоянии "1" во время формирования "0" передатчиком, перепад "0->1" запускает одновибратор, который задерживает перевод драйвера в режим приёма на время, достаточное для формирования в кабельной части динамического перехода "0->1". Это время определяется "шириной" одного информационного бита на максимальной используемой скорости.

То есть, "0" передатчика переводит и удерживает драйвер в режиме передачи, переход "0->1" обеспечивает необходимую динамику перехода "0->1" в кабельной части, а следующие за этим переходом в передатчике "1" обеспечиваются в кабельной части подтягивающими резисторами.


Вот только задержка не на бит а на байт
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jul 26 2008, 06:28
Сообщение #13


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(alex2k3 @ Jul 25 2008, 08:10) *
И еще вопрос: какие есть решения для автоматического определения направления передачи данных без применения контроллера?

Хочу заточить под это PIC10. С учетом стоим. платы может выйти не дороже мльтивибратора с обвязкой, а функциональность будет далеко не кривая.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 26 2008, 10:57
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Mike18 @ Jul 26 2008, 08:38) *
Попадался не совсем "честный" smile.gif , но вполне работоспособный способ с "автопереключением". Линия "DE" удерживается в состоянии "1" во время формирования "0" передатчиком, перепад "0->1" запускает одновибратор, который задерживает перевод драйвера в режим приёма на время, достаточное для формирования в кабельной части динамического перехода "0->1". Это время определяется "шириной" одного информационного бита на максимальной используемой скорости.

То есть, "0" передатчика переводит и удерживает драйвер в режиме передачи, переход "0->1" обеспечивает необходимую динамику перехода "0->1" в кабельной части, а следующие за этим переходом в передатчике "1" обеспечиваются в кабельной части подтягивающими резисторами.

ИМХО это шаманство для настольного варианта. Я когда разрабатывал свой конвертор-репитер, то вводил еще и обязательную задержку битового потока во время переключения драйвера на передачу. Т.е. битовый поток с полезным сигналом на выход драйвера поступал к тому моменту, когда в линии уже все переходные процессы "устаканились". И выключался передатчик драйвера также с небольшой задержкой. Это нужно было для RTU-ных протоколов, где начало/конец пакета определяется "паузой тишины". Работает даже и без подтяжек.
Go to the top of the page
 
+Quote Post
Mike18
сообщение Jul 26 2008, 12:10
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 23-12-06
Из: Старых Васюков
Пользователь №: 23 821



Цитата(Владимир @ Jul 26 2008, 09:20) *
Вот только задержка не на бит а на байт
В описанном варианте именно на бит, или даже на его часть в случае работы на меньших скоростях. То есть схема вполне пригодна для "настольного варианта" smile.gif работы с автопереключением на разных скоростях и минимальной (нулевой) задержкой готовности к приёму после передачи стопового бита.
Цитата(rezident @ Jul 26 2008, 14:57) *
ИМХО это шаманство для настольного варианта.
Согласен.
Цитата
Я когда разрабатывал свой конвертор-репитер, то вводил еще и обязательную задержку битового потока во время переключения драйвера на передачу. Т.е. битовый поток с полезным сигналом на выход драйвера поступал к тому моменту, когда в линии уже все переходные процессы "устаканились". И выключался передатчик драйвера также с небольшой задержкой. Это нужно было для RTU-ных протоколов, где начало/конец пакета определяется "паузой тишины". Работает даже и без подтяжек.
И это правильно! Вот только работа без подтяжек, IMHO, это тоже шаманство smile.gif , предполагающее, что к сети будут подключаться только такие драйверы, которые это отсутствие допускают.


--------------------
Время - материя тонкая и неточная...
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 16:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01513 секунд с 7
ELECTRONIX ©2004-2016