Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Diseños de coprocesador

Los diseños de coprocesador son compatibles con OpenThread. Al crear ejemplos de OpenThread, se crea automáticamente una imagen de firmware para cada diseño de coprocesador. Para obtener más información, consulte Binarios .

Coprocesador de radio (RCP)

Arquitectura OT RCP

En un diseño RCP, el núcleo de OpenThread reside en el procesador host con solo un "controlador" de capa MAC mínimo en el dispositivo con la radio Thread. El procesador host generalmente no duerme en este diseño, en parte para garantizar la confiabilidad de la red Thread.

OpenThread Daemon administra la comunicación entre el RCP y el procesador host a través de una interfaz SPI sobre el protocolo Spinel.

La ventaja aquí es que OpenThread puede utilizar los recursos del procesador más potente.

Este diseño es útil para dispositivos que son menos sensibles a las limitaciones de energía. Por ejemplo, el procesador principal de una cámara de video siempre está encendido para procesar video.

El enrutador de borde OpenThread admite un diseño RCP. Para obtener más información, consulte Enrutador de borde OpenThread .

Para crear un RCP, consulte los siguientes Codelabs:

Cree una red de subprocesos con el enrutador de borde de subprocesos nRF52840

Coprocesador de red (NCP)

Arquitectura TO NCP

El diseño estándar de NCP tiene características de subprocesos en el SoC y ejecuta la capa de aplicación en un procesador host, que suele tener más capacidad (pero tiene mayores demandas de energía) que el dispositivo OpenThread.

La comunicación entre el NCP y el procesador host es administrada por wpantund a través de una interfaz serial, generalmente usando SPI o UART, sobre el protocolo Spinel.

El beneficio de este diseño es que el host de mayor potencia puede dormir mientras el dispositivo OpenThread de menor potencia permanece activo para mantener su lugar en la red Thread. Y dado que el SoC no está vinculado a la capa de la aplicación, el desarrollo y la prueba de las aplicaciones son independientes de la compilación de OpenThread.

Este diseño es útil para dispositivos de puerta de enlace o dispositivos que tienen otras demandas de procesamiento, como cámaras IP y altavoces.

Protocolo de espinela

Spinel es un protocolo de administración general para permitir que un dispositivo host se comunique y administre un coprocesador. Inicialmente diseñado para admitir NCP basados ​​en subprocesos, Spinel se diseñó con un enfoque en capas que le permite adaptarse fácilmente a otras tecnologías de red en el futuro. Se utiliza con los diseños RCP y NCP.

Este protocolo se incluye con OpenThread en /src/lib/spinel . Una herramienta CLI de Python llamada Pyspinel está disponible para fines de prueba.

Para obtener más información, consulte el borrador de Internet para el protocolo de controlador de host de Spinel .