Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Платформы

OpenThread, выпущенный Google, был перенесен на несколько устройств и платформ командой OpenThread, поставщиками микросхем и сообществом. Примеры сборки для всех портированных платформ включены в репозиторий OpenThread .

См. Раздел « Поиск поставщиков» для получения списка всех поддерживаемых поставщиками платформ и портов сообщества.

Поддержка

Поддержка каждой платформы меняется со временем. Некоторые платформы имеют текущий уровень поддержки, определенный командой OpenThread. Платформы без тегов в последнее время не тестировались и могут рассматриваться как имеющие «ограниченную поддержку».

Уровень поддержки Описание
Поддерживается Полная и базовая поддержка, а также любой сертифицированный компонент Thread, использующий OpenThread. Многие из этих платформ были протестированы и использованы командой OpenThread и рекомендованы для использования в наших демонстрациях и Codelabs.
Ограниченная поддержка Эти платформы не были полностью протестированы, и в них могут отсутствовать некоторые ключевые функции.
Не поддерживается В настоящее время не поддерживается и могут иметь проблемы с запуском OpenThread. Используйте на свой риск.

Архитектура системы

Архитектура системы ОТ

OpenThread разработан с учетом портативности и гибкости. Код является переносимым C / C ++ (C99 и C ++ 03), который не зависит от архитектуры системы из-за узкого уровня абстракции. Этот уровень абстракции означает, что OpenThread может работать как на «голом железе», так и на ОС. На сегодняшний день было продемонстрировано, что OpenThread работает на FreeRTOS, RIOT-OS, Zephyr OS, Linux и macOS.

Портативный характер OpenThread не делает никаких предположений относительно функций платформы. OpenThread предоставляет перехватчики для использования расширенных радио- и криптографических функций, снижая системные требования, такие как память, код и вычислительные циклы. Это можно сделать для каждой платформы, сохраняя при этом возможность использовать стандартную конфигурацию по умолчанию.

OpenThread имеет настраиваемую систему сборки, с помощью которой разработчик может включать или отключать функции по мере необходимости. Помимо набора инструментов GNU по умолчанию, исходный код предназначен для работы с рядом других популярных наборов инструментов, таких как IAR и Visual Studio.

Платформенные конструкции

OpenThread поддерживает как систему на кристалле (SoC), так и сетевой сопроцессор (NCP).

SoC - это однокристальное решение, которое объединяет RFIC (802.15.4 в случае Thread) и процессор, где OpenThread и уровень приложения выполняются на локальном процессоре.

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

Одночиповый, только поток (SoC)

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

В этой схеме уровень приложения и OpenThread работают на одном процессоре. Приложение напрямую использует API OpenThread и стек IPv6.

Это дизайн SoC, наиболее часто используемый для конечных устройств. Поскольку он хорошо интегрирован в единый кремний, он имеет самую низкую стоимость и низкое энергопотребление.

Одночиповый, многоинтерфейсный (SoC)

Архитектура OT с несколькими SoC

Когда SoC имеет несколько радиомодулей, таких как 802.15.4 и Wi-Fi, или 802.15.4 и Bluetooth с низким энергопотреблением (BLE), уровень приложений и OpenThread по-прежнему работают на одном процессоре. В дизайне с несколькими интерфейсами OpenThread использует общий сторонний стек IPv6 через необработанный интерфейс дейтаграммы IPv6.

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

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

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

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

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

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

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

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

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

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

Проблемы с открытой платформой

В настоящее время для платформ OpenThread открыты следующие проблемы: