Progetti per co-processori

I design del coprocessore sono supportati da OpenThread. Quando crei esempi OpenThread, viene creata automaticamente un'immagine firmware per ogni design del coprocessore. Per ulteriori informazioni, consulta Binari.

Radio Co-Processor (RCP)

Architettura OT RCP

In un design RCP, il core di OpenThread risiede sul processore host con solo un "controller" di livello MAC minimo sul dispositivo con la radio Thread. Il processore host in genere non va in sospensione in questo design, in parte per garantire l'affidabilità della rete Thread.

La comunicazione tra l'RCP e il processore host è gestita da OpenThread Daemon tramite un'interfaccia SPI sul protocollo Spinel.

Il vantaggio è che OpenThread può utilizzare le risorse del processore più potente.

Questo design è utile per i dispositivi meno sensibili ai vincoli di alimentazione. Ad esempio, il processore host di una videocamera è sempre attivo per elaborare i video.

OpenThread Border Router supporta un design RCP. Per ulteriori informazioni, consulta OpenThread Border Router.

Per creare un RCP, consulta i seguenti Codelab:

Crea una rete Thread con nRF52840 Router di confine Thread

Network Co-Processor (NCP)

Architettura OT NCP

Il design NCP standard include funzionalità Thread sul SoC ed esegue il livello dell'applicazione su un processore host, che in genere è più potente (ma ha maggiori requisiti energetici) rispetto al dispositivo OpenThread.

Il vantaggio di questo design è che l'host a maggiore potenza può rimanere inattivo mentre il dispositivo OpenThread a minore potenza rimane attivo per mantenere il suo posto nella rete Thread. Poiché il SoC non è legato al livello applicazione, lo sviluppo e il test delle applicazioni sono indipendenti dalla build OpenThread.

Questo design è utile per i dispositivi gateway o per i dispositivi che hanno altre esigenze di elaborazione, come telecamere IP e speaker.

Protocollo spinello

Spinel è un protocollo di gestione generale che consente a un dispositivo host di comunicare con un coprocessore e gestirlo. Progettato inizialmente per supportare gli NCP basati su Thread, Spinel è stato progettato con un approccio a più livelli che consente di adattarlo facilmente ad altre tecnologie di rete in futuro. Viene utilizzato con i design RCP e NCP.

Questo protocollo è incluso in OpenThread all'indirizzo /src/lib/spinel. A scopo di test è disponibile uno strumento CLI Python chiamato Pyspinel.

Per saperne di più, consulta la bozza di internet per il protocollo Spinel Host-Controller.