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

 
 
> Интерфейс для маленькой "сети", где несколько Master'ов
C.S.
сообщение Jun 27 2010, 16:30
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 6-05-09
Из: Москва
Пользователь №: 48 733



Всем здравствуйте! Лето началось, снова я со скуки берусь за хобби. С диммером справился, пора для него разработать интерфейс wink.gif
Приношу свои извинения, но кроме соединений типа точка-точка (RS-232) я ничего не знаю; тема почти вольная и начнётся с тупых вопросов.
Я хочу получить игрушку в виде "умного дома" в виде нескольких модулей. Вижу я себе это вот как:
1. Есть n-ое количество модулей, которые вешаются на какую-то общую шину. Модуль - это например диммер, реле или датчики (ну вполне напоминает промышленные контроллеры, да).
2. Есть "панель управления" - девайс с кнопочками и дисплейчиком. Через меню мы можем управлять/считывать состояние навешанных на шину модулей.
3. Есть комп, который тоже подключён к этой шине (двоякое управление: автономное через (2) и через комп). Фактически комп выступает в роли такой же панели управления.

Наваял схематически примерный вид сети:
Прикрепленное изображение


Ньюансы:
а) Панелей управления (2) будет несколько: хочу сделать управление освещением, соответственно заменяю ими выключатели.
б) Модули будут конечно адресоваться. Автодетект адресов модулей не нужен - могу и так вписать их в кофигурацию.
в) НЕ понимаю, как сделать несколько Мастеров. Было два варианта:
в.1.) Инфа о статусе хранится в Модулях. У Мастеров и Модулей есть уникальные адреса. Раз в nn времени каждый Мастер захватывает канал связи и поочерёдно опрашивает модули на тему, чего у них включено и чего выключено.
в.2.) Есть какой-то служебный узел сети. Любой модуль читает из него то, что он должен выполнить, а любой Мастер пишет туда что надо выполнить.
г) Всё это - полуигрушеченое и хобби для меня самого (типа кулибинство в квартире и поковыряться). На чём делать Мастера - не решил, для Модулей есть запас мелких ATMega8 в DIP'е. Есть ещё ATMega32.

Фактически, работу всего этого я вижу так, что на одной панели включили свет. Потом дошли до компа - там его погасили (естественно состояние отображается). Или погасили с другого места управления. Модулю должны сыпаться почти низкоуровневые команды типа ВКЛВыход1 - ОК. ЯркостьВыход2=25% - ОК. А на всех панелях - правильное состояние системы.

Господа Гуру - подскажите пожалуйста, чего подойдёт под мои задачи из интерфейсов (фактически натолкните на какие-то существующие ссылками, чтобы я мог выбрать и реализовать)? Связь всего этого будет ну по квартире - положим метров 30-50 максимум.
В принципе, как самое топорное решение, я могу и LAN прикрутить, если это решит мои проблемы (устройства, адреса). НО проблемы, кажется, логические - как делают, когда управление может быть из нескольих мест? Как делают грамотно? Мне видится, что скорость у этого всего была бы мелкая, кроме команд установки яркости: их может сыпаться много из-за плавного гашения-зажигания... Ну и если правда это можно реализовать на LAN - то тогда я хочу LAN wink.gif

P.S. Мои хотелки на ТЗ не тянут, описал совсем на пальцах.
P.S.2. Тема - немного флудастая. Подниму ещё раз, когда реально сяду за дела. Пока хочу спроектировать саму "сеть".

UPD: Глянул в раздел интерфейсы. Появились дополнительные комменты:
1. Я старой выучки и хочу проводной интерфейс.
2. Если это будет модуль или чип типа сконфигурировал / послал/принял данные по прерыванию - вообще замечательно!

Сообщение отредактировал C.S. - Jun 27 2010, 16:34
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
=AK=
сообщение Jun 30 2010, 00:44
Сообщение #2


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Есть несколько вариантов организации сети

1. Мастер-слэйв.
Самый протой и дубовый вариант. Недостатки:
- Надежность сети не выше надежности мастера. Мастер сдох или ему выключили питание - все заглохло.
- Медленный. Мастер все время должен опрашивать слейвов, есть ли у кого новая инфа. После этого мастер должен забрать инфу и разослать ее тем, кому она нужна.

2. Peer-to-peer.

Это усовершенствованный вариант мастер-слэйв. Мастер (теперь он называется координатор) опрашивает узлы, не хочет ли кто-нибудь "поболтать". Тому узлу, который изъявил желание пообщаться, мастер отдает сеть "во временное владение". Узел быстренько рассылает свое сообщение всем узлам, заинтересованным в его получении, по списку. По сравнению с п.1 надежность этого варианта можно резко повысить, если роль мастера (координатора) сможет брать на себя любой узел. Тогда, если текущий координатор помрет, остальные узлы, после короткого периода "неразберихи и разборок", решают, кто будет новым координатором. Тем не менее, этот вариант такой же медленный, как п.1.

3. Произвольный доступ - CSMA
Усовершенствование варианта п.2, координатора теперь вообще нет. Тот узел, которому надо что-то сказать, просто захватывает интерфейс и говорит. В случае, когда два узла хотят что-то сказать одновременно, между ними происходит "разборка" по одному из вариантов:
3а. CSMA/CD - произвольный доступ с обнаружением столкновений. Столкновение обнаруживается, например, на базе того факта, что на сообщение не приходит подтверждение о приеме.
3б. CSMA/CA - произвольный доступ с избеганием столкновений. Это изящно делается, например, на базе передатчиков с открытым коллектором. При передаче узел все время "слушает" шину. Если он сам передает '1', а на шине виден '0', значит, в это время кто-то еще передает, и узел, передававший '1' втихую отваливает, чтобы не мешать "более сильному" узлу, который передает '0'.
3в. Тупой повтор, несколько раз через псевдослучайные промежутки времени. Очень вероятно, что хоть одно сообщение "прорвется", ведь столкновения случаются редко.

4. Производитель-потребитель.
Вместо того, чтобы передавать одну и ту же инфу от источника всем приемникам, гораздо выгоднее настроить приемники так, чтобы они сами вылавливали интересующие их сообщения из общего трафика. Тогда источник может передать данные всего один раз. Однако - как убедиться, что сообщение дошло до всех? Для этого те, кто "не расслышал", посылают "негативное подтверждение", мол, "повторите, не слышу". Молчание - знак согласия.

Самые продвинутые используют 3б и 4. Это CAN, Clipsal C-Bus, и др.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- C.S.   Интерфейс для маленькой "сети", где несколько Master'ов   Jun 27 2010, 16:30
- - demiurg_spb   Цитата(C.S. @ Jun 27 2010, 20:30) 1. Есть...   Jun 27 2010, 18:39
- - C.S.   Добавляю. Почитал про DMX-512. Там время обновлени...   Jun 27 2010, 18:48
- - rezident   C.S., определитесь сначала с "физикой" л...   Jun 27 2010, 19:10
|- - C.S.   Цитата(rezident @ Jun 27 2010, 23:10) То ...   Jun 27 2010, 20:22
|- - rezident   Цитата(C.S. @ Jun 28 2010, 02:22) А что м...   Jun 27 2010, 20:40
|- - Прохожий   Цитата(C.S. @ Jun 28 2010, 00:22) Я думал...   Jun 27 2010, 21:00
- - C.S.   ЦитатаПамять чего именно? Извиняюсь, что запутал. ...   Jun 27 2010, 21:02
- - aaarrr   Цитата(demiurg_spb @ Jun 27 2010, 22:39) ...   Jun 27 2010, 21:24
|- - Прохожий   Цитата(aaarrr @ Jun 28 2010, 01:24) Ну за...   Jun 27 2010, 21:37
|- - aaarrr   Цитата(Прохожий @ Jun 28 2010, 01:37) Не ...   Jun 27 2010, 22:02
|- - defunct   Цитата(aaarrr @ Jun 28 2010, 01:02) Никак...   Jun 27 2010, 23:34
||- - galjoen   Если хотите просто и мультимастерно, то я рекоменд...   Jun 28 2010, 10:18
||- - aaarrr   Цитата(defunct @ Jun 28 2010, 03:34) Оста...   Jun 28 2010, 10:27
|- - Прохожий   Цитата(aaarrr @ Jun 28 2010, 02:02) Никак...   Jun 29 2010, 19:49
||- - aaarrr   Цитата(Прохожий @ Jun 29 2010, 23:49) Кст...   Jun 29 2010, 20:47
||- - Прохожий   Цитата(aaarrr @ Jun 30 2010, 00:47) Для ч...   Jun 29 2010, 21:44
||- - aaarrr   Цитата(Прохожий @ Jun 30 2010, 01:44) То...   Jun 29 2010, 22:13
||- - Прохожий   Цитата(aaarrr @ Jun 30 2010, 02:13) То ес...   Jul 2 2010, 16:00
||- - aaarrr   Цитата(Прохожий @ Jul 2 2010, 20:00) Не х...   Jul 2 2010, 16:12
||- - Прохожий   Цитата(aaarrr @ Jul 2 2010, 20:12) Если б...   Jul 2 2010, 16:56
|||- - defunct   Цитата(Прохожий @ Jul 2 2010, 19:56) Не с...   Jul 2 2010, 23:32
|||- - galjoen   Цитата(defunct @ Jul 3 2010, 03:32) 485-й...   Jul 3 2010, 16:10
|||- - defunct   Цитата(galjoen @ Jul 3 2010, 19:10) Не со...   Jul 3 2010, 16:20
|||- - rezident   Цитата(defunct @ Jul 3 2010, 22:20) Интер...   Jul 3 2010, 16:55
|||- - defunct   Цитата(rezident @ Jul 3 2010, 19:55) Имее...   Jul 3 2010, 21:00
|||- - rezident   Цитата(defunct @ Jul 4 2010, 03:00) Не пр...   Jul 3 2010, 22:44
|||- - defunct   Цитата(rezident @ Jul 4 2010, 01:44) Ну р...   Jul 4 2010, 00:08
|||- - =AK=   Цитата(defunct @ Jul 4 2010, 09:38) Приве...   Jul 4 2010, 02:24
|||- - defunct   Цитата(=AK= @ Jul 4 2010, 05:24) Бесспорн...   Jul 4 2010, 03:14
|||- - galjoen   Что то мы залезли в теорию, причём выясняется как ...   Jul 4 2010, 12:41
|||- - MrYuran   Цитата(galjoen @ Jul 4 2010, 16:41) Если ...   Jul 4 2010, 14:34
||- - MrYuran   Цитата(aaarrr @ Jul 2 2010, 20:12) Лучше ...   Jul 3 2010, 14:41
||- - Прохожий   Цитата(MrYuran @ Jul 3 2010, 18:41) Единс...   Jul 4 2010, 18:15
||- - Dog Pawlowa   Цитата(Прохожий @ Jul 4 2010, 21:08) Точн...   Jul 4 2010, 18:21
||- - galjoen   Цитата(Прохожий @ Jul 4 2010, 22:15) Сейч...   Jul 4 2010, 18:43
||- - Прохожий   Цитата(galjoen @ Jul 4 2010, 22:43) Живет...   Jul 4 2010, 18:49
|- - AHTOXA   Цитата(aaarrr @ Jun 28 2010, 04:02) ИМХО,...   Jun 30 2010, 18:52
|- - aaarrr   Цитата(AHTOXA @ Jun 30 2010, 22:52) aaarr...   Jun 30 2010, 20:08
|- - defunct   Цитата(aaarrr @ Jun 30 2010, 23:08) (хотя...   Jun 30 2010, 20:14
||- - aaarrr   Цитата(defunct @ Jul 1 2010, 00:14) Чем о...   Jun 30 2010, 20:22
||- - defunct   Цитата(aaarrr @ Jun 30 2010, 23:22) Ну та...   Jun 30 2010, 20:34
||- - aaarrr   Цитата(defunct @ Jul 1 2010, 00:34) Меня ...   Jun 30 2010, 20:48
||- - defunct   Цитата(aaarrr @ Jun 30 2010, 23:48) Ну а ...   Jun 30 2010, 21:57
|- - galjoen   Цитата(aaarrr @ Jul 1 2010, 00:08) Если т...   Jul 1 2010, 07:46
|- - defunct   Цитата(galjoen @ Jul 1 2010, 10:46) Кстат...   Jul 1 2010, 11:57
|- - demiurg_spb   Цитата(defunct @ Jul 1 2010, 15:57) Непос...   Jul 1 2010, 12:20
||- - defunct   Цитата(demiurg_spb @ Jul 1 2010, 15:20) Ч...   Jul 1 2010, 13:46
||- - demiurg_spb   Цитата(defunct @ Jul 1 2010, 17:46) А чег...   Jul 3 2010, 14:33
|- - galjoen   Цитата(defunct @ Jul 1 2010, 15:57) Это В...   Jul 1 2010, 13:24
- - C.S.   Эээ, ... я читаю всё, попутно просматриваю википед...   Jun 28 2010, 10:34
|- - aaarrr   Цитата(C.S. @ Jun 28 2010, 14:34) Так как...   Jun 28 2010, 10:40
- - C.S.   Простите за настырность, а какое ещё? Ну LAN модул...   Jun 28 2010, 11:15
|- - aaarrr   Цитата(C.S. @ Jun 28 2010, 15:15) Простит...   Jun 28 2010, 11:23
|- - MrYuran   Цитата(C.S. @ Jun 28 2010, 15:15) С чего ...   Jun 29 2010, 08:54
- - adnega   Себе дома сделал на CAN. Контроллер сам по себе: у...   Jun 29 2010, 08:16
- - adnega   Радио не могу назвать надежным и безопасным. Раз ...   Jun 29 2010, 09:30
- - C.S.   Тшшш, ребят! Я только-только подбираюсь к теме...   Jun 29 2010, 10:09
- - ViKo   А как насчет LIN?   Jun 29 2010, 10:21
- - adnega   А почему не CAN?! Если нужно гонять данные до ...   Jun 29 2010, 10:40
- - C.S.   Эээ... так я же всех тут вопросами потом достану %...   Jun 29 2010, 11:08
- - adnega   5 mega8 по CAN связать, не то чтобы не получится.....   Jun 29 2010, 16:24
|- - defunct   Цитата(=AK= @ Jun 30 2010, 03:44) Есть не...   Jun 30 2010, 20:02
|- - =AK=   Цитата(defunct @ Jul 1 2010, 05:32) Внизу...   Jun 30 2010, 22:07
- - aaarrr   Вот я и спрашиваю, как выключатель обычный настенн...   Jun 30 2010, 22:03
|- - defunct   Цитата(aaarrr @ Jul 1 2010, 01:03) Вот я ...   Jul 1 2010, 03:05
|- - =AK=   Цитата(defunct @ Jul 1 2010, 12:35) Oтчег...   Jul 2 2010, 00:00
- - adnega   Друзья, у схемы "мастер-слейв" есть один...   Jul 1 2010, 06:22
|- - aaarrr   Цитата(adnega @ Jul 1 2010, 10:22) И уж с...   Jul 1 2010, 06:25
|- - MrYuran   Цитата(aaarrr @ Jul 1 2010, 10:25) Эх...   Jul 1 2010, 06:47
- - adnega   Согласен что надежность и сложность находятся в оп...   Jul 1 2010, 13:46
|- - defunct   Цитата(adnega @ Jul 1 2010, 16:46) 1. Исп...   Jul 1 2010, 14:04
|- - galjoen   Цитата(defunct @ Jul 1 2010, 18:04) Приме...   Jul 1 2010, 14:26
- - adnega   RS-485 без ухищрений - вещь, живущая до первого пр...   Jul 1 2010, 16:22
|- - defunct   Цитата(adnega @ Jul 1 2010, 19:22) Не над...   Jul 1 2010, 16:50
|- - aaarrr   Цитата(defunct @ Jul 1 2010, 20:50) Попыт...   Jul 1 2010, 17:34
|- - defunct   Цитата(aaarrr @ Jul 1 2010, 20:34) А что,...   Jul 1 2010, 18:35
|- - aaarrr   Цитата(defunct @ Jul 1 2010, 22:35) Ну а ...   Jul 1 2010, 20:41
|- - defunct   Цитата(aaarrr @ Jul 1 2010, 23:41) Вот то...   Jul 1 2010, 21:05
|- - aaarrr   Цитата(defunct @ Jul 2 2010, 01:05) А где...   Jul 1 2010, 21:25
|- - galjoen   Цитата(aaarrr @ Jul 2 2010, 01:25) Напомн...   Jul 2 2010, 10:19
- - adnega   1. CAN совсем не дорого. 2. Насчет того что нужно ...   Jul 1 2010, 17:23
- - adnega   Думаю будет интересно: Имея неприятный опыт внедре...   Jul 1 2010, 18:13
- - ILYAUL   ЦитатаДрузья, у схемы "мастер-слейв" ест...   Jul 1 2010, 18:54
- - adnega   Уж если RS-485, то могу посоветовать две фишечки: ...   Jul 1 2010, 19:46
|- - defunct   Цитата(adnega @ Jul 1 2010, 22:46) Уж есл...   Jul 1 2010, 20:32
|- - ILYAUL   Цитата(defunct @ Jul 2 2010, 00:32) ...не...   Jul 1 2010, 20:47
- - ILYAUL   Цитатапризнаком скорости Что Вы под этим понимает...   Jul 2 2010, 09:54
|- - defunct   Цитата(ILYAUL @ Jul 2 2010, 12:54) Что Вы...   Jul 2 2010, 11:03
|- - galjoen   Цитата(defunct @ Jul 2 2010, 15:03) Это р...   Jul 2 2010, 11:37
|- - defunct   Цитата(galjoen @ Jul 2 2010, 14:37) И пер...   Jul 2 2010, 16:22
|- - galjoen   Цитата(defunct @ Jul 2 2010, 20:22) Сравн...   Jul 2 2010, 17:37
- - @Ark   ЦитатаКовертеры RS232<>RS485 впринципе не мо...   Jul 4 2010, 09:45
- - adnega   Длина зависит от скорости. 10кБ/с.   Jul 4 2010, 14:57
|- - galjoen   Цитата(adnega @ Jul 4 2010, 18:57) Длина ...   Jul 4 2010, 15:20
- - rezident   2 defunct, насчет разницы терминов интерфейс и про...   Jul 4 2010, 15:43
|- - defunct   Цитата(rezident @ Jul 4 2010, 18:43) Резю...   Jul 4 2010, 17:45
|- - rezident   Цитата(defunct @ Jul 4 2010, 23:45) С при...   Jul 4 2010, 18:20
- - adnega   Вроде, CANу от среды нужно немного: - наличие двух...   Jul 4 2010, 18:58
2 страниц V   1 2 >


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

 


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


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