Conceptions de co-processeurs

Les conceptions de co-processeurs sont compatibles avec OpenThread. Lors de la création d'exemples OpenThread, une image de micrologiciel pour chaque conception de coprocesseur est automatiquement créée. Pour en savoir plus, consultez la section Binaires.

Coprocesseur de radio (RCP)

Architecture RCP OT

Dans une conception RCP, le noyau d'OpenThread réside sur le processeur hôte avec seulement une couche MAC minimale "contrôleur" sur l'appareil avec le signal radio Thread. Le processeur hôte ne dort généralement pas dans cette conception, en partie pour garantir la fiabilité du réseau Thread.

La communication entre le RCP et le processeur hôte est gérée par OpenThread Daemon via une interface SPI utilisant le protocole Spinel.

L'avantage ici est qu'OpenThread peut utiliser les ressources du processeur le plus puissant.

Cette conception est utile pour les appareils qui sont moins sensibles aux contraintes d'alimentation. Par exemple, le processeur hôte de la caméra est toujours activé pour traiter la vidéo.

Le routeur de bordure OpenThread prend en charge une conception RCP. Pour en savoir plus, consultez la page sur le routeur de bordure OpenThread.

Pour créer un RCP, reportez-vous aux ateliers de programmation suivants:

Créer un réseau Thread avec nRF52840 Thread Border Router

Coprocesseur de réseau

Architecture OT NCP

La conception standard de NCP dispose de fonctionnalités Thread sur le SoC et exécute la couche d'application sur un processeur hôte, qui est généralement plus capable (mais nécessite davantage d'énergie) que le périphérique OpenThread.

La communication entre le NCP et le processeur hôte est gérée par wpantund via une interface série, généralement à l'aide de SPI ou d'UART, via le protocole Spinel.

L'avantage de cette conception est que l'hôte à puissance élevée peut dormir tandis que l'appareil OpenThread à faible puissance reste actif pour conserver sa place dans le réseau Thread. Comme le SoC n'est pas lié à la couche d'application, le développement et les tests des applications sont indépendants de la compilation OpenThread.

Cette conception est utile pour les passerelles ou les appareils ayant d'autres exigences de traitement, telles que les caméras IP et les enceintes.

Protocole Spinel

Spinel est un protocole général de gestion permettant à un appareil hôte de communiquer et de gérer un coprocesseur. Au départ conçu pour prendre en charge les NCP basés sur des threads, Spinel a été conçu avec une approche multicouche qui peut facilement s'adapter à d'autres technologies réseau à l'avenir. Il est utilisé avec les conceptions RCP et NCP.

Ce protocole est inclus avec OpenThread à l'adresse /src/lib/spinel. Un outil de CLI Python nommé Pyspinel est disponible à des fins de test.

Pour plus d'informations, consultez le document Internet-Brouillon pour le protocole Spinel Host-Controller.