Gecko per i Micro Ultra Low Power

Nuovo appuntamento con la Rubrica Firmware Reload di Elettronica Open Source. Il vasto mercato dei microcontrollori oggi si presenta all’acquirente come un’imponente distesa di dispositivi eterogenei, ognuno con le proprie caratteristiche distintive, che li rendono appetibili all'utente per la scelta più consona alle specifiche di progetto.

Introduzione

Oggi domanda ed offerta si stanno spingendo sempre di più verso l’integrazione e la portabilità dei sistemi. Quando si pensa alla portabilità, le prime cose che vengono in mente sono gli smartphone e i tablet, oggetti che fino ad un decennio addietro facevano parte di una concezione tecnologica troppo futuristica e avanzata per le nostre tasche. Oggi questa si presenta come il portale più utilizzato dal grande pubblico per comunicare attraverso le varie reti a cui questi straordinari dispositivi si appoggiano. Il grande salto tecnologico è stato principalmente dovuto a due fattori:

  • la miniaturizzazione dell’elettronica, che ha permesso di integrare in un circuito dalle dimensioni di una mano quello che prima entrava (forse) in una valigetta;
  • la riduzione dei consumi, che ha permesso la portabilità di molti dispositivi che prima necessitavano di una notevole quantità di energia per funzionare correttamente. Basti pensare al grande balzo in avanti fatto dai computer portatili, nei quali un decennio fa l’autonomia non andava oltre le 2 ore, mentre oggi grazie alla miniaturizzazione, si è ricavato un notevole spazio per il pacco batteria, e la riduzione generale dei consumi dei dispositivi meno efficienti ha permesso di portare l’autonomia ad oltre 6 ore. Quello che si vuole proporre oggi in questo articolo è una nuova famiglia di micro a 32 bit della Wonder, denominati “Gecko”. Questi microcontrollori, che apparentemente non presentano grandi differenze rispetto alle famiglie di altri produttori, posseggono una grandissima qualità che oggi viene apprezzata e ricercata sempre di più, ovvero, quella di essere a bassissimo consumo.

GLI ASPETTI INNOVATIVI DI GECKO

La nuova famiglia di micro EFM32WG prodotta dalla Wonder, presenta caratteristiche di fascia alta come mostrato in Tabella 1.

TABELLA 1- CARATTERISTICHE DEL MICRO

Tabella 1: Caratteristiche del micro

Lo sforzo da parte dei progettisti della Wonder è stato principalmente quello di abbattere i consumi che portavano al rapido esaurimento delle batterie di sistemi portatili, raggiungendo l’assorbimento incredibilmente basso di soli 230 μA/MHz durante il normale funzionamento. Ad uso riassuntivo, in Figura 1 è riportata una schematizzazione di quello che è il sistema Gecko nelle parti che lo compongono:

  • il Core primario, composto dal microprocessore e le unità di memoria (volatile e non);
  • la parte relativa alla gestione dei clock, dove la stabilità degli oscillatori è responsabile del corretto funzionamento di un sistema di questo tipo. In questo caso specifico, si hanno oscillatori accoppiati e cristallo ed RC sia per le alte che per le basse frequenze. Completano la parte superiore dello schema i moduli relativi alla gestione dell’energia e delle modalità di funzionamento, attraverso comparatori di tensione, regolatori e moduli di alimentazione e reset;
  • la seconda parte è relativa alle periferiche di sistema, come interfacce seriali per la comunicazione e la gestione del pinout.

Un valore aggiunto non indifferente è dato dalla presenza di un modulo RTC (Real Time Clock), la cui importanza è da ricercare in tutte quelle applicazioni dove la temporizzazione non deve essere necessariamente presa in carico dal micro. Attraverso una batteria tampone si fa in modo che il temporizzatore interno del modulo prosegua il suo conteggio anche quando il micro non è alimentato, ottimizzando l’uso del dispositivo ad applicazione a basso consumo energetico. Completano questa seconda parte i moduli per la gestione delle porte analogiche, dell’interfaccia LCD e della sicurezza di sistema. Dalla Figura 1 si nota come i vari moduli siano caratterizzati da diversi colori, ognuno di essi indica una modalità energetica a cui esso appartiene e l’insieme di queste modalità prende il nome di “Energy Mode”.

Figura 1: schema del sistema Gecko

Figura 1: Schema del sistema Gecko

IL CONCETTO DI ENERGY MODE

La Wonder, come sottolineato nel paragrafo precedente, per la famiglia EFM32 ha dato grande importanza ai bassi consumi. Per agevolare l’utente a comprendere meglio qual è il valore aggiunto fornito con questo prodotto, sono stati definiti gli Energy Mode, ovvero una differenziazione in funzione dei consumi nei diversi momenti del funzionamento, attraverso una scala da 0 (alti consumi) a 4 (bassi consumi). In Figura 2 è riportata una rappresentazione grafica delle 5 modalità, nello specifico:

  • EM0 indica la modalità “Run Mode” nella quale la CPU è in funzione leggendo il codice dalla flash, con un consumo di circa 230 μA/MHz, e tutte le periferiche sono attivabili;
  • EM1, questa modalità prende il nome di “Sleep Mode”, il clock della CPU è disattivato, riducendo l’energia necessaria per il funzionamento, pur mantenendo la funzionalità di tutte le periferiche a bassa energia (compreso la flash e la RAM). Utilizzando il “peripheral reflex system“ detto anche PRS e DMA, il sistema può raccogliere dei dati periferici senza intervento della CPU. L’autonomia di questo comportamento permette al sistema di rimanere in EM1 per lunghi periodi di tempo, aumentando così la durata della batteria. Inoltre, la RAM a bassa dispersione garantisce la conservazione dei dati completa. In tale modalità i consumi scendono a 45 μA;
  • EM2, detta “Deep Sleep Mode” è la modalità in cui i microcontrollori EFM32 offrono il loro valore aggiunto, mantenendo bassi consumi energetici (0,9 μA). In questa modalità l’oscillatore ad alta frequenza viene spento, tuttavia, un oscillatore 32 kHz e l’RTC sono disponibili per le periferiche a basso consumo. Dal momento che la CPU ARM Cortex- M, non è in esecuzione in EM2, la MCU esegue le operazioni avanzate in modalità sleep. Le periferiche funzionano autonomamente a causa di interconnessione intelligente dei moduli e la memoria, il tempo di wake-up a EM0 è a soli 2 ms, riuscendo a garantire la piena funzionalità della scrittura dei dati in RAM;
  • EM3 adatta il consumo di energia dell'EFM32 in modo da mantenere un tempo di wake-up molto breve e rispondere agli interrupt esterni. In EM3 l’oscillatore a bassa frequenza è disabilitato, ma la RAM a bassa dispersione garantisce la conservazione dei dati completa, oltre alla possibilità di risvegliare il sistema con interrupt attraverso il sistema di comparazione sincrono a bassa potenza. I consumi in tale modalità scendono a circa 0,6 μA;
  • EM4 è la modalità di risparmio energetico più profonda disponibile;
  • l'MCU EFM32 è completamente spento e l’unico modo per risvegliarlo è con un reset. Questa modalità permette un ulteriore risparmio energetico per applicazioni che non richiedono un RTC o ritenzione RAM. I moduli che vengono gestiti durante tale fase sono il Power-on, Reset e gli interrupt esterni.

Le modalità sopra descritte riescono a coesistere contemporaneamente nello stesso dispositivo, attraverso un’unità pensata per assolvere solo a questo compito, detta “Energy Management Unit” (EMU).

Figura 2 : rappresentazione grafica degli Energy Mode

Figura 2: Rappresentazione grafica degli Energy Mode

GESTIONE DELL’ENERGIA ATTRAVERSO L’EMU

La vasta gamma di applicazioni ad alta autonomia a cui si presta bene la famiglia EFM32, deve il suo grande successo ad un singolo modulo, detto EMU. Come descritto in precedenza, il modulo che gestisce i consumi energetici e le modalità di funzionamento permette di aumentare notevolmente la portabilità di un dispositivo, riducendo in modo drastico i consumi energetici. Il modulo EMU si occupa di attivare o meno i vari moduli del sistema in funzione dell’EM a cui ci si trova, attivando in EM0 la CPU e le periferiche, e silenziando il loro funzionamento quando si passa in EM3, lasciando però la scrittura in RAM attiva e risvegliando il sistema in caso interrupt nel giro di 2 μs. Le varie EM differiscono tra loro attraverso i seguenti fattori:

  • Consumi Energetici
  • Attività della CPU
  • Tempo di Reazione
  • Wake-up trigger
  • Periferiche attive
  • Tipi di Clock attivi

In Figura 3 sono riportate le transizioni che sono consentite tra i vari stati, osservando che in linea di massima nelle modalità da EM1 a EM4 l’ingresso in esse avviene attraverso il SW applicativo, dallo stato EM0 invece, attraverso il comando di wake-up si ha la possibilità di passare alle modalità EM1, EM2 ed EM3.

Figura 3: transizioni consentite tra i vari Energy Mode

Figura 3: Transizioni consentite tra i vari Energy Mode

Caso diverso è quello di EM4, dove il passaggio allo stato EM0 può avvenire solo attraverso il pin di reset, o attraverso un interrupt del Real Time Clock. In Figura 4 è riportato lo schema delle parti che compongono l’unità EMU. Naturalmente per ogni modalità di funzionamento ci saranno parti del micro che si attiveranno e altre che rimarranno inattive.

Figura 4: schema delle parti che compongono l’unità EMU

Figura 4: Schema delle parti che compongono l’unità EMU

APPLICAZIONI

Le applicazioni di un sistema con le caratteristiche dell’EFM32 sono molteplici, basti pensare a tutti quegli ambiti dove è necessaria una grande autonomia e non si ha la possibilità di connettere il dispositivo alla rete elettrica. In queste occasioni le caratteristiche di basso consumo tornano utilissime, riuscendo a fare davvero la differenza rispetto a dispositivi dai consumi meno frugali offerti da altri produttori. La Silicon Labs offre soluzioni già integrate alla tecnologia descritta in questo articolo, per venire incontro a quelle che sono le principali problematiche con le quali i diversi ambiti tecnici devono fare i conti quotidianamente. Di seguito sono descritte due possibili soluzioni:

  • Misurazione del flusso di un fluido. In questa specifica applicazione la misura avviene spessissimo attraverso un lettore di impulsi, la cui frequenza è proporzionale alla velocità a cui il fluido si muove. In Figura 5 è riportata la soluzione integrata dalla Silabs per affrontare questa problematica. La soluzione proposta integra una comunicazione wireless tra i sensori e permette la memorizzazione in EEprom, venendo incontro a quelle che sono le esigenze di un data-logger posizionato all’interno di un pozzetto, lontano dalla rete elettrica, la cui caratteristica principale deve essere l’autonomia. Ciò ha lo scopo di agevolare il tecnico, permettendogli di entrate sempre più raramente in un ambiente ostile e potenzialmente pericoloso come quello della cavità appena descritta, per effettuare la lettura. In questo caso la modalità di “sleep mode” alternata al “run mode”, permette un notevole risparmio energetico e quindi un considerevole aumento dell’autonomia.
Figura 5: esempio di schema per la misurazione del flusso di un fluido

Figura 5: Esempio di schema per la misurazione del flusso di un fluido

  • Misurazione di dati biostatistici. Un’altra possibile applicazione è quella della lettura di dati biologici come pressione sanguigna, o come contapassi. In Figura 6 è riportato un possibile esempio di quali sono tali applicazioni e come possono essere integrate tra loro. Attraverso un sensore di pressione sanguigna, o un ponte resistivo per la lettura della conducibilità corporea (atta alla stima del peso corporeo e del “Body Mass Index”, quindi del peso), il segnale analogico viene acquisito e convertito in segnale digitale. Cosa diversa è per un’applicazione come il “pedometro” (conta passi), dove la conversione analogica-digitale è ingiustificata e si può procedere direttamente con l’elaborazione del segnale digitale acquisito. Attraverso le unità MCU tale segnale viene poi elaborato e trasferito tramite onde radio ad una chiavetta USB per il monitoraggio dei valori acquisiti. Ovviamente, tutte le applicazioni descritte sono caratterizzate dalla portabilità e, forse, quest’ultimo esempio rappresenta l’estremizzazione massima di questo concetto oramai decisamente diffuso.
Figura 6: esempio di schema per la Misurazione dati Biostatistici

Figura 6: Esempio di schema per la misurazione di dati biostatistici

CONCLUSIONI

Quanto descritto in questo articolo dimostra indirettamente quale sia la direzione verso la quale il mercato si sia diretto, ormai da qualche tempo, nello sviluppo di nuove applicazioni. La grande sfida di portabilità ed efficienza è stata sempre una delle più ardue battaglie a cui i progettisti hanno dovuto far fronte, cercando il giusto compromesso tra autonomia e portabilità. Oggi attraverso l’escalation tecnologica vissuta negli ultimi anni, troviamo ad un prezzo più che ragionevole prodotti come i micro della famiglia EFM32, i cui bassissimi consumi e prestazioni elevate li collocano sicuramente sul gradino più alto del podio, nell’ipotesi di un confronto con micro della stessa fascia di mercato. Si apre così un nuovo capitolo per chi vuole cimentarsi nella progettazione di applicazioni home made, ovvero quello relativo alla “Portabilità”.

Il più grande vantaggio nella realizzazione di questa tipologia di dispositivi, sta nella possibilità di trasportare e posizionare il dispositivo sempre ed ovunque. In questo articolo si è fatto esplicitamente riferimento ad alcune applicazioni in ambienti ostili come pozzetti sotterranei o cabine elettriche, dove l’alto rischio nell’effettuare una misura (esempio la portata di un fluido o l’assorbimento elettrico) rende l’attività lavorativa poco stimolante, ma soprattutto pericolosa. Con l’ausilio di un sistema “portabile” dalla grande autonomia, si ha la possibilità di acquisire e memorizzare le informazioni necessarie dell’impianto, portando inevitabilmente a due grandi vantaggi: il primo legato ad una riduzione dei rischi, dato che i sopralluoghi da parte del personale tecnico subiranno una notevole riduzione, il secondo vantaggio sta nella maggior capacità di monitoraggio, che solo un dispositivo istallato in loco può fornire.

NON FINISCE QUI

Nel prossimo numero di Firmware parleremo dello Starter Kit di Silabs relativo a questa famiglia di microcontrollori, non mancate!

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend