Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/58: Рейтинг темы: голосов - 58, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 20
1

подскажите, чем можно коммутировать шину RS-485?

09.02.2016, 04:14. Показов 10995. Ответов 31
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не знаю насколько вопрос "цифровой", но тем не менее.
Задача в целом другая: пронумеровать устройства на шине RS-485 в соответствии с их удаленностью от одного из концов, которой типа мастер.
Первая мысль: мастер посылает пакет с очередным номером, тот кто номер еще не получил на него отвечает. Все устройства кроме первого, в момент начала своей передачи поимеют коллизию с ответившим первым крайним. При наличии коллизии прекращают передачу и ждут следующего номера от мастера.
Вопрос только в том, как детектировать коллизию и в расстоянии между устройствами, которое может быть от нескольких см до нескольких метров. А как я еще не забыл, на шине 10base2 между узлами должно было выдерживаться минимальное расстояние, и по-моему как раз для надежного определения коллизии, причем расстояние то ли пол-метра, то ли метр, это при частоте 10МГц, а у меня биты длиннее будут. Да и нет уверенности, что из-за каких-нибудь туплений, первым начнет передачу действительно крайний. Поэтому вторая идея: поскольку приемопередатчик имеет вход разрешения приема, вывести его на предыдущее устройство. Мастер включает первый, шлет ему номер, тот включает второй и посылает подтверждение. Мастер шлет следующий номер второму, тот включает третий и посылает подтверждение и т.д. Но для этого надо тащить еще один провод, а я жадный. :) Поэтому третий вариант: включенное, но непронумерованное устройство, просто разрывает, например, линию А и подключает ее через 120 Ом на линию Б. Пронумеровавшись, отключает терминатор и подключает линию к выходу. И вот тут как раз и вопрос: чем сделать такую коммутацию? Т.е. надо минимальное сопротивление, двунаправленность, желательно питание 3,3В и коммутируемый ток не менее 250мА. (столько же максимальный ток приемопередатчика на этой шине?). Не выносить людям мозг и поставить обычное реле или все-таки какой-нибудь ключ из серии микросхем КТ/КП или типа того? Посмотрел бегло в чип-дипе, из дешевых там твердотельные реле на ток до 100мА. Имхо маловато. Или может быть есть более изящный способ автонумерации?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2016, 04:14
Ответы с готовыми решениями:

Чем можно коммутировать низковольтное переменное напряжение?
Уважаемые коллеги! У меня имеется трансформатор, который я хочу приспособить под простой...

Чем коммутировать нагрузку?
Здравствуйте, форумчане! Явилась предо мной проблема, попробую описать ее и помощи у вас спросить....

чем коммутировать аналоговое видео?.
коллеги, есть мысль подключить к изикэпу (это такой usb-граббер видео) несколько аналоговых...

Какую макс. нагрузку можно коммутировать контактами реле?
Пример: на реле написано "10A 250VAC". И оно китайское внезапно, ну в смысле обычное. А на...

31
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 511
12.02.2016, 05:36 21
Author24 — интернет-сервис помощи студентам
У меня нет решения, но я заступлюсь за идею.
Подобная адресация была реализована у нас на каком-то дешевом корейском оборудовании - мастер имел 4 линии по 16 устройств и адресация была по порядку - мастер после включения умудрялся найти всех по порядку по линии. И там точно был 485 - там стояли обычные макс485 или аналоги.

Второй пример - пожарные системы с 2х проводной линией - там не 485, там питка и данные по одной общей паре. И прибор свободно адрессует все датчики по порядку. Единственный нюанс - там кольцо, но датчик не разрывает линию.

Так что вариант решения должен быть.
0
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 2
12.02.2016, 12:50 22
Что у корейцев не знаю. А вот в пожарках ставят адресные датчики, которым номера присваивают при монтаже. По крайней мере у болида именно так.
0
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 117
12.02.2016, 15:36 23
Цитата Сообщение от ZPS
Единственный нюанс - там кольцо, но датчик не разрывает линию.
Так правильно=)) в кольце это реализовывается легко!
Я бы сделал кольцо, единственное увеличение затрат - драйвер st485 будет в два раза больше чем при обычной...но и управлять ими будет проще...грамотно описать протокол и все будет порхать!
0
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 511
13.02.2016, 16:58 24
Цитата Сообщение от PRS
Что у корейцев не знаю. А вот в пожарках ставят адресные датчики, которым номера присваивают при монтаже. По крайней мере у болида именно так.
варианов пожарных систем очень много- где-то программатором, где-то джамперами, где-то прибор сам задает в порядке включения, где-то по удалённости.
0
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 20
14.02.2016, 23:38 25
Цитата Сообщение от STT
DMX512?
Нет.

Цитата Сообщение от Y_Rid
Так правильно=)) в кольце это реализовывается легко!
Я бы сделал кольцо, единственное увеличение затрат - драйвер st485 будет в два раза больше чем при обычной...но и управлять ими будет проще...грамотно описать протокол и все будет порхать!
кольцо физическое или кольцо логическое? Я просто слабо представляю как шину преобразовать в кольцо не разрывая ее. Хотелось бы каких-нибудь намеков на похожие решения. Мне только в голову приходит поставить два приемопередатчика, один в сторону мастера, второй в сторону следующего слейва и второй отключать на передачу до тех пор, пока не получен адрес от мастера. Т.е. фактически каждый девайс будет выполнять функцию репитера для шины.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
14.02.2016, 23:51 26
Так кольцо - это оно и есть, только для экономии у каждого узла в одну сторону торчит только передатчик, в другую - только приёмник.
Кстати, на драйверах rs-422 вроде из коробки всё как надо для этого...
0
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 20
15.02.2016, 21:44 27
Цитата Сообщение от oomomstir
Кстати, на драйверах rs-422 вроде из коробки всё как надо для этого...
Т.е. можно взять дуплексный приемопередатчик, вход приемника в сторону мастера, выход с передатчика в сторону следующего, TX и RO подключить через диоды, а RX и DI напрямую и все это притянуть к +V?
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
15.02.2016, 23:00 28
А зачем диоды? На схемах rs-422 вроде ничего такого нет...
Но в общем да, вход в одну сторону, выход в другую, и замкнуть кольцо, чтобы после всех ретрансляторов сигнал дошёл до мастера.
0
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 20
16.02.2016, 01:20 29
Цитата Сообщение от oomomstir
А зачем диоды? На схемах rs-422 вроде ничего такого нет...
Но в общем да, вход в одну сторону, выход в другую, и замкнуть кольцо, чтобы после всех ретрансляторов сигнал дошёл до мастера.
RS-422, как я понимаю, это один передающий и много принимающих. А у меня каждый слейв асинхронно может дернуть мастера. Так что в чистом виде мне эта шина не годится. А диоды вот из этих примеров:
http://itistronics.stackexchange.som/qu ... ver-1-line
https://e2e.ti.som/support/microsontrol ... 461/914618

т.е. ТX подключаются через "ИЛИ".
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
16.02.2016, 08:44 30
В кольце каждая линия между двумя узлами, "или" не нужно.

И каждый узел сможет дёрнуть мастера: просигналил следующему, тот передал дальше по цепочке и так далее, пока не дойдёт до мастера. Так что если задержка передачи по кольцу вас не смущает - это даже удобнее для "асинхронно дёрнуть мастера": не нужен арбитраж шины.
0
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 2
16.02.2016, 10:25 31
Если передавать могут все и без запроса мастера, то лучше КАН использовать. Там хоть встроенный арбитраж шины есть. Правда с определением последовательности подключения он не поможет.
0
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 20
16.02.2016, 17:46 32
Цитата Сообщение от oomomstir
Так что если задержка передачи по кольцу вас не смущает
Как раз она и смущает. Поэтому я бы хотел обойтись без обработки транзитных пакетов слейвами.
Надо, конечно, посчитать, сколько она будет, может и не критично окажется.

Цитата Сообщение от PRS
Если передавать могут все и без запроса мастера, то лучше КАН использовать. Там хоть встроенный арбитраж шины есть.
CAN нет. Но мне арбитраж не нужен. Два слейва штатно сработать не могут в принципе, а вероятность одновременной передачи мастера и слейва есть, но она оооочень небольшая и разруливается протоколом передачи.
0
16.02.2016, 17:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2016, 17:46
Помогаю со студенческими работами здесь

Можно ли повредит USB шину роутера внешним hdd?
Можно ли убить или частично повредить USB шину роутера внешним hdd? И можно ли убить это внешником...

Подскажите чем можно заменить
Добрый день! Есть панель оператора Lenze EL*** (забыл, сейчас нету возможности глянуть). Проблема...

Подскажите чем можно заменить
Проблема со стиральной машинкой BEKO WKB 61021 PTMA. Перестала набирать воду при стирке,...

Чем интерфейс RS 485 отличается от LIN?
Доброго времени суток! Чем интерфейс RS 485 отличается от LIN? И как в дальнейшем это отразится...

Оцените пожалуйста и подскажите чем можно
Видеокарта:Gigabyte GeForce RTX 2060 SUPER AORUS 8G память 8*ГБ, 14000*МГц, NVIDIA GeForce RTX...

Подскажите чем можно рисовать дерево?
нужно нарисовать что то типа диаграммы ну например в верху директор потом стрелками починенные и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru