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

 
 
> моноканальная сеть, идентификация новых устройств
toweroff
сообщение Jun 13 2009, 23:18
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Планирую использование RS485

Фактически, при включении slave-девайс будет отвечать только на широковещательный пакет идентификации (ну или некой энумерации). После обмена и присвоения ему некоего ID хостом, слейв будет работать в штатном режиме и хост будет опрашивать конкретно его

Вопрос - если НЕ энумерованных девайсов несколько?
Когда-то читал, что в этом случае на каждом подобном девайсе в случае широковещательного энумерационного пакета запускается некий _случайный_ таймер, по срабатыванию которого девайс "послушает" эфир и примет решение - пакет "предназначался ему" или нет.

Где можно это подробно почитать или, что, конечно, лучше smile.gif , - поиметь некие примеры кода в дополнение? Как вообще это грамотно реализовывается?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
toweroff
сообщение Jun 14 2009, 22:06
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(Dog Pawlowa @ Jun 15 2009, 00:03) *
Тут произошла подмена понятий, возможно по моей вине.
Да, в том, что предлагали Вы первоначально, действительно мало смысла.
В то же время, имея уникальный номер устройства (MAC-адрес) можно организовать раздачу сетевых адресов, и это имеет смысл для высокоуровневых протоколов, раз уж это придумали для TCP/IP, значит это кому-то нужно ? smile.gif



Цитата(defunct @ Jun 15 2009, 00:18) *
А если устройства до безобразия однотипные - скажем модемы, и хосту не важно кто есть кто? Хосту важно найти и подключить устройства в общий пул, чтобы потом пользовать первый попавшийся свободный. Для такой задачи энумерация (раздача MAC адресов) не выглядит бессмысленной.


действительно, для однотипных (с точки зрения хоста) девайсов подход в раздаче ID - очень хорошая вещь.

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

Теперь, если представить ситуацию, что все не-энумерованные девайсы включились сразу, а это возможно и их может быть порядка 200, то определиться кто где будет крайне затруднительно

Но тут еще обдумывал это все дело много раз... ведь можно в девайс вкрутить какой-нибудь 1-Wire Dallas с 64-битным ID и пользовать его. Просто лепить на девайс стикер с его номером (ID), пусть в базу хоста вносят и привязывают куда и к чему хотят, а тот будет опрашивать по этому ID
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 15 2009, 00:14
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(toweroff @ Jun 15 2009, 01:06) *
Но у меня немного иная цель - каждый девайс будет жестко закреплен за неким участком и вся статистика привязывается именно к участку...

Теперь, если представить ситуацию, что все не-энумерованные девайсы включились сразу, а это возможно и их может быть порядка 200, то определиться кто где будет крайне затруднительно

Но тут еще обдумывал это все дело много раз... ведь можно в девайс вкрутить какой-нибудь 1-Wire Dallas с 64-битным ID и пользовать его. Просто лепить на девайс стикер с его номером (ID), пусть в базу хоста вносят и привязывают куда и к чему хотят, а тот будет опрашивать по этому ID

Тогда без сожалений забудьте про энумерацию. Разделите адресное пространство на служебные адреса 0x00 и рабочие адреса - 0x1-0xFF.
Пусть все устройства всегда стартуют в служебном режиме (режим конфигурирования) со служебным адресом и миганием светодиода, или другим способом показывают пользователю, что они в служебном режиме. Пусть сконфигурированные устройства переходят в рабочий режим по заданному таймауту, а несконфигурированные устройства так и остаются в служебном режиме и никогда не переходят в рабочий режим.
Host, управляющий системой, пусть никогда не опрашивает служебные адреса.

Тогда все становится просто. Включаете систему - видите какие девайсы "не в теме", поочереди конфигурируете их специальной программой которая работает со служебным адресом "0x00". Для перекофигурации системы, отлючаете от системы Host, подключаетесь вместо него той же специальной программой и поочереди - передергиваете устройства, которые надо переконфигурировать.
Будет просто и достаточно удобно.

Кстати этот подход позволит Вам в будущем добавить и автоматическую энумерацию. Т.к. известен адрес несконфигурированных устройств.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Jun 15 2009, 00:46
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(defunct @ Jun 15 2009, 04:14) *
Тогда все становится просто. Включаете систему - видите какие девайсы "не в теме", поочереди конфигурируете их специальной программой которая работает со служебным адресом "0x00". Для перекофигурации системы, отлючаете от системы Host, подключаетесь вместо него той же специальной программой и поочереди - передергиваете устройства, которые надо переконфигурировать.
Будет просто и достаточно удобно.

Кстати этот подход позволит Вам в будущем добавить и автоматическую энумерацию. Т.к. известен адрес несконфигурированных устройств.


вот тут-то как раз затык ИБО smile.gif

отключить девайс - разорвать 485 сеть (планируется по 2 параллельных RJ45), но все-то остальные опрашиваются в реал-тайм, все сидят на одной линии
технарь также не будет работать круглосуточно
фактически - остается только опрос "битых" девайсов хостом по 485 интерфейсу


кстати, 2 all

кто-нибудь пользовал подобные вещи - MAX3075 ? Как они себя ведут при максимальном количестве трансиверов? На какой скорости при длине кабеля 5-й категории метров 100-150?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 15 2009, 00:55
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(toweroff @ Jun 15 2009, 03:46) *
отключить девайс - разорвать 485 сеть (планируется по 2 параллельных RJ45), но все-то остальные опрашиваются в реал-тайм, все сидят на одной линии
технарь также не будет работать круглосуточно
фактически - остается только опрос "битых" девайсов хостом по 485 интерфейсу

Я бы посоветовал применить более адекватные разъемы, пусть и более дорогие.
Ни в коем случае нельзя допускать зависимость всей системы от отдельно взятого усройства.
Но это конечно же дело Ваше.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Jun 15 2009, 01:03
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(defunct @ Jun 15 2009, 04:55) *
Я бы посоветовал применить более адекватные разъемы, пусть и более дорогие.
Ни в коем случае нельзя допускать зависимость всей системы от отдельно взятого усройства.
Но это конечно же дело Ваше.


дык smile.gif

все упирается в цену. Пытался доказать заказчику, что с горячей заменой было бы лучше, но он как прикинул, что еще, возможно, придется делать некую кросс-плату, да еще стоимость подобных трансиверов возрастает почти в 2 раза - начал резину жевать и невнятно бубнить smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- toweroff   моноканальная сеть   Jun 13 2009, 23:18
- - HARMHARM   Если у слейвов есть серийные номера - посмотрите к...   Jun 14 2009, 05:27
|- - zltigo   Цитата(HARMHARM @ Jun 14 2009, 08:27) Есл...   Jun 14 2009, 05:51
|- - HARMHARM   Цитата(zltigo @ Jun 14 2009, 08:51) Есть ...   Jun 14 2009, 08:04
|- - zltigo   Цитата(HARMHARM @ Jun 14 2009, 11:04) Ну,...   Jun 14 2009, 08:55
|- - Dog Pawlowa   Все таки первично должно быть ТЗ на такую систему ...   Jun 14 2009, 09:30
|- - toweroff   Цитата(Dog Pawlowa @ Jun 14 2009, 13:30) ...   Jun 14 2009, 10:02
|- - Dog Pawlowa   Цитата(toweroff @ Jun 14 2009, 13:02) Вот...   Jun 14 2009, 10:39
|- - Qwertty   Цитата(toweroff @ Jun 14 2009, 14:02) Вот...   Jun 14 2009, 13:57
|- - toweroff   Цитата(Qwertty @ Jun 14 2009, 17:57) Авто...   Jun 14 2009, 14:55
|- - Dog Pawlowa   Цитата(Qwertty @ Jun 14 2009, 16:57) Авто...   Jun 14 2009, 17:19
|- - defunct   Цитата(Dog Pawlowa @ Jun 14 2009, 20:19) ...   Jun 14 2009, 18:13
- - Rst7   ЦитатаКакой сервис (имея все 7 уровней) предлагает...   Jun 14 2009, 18:55
|- - defunct   Цитата(Rst7 @ Jun 14 2009, 21:55) Пусть M...   Jun 14 2009, 20:18
- - toweroff   Нет-нет, мне нужно иметь уникальный ID девайса. Но...   Jun 14 2009, 19:42
|- - Dog Pawlowa   Цитата(toweroff @ Jun 14 2009, 22:42) Нет...   Jun 14 2009, 20:03
|- - defunct   Цитата(toweroff @ Jun 15 2009, 04:03) все...   Jun 15 2009, 01:15
|- - toweroff   Цитата(defunct @ Jun 15 2009, 05:15) Гм.....   Jun 15 2009, 01:31
|- - defunct   Цитата(toweroff @ Jun 15 2009, 04:31) (кс...   Jun 15 2009, 06:17
|- - toweroff   Цитата(defunct @ Jun 15 2009, 10:17) Посм...   Jun 15 2009, 08:23
|- - defunct   Цитата(toweroff @ Jun 15 2009, 11:23) спа...   Jun 15 2009, 18:00
|- - SeriouSerg   Если еще актуальна задача, посмотрите в сторону ма...   Jun 15 2009, 22:16
- - toweroff   Не совсем "оно"... Девайс ОБЯЗАН поднять...   Jun 15 2009, 00:24
|- - defunct   Цитата(toweroff @ Jun 15 2009, 03:24) Не ...   Jun 15 2009, 00:30
- - Altemir   Решал схожую задачу на RS-485. Использовал MAX1344...   Jun 20 2009, 08:39


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

 


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


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