|
Интерфейс для маленькой "сети", где несколько Master'ов |
|
|
|
Jun 27 2010, 16:30
|

Участник

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

|
Всем здравствуйте! Лето началось, снова я со скуки берусь за хобби. С диммером справился, пора для него разработать интерфейс  Приношу свои извинения, но кроме соединений типа точка-точка (RS-232) я ничего не знаю; тема почти вольная и начнётся с тупых вопросов. Я хочу получить игрушку в виде "умного дома" в виде нескольких модулей. Вижу я себе это вот как: 1. Есть n-ое количество модулей, которые вешаются на какую-то общую шину. Модуль - это например диммер, реле или датчики (ну вполне напоминает промышленные контроллеры, да). 2. Есть "панель управления" - девайс с кнопочками и дисплейчиком. Через меню мы можем управлять/считывать состояние навешанных на шину модулей. 3. Есть комп, который тоже подключён к этой шине (двоякое управление: автономное через (2) и через комп). Фактически комп выступает в роли такой же панели управления. Наваял схематически примерный вид сети:
Ньюансы: а) Панелей управления (2) будет несколько: хочу сделать управление освещением, соответственно заменяю ими выключатели. б) Модули будут конечно адресоваться. Автодетект адресов модулей не нужен - могу и так вписать их в кофигурацию. в) НЕ понимаю, как сделать несколько Мастеров. Было два варианта: в.1.) Инфа о статусе хранится в Модулях. У Мастеров и Модулей есть уникальные адреса. Раз в nn времени каждый Мастер захватывает канал связи и поочерёдно опрашивает модули на тему, чего у них включено и чего выключено. в.2.) Есть какой-то служебный узел сети. Любой модуль читает из него то, что он должен выполнить, а любой Мастер пишет туда что надо выполнить. г) Всё это - полуигрушеченое и хобби для меня самого (типа кулибинство в квартире и поковыряться). На чём делать Мастера - не решил, для Модулей есть запас мелких ATMega8 в DIP'е. Есть ещё ATMega32. Фактически, работу всего этого я вижу так, что на одной панели включили свет. Потом дошли до компа - там его погасили (естественно состояние отображается). Или погасили с другого места управления. Модулю должны сыпаться почти низкоуровневые команды типа ВКЛВыход1 - ОК. ЯркостьВыход2=25% - ОК. А на всех панелях - правильное состояние системы. Господа Гуру - подскажите пожалуйста, чего подойдёт под мои задачи из интерфейсов (фактически натолкните на какие-то существующие ссылками, чтобы я мог выбрать и реализовать)? Связь всего этого будет ну по квартире - положим метров 30-50 максимум. В принципе, как самое топорное решение, я могу и LAN прикрутить, если это решит мои проблемы (устройства, адреса). НО проблемы, кажется, логические - как делают, когда управление может быть из нескольих мест? Как делают грамотно? Мне видится, что скорость у этого всего была бы мелкая, кроме команд установки яркости: их может сыпаться много из-за плавного гашения-зажигания... Ну и если правда это можно реализовать на LAN - то тогда я хочу LAN  P.S. Мои хотелки на ТЗ не тянут, описал совсем на пальцах. P.S.2. Тема - немного флудастая. Подниму ещё раз, когда реально сяду за дела. Пока хочу спроектировать саму "сеть". UPD: Глянул в раздел интерфейсы. Появились дополнительные комменты: 1. Я старой выучки и хочу проводной интерфейс. 2. Если это будет модуль или чип типа сконфигурировал / послал/принял данные по прерыванию - вообще замечательно!
Сообщение отредактировал C.S. - Jun 27 2010, 16:34
|
|
|
|
|
 |
Ответов
|
Jun 27 2010, 19:10
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
C.S., определитесь сначала с "физикой" линии. Много мастеров означает, что возможны коллизии при обращении к общей шине. RS485 не предполагает аппаратное разрешение коллизий. Для этого CAN более подходит. С другой стороны, коллизий можно избежать, если разделить работу мастеров во времени. Вы ведь не будете сразу на каждой панели кнопки нажимать? Панели должны уметь "слушать" линию и принимать те данные, которые непосредственно им нужны. Тогда в каждый конкретный момент времени мастером будет только та панель на которой пользователь кнопки тычет. А остальные будут пассивными приемниками информации, которую передают активному мастеру исполнительные устройства. Для актуализации информации можно разрешить панелям время-от-времени запрашивать состояние всех подчиненных устройств. Но не абы как, а по маркерному кольцу. Маркер передается поочередно от мастера к мастеру, позволяя ему становиться активным. Остальные панели-мастера опять же в пассивном режиме "слушают" линию и принимают данные, которые им могут быть нужны. То бишь я вам предлагаю "маркерное кольцо" для разрешения коллизий.
|
|
|
|
Сообщений в этой теме
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 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 =AK= Есть несколько вариантов организации сети
1. Маст... Jun 30 2010, 00:44 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 страниц
1 2 >
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|