Verso il sonno profondo

MICROCONTROLLORI –

Nuove tecniche stanno spingendo l’embedded power management dei microcontrollori oltre lo Sleep Mode.

Con lo sleep mode non più in grado di realizzare i risparmi energetici che possano supportare una nuova generazione di prodotti dotate batterie che abbiano una vita utile di una decade, o tenere il passo con l'ondata di esigenze “green”, i produttori di microcontrollori si stanno orientando su nuove tecniche per portare l'embedded power management oltre il convenzionale “sleep mode”. Recentemente, per esempio, alcuni produttori hanno iniziato a utilizzare switch elettronici per togliere completamente corrente da alcune parti del chip quando queste non vengono utilizzate; i circuiti di supervisione della tensione hanno anche fatto dei progressi tanto che essi possono effettuare controlli in continuo eppure pesare con un consumo minimale sulle batterie. Dall'esplorazione di queste tecnologie emergenti, si possono avere alcune intuizioni sul come implementarle per trarne il massimo effetto.

Lo sleep dimostra la sua età
Tradizionalmente, lo sleep mode degli Mcu è stato il tool di gestione dell'alimentazione più utile ai progettisti embedded. Ma lo sleep mode è stato in uso per molti anni e inizia a mostrare la sua età: non è più possibile contarci per raggiungere i benchmark in continua evoluzione per la riduzione dei consumi, fondamentale per le nuove generazioni di prodotti embedded. Una delle ragioni di ciò è che, nel corso degli anni, i microcontrollori sono diventati più complessi con l'integrazione di più funzioni e periferiche. Ad ogni incremento di complessità il microcontrollore acquisisce nuovi nodi di processo, ognuno dei quali può contribuire alle perdite di energia all'interno del sistema. A questo va aggiunta l'apparizione di prodotti che richiedono batterie con un ciclo di vita di dieci anni o più, in applicazioni come smart utility meter, rilevatori di fumo, oltre all'aumento di regolamentazioni che regolano il controllo di energia, e diventa chiaro perché il tradizionale sleep mode semplicemente non può far risparmiare energia a sufficienza.

Più profondo del sonno
Per compensare gli effetti dell'aumento di complessità e delle minori geometrie di processi, i produttori di Mcu hanno introdotto nuovi modi per ridurre il consumo di corrente. Sebbene i nomi possano variare, per esempio stand-by, STOP2, LPM5, o Deep Sleep, il loro fine è il medesimo: dovrebbero spingere la riduzione della richiesta di corrente da parte dei microcontrollori oltre le efficienze dimostrate dallo sleep mode. Tutte le tecnologie Deep Sleep operano utilizzando switch embedded controllati via software per rimuovere l'alimentazione dalle aree significative del microcontrollore. Spegnendo l'alimentazione dei transistor nelle aree del chip si elimina la dispersione dovuta ai transistor e quindi si prolunga in maniera significativa la vita delle batterie. Nel Deep Sleep mode, i circuiti continueranno a prelevare corrente, mentre dagli altri circuiti la corrente verrà interrotta. Non tutti i produttori raggiungono lo stesso livello di risparmio energetico grazie al Deep Sleep. Tipicamente, la maggior parte di loro raggiunge un risparmio dell'80% in termini di sleep current, ma alcuni Mcu oggi raggiungono correnti Deep Sleep di appena 20 nA. La combinazione di basse correnti in Deep Sleep mode, con batterie che raggiungano bassi livelli di autoscarica, possono aggiungere anni alla vita delle batterie di una applicazione.

Il costo opportunità del Deep Sleep
Naturalmente ogni nuovo vantaggio porta con se un costo opportunità e, per il Deep Sleep mode, questo costo opportunità consiste in un tempo di start-up maggiore. Tipicamente, un Mcu si “risveglia” in 1-10 µs da uno Sleep mode standard ma, in funzione del costruttore, un Mcu può richiedere anche 300 µs-3 ms per “risvegliarsi” dal Deep Sleep. Il più lungo start-up è dovuto al completamento delle sequenze di power-up e dalla stabilizzazione dei regolatori on-chip. Il risveglio dal Deep Sleep mode è molto simile ad un vero e proprio Power-on Reset. Un'altra differenza significativa è che l'implementazione del Deep Sleep rimuove l'alimentazione dalla Ram, registri periferiche e I/O, mentre nello Sleep mode standard, l'esecuzione riparte esattamente da dove viene fermata. I Deep Sleep mode richiedono che il contesto dei programmi vengano ripristinati da una sorgente di memoria non volatile, come una Flash o una Eeprom, o da piccole aree di back-up Ram che non vengano spente in modalità Deep Sleep. Poiché la corrente è necessaria per eseguire i codici per riportare un Mcu al suo stato pre-Deep Sleep, c'è una penalità di consumo da pagare per ripartire dal Deep Sleep. Nonostante questi costi opportunità, sono molte le applicazioni che possono trarre beneficio dal Deep Sleep. La difficoltà, ovviamente, sta nel determinare quali applicazioni potrebbero implementare il Deep Sleep e quali no.

I sistemi di risveglio
Risvegliare un Mcu dal Deep Sleep è differente dal risvegliarlo dal Sleep mode. Il tradizionale Sleep mode ha un certo numero di modi per risvegliare un Mcu, come interrupt, timer, communication reception, interruzione della conversione Adc e variazioni della tensione di alimentazione. Alcune di queste fonti di risveglio, ma non tutte, sono state include dai produttori di Mcu nei loro Deep Sleep mode. Le sorgenti di risveglio disponibili nel Deep Sleep mode possono includere interrupt, reset pin, power-on reset, sveglia in real-time, timer watchdog e rilevamento brownout. Quello che qui manca è il risveglio dal communication reception e interruzione della conversione Adc. Poiché queste porzioni del dispositivo non hanno alimentazione, quelle funzionalità di risveglio non possono essere supportate nel Deep Sleep mode. Dato che differenti produttori possono scegliere di usare differenti implementazioni per il risveglio, è importante rivedere le possibilità per questo fornite dalle diverse famiglie di microcontrollori. Alcuni fornitori, per esempio, fanno terminare il Deep Sleep semplicemente per asserzione del pin reset. Questo va bene per applicazioni che hanno un pulsante “on” e non hanno altri consumi di corrente. Il premere il pulsante risveglia l'applicazione dal Deep Sleep, ripristina il suo stato e il prodotto è pronto all'uso. Funziona con applicazioni come termometri e apparecchiature palmari e può anche essere utilizzato per allungare la shelf-life, la vita a scaffale, di prodotti alimentati a batteria, dato che queste possono essere spedite in stato di Deep Sleep. Altri fornitori usano una più completa implementazione di sistema e hanno incluso più flessibilità aggiungendo real-time clock e funzioni di calendario. Queste permettono alle applicazioni di essere autonome e possono aggiungere un consumo di soli 500 nA alla corrente di Deep Sleep. Invece di attendere che un pulsate sia premuto, l'orologio risveglia l'apparecchiatura. Questo è molto importante per applicazioni come rilevatori di fumo che devono essere risvegliate due o tre volte ogni minuto per campionare la qualità dell'aria, o per un sensore alimentato a batteria che deve essere acceso alcune volte al giorno per trasmettere dei dati. Vite incredibilmente più lunghe delle batterie possono ottenute abbinando ogni applicazione a specifiche caratteristiche e modalità di Deep Sleep wake-up.

Il fine vita
Persino con i prolungamenti della vita della batterie dovuti al Deep Sleep c'è ancora, indiscutibilmente, un momento in cui la batteria raggiungerà il suo fine vita e che quindi il rischio di operazioni anomale aumenti. Tipicamente, sono utilizzati circuiti di supervisione come Bor (Brownout Reset) e Wdt (Watchdog Timer) per proteggersi da questo. I circuiti Brownout possono rilevare se l'output della batteria è troppo basso per operare in sicurezza e forzare l'applicazione verso un safe state. I Watchdog timer offrono una protezione similare contro l'esecuzione di errant code, Se l'Mcu cerca di eseguire con tensione o frequenza pericolose. Il problema principale con questi circuiti è il loro consumo di corrente, che tipicamente può essere anche più alto di 5-50 µA. Per un Mcu che miri a un benchmark per il consumo di energia attraverso l'utilizzo di Deep Sleep mode, la quantità di energia consumata da queste soluzioni tradizionali è inaccettabile. I più recenti Mcu superano questo attraverso l'introduzione di una serie di circuiti di minor assorbimento Bor e Wdt, espressamente progettati per il Deep Sleep mode. Conosciuti come Deep Sleep Bor o Zero-Power Bor, questi circuiti brownout scambiano precisione per il consumo di corrente, che può essere anche di soli 45 nA. Questo non solo protegge il prodotto al fine vita della batteria, ma protegge anche contro perdite momentanee di potenza dovute a flessioni del portabatterie, cosa abbastanza comune nei sistemi alimentati a batterie. La modalità con cui il low-current Bor è implementato varia a seconda del fornitore: alcuni possono essere spenti, mentre altri restano permanentemente accesi. Poiché non tutti i produttori di Mcu forniscono un Bor per Deep Sleep è importante verificare la compatibilità del Mcu con ogni applicazione. Alcuni fornitori hanno anche ridotto le correnti dei watchdog-timer nei Mcu con Deep Sleep raggiungendo un consumo di corrente che può essere anche di soli 400 nA. Queste riduzioni dei consumo di corrente significano che entrambi i circuiti supervisori possono ora rimanere accesi quando sono in Deep Sleep, con un consumo di corrente combinata di soli 445 nA. In questo modo si raggiunge un consumo di corrente più basso del 99% rispetto alla precedente generazione di Mcu. Utilizzando l'equazione mostrata sopra, il break-even time con entrambi i circuiti supervisori è dimostrato essere di soli 5.9 secondi. Il consumo di corrente di questi nuovi circuiti supervisori, quindi, permettono un più sicuro funzionamento per una ampia gamma di applicazioni che “dormano” per più di 6 secondi.

Deep Sleep
Mentre la riduzione delle geometrie dei processi nelle nuove Mcu significano un incremento di integrazione e funzionalità, i tradizionali Sleep mode non possono più compensare le maggiori dispersioni di corrente dovuto al grandemente aumentato conto dei transistor. I fornitori di microcontrollori quindi si stanno adattando ai nuovi Deep Sleep mode, in cui le parti dei circuiti possono essere completamente spente quando non in funzione. Questo, in combinazione con circuiti di risveglio più efficienti energeticamente, può far ottenere correnti Deep Sleep che sono l'80% più basse delle precedenti tecniche di power-management. Sebbene il Deep Sleep mode può prolungare enormemente la vita delle batterie nelle applicazioni Mcu-based, è importante considerare il power break-even point, dove l'energia risparmiata è maggiore che l'energia richiesta per risvegliare il circuito dal suo stato Sleep con alimentazione spenta. La semplice equazione mostrata sopra permette ai progettisti embedded di effettuare questa scelta ponderata e di creare una nuova generazione di prodotti alimentati a batteria con una vita incredibilmente lunga.

Pubblica i tuoi commenti