|
моноканальная сеть, идентификация новых устройств |
|
|
|
Jun 14 2009, 22:06
|

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

|
Цитата(Dog Pawlowa @ Jun 15 2009, 00:03)  Тут произошла подмена понятий, возможно по моей вине. Да, в том, что предлагали Вы первоначально, действительно мало смысла. В то же время, имея уникальный номер устройства (MAC-адрес) можно организовать раздачу сетевых адресов, и это имеет смысл для высокоуровневых протоколов, раз уж это придумали для TCP/IP, значит это кому-то нужно ?  Цитата(defunct @ Jun 15 2009, 00:18)  А если устройства до безобразия однотипные - скажем модемы, и хосту не важно кто есть кто? Хосту важно найти и подключить устройства в общий пул, чтобы потом пользовать первый попавшийся свободный. Для такой задачи энумерация (раздача MAC адресов) не выглядит бессмысленной. действительно, для однотипных (с точки зрения хоста) девайсов подход в раздаче ID - очень хорошая вещь. Но у меня немного иная цель - каждый девайс будет жестко закреплен за неким участком и вся статистика привязывается именно к участку... Теперь, если представить ситуацию, что все не-энумерованные девайсы включились сразу, а это возможно и их может быть порядка 200, то определиться кто где будет крайне затруднительно Но тут еще обдумывал это все дело много раз... ведь можно в девайс вкрутить какой-нибудь 1-Wire Dallas с 64-битным ID и пользовать его. Просто лепить на девайс стикер с его номером (ID), пусть в базу хоста вносят и привязывают куда и к чему хотят, а тот будет опрашивать по этому ID
|
|
|
|
|
Jun 15 2009, 00:14
|

кекс
     
Группа: Свой
Сообщений: 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, подключаетесь вместо него той же специальной программой и поочереди - передергиваете устройства, которые надо переконфигурировать. Будет просто и достаточно удобно. Кстати этот подход позволит Вам в будущем добавить и автоматическую энумерацию. Т.к. известен адрес несконфигурированных устройств.
|
|
|
|
|
Jun 15 2009, 00:30
|

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

|
Цитата(toweroff @ Jun 15 2009, 03:24)  Не совсем "оно"... Девайс ОБЯЗАН подняться в рабочий режим, естесственно, с подачи хоста. Прописать неизвестный доселе девайс в базу хоста, чтобы внести в базу учета, сможет технарь, но контролировать его на компе все равно будет кто-то с мозгом блондинки. Там ей будет что-то типа нет связи, полный швах, нет ответа целевого девайса и т.д. Новые девайсы в системе всегда будет ставить квалифицированный дядька, вот я к чему Ну дык, и чем не подходит описанное выше? Под пользователем там, подразумевался технарь, который настраивает / монтирует систему. А блондинка пусть работает исключительно с Host'ом, который в свою очередь работает только со сконфигурированными и внесенными в базу устройствами.
|
|
|
|
|
Jun 15 2009, 00:46
|

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

|
Цитата(defunct @ Jun 15 2009, 04:14)  Тогда все становится просто. Включаете систему - видите какие девайсы "не в теме", поочереди конфигурируете их специальной программой которая работает со служебным адресом "0x00". Для перекофигурации системы, отлючаете от системы Host, подключаетесь вместо него той же специальной программой и поочереди - передергиваете устройства, которые надо переконфигурировать. Будет просто и достаточно удобно.
Кстати этот подход позволит Вам в будущем добавить и автоматическую энумерацию. Т.к. известен адрес несконфигурированных устройств. вот тут-то как раз затык ИБО  отключить девайс - разорвать 485 сеть (планируется по 2 параллельных RJ45), но все-то остальные опрашиваются в реал-тайм, все сидят на одной линии технарь также не будет работать круглосуточно фактически - остается только опрос "битых" девайсов хостом по 485 интерфейсу кстати, 2 allкто-нибудь пользовал подобные вещи - MAX3075 ? Как они себя ведут при максимальном количестве трансиверов? На какой скорости при длине кабеля 5-й категории метров 100-150?
|
|
|
|
|
Jun 15 2009, 01:15
|

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

|
Цитата(toweroff @ Jun 15 2009, 04:03)  все упирается в цену. Пытался доказать заказчику, что с горячей заменой было бы лучше, но он как прикинул, что еще, возможно, придется делать некую кросс-плату, да еще стоимость подобных трансиверов возрастает почти в 2 раза - начал резину жевать и невнятно бубнить  Гм... странный заказчик какой-то ;> Или Вы недостаточно четко обрисовали ему перспективу сидеть с нерабочей системой пока бригада монтажников будет бегать и искать среди 200-т устройств одно неисправное. Насчет цены: - RJ45 - грубо 0.2$ но их надо 2 штуки + ответные, итого ~0.5-0.7$ на девайс. - винтовой 4-х контактный разъем с ответной частью ~0.5$ и нужен только 1 итого ~0.5$ на девайс. Где же логика?
|
|
|
|
|
Jun 15 2009, 01:31
|

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

|
Цитата(defunct @ Jun 15 2009, 05:15)  Гм... странный заказчик какой-то ;> Или Вы недостаточно четко обрисовали ему перспективу сидеть с нерабочей системой пока бригада монтажников будет бегать и искать среди 200-т устройств одно неисправное.
Насчет цены: - RJ45 - грубо 0.2$ но их надо 2 штуки + ответные, итого ~0.5-0.7$ на девайс. - винтовой 4-х контактный разъем с ответной частью ~0.5$ и нужен только 1 итого ~0.5$ на девайс. Где же логика? насчет нерабочей системы на время замены и конфигурации -- это, все-таки, его проблема что касаемо разъемов - пока бодаемся, типа тут щелк-щелк, а тут вертеть (кстати, без доп платы не решается вопрос отсоединения девайса от сети без разрыва при одной плате с разъемами для 485) Насчет логики - кризис, за ногу его, все пытаются, по ходу, и для себя скрысить хоть что-то  вообще будем пока бодаться, вопрос по интерфейсным микросхемам в силе, очень жду камментов по использованию... даташит -одно, практика, как правило, - другое...
|
|
|
|
|
Jun 15 2009, 06:17
|

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

|
Цитата(toweroff @ Jun 15 2009, 04:31)  (кстати, без доп платы не решается вопрос отсоединения девайса от сети без разрыва при одной плате с разъемами для 485) Не думаю что я понял о чем Вы говорите... Посмотрите в сторону вот таких разъемов: http://www.radiodetali.com/prioritet/klemmnik2.htmСеть прикручена к ответной части клеммника например к этой, которая просто отщелкивается от снимаемого модуля и все. (на модуле запаян например этот разъем). И никакого ущерба для сети, отлючайте хоть все сразу хоть поочереди.. И не надо никаких доп. плат.
|
|
|
|
|
Jun 15 2009, 08:23
|

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

|
Цитата(defunct @ Jun 15 2009, 10:17)  Посмотрите в сторону вот таких разъемов: http://www.radiodetali.com/prioritet/klemmnik2.htmСеть прикручена к ответной части клеммника например к этой, которая просто отщелкивается от снимаемого модуля и все. (на модуле запаян например этот разъем). И никакого ущерба для сети, отлючайте хоть все сразу хоть поочереди.. И не надо никаких доп. плат. спасибо, что-то о таких клеммниках я не подумал.. но тогда вход-выход (D+ с D+ и D- с D-) придется крутить на одну клемму?
Сообщение отредактировал toweroff - Jun 15 2009, 08:23
|
|
|
|
|
Jun 20 2009, 08:39
|
Местный
  
Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686

|
Решал схожую задачу на RS-485. Использовал MAX13442E, очень хорошие драйверы, за 7000 уже выпущенных девайсов отказов их не было, только проблемы непропаев (с десяток максимум, но это вопросы к производству). Используется режим горячей замены девайсов, который реализован, благодаря разъёмам и корпусам Phoenix, полазьте у них на сайте. Насчёт энумерации. Хотел использовать далласовские уникальные идентификаторы, но начальство захотело сэкономить и пришлось эту задачу вынести опять же на производство, где уникальный номер програмируется при настройке модуля и указывается на шильде/панели. Для облегчения задачи "поднятия" сети (т.е., произвести опрос мастером всех, кто есть на шине) с нашими модулями было решено отказаться от элемента "посмотрел на модуль, вбил в базу мастера" разделил логику основного обмена и режима опроса. При таком подходе прерывается связь АРМа с модулями в момент первого опроса и "поднятия" сети (у нас это допускается, т.к. делается один раз при настройке или добавлении нового модуля, что происходит крайне редко). Использовал технологию широковещательных пакетов и таймеров со случайными числами. Всё работает как часы. Адреса модулей - 4 байта. Сеть из 32 модулей (можно использовать и бОльшее кол-во) с произвольными адресами поднимается за 4-7 секунд. В протоколе "поднятия" сети учитываются всевозможные коллизии. Список адресов модулей хранится в энергонезависимой памяти мастера, что позволяет при отключении питания максимально быстро установить связь со всеми.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|