Автор Тема: I2C для автоблокировки на модулях  (Прочитано 1005 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 4887

  • Ветеран
  • *****
  • Сообщений: 622
  • Репутация: +12/-0
  • Откуда: Киев
  • Имя: Андрей
I2C для автоблокировки на модулях
« : 04 Февраля 2012, 20:41:43 »
Общеизвестно, что правильная расстановка светофоров на макете железной дороги – одно из условий высокого качества исполнения макетов. Но при большом их количестве, в особенности на станциях, мысль о необходимости как-то ими управлять может смутить даже опытного макетчика.
Вариант цифрового DCC управления хорош, но их цены не совпадают с нашими доходами. Мне кажется, что в данном случае одним из выходов есть применение на модулях широко распространенного протокола I2C. С применением этого протокола отпадает необходимость десятков многоконтактных межмодульных разъемов, километровых кабелей и громоздких блоков управления. Для него нужно всего 4 провода, 2 питания (5V) и 2 сигнальных. Дальнейшие преимущества я расписывать не стану, незачем, это общеизвестные данные.Модули нумеруются от 00h до 0FFh, где 00h – базовый master-модуль автоматики, остальные – подчиненные slave-модули. Таким образом, бесконфликтно может существовать 256 модулей, этого более чем достаточно. Обеспечение гигантских модулей выходит за рамки моей фантазии.
В пределах каждого модуля, расположенные на нем блок-участки тоже имеют схожую нумерацию: от 00h до 0FFh. Тут нумерацию можно располагать как угодно, главное – не запутаться самому при подготовке математики. Хотя, будет правильнее адрес 00h оставить незадействованным, а модуль с более чем 255 блок-участками я представить не могу. Кстати, адрес блок-участка 00h на модуле можно оставить для переносного пульта управления именно этим модулем: ручное управление стрелками/светофорами, отключение станционных путей от ГХ для маневрирования и т.п.При такой идее построения модулей намного упрощается управление светофорами при «сквозном» проходе составов. Каждый модуль, имея собственные «мозги», всегда может оценить обстановку у себя и передать сигнал занят-свободен. И наоборот, получив команду от базового модуля и обесточив нужный блок-участок, остановить состав, или пропустить его по свободной «траектории».

Оффлайн ailcat

  • Ветеран
  • *****
  • Сообщений: 1546
  • Репутация: +59/-3
  • Незлобный гоблин
  • Откуда: Москва
  • Имя: Алексей
I2C для автоблокировки на модулях
« Ответ #1 : 01 Сентября 2013, 04:06:45 »
а) избыточно
б) недостаточноВ целом, модулю достаточно общаться только со смежным модулем. Соответственно, вся схема вырождается до банальных асинхронных сдвиговых регистров!
Наш паровоз в тупик летит - в овраге остановка...

Оффлайн atom8

  • Ветеран
  • *****
  • Сообщений: 542
  • Репутация: +6/-0
  • Откуда: Питер
  • Имя: Александр
I2C для автоблокировки на модулях
« Ответ #2 : 01 Сентября 2013, 14:35:48 »
Цитата: ailcat
В целом, модулю достаточно общаться только со смежным модулем.
С двумя - с. так сказать, соседом справа и с соседом слева. Это на простом однопутном участке.