Ребят! Кто-нибудь делал программы для MCU, реализующие протокол обмена по общей магистрали с поддержкой процедур захвата магистрали и разрешения коллизий.
Причём захват магистрали не как в Эзернете методом случайного доступа, а типа как в CAN в соответсвии с приоритетом пакета..
Опишу задачу.
Есть низкоскоростная ( 1200 бит в секунду ) сеть из 12 территориально распределённых девайсов, соединённых друг с другом по топологии "общая магистраль". Эти девайсы должны передавать в магистраль инфу о состоянии всех подключенных к ним девайсов-датчиков.
Сейчас каждый девайс передаёт по запросу ведущего сети пакет состояния длиной 128 байт...Так что каждый девайс занимает магистраль примерно на 1 Сек раз в 12 Сек...Т.е. инфа о каком-либо забытии будет доходить до ведущего до 12 Сек.. Так реализовано моим предшественником.
Мне поставили задачу реализовать протокол обмена с арбитражем по приоритету пакета с ЦЕЛЬЮ сократить время извещения ведущего о важных событиях в сети до 0,5 Сек. Т.е. чтобы сделать так, чтобы маленькие пакеты с важной инфой "вытесняли" с магистрали пакеты с "фоновым" приоритетом вплоть до того, чтобы рвать длинные фоновые пакеты...
Как бы вы решали такую задачу?