Статья DiHalta о i2c мультимастере. Вопрос.

Всё об интерфейсах, протоколах, подключении к МК разных устройств, подключении контроллеров к ПК...
Ответить
Arcanum
Читатель
Читатель
Сообщения: 32
Зарегистрирован: 04 окт 2015, 19:43

Статья DiHalta о i2c мультимастере. Вопрос.

Сообщение Arcanum »

дублирую тему ибо тут тоже много грамотных и отзывчивых спецов

у него описано абсолютная большая часть случаев.
чтение/запись/арбитраж.
всё это хорошо но опущен один момент: когда контроллеры шлют и читают друг другу свои переменные в рамках одной сессии.
допустим.
контроллеру 1 нужны от контроллера 2 переменные x,z. при этом y не нужен. отлично.
контроллер 1 запускает шину и2ц запрашивает контроллер 2 как слейва передаёт ему команду(или страницу памяти с которой он начинает считывать) что ему нужны только x и z.
для y соответственно нужна другая команда.
с точки зрения контроллера 1 алгоритм как для обычного мастера при обращении к памяти или часам реального времени.

а вот как быть с алгоритмом контроллера 2 в слейв режиме? в статье байт принимается... и всё. сессия заканчивается. дальше идёт обработка этого байта. и начинается новая сессия уже как мастером.
я так думаю что для контроллера 2, в запросе адреса с которого начинаем считывать, от контроллера 1 - суть есть команда- какие переменные собственно передавать. по сути надо из контроллера 2 сделать аналог памяти eeprom или тех же самых часов реального времени.

приём произвольного количества байт Ди расписал вроде как подробно.

я перечитал статью вдоль и поперёк, но этот момент остался нераскрытым.

для чего мне это нужно: есть плата с клавиатурой и экраном(контроллер мега32). запущена оболочка меню. есть вторая плата(мега8). оболочке меню надо показать несколько переменных из меги8 в разных строках и местах(разные группы).
Ответить

Вернуться в «Интерфейсы / Протоколы / Периферия»