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

Diseños de coprocesadores

Los diseños de procesadores compartidos son compatibles con OpenThread. Cuando se compilan ejemplos de OpenThread, se crea automáticamente una imagen de firmware para el diseño de cada coprocesador. Para obtener más información, consulta Objetos binarios.

Coprocesador de radio (RCP)

Arquitectura de OT RCP

En un diseño de RCP, el núcleo de OpenThread se encuentra en el procesador del host con una capa de MAC mínima (controlador) en el dispositivo con la radio de Thread. Por lo general, el procesador host no se suspende en este diseño, en parte para garantizar la confiabilidad de la red de Thread.

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

La ventaja es que OpenThread puede usar los recursos del procesador más potente.

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

El router de borde de OpenThread es compatible con el diseño de RCP. Para obtener más información, consulta Router de borde de OpenThread.

Para compilar un RCP, consulta los siguientes codelabs:

Crea una red Thread con nRF52840: Router de borde de Thread

Coprocesador de red (NCP)

Arquitectura de OT NCP

El diseño estándar de NCP tiene funciones de Thread en el SoC y ejecuta la capa de la aplicación en un procesador host que, por lo general, tiene más capacidad (pero tiene una mayor demanda de energía) que el dispositivo OpenThread.

wpantund administra la comunicación entre el NCP y el procesador host a través de una interfaz en serie, por lo general, mediante SPI o UART a través del protocolo Spinel.

El beneficio de este diseño es que el host de mayor potencia puede suspenderse mientras el dispositivo OpenThread de menor consumo de energía permanece activo para mantener su lugar en la red de Thread. Como el SoC no está vinculado a la capa de la aplicación, el desarrollo y las pruebas de 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 bocinas.

Protocolo Spinel

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

Este protocolo se incluye con OpenThread en /src/lib/spinel Hay una herramienta de CLI de Python llamada Pyspinel disponible para realizar pruebas.

Si quieres obtener más información, consulta el borrador de Internet para el protocolo host-controlador de Spinel.