Micro EFM32: alte prestazioni con consumi ridotti

Sul blog di Elettronica Open Source puoi leggere non solo tutti gli articoli Premium riservati agli abbonati Platinum 2.0 e inseriti nella rivista Firmware 2.0 (insieme ad articoli tecnici, progetti, approfondimenti sulle tecnologie emergenti, news, tutorial a puntate, e molto altro) ma anche gli articoli della Rubrica Firmware Reload. In questa Rubrica del blog abbiamo raccolto gli articoli tecnici della vecchia rivista cartacea Firmware, che contengono argomenti e temi evergreen per Professionisti, Makers, Hobbisti e Appassionati di elettronica. In questo articolo parliamo della famiglia EFM32 di microcontrollori a 32 bit di Silicon Labs, pensata per applicazioni low-power, una caratteristica di progetto ritenuta ormai imprescindibile e sempre più richiesta dal mercato.

Introduzione

Silicon Labs ha introdotto la famiglia di microcontrollori EFM32. La caratteristica principale che la contraddistingue è quella dell’attenzione ai consumi. Infatti, le applicazioni verso le quali la famiglia si orienta sono tutte applicazioni low-power. Nel corso del tempo la famiglia si è sempre più allargata e ora include dispositivi basati su processori con core ARM Cortex-M4 equipaggiati con Floating Point Unit (FPU), Cortex-M3 e Cortex-M0+. Come si può vedere bene dalla Figura 1, la famiglia EFM32 si suddivide in 6 sottofamiglie, ognuna con il proprio nome in codice, che sono; la “Zero” che raggruppa i prodotti con core Cortex-M0+, la “Tiny” con core Cortex-M3 con clock fino a 32 MHz e piccoli tagli di memoria, la “Gecko” con core Cortex-M3 con clock fino a 32 MHz e tagli di memoria più grandi, la “Leopard” con core Cortex-M3 con clock fino a 48 MHz e piccoli tagli di memoria, la “Giant” con core Cortex-M3 con clock fino a 48 MHz e tagli di memoria più grandi e infine la “Wonder” con core Cortex-M4 e FPU. Per tutte le MCU delle varie sottofamiglie la parola chiave è sempre la stessa: efficienza e ottimizzazione dei consumi.

Figura 1: Architettura NFiC

Infatti, tutte presentano ben 5 diversi livelli di consumo contraddistinti dalla sigla EM0, EM1, fino a EM4, in cui via via sempre più parti della MCU vengono spente per abbassare le pretese energetiche. In Figura 2 è possibile vedere uno schema di questi stati con una indicazione generica di che cosa rimane acceso nei singoli stati.

Figura 2: Livelli di consumo della famiglia EFM32

In Figura 3 invece abbiamo una rappresentazione a blocchi di tutto quello che una MCU della famiglia potrebbe avere, la colorazione dei singoli blocchi ricalca quella dei livelli di consumo di Figura 3 per evidenziare quali sono gli elementi che rimangono attivati quando si sceglie uno tra i livelli da EM0 a EM4. Per esempio, nel livello di consumo EM4 denominato Shutoff Mode rimangono solamente accesi i GPIO, la circuiteria di Reset, il Back-up RTC, gli oscillatori a bassa frequenza e i vari regolatori e circuiterie analogiche per le alimentazioni, niente di più. Il foglio specifiche riporta per questo livello un consumo di circa 20 nA e un tempo di risveglio di soli 160 μs.

Figura 3: Schema a blocchi delle periferiche della famiglia EFM32 con colorazione in base ai livelli di consumo

10 BUONI MOTIVI PER preferire un microcontrollore “Low-Power”

Ovviamente, il mercato negli ultimi anni è stato invaso da MCU con core ARM Cortex-M, quindi la domanda che molti spesso si fanno è per quale motivo dovrei preferire i prodotti di un costruttore rispetto ad un altro? La famiglia EFM32 risponde a questa domanda con le 10 caratteristiche fondamentali che la contraddistinguono. La prima caratteristica è ovviamente il basso livello di potenza richiesto in modalità attiva, vedi Figura 4.

Figura 4: Livelli di consumo della famiglia EFM32

Già in fase di progetto di queste MCU si sono utilizzati accorgimenti che complessivamente hanno portato ad avere un consumo in modalità attiva inferiore ad altri prodotti della concorrenza. Tanto per dare delle cifre, a 32 MHz e con 3 V di alimentazione abbiamo un consumo di soli 150 μA/MHz, inferiore alla famiglia STM32L151xx di ST che arriva a 294 μA/MHz e alla famiglia SAM4Lx di Atmel che consuma 218 μA/MHz, rispettivamente con core Cortex-M3 e Cortex-M4. La seconda caratteristica distintiva della famiglia EFM32 è il PRS - Peripheral Reflex System; questo sistema permette di collegare direttamente una periferica ad un’altra senza coinvolgere la CPU. In questo modo una periferica può produrre un segnale che altre periferiche consumano senza che la CPU si risvegli dallo stato di sleep. In Figura 5 possiamo vedere come un timer possa comandare un ADC senza che vengano spese risorse della CPU, che rimane inattiva.

Figura 5: PRS - Peripheral Reflex System

Pensiamo ad esempio ad un riproduttore musicale, i timer attraverso il PRS potrebbero comandare l’acquisizione dell’ADC. Il DMA collegato sempre tramite PRS potrebbe prelevare il campione ed inviarlo al DAC per la riproduzione. Tutto questo senza l’intervento della CPU. La terza caratteristica che può indirizzare la scelta di un progettista verso la famiglia EFM32 è rappresentata dalle prestazioni della sezione ADC. Si tratta di ADC SAR a bassissimo consumo, in grado di generare un output a 12 bit campionando a frequenza di 1 Msps consumando solamente 350 μA. In Figura 6 si vede un sunto delle caratteristiche principali, i canali di ingresso possono essere fino a 8, in più può campionare un'informazione sulla temperatura dal sensore integrato.

Figura 6: ADC converter

 

Figura 7: Scalabilità e compatibilità software

Una quarta caratteristica molto importante per la famiglia EFM32 è la disponibilità di un display driver veramente flessibile, in grado di gestire un controller LCD a segmenti oppure un display TFT fino a 16 bit di colore. Per i display LCD il punto forte sono sempre i consumi, un display 4x40 consuma solamente 550 nA. Per quel che riguarda i display TFT, va segnalata la possibilità di eseguire video direttamente dalla memoria esterna senza utilizzare risorse della CPU e la disponibilità di una libreria (emWin di Segger) gratuita. Una quinta caratteristica, molto apprezzata dai progettisti, è la scalabilità combinata alla portabilità; infatti, se ci si accorge di non avere abbastanza risorse con il dispositivo scelto si può scalare al taglio superiore, in un’altra famiglia, con la compatibilità pin to pin. Ovviamente, il software è compatibile su tutti i prodotti della famiglia EFM32. Una cosa che molti progettisti apprezzeranno è la disponibilità di “low energy UART” o sinteticamente LEUART. A seconda del dispositivo possono essere fino a 2 e operano nello stato EM2 attraverso i DMA, anche in questo caso senza intervento della CPU. Quindi è possibile inviare o ricevere dati lasciando la CPU in deep sleep. Per avere un'idea dei consumi, a 9600 baud il consumo è di 150 nA, come mostrato in Figura 8.

Figura 8: Low Energy UART

Passiamo alla settima caratteristica distintiva per i prodotti della famiglia EFM32, ossia l’acceleratore hardware di criptazione AES. Questo meccanismo hardware consente una trasmissione protetta di dati sensibili con una velocità da 20 ad 80 volte superiore ad una codifica software. L’ottava interessante caratteristica della famiglia EFM32 è quella di integrare degli amplificatori operazionali. Possono essere fino a 3 di tipo “rail to rail”, l’ingresso può provenire direttamente da pin oppure da DAC o da altri OPAMP, l’uscita può essere re-indirizzata su pin, su ADC o su altri OPAMP interni. Questa caratteristica permette di risparmiare componenti e circuiti esterni riducendo il costo di progetto e le dimensioni finali della scheda. Come nona caratteristica bisogna segnalare le capacità estese di Backup del dominio di alimentazione. Solitamente, quando l’alimentazione principale viene meno, molti microcontrollori (e l’EFM32 non è da meno) hanno la possibilità di alimentarsi da una batteria ausiliaria che preserva lo stato della CPU, dell’RTC, degli I/O e alimenta i possibili circuiti di wake up. Le sottofamiglie più performanti della famiglia EFM32 aggiungono, solamente con l’aggiunta di un condensatore, di eseguire il backup di una serie supplementare di informazioni, come fra l’altro alcuni registri e gli oscillatori. In Figura 9 viene riassunto tutto questo.

Figura 9: Caratteristiche del “Backup Power Domain”

Siamo arrivati al decimo e ultimo punto dell’elenco delle caratteristiche peculiari che potrebbero indirizzare un progettista all’utilizzo della famiglia EFM32. Il decimo punto, ma non meno importante degli altri, è la dotazione di una “Low Energy Sensor Interface”. Grazie a questa interfaccia è possibile acquisire da sensori senza sprecare risorse della CPU, in particolare la CPU può rimanere in modalità EM2 o EM3, mentre la periferica LESENSE lavora basandosi su una macchina a stati precedentemente impostata. Un breve sunto delle caratteristiche salienti viene mostrato in Figura 10.

Figura 10: Low Energy Sensor Interface

STRUMENTI PER SVILUPPARE

Silicon Labs mette a disposizione dei progettisti che si vogliono cimentare con i microcontrollori della famiglia EFM32 uno strumento software gratuito e potente, ovvero il suo “Simplicity Studio”. Si tratta di uno strumento completo che consente anche di stimare i consumi finali del prodotto attraverso l’Advanced Energy Monitoring e l’Energy Aware Profiler. Con il Simplicity Studio sono a disposizione moltissime librerie software liberamente utilizzabili con i prodotti Silicon Labs, tra le quali uno stack USB completo, uno stack RF e delle librerie per realizzare interfacce grafiche. Per testare subito e in modo pratico i prodotti della famiglia EFM32, Silicon Labs mette a disposizione una serie di schede di valutazione che soddisfano ogni singola esigenza; si parte dalla “piccola” Gecko Starter kit…alla “completissima” Giant Gecko Development kit. In Figura 11 è possibile vedere le differenze tra le varie schede a disposizione di progettisti ed appassionati di settore.

Figura 11: Kit di sviluppo disponibili

 

Articolo della rivista cartacea Firmware Anno 2015 - Numero 111

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend