Проекты сопроцессоров,Проекты сопроцессоров,Проекты сопроцессоров

Проекты сопроцессоров поддерживаются OpenThread. При сборке примеров OpenThread автоматически создаётся образ прошивки для каждого проекта сопроцессора. Подробнее см. в разделе «Двоичные файлы» .

Радиосопроцессор (RCP)

Архитектура OT RCP

В архитектуре RCP ядро ​​OpenThread располагается на хост-процессоре, а на устройстве с радиомодулем Thread находится лишь минимальный «контроллер» MAC-уровня. В такой архитектуре хост-процессор обычно не переходит в спящий режим, отчасти для обеспечения надёжности сети Thread.

Связь между RCP и главным процессором управляется OpenThread Daemon через интерфейс SPI по протоколу Spinel.

Преимущество здесь в том, что OpenThread может использовать ресурсы более мощного процессора.

Такая конструкция полезна для устройств, менее чувствительных к ограничениям мощности. Например, главный процессор видеокамеры всегда включён для обработки видео.

Пограничный маршрутизатор OpenThread поддерживает архитектуру RCP. Подробнее см. в статье «Пограничный маршрутизатор OpenThread» .

Чтобы создать RCP, обратитесь к следующим лабораторным работам:

Создание сети Thread с помощью маршрутизатора Thread Border Router nRF52840

Сетевой сопроцессор (NCP)

Архитектура OT NCP

Стандартная конструкция NCP имеет функции Thread на SoC и запускает прикладной уровень на хост-процессоре, который, как правило, более производительный (но и потребляет больше энергии), чем устройство OpenThread.

Преимущество такой конструкции заключается в том, что хост с более высокой мощностью может находиться в спящем режиме, в то время как менее мощное устройство OpenThread остаётся активным, сохраняя своё место в сети Thread. А поскольку SoC не привязан к прикладному уровню, разработка и тестирование приложений не зависят от сборки OpenThread.

Такая конструкция полезна для шлюзовых устройств или устройств, предъявляющих другие требования к обработке данных, таких как IP-камеры и динамики.

Протокол Шпинеля

Spinel — это протокол общего управления, позволяющий хост-устройству взаимодействовать с сопроцессором и управлять им. Изначально разработанный для поддержки NCP на основе потоков, Spinel использует многоуровневый подход, позволяющий в будущем легко адаптировать его к другим сетевым технологиям. Он используется как в архитектурах RCP, так и в NCP.

Этот протокол включён в OpenThread в /src/lib/spinel . Для тестирования доступен инструмент командной строки Python под названием Pyspinel .

Более подробную информацию см. в интернет-проекте протокола хост-контроллера Spinel .