Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RS-485, соединение звездой.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Oleg_IT
Очень нужно по конструктивным соображениям соединить двенадцать слейвов с мастером звездой по RS-485. Мастер это МК ATMega128. На стороне мастера ставлю двенадцать преобразователей из RS-485 в UART, например MAX485E_S, и уже этот UART подключаю к МК звездой. Прошу подтвердить будет ли работать такая схема или есть другое решение?
Nixon
Не понятна предлагаемая структура. У слейвов только RS232 есть?
Oleg_IT
У слейвов только 485.
zltigo
Поиск:
http://www.google.lv/search?hl=ru&clie...tart=0&sa=N

Только звезда у Вас всуе помянута - то,что описано, это 12 штук точка-точка с коммутатром о котором почему-то не помянули.
DpInRock
485 разный бывает. 4 провода, 2 провода.
Oleg_IT
В интерфейсе 2 провода. А что, в данном случае могут быть варианты?
Коммутатор, как отдельное устройство, на своей плате или во вне ставить не хочу. Можно было бы сделать так, поставить одну МС MAX485E_S, с одной стороны соединить её с Мегой, а с другой каждый слейв своим 485. Но так работать не будет. И поэтому я от каждого слейва преобразую 485 в UART и соединяю их с одним портом UART-а Меги. Но и в этом случае есть сомнения, потянет ли один порт 12 MAX485E_S или ей подобные? И может ещё какие проблемы могут быть.
zltigo
Цитата(Oleg_IT @ Jan 13 2010, 23:50) *
Но и в этом случае есть сомнения, потянет ли один порт 12 MAX485E_S или ей подобные? И может ещё какие проблемы могут быть.

Что "потянет" один ВЫХОД приемника засадить оставшиеся 11 выходов smile.gif не потянет. Еще есть "идеи"? Или коммутатор выходов приемников, или в качестве халтуры их монтажное или через нечто с OD/OK/Диод.




Цитата(DpInRock @ Jan 13 2010, 22:49) *
485 разный бывает. 4 провода, 2 провода.

Если-бы у бабушки был... 485 были 4 провода, то он был-бы 422 smile.gif
Dog Pawlowa
Цитата(zltigo @ Jan 14 2010, 01:01) *
Если-бы у бабушки был... 485 были 4 провода, то он был-бы 422 smile.gif

Меня после такого тыкали в стандарты и я смутился smile.gif

Цитата(Oleg_IT)
"Можно было бы сделать так, поставить одну МС MAX485E_S, с одной стороны соединить её с Мегой, а с другой каждый слейв своим 485. Но так работать не будет."

Это еще почему? У всех работало, работает, и будет работать, а у Вас нет? Мотивируйте.
DpInRock
Ничего не понимаю. Как можно такой простой вопрос так замутить.
Есть три линии А Б и земля. Все устройства сидят на этих линиях ПАРАЛЛЕЛЬНО. Точка.
Скоко чип интерфейсный позволяет, чтолько и сидят. Какая еще там звезда или не звезда...
zltigo
Цитата(Dog Pawlowa @ Jan 14 2010, 00:11) *
Меня после такого тыкали в стандарты и я смутился smile.gif

Это смотря что считать стандартом - их где-то четыре sad.gif + редакции. В последних ISOшных цифири 422/485 вообще походя поминаются в качестве так или иначе совместимых предшественников.
Цитата(DpInRock @ Jan 14 2010, 00:46) *
Какая еще там звезда или не звезда...

Все очень просто - звездой, конечно можете соединить, и даже где-то как-то работать будет. Но звезда это погано для этого интерфейса.
МП41
Цитата(DpInRock @ Jan 13 2010, 23:46) *
Ничего не понимаю. Как можно такой простой вопрос так замутить.
Есть три линии А Б и земля. Все устройства сидят на этих линиях ПАРАЛЛЕЛЬНО. Точка.
Скоко чип интерфейсный позволяет, чтолько и сидят. Какая еще там звезда или не звезда...

Не даром же резисторы-"терминаторы" ставятся на самых дальних концах линии. А в звезде их уже так не повесишь.
Dog Pawlowa
Цитата(МП41 @ Jan 14 2010, 01:58) *
...А в звезде их уже так не повесишь.

Ни скорость, ни дальность не оговорены, обсуждение топологии без этого не имеет смысла.
МП41
Картинка из одного документа, описывающего RS-485.
Нажмите для просмотра прикрепленного файла
MrYuran
Поскольку словесное описание непонятно/неоднозначно (хотя конечно понятно, что ТАК работать не будет), предлагаю рисовать.
Oleg_IT
Всем доброе утро.
Правильно сказал товарищ «Как можно такой простой вопрос так замутить» smile.gif
RS-485 звездой не работает, «звездой, конечно можете соединить, и даже где-то как-то работать будет» это ни меня, ни тем более заказчика не устраивает.
Повторюсь, от каждого из двенадцати слейвов к мастеру тяну RS-485. На плате, где стоит МК мастера, преобразую RS-485 в UART МС MAX485E_S и соединяю их с одним портом UART-а Меги, фактически звездой. Будет такая «звезда» работать? Вроде как должна, т.к. линии RS-485 друг от друга изолированы.

Скорость 56300, дальность <10м По картинке, мой вариант “Star network (avoid)”

Цитата(DpInRock @ Jan 14 2010, 00:46) *
Есть три линии А Б и земля. Все устройства сидят на этих линиях ПАРАЛЛЕЛЬНО. Точка.
Скоко чип интерфейсный позволяет, чтолько и сидят. Какая еще там звезда или не звезда...

Линий может быть и две, А и В. RS-485 позволяет соединить устройства параллельно только тогда когда они идут один за другим на одной шине, иначе не долали бы расширителей. В Меги UART порт на эти цели всего один (УВЫ), второй занят.
MrYuran
Цитата(Oleg_IT @ Jan 14 2010, 10:29) *
Скорость 56300, дальность <10м По картинке, мой вариант “Star network (avoid)”

Разворачиваем звезду в разорванное кольцо и вешаем на один трансмиттер RS-485.
Всё работает, все довольны.
Кстати говоря, меньше 10 м вообще можно соединять как угодно, даже без терминаторов, ибо это с т.з. волновых процессов вообще точка.
galjoen
Цитата(Oleg_IT @ Jan 14 2010, 10:29) *
RS-485 звездой не работает, «звездой, конечно можете соединить, и даже где-то как-то работать будет» это ни меня, ни тем более заказчика не устраивает.

Прочитайте автомобильный стандарт J1708. Там используются именно RS-485 приёмопередатчики и именно соединение звездой. Причём это дело работает в тяжёлых автомобильных условиях.
Изложу суть:
1. Терминаторы так называемые "переменного тока". Т.е. по резистору в каждой линии через кондёр на землю.
2. Растяжки.
3. Приёмопередатчик передаёт только 0, а 1 устанавливается за счёт растяжек. Т.е. получается что-то вроде CAN приёмопередатчиков. Наверное лучше будет и поставить их, хотя они дороже.
4. Скорость по стандарту всего 9600 (стандарт 70-х годов), но длина линии большая. Точно больше 10 метров. Забыл сколько конкретно, но если интересно - гляну стандарт отпишу. Могу и стандарт выложить.

В реальных условиях всё замечательно работает, ни одной битой посылки я не принял, хотя длина линии (всех усов) явно превышала 40 метров.
rezident
Цитата(MrYuran @ Jan 14 2010, 12:36) *
Разворачиваем звезду в разорванное кольцо и вешаем на один трансмиттер RS-485.
+1. Я уже пару раз здесь на форуме описывал и даже рисовал такую схему подключения. Ибо тема вопроса не нова.
Вот. Нашел подобную тему и мой "рисунок". http://electronix.ru/forum/index.php?showt...mp;#entry679105
DpInRock
Вообще-то соединения на картинке друг от друга ничем не отличаются с точки зрения постоянного тока.
И на 10 метрах - тоже практически.

У меня на столе живут пять-шесть устройств с 485. Соединены как попало. Терминаторы часто стоят в случайных местах (если вообще стоят). Скорость 115\2.
Oleg_IT
Цитата(MrYuran @ Jan 14 2010, 10:36) *
Разворачиваем звезду в разорванное кольцо и вешаем на один трансмиттер RS-485.
Всё работает, все довольны.
Кстати говоря, меньше 10 м вообще можно соединять как угодно, даже без терминаторов, ибо это с т.з. волновых процессов вообще точка.

Если б можно было развернуть в разорванное кольцо проблемы бы не было. В вопросе я упомянул «по конструктивным соображениям соединить двенадцать слейвов с мастером звездой», именно звездой и именно так как дано на рисунке ”Star network (avoid)”, который привёл МП41. Другого просто не дано, от каждого слейва к мастеру идут два провода!!! Ещё раз, УВЫ!!!!

galjoen Вы уже предлагаете нечто другое, отличное от RS-486. Это, конечно обсудить можно, но вряд ли мой заказчик пойдёт на такие изменения.

Значит моя идея не заработает?

Ещё не отметил, помеховая обстановка там не очень хорошая.
rezident
Цитата(Oleg_IT @ Jan 14 2010, 15:30) *
Значит моя идея не заработает?
Почему не заработает? Заработает. У ADM485 входные токи логических входов ±1.0мкА (max). Так что вашей меге не составит труда управлять 12-ю драйверами RS485, включенными впараллель. Вопрос лишь в ценовой целесообразности. Если стоимость решения никак не "жмет", то вперед!
P.S. протокол надеюсь типа запрос-ответ? Т.е. слейвы не могут самопроизвольно без запроса аварийную информацию мастеру слать?
P.P.S. гальваническая развязка хотя бы в слейвах присутствует?
galjoen
Цитата(Oleg_IT @ Jan 14 2010, 13:30) *
galjoen Вы уже предлагаете нечто другое, отличное от RS-486. Это, конечно обсудить можно, но вряд ли мой заказчик пойдёт на такие изменения.

А собственно какие там изменения/отличия_от_RS485 кроме схемы терминаторов? Кстати в J1708 протокол - практически модбас. Я даже думаю, что у модбаса оттуда ноги растут.
Цитата(Oleg_IT @ Jan 14 2010, 13:30) *
Значит моя идея не заработает?

Ещё не отметил, помеховая обстановка там не очень хорошая.

Чтобы ваша идея заработала у хаба д.б. схема, подобная схеме CAN-хаба. Если интересно - в разделе CAN это обсуждалось.
Но при наличии помех я бы предпочёл J1708. Ну а если ведущий модбас может управлять хабом, то просто пусть переключает канал к тому слейву, с которым работает в данный момент.
Oleg_IT
Цитата(rezident @ Jan 14 2010, 13:47) *
Почему не заработает? Заработает. У ADM485 входные токи логических входов ±1.0мкА (max). Так что вашей меге не составит труда управлять 12-ю драйверами RS485, включенными впараллель. Вопрос лишь в ценовой целесообразности. Если стоимость решения никак не "жмет", то вперед!
P.S. протокол надеюсь типа запрос-ответ? Т.е. слейвы не могут самопроизвольно без запроса аварийную информацию мастеру слать?
P.P.S. гальваническая развязка хотя бы в слейвах присутствует?

В том то и дело, что если что-то менять в конструкции, звезду в кольцо или другой какой интерфейс делать это в такую копеечку выльется, что цены микрух, даже таких дорогих как у AD будут, исчезающее малы!
Запрос конечно - мастер спрашивает, слев отвечает.
По развязке не знаю, не моё.
galjoen
Цитата(Oleg_IT @ Jan 14 2010, 14:04) *
В том то и дело, что если что-то менять в конструкции...

Что-то совсем непонятно стало. Обрисуйте задачу поподробнее...
Что делаете вы и, соответственно, это можно менять, а что менять нельзя? Слейвы это ваше?
rezident
Цитата(Oleg_IT @ Jan 14 2010, 16:04) *
В том то и дело, что если что-то менять в конструкции, звезду в кольцо или другой какой интерфейс делать это в такую копеечку выльется, что цены микрух, даже таких дорогих как у AD будут, исчезающее малы!
Если устройство вы проектируете, то вам и решать. И я не вижу проблем в том, чтобы звезду распрямить в линию на каких-то 10-и метровых отрезках. Вам ведь все равно 12 разъемных соединений делать, так какая разница как они будут соединяться внутри вашей платы? Поставьте в качестве разъемов RG45 как для Ethernet. Скомплектуйте ваше устройство 15-ю "заглушками" и 15-ю 10-15-20-и метровыми кабелями, сделанными из FTP. "Заглушки" будут устанавливаться на место отсутствующих (неподключенных) слейвов. Почему 15, а не 12? А про запас smile.gif Это будет всяко дешевле 12 м/с трансиверов плюс изоляция
Цитата(Oleg_IT @ Jan 14 2010, 16:04) *
По развязке не знаю, не моё.
Если нет уверенности, что все слейвы будет изолированными, то нужно делать изоляцию на каждый трансивер RS485. Потому, что в вашем исходном варианте постановки задачи даже третьего провода нету.
Oleg_IT
Устройство это большая железка, сталь, алюминий. Менять нельзя. Разводку кабелей (она не линейная) менять нельзя (хотя разговор об этом повторить можно). Разъемы для RS скорей всего будут или ШР или СНЦ или что-то подобное. Моё, приём и обработка данный со слейвой и отсылка их дальше. На содержимое слейва повлиять наверное смогу, развязку сделают. Посоветуйте на чём развязку лучше сделать?
Ronin
Цитата(Oleg_IT @ Jan 14 2010, 10:29) *
Скорость 56300, дальность <10м По картинке, мой вариант ”Star network (avoid)”

Скорость такая странная smile.gif
Можно конечно провести ис(рас)следование и посмотреть что в топологии "RS-485 звездой <10м" творится, возможно, что ничего страшного. Хотя если это не серия, нецелесообразно.

Цитата(Oleg_IT @ Jan 14 2010, 14:04) *
В том то и дело, что если что-то менять в конструкции, звезду в кольцо или другой какой интерфейс делать это в такую копеечку выльется, что цены микрух, даже таких дорогих как у AD будут, исчезающее малы!
Запрос конечно - мастер спрашивает, слев отвечает.
По развязке не знаю, не моё.

Ну тогда ставить 12 драйверов и не парится. На передачу можно всеми управлять, приём либо через мультиплексор либо банально объеденить по AND (лучше первое). Без изоляции 12 драйверов - копейки.

Если изоляция нужна то получится подороже.

Цитата(Oleg_IT @ Jan 15 2010, 10:15) *
Посоветуйте на чём развязку лучше сделать?

Когда-то давно использовали драйверы MAX1480 - дорогова-то (~15$) и большой DIP28, но "всё включено". Сейчас MAX485 (драйвер) + PS9817 (оптроны) + AM1S-0505s (dc/dc 5/5v).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.