Come ridurre i consumi nei dispositivi IoT wireless

0
22
Come ridurre i consumi nei dispositivi IoT wireless
0
(0)

Grazie alla sua potente CPU, alla memoria veloce e al bus dati interno ad alta velocità, un microcontrollore wireless o SoC è ottimizzato per l’esecuzione ad alte prestazioni di istruzioni di elaborazione dati e di segnalazione, nonché per il controllo di un sistema wireless come una radio Bluetooth Low Energy o Zigbee.

L’architettura in silicio su cui si basano questi dispositivi rende difficile ottimizzare allo stesso tempo il consumo energetico estremamente basso in modalità di sospensione, quando non è richiesta la piena capacità del motore di elaborazione e del circuito RF.

Nonostante i grandi sforzi dei produttori di MCU nell’implementare modalità di risparmio energetico, ridimensionamento della frequenza e altre tecniche, esiste una soglia minima al di sotto della quale il consumo energetico di un MCU wireless non scenderà.

Per molti dispositivi IoT endpoint e sensori wireless, questo livello base di consumo energetico può avere un impatto significativo sulla durata della batteria, costringendo il progettista del dispositivo a un difficile compromesso tra dimensioni, peso e costo della batteria da un lato, e durata del ciclo della batteria dall’altro.

Ciò di cui queste applicazioni hanno tipicamente bisogno in modalità di quiescenza o di monitoraggio dei sensori, negli intervalli in cui l’MCU non è tenuta a elaborare dati, prendere decisioni o comunicare in modalità wireless, è il consumo energetico misurato in nanowatt. Ciò che ottengono con un’architettura basata su una MCU che controlla direttamente i sensori è un consumo energetico in microwatt o addirittura milliwatt.

Ma questo svantaggio delle architetture dei sistemi IoT convenzionali può essere superato con un’architettura diversa: un controller di monitoraggio dedicato, ottimizzato per un consumo energetico estremamente basso anziché per elevate prestazioni del processore, può essere utilizzato per orchestrare un sistema sensibile al consumo energetico che include un SoC o MCU wireless e uno o più sensori (vedere Figura 1).

Questa è la promessa di nPZero di Nanopower Semiconductor, un chip complementare a basso consumo energetico in grado di interfacciarsi con qualsiasi MCU o sensore compatibile con I2C o SPI. Con un consumo di corrente inferiore a 100 nA e consentendo il duty-cycle dei sensori a risparmio energetico, nPZero può conseguire un risparmio energetico medio a livello di sistema fino al 90% rispetto a una tipica architettura basata su MCU wireless.

Fig. 1: il circuito integrato nPZero opera come chip complementare al SoC

nPZero: condivisione del ruolo di controllore di sistema

Questa nuova architettura a risparmio energetico è in contrasto con il tipico approccio alla progettazione di endpoint o sistemi edge. La MCU è normalmente considerata il componente centrale del sistema: controlla i dispositivi di input periferici, quali sensori e tastiere, prende decisioni in base agli input dei sensori e quindi esegue operazioni di output, come la visualizzazione di un messaggio all’utente su uno schermo o l’attivazione di un allarme.

In questa architettura, l’MCU deve essere sempre acceso, anche se, per periodi tra l’interrogazione dei sensori o l’attivazione di un dispositivo di output, l’MCU può funzionare in una modalità di sospensione a consumo relativamente basso. E poiché l’architettura in silicio e il design dei transistor dell’MCU sono ottimizzati per le prestazioni di calcolo, il livello base di utilizzo di energia e la dispersione di corrente del dispositivo innalzano il limite minimo di consumo energetico in modalità sospensione.

Ciò significa che utilizzare una CPU di fascia alta per monitorare un sistema inattivo rappresenta uno spreco di risorse energetiche della batteria. La potenza di elaborazione della CPU è certamente necessaria per gestire comunicazioni wireless come i protocolli Bluetooth Low Energy, Zigbee o Lora RF e per eseguire complesse operazioni di elaborazione dati. Tuttavia, nei periodi tra le trasmissioni o le operazioni di elaborazione dei dati, la CPU è sovra-specificata e consuma molta energia.

In alcune applicazioni questi periodi di inattività possono essere lunghi. Ad esempio, in un’applicazione come la logistica della catena del freddo, il parametro principale di interesse, ovvero la temperatura ambiente, raramente si sposta al di fuori della zona target e quindi il controllore è raramente chiamato a elaborare o trasmettere dati o a prendere una decisione. In questo tipo di applicazione, quasi tutto il consumo energetico è in modalità quiescente.

L’introduzione del controller di monitoraggio nPZero consente ai progettisti di dispositivi IoT endpoint di adottare un’architettura che ottimizza il sistema per ottenere il minor consumo energetico possibile in modalità di monitoraggio inattiva. In questa architettura, il ruolo di controller di sistema è condiviso tra nPZero e il SoC o MCU wireless. In modalità di monitoraggio, nPZero controlla direttamente fino a quattro sensori, mentre la MCU è spenta.

Quando il valore di un sensore supera una soglia preimpostata (ad esempio, nell’esempio della logistica della catena del freddo, ciò potrebbe significare che la temperatura sale al di sopra o scende al di sotto della temperatura richiesta per la refrigerazione), nPZero attiva la MCU, segnala il valore del sensore rilevante e attiva la MCU affinché assuma temporaneamente il controllo del sistema.

nPZero è sempre l’interfaccia tra MCU e sensori. Ciò significa che nPZero funziona alternativamente in modalità controller o periferica. Durante il monitoraggio con la MCU spenta, nPZero è il controller: controlla i sensori e decide (facendo riferimento alle soglie preimpostate) quando un’azione richiede l’intervento della MCU. Con nPZero come controller, l’MCU è di fatto un dispositivo periferico gestito da nPZero.

Quando il valore di un sensore supera una soglia, nPZero attiva la MCU e passa in modalità periferica. Ora nPZero viene utilizzato dall’MCU come un hub di sensori: i valori dei sensori vengono segnalati all’MCU tramite nPZero e non direttamente dal sensore all’MCU. Questa modalità periferica continua finché l’MCU non ha completato le sue operazioni; a quel punto trasferisce il controllo del sistema all’nPZero, che poi spegne nuovamente l’MCU.

Grande margine di risparmio energetico del sistema

Questa architettura potrebbe avere poca importanza per i progettisti di sistemi IoT alimentati a batteria se l’nPZero stesso fosse un comune dispositivo a semiconduttore. Nel diagramma della Figura 2 ha un aspetto familiare: nPZero contiene un blocco logico riconfigurabile, che consente al progettista del sistema di configurare parametri operativi quali tempi di riattivazione del sensore e valori di soglia, garantendo un elevato grado di flessibilità senza la necessità di una MCU dedicata.

Fig. 2: nPZero con logica riconfigurabile può essere programmato per adattarsi a diversi requisiti applicativi

Ma un aspetto distintivo dell’nPZero è la tecnologia proprietaria dei semiconduttori sub-soglia utilizzata per implementare le funzionalità analogiche e digitali del dispositivo. Questa tecnologia, sviluppata da Nanopower Semiconductor, offre straordinari risparmi nel consumo energetico operativo: quando funziona come controller di sistema, gestendo fino a quattro sensori, nPZero riduce in genere la corrente a riposo del sistema a 100 nA, o meno.

Nei design IoT dimostrati da Nanopower, si ottengono risparmi energetici del sistema fino al 90%. Abbiamo eseguito una valutazione basata su nPZero DevKit, utilizzando il sensore di temperatura e l’accelerometro inclusi e un host basato su Nordic nRF52840. Questo sistema può essere tipicamente utilizzato in applicazioni quali il monitoraggio delle condizioni delle merci in transito o per la registrazione dei dati della catena del freddo.

Quando il sistema demo funziona senza nPZero, ovvero con il SoC nRF52840 che controlla il funzionamento dei sensori direttamente tramite interfacce I2C e con nPZero disabilitato, la corrente media per un’ora di funzionamento tipico è di 395,4 µA. Il sistema è impostato per trasmettere aggiornamenti di stato ogni cinque minuti e per attivare azioni quando la temperatura esce da una finestra operativa preimpostata.

Dopo aver abilitato nPZero per controllare il sistema tramite I2C, consentendo lo spegnimento di nRF52840 tra le trasmissioni e il ciclo di funzionamento dei sensori, la corrente media scende a 49,6 µA, ovvero una riduzione dell’87%, garantendo tuttavia esattamente le stesse funzionalità e prestazioni, inclusa la trasmissione di aggiornamenti di stato ogni cinque minuti.

Valutazione e configurazione semplici del sistema

I progettisti di sistemi troveranno semplice configurare nPZero affinché funzioni come controller di sistema, poiché Nanopower fornisce uno strumento grafico nPZero Configurator senza codice per configurare i sensori nel sistema, applicare pianificazioni di polling e impostare i parametri per l’attivazione di eventi (vedere Figura 3). Lo strumento nPZero Configurator genera automaticamente il codice firmware necessario all’MCU host per configurare il circuito integrato nPZero, che viene visualizzato dall’MCU come una periferica standard. Se necessario, è possibile esaminare il codice e modificarlo manualmente nello strumento.

Inoltre, lo strumento può analizzare lo stato degli interruttori di alimentazione e delle interfacce seriali in un sistema in funzione, consentendo all’utente di valutare l’efficienza di una determinata implementazione e di adattare la configurazione del dispositivo nPZero alle proprie esigenze.

Fig. 3: il configuratore nPZero fornisce un’interfaccia basata su GUI per la scelta delle soglie dei sensori e di altri parametri operativi

La valutazione è resa possibile dal design modulare del kit di sviluppo nPZero: è basato su una scheda madre dotata del circuito integrato nPZero, nella quale è possibile collegare schede sensore PMOD e schede figlie SoC con un’interfaccia compatibile con Arduino Uno (vedere Figura 4). Questa piattaforma di sviluppo consente ai progettisti di prodotti IoT wireless di testare rapidamente la loro applicazione nello stesso modo del sistema di registrazione dei dati della catena del freddo descritto sopra, utilizzando la loro scelta di SoC wireless e sensori, e di confrontare il consumo energetico del sistema con e senza il circuito integrato nPZero.

Grazie alla tecnologia sub-soglia impiegata in nPZero e alla sua capacità di gestire il duty cycle dei sensori tramite I2C o SPI, i progettisti di sistemi possono aspettarsi notevoli risparmi energetici che consentiranno loro di estendere notevolmente la durata della batteria tra una sostituzione e l’altra oppure di implementare un design migliorato con una batteria più piccola, leggera ed economica.

Fig. 4: Il kit di sviluppo modulare consente agli ingegneri di valutare nPZero con la loro scelta di MCU e sensori

Articolo dii Jan Frode Bergsø, Business Development Manager, Nanopower Semiconductor

Quanto hai trovato interessante questo articolo?

Voto medio 0 / 5. Numero valutazioni: 0

Ancora nessuna valutazione! Valuta per primo questo articolo.