La tecnologia Flash*Freeze aumenta la durata delle batterie

Mantenere operazioni a basso consumo e a bassa energia è diventato uno degli aspetti critici della progettazione hardware in molti campi. Molti clienti richiedono operazioni con basso consumo per raggiungere livelli più alti di risparmio energetico del loro progetto anche in sistemi che sono alimentati dalla rete. Per i sistemi portatili, un’autonomia più lunga della batteria fornisce un vanatggio di prestazioni e aiuta ad assicurare la soddisfazione del cliente.

Il problema delle dispersioni
Il progresso della tecnologia di processo ha notevolmente aumentato l’efficienza della potenza nei circuiti Cmos. Ma all’aumentare della densità della logica è corrisposto un pari aumento delle dispersioni, perdite di energia dovute a correnti di fuga attraverso il substrato di silicio o attraverso l’elettrodo di ciscun transistore quando il circuito non è in funzione. Il modo in cui molti sistemi embedded raggiungono i loro obiettivi di basso consumo di energia è quello di mantenere basso il duty cycle in modo che gran parte della circuiteria venga spenta quando inattiva. Spegnendo la circuiteria, la dispersione è ridotta al minimo poiché non vi è corrente di alimentazione che venga dispersa. In tale condizione, il sistema si accende solo per leggere i dati ricevuti dai sensori, normalmente a un ciclo programmato o per rispondere, più raramente, alle interruzioni non programmate. Molti sistemi a bassa energia operano con duty cycle dell’1% o meno. Tali sistemi possono operare per dieci o più anni con la carica di una singola batteria mettendo gran parte della loro circuiteria in uno stato di “sleep” a basso consumo per la maggior parte del tempo.

Sistemi reattivi e periodici
I sistemi che operano con basso duty cycle di lavoro si dividono in due ampie classi, anche se molti hanno caratteristiche di entrambe. La prima, a operazione reattiva, è quella in cui il sistema è in uno stato di attesa aspettando la richiesta di qualche attività o particolari eventi prima di iniziare il processo. Il sistema reattivo ritorna in stand-by appena dopo aver completato l’operazione. Un tipico esempio di sistema reattivo a bassa energia è l’allarme sul controllo della salute per gli anziani e i malati che viene attivato quando un paziente cade; il segnale di uscita di un accelerometro può attivare un interrupt quando il valore di soglia indica che è rilevata una caduta. Altri sistemi usano una campionatura periodica. Questi sistemi si accendono con un intervallo stabilito, compiono alcuni processi e poi rientrano in modalità stand-by. Un monitor medico per il battito cardiaco tipicamente utilizzerà periodiche campionature per rilevare le pulsazioni che indicano i battiti del cuore del paziente. I protocolli di comunicazione come ZigBee utilizzano strutture dati inviate a intervalli periodici per notificare nuovi comandi ai nodi della rete. Questo permette al sistema di restare inattivo per la maggior parte del tempo, attivandosi solo quando sono attesi i nuovi dati.
Le reti di sensori richiedono sia comunicazioni a basso consumo che sensori attivi per compiere rilevamenti distribuiti. I sensori attivi possono essere accesi periodicamente da un timer per catturare, per esempio, immagini del traffico o condizioni metereologiche. In alternativa il sistema può accendersi in risposta a un evento come un terremoto quando un movimento improvviso venga avvertito da un sensore. Dopo che la misurazione è stata effettuata, l’informazione viene trasmessa con trasferimenti in modalità Burst e subito dopo l’apparecchiatura torna in stand-by. Funzioni reattive e periodiche possono formare parte di un più vasto sistema globale. Si consideri un cellulare con code division ad accesso multiplo a banda larga 3G (W-Cdma). Quando il resto del cellulare è in stand-by per risparmiare, un sottosistema monitora lo stato del segnale dei canali ad accesso casuale o Rach, con un ciclo di circa 10ms. Per gran parte di questo tempo, la circuiteria che monitora il segnale Rach è inattiva. Ma ogni 10 ms questa si attiva per controllare se vi sia una chiamata in arrivo; tale funzione può essere compiuta in circa 500µs.
Il problema che incontrano gli sviluppatori dei sistemi reattivi è che non tutti i componenti supportano al meglio questa modalità di operazione.

Il supporto alla modalità sleep
Molti microcontrollori integrano il supporto per le modalità sleep a bassa energia durante le quali i loro blocchi funzionali e i clock interni sono disabilitati. Comunque, molti progettisti di sistemi richiedono maggior flessibilità di quella offerta dai componenti a catalogo come microcontrollori, rivolgendosi a logiche programmabili tipo Fpga per ottenere le necessarie differenziazioni. Sfortunatamente, molte architetture di Fpga non integrano il supporto per la modalità sleep e, per di più, molti dispositivi basati su celle di Sram richiedono di essere alimentati da una corrente per mantenere lo stato di configurazione delle celle. La tecnologia di Fpga non-volatile non risente di queste restrizioni e offre la possibilità di supportare la modalità di sleep. Un esempio è SmartFusion2 di Microsemi che offre una configurazione chiamata Flash*Freeze. La tecnologia Flash*Freeze permette il rapido arresto e la ripartenza della struttura Fpga e i relativi I/O, riducendo enormemente il consumo senza alcun cambiamento nello stato della struttura Fpga. Una volta uscita dalla modalità Flash*Freeze, il componente continua a operare nel modo in cui era prima di venire spento. Una richiesta chiave nei sistemi reattivi è di muovere rapidamente tra gli stati per minimizzare l’ammontare di energia persa mentre i circuiti vengono sono rialimentati ma sono ancora inabili a operare. La tecnologia Flash*Freeze soddisfa questa richiesta con la sua abilità di entrare e uscire dallo stato di sleep in circa 100 μs. In modalità Flash*Freeze, la struttura Fpga consuma solo 1 mW. Anche quando attiva, l’architettura non-volatile consuma una frazione a confronto della dispersione di corrente di Fpga Sram con appena 10 mW come nel caso di un componente SmartFusion2 da 50.000 gate. Nel caso di un rilevatore di segnale Rach, l’on-time è di all’incirca 300 µs, durante il quale il componente SmartFusion2 è capace di processare 50.000 istruzioni Arm Cortex-M3 in aggiunta a 50.000 cicli di clock di Fpga.
Grazie alla struttura di supporto per il digital signal processing, il componente può eseguire 10 milioni di operazioni di moltiplicazione ed accumulazione in questo tempo, fornendo le risorse necessarie per compiere il rilevamento del segnale Rach senza coinvolgere altre parti del cellulare. Questo aumenta la porzione di tempo in cui la logica di banda base è mantenuta in sleep, aumentando la durata complessiva della carica della batteria. Il componente SmartDevice2 è attivo esso stesso per un totale di appena 500 µs ogni 10 ms.

L’uscita dalla modalità Flash*Freeze
Per supportare sia i sistemi reattivi che i periodici, l’architettura SmartFusion2 supporta una varietà di metodi per azionare l’uscita dalla modalità Flash*Freeze. Uscire dal Flash*Freeze può essere iniziato da cambiamenti sulle linee esterne di I/O o attraverso comandi emessi dal processore integrato Cortex-M3. L’uscita pilotata dai segnali di I/O può avvenire attraverso la modalità Signature o Activity.
In modalità Signature, un insieme selezionato di I/O è configurato come input con valori predeterminati di stato 1 e 0. Quando i segnali di ingresso selezionati combaciano selettivamente con quelli del set di Signature, il sistema inizierà l’uscita dal Flash*Freeze. Tutti gli I/O nella modalità Signature sono confrontati come una singola firma. In modalità Activity, un insieme selezionato di I/Os è configurato come input e ogni cambiamento su qualsiasi input inizializzerà l’uscita dal Flash*Freeze. Il componente può anche avere una combinazione mista di un gruppo di input nella modalità Signature e un gruppo di input nella modalità Activity; entrambe possono iniziare l’uscita dal Flash*Freeze. Questo fornisce un set flessibile di modalità dotando il progettista di sistema di molte opzioni con cui costruire un sistema altamente reattivo. Il passaggio nella modalità a basso consumo Flash*Freeze può essere iniziato dal processore Cortex-M3, dai segnali di I/O o da un segnale di logica interna alla struttra Fpga. Usando la struttura Fpga, quasi ogni evento o stato complesso desiderato può iniziare la modalità Flash*Freeze.  La modalità Flash*Freeze può anche essere usata per aiutare a mantenere la sicurezza del sistema. Per esempio, l’entrata nella modalità Flash*Freeze può anche essere usata nei sistema di sicurezza come protezione quando più controlli del codice d’accesso vengono falliti, simile ai controlli su smartphone quando troppe password vengono sbagliate. Questo è un metodo per ridurre in modo significativo il numero degli attacchi alle chiavi d’accesso che possono essere permesse su un sistema, mitigando così attacchi di intromissione. Attraverso la tecnologia Flash*Freeze, l’architettura SmartFusion2 della Microsemi fornisce un’infrastruttura flessibile per sistemi a basso consumo e a bassa energia assicurando ai progettisti di sistemi di poter beneficiare di tecniche che diminuiscono le perdite e aumentano la durata della vita della batteria.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome