Progetti per co-processori

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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

Coprocessore radio (RCP)

Architettura OT RCP

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

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

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

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

Il router OpenThread Border supporta un design RCP. Per ulteriori informazioni, consulta la sezione Router di confine OpenThread.

Per creare un RCP, consulta i seguenti codelab:

Crea una rete Thread con nRF52840 Router bordo confine

Coprocessore di rete (NCP)

Architettura OT NCP

La progettazione standard di NCP ha funzionalità di thread sul SoC ed esegue il livello dell'applicazione su un processore host, che in genere è più in grado (ma ha esigenze di potenza maggiori) rispetto al dispositivo OpenThread.

La comunicazione tra NCP e processore host è gestita da wpantund tramite un'interfaccia seriale, in genere utilizzando SPI o UART, tramite il protocollo Spinel.

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

Questa progettazione è utile per i dispositivi gateway o che hanno altre esigenze di elaborazione, ad esempio le telecamere IP e gli altoparlanti.

Protocollo Spinel

Spinel è un protocollo di gestione generale per consentire a un dispositivo host di comunicare e gestire un coprocessore. Inizialmente progettato 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 utilizzata con le configurazioni RCP e NCP.

Questo protocollo è incluso con OpenThread all'indirizzo /src/lib/spinel. È disponibile uno strumento dell'interfaccia a riga di comando Python Pyspinel per scopi di test.

Per ulteriori informazioni, consulta la pagina relativa a Internet-Bozze per il protocollo Controller-Spinel.