Попробую начать разработку шины BrainBus. Ее предназначение - высокоскоростное соединение модулей RoboBrain, расчитанное на параллельные массовые асинхронные вычисления.
Уровни:
1.Физический уровень
Физический уровень описывает среду передачи данных (будь то коаксиальный кабель, витая пара, оптоволокно или радиоканал), физические характеристики такой среды и принцип передачи данных (разделение каналов, модуляцию, амплитуду сигналов, частоту сигналов, способ синхронизации передачи, время ожидания ответа и максимальное расстояние).
2.Канальный уровень
Канальный уровень описывает, каким образом передаются пакеты данных через физический уровень, включая кодирование (то есть специальные последовательности бит, определяющих начало и конец пакета данных). Ethernet, например, в полях заголовка пакета содержит указание того, какой машине или машинам в сети предназначен этот пакет.
3.Сетевой уровень
Сетевой уровень изначально разработан для передачи данных из одной (под)сети в другую.
4. Транспортный уровень
Протоколы транспортного уровня могут решать проблему негарантированной доставки сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильную последовательность прихода данных.
5. Прикладной уровень
На прикладном уровне работает большинство сетевых приложений.
Эти программы имеют свои собственные протоколы обмена информацией.
Это - описание TCP/IP протокола. Но шина BrainBus может быть основана и на ином протоколе.
Первый вопрос - какое соединеие на физ. уровне - двухточечное или многоточечное выбрать. Наиболее скоростное - двухточечное. Но и более затратное по оборудованию. Скорее всего придется комбинировать - внутри одного модуля - многоточечное, между модулями - двухточечное.