Background Image
Table of Contents Table of Contents
Previous Page  42 / 102 Next Page
Information
Show Menu
Previous Page 42 / 102 Next Page
Page Background

DIGITAL

ENERGY HARVESTING

42

- ELETTRONICA OGGI 449 - OTTOBRE 2015

ma sono quelle che avranno il maggior impatto sui consumi

di energia complessivi. Un’operazione cruciale è minimizzare

le attività non necessarie, conseguibile mediante un utilizzo

“intelligente” delle modalità di “sleep”. Ulteriori miglioramenti

possono essere ottenuti scegliendo architetture di processo-

re in grado di ottimizzare la quantità di lavoro svolto durante

ogni ciclo di clock.

I microcontrollori di solito prevedono più di una modalità

di “sleep” a basso consumo: da una più “leggera”, in cui la

memoria locale e la maggior parte delle periferiche restano

alimentate mentre il core della CPU è nello stato di “idle” a

una più “profonda” (deep-sleep mode) dove la maggior parte

delle funzioni sono state disabilitate e non sono alimentate.

Minore è il numero delle periferiche e delle funzioni del core

abilitate, maggiori saranno i risparmi energetici. Ma non bi-

sogna dimenticare i vari compromessi a livello di progetto.

Solitamente, un nodo sensore IoT dovrà effettuare il moni-

toraggio dell’ambiente circostante e reagire nel momento in

cui variano le condizioni del sistema. Al fine di ottimizzare

un sistema embedded a basso consumo, in particolar modo

uno che sfrutta sorgenti intermittenti di alimentazione come

accade se si utilizzano tecniche di energy harvesting, è in-

dispensabile individuare la modalità di “sleep” a più basso

consumo che garantisca una risposta adeguata al verificarsi

eventi in real-time.

La modalità di “sleep” a più basso consumo di un microcon-

trollore integrato in un sistema reale è quello in cui un RTC

(Real Time Clock) gestire le funzioni ausiliarie di base e “sve-

glia” il sistema su base periodica per una verifica dell’attività.

Ad esempio un sistema può “svegliarsi” ogni secondo per ve-

rificare eventuali variazioni delle condizioni esterne e attiva-

re completamente il core del processore nel caso il software

debba eseguire l’elaborazione degli ingressi. Un approccio

di questo tipo, basato sull’interrogazione ciclica (polling) può

risultare dispendioso, in termini energetici, per tutti questi

sistemi in cui le condizioni di allerta sono rare e non si mani-

festano a intervalli regolari.

È possibile ottenere risposte più rapide a interrupt di tipo

casuale nel caso un sistema adotti uno stato di “sleep” a più

elevate energia per elaborare gli I/O e “svegliare” in tempi

brevi il core del processore nel caso si verifichi il supera-

mento di una soglia: queste modalità, in ogni caso, possono

assorbire la riserva di energia e non garantire al processore

la potenza necessaria per fornire una risposta. In ogni caso

è possibile abbinare le migliori caratteristiche della modalità

“deep-sleep” assicurando nel contempo la rapidità di rispo-

sta necessaria quando gli ingressi lo richiedono.

Sono disponibili RTC a bassissimo consumo che possono ve-

rificare l’esistenza di eventuali problematiche esterne, come

ad esempio problemi provocati da interrupt hardware o da

variazioni della tensione di ingresso rilevate da un compa-

ratore. Nel momento in cui è rilevato un evento esterno, il

sistema può “svegliarsi” velocemente senza nessuna penaliz-

zazione in termini di consumi imputabili all’implementazione

di una strategia di polling, ottimizzando in tal modo il periodo

di tempo che il sistema trascorre in modalità “deep sleep”.

Durante l’elaborazione software è importante assicurarsi

che venga svolta la massima quantità di lavoro possibile per

ogni ciclo di clock. In molte applicazioni IoT che prevedono

l’impiego di sensori è richiesto l’uso di algoritmi per l’elabo-

razione del segnale al fine di rilevare eventuali problemi ed

effettuare la pre-elaborazione dei dati prima che questi siano

trasferiti agli utilizzatori o al cloud.

Ciò, richiede non solo l’uso di architetture processore a 32

piuttosto che a 8 bit, capaci di eseguire operazioni matema-

tiche utilizzando un numero inferiore di cicli di clock, ma an-

che di architetture in grado di supportare istruzioni di ela-

borazione del segnale in virgola fissa e in virgola mobile. Il

supporto hardware per l’aritmetica in virgola mobile assicu-

ra l’esecuzione degli algoritmi in un numero di cicli di clock

nettamente inferiore, consentendo così al core di ritornare

velocemente in uno stato di “sleep” più efficiente in termini

energetici con conseguente riduzione dei consumi a livello

di sistema complessivo. Per soddisfare tutti questi requisiti è

necessario scegliere processori come Cortex-M4F di ARM,

utilizzati dai microcontrollori della famiglia Apollo di Ambiq.

Grazie ai miglioramenti apportati in termini di efficienza

energetica – a livello sia di sistema sia di funzionamento dei

circuiti a basso livello grazie ad un controllo accurato della

tensione – le tecnologie di energy harvesting si stanno pro-

ponendo come una valida alternativa per un numero sempre

crescente di progetti basati su sensori per applicazioni IoT.

Fig. 2 – Per valori bassissimi della tensione le perdite per dispersione

tendono a essere predominanti