Le problematiche di natura ambientale rappresentano una priorità per i Governi di tutto il mondo e la riduzione delle emissioni dei gas serra mediante la diminuzione dei consumi è un obiettivo che deve essere condiviso da tutti. All’interno delle pareti domestiche, gli utenti sono consapevoli della necessità di dover spegnere la luce quando non è necessaria, ma sono pochi coloro che si preoccupano di spegnere completamente televisori, computer e dispositivi simili, limitandosi a porre queste apparecchiature in stand-by. Sfortunatamente tale modalità consuma ancora una quantità non trascurabile di potenza, ragion per cui una delle principali problematiche dei progettisti degli apparati della prossima generazione è ridurre tale consumo al minimo. Gli attuali prodotti elettrici ed elettronici per applicazioni domestiche fanno ricorso in misura sempre maggiore a un microcontrollore per effettuare anche le funzioni più elementari, comprese quelle messe in atto in risposta a un’azione dell’utente o ad altri input esterni. Spesso ciò significa che i requisiti di potenza di una Mcu assumono un ruolo significativo nel computo del consumo di energia totale di un’apparecchiatura. Quando la Mcu è attiva la potenza richiesta è funzione dell’attività che deve essere eseguita. Sotto questo punto di vista non tutte le Mcu sono uguali – i dispositivi di alcuni produttori risultano molto più efficienti rispetto ad altri – ma, per una data architettura di processore, i parametri base, come ad esempio il consumo di corrente per MHz, permettono ai progettisti di effettuare un rapido confronto e scegliere la Mcu più idonea per effettuare un determinati compito. In modalità “idle”, le Mcu mettono a disposizione diverse opzioni per ridurre il consume di corrente. Queste sono spesso identificate come modalità di “sleep” ma, anche in questo caso, vi sono Mcu più efficienti rispetto ad altre in termini di consumi. Ad esempio la Mcu EFM32 Tiny Gecko di Energy Micro è basata su un core Cortex M3 a 32 bit che consuma 150µA/MHz in modalità attiva e soli 20nA in modalità “stop”. Ma le due modalità appena descritte, ovvero attiva e “sleep” non sono le uniche da prendere in considerazione. Come il nome stesso implica, una modalità “standby” è utile solamente nel caso in cui il sistema sia in grado di rispondere a un input da parte dell’utente o ad altri stimoli. Quindi solitamente una Mcu deve procedere a intervalli regolari a opportune verificare per verificare se vi siano compiti da svolgere. Il problema in questo caso risiede nel fatto che l’operazione di “svegliare” una Mcu (ovvero farla uscire dallo stato di “sleep”) richiede tempo e consuma energia, specialmente nel caso in cui quest’ultima per effettuare questa verifica su segnali esterni deve eseguire altri compiti come ad esempio l’interrogazione ciclica (polling) di una tastiera e di un’interfaccia di un touchscreeen o la generazione di segnali necessari per pilotare un sensore esterno. Per questo motivo Energy Micro ha sviluppato per prima un approccio innovativo che assicura una maggiore efficienza in termini energetici. Il progetto delle Mcu della serie EFM32 Gecko della società prevede infatti ingressi per sensori e sistemi di periferiche autonome grazie ai quali non risulta più necessario svegliare la Cpu per l’esecuzione di ciascuna misura. Gli elementi chiave di questo progetto sono il sistema Prs (Peripheral Reflex System) che consente ai circuiti di ingresso e di uscita di operare senza coinvolgere la Mcu e un’interfaccia per sensori a basso consumo denominata Lesense (Low Energy Sensor Interface). Grazie a queste innovazioni una Mcu della serie EFM32 può restare in modalità di “sleep” con un consumo inferiore a 1,2 µA mentre vengono eseguite una gamma di funzioni come ad esempio il rilevamento di oggetti metallici o il monitoraggio di sensori resistivi.
L’interfaccia Lesense
A completamento della possibilità di funzionamento autonomo dei circuiti periferici, Energy Micro ha sviluppato l’interfaccia Lesense che mette a disposizione una modalità configurabile per il controllo di un massimo di 16 sensori analogici esterni senza far intervenire la Cpu con core Cortex. Questa interfaccia per sensori a basso consumo opera modalità Deep Sleep che assorbe solamente 900nA e consente il monitoraggio di qualsiasi tipo di schema di controllo di sensori analogici di tipo capacitivo, induttivo e resistivo. Per esempio, Lesense può essere impostata per monitorare in maniera “intelligente” i valori del sensore e intraprendere le opportune azioni attraverso il sistema per “svegliare” la Cpu solo nel momento in cui vengono superare soglie programmate. L’interfaccia Lesense risulta composta da comparatori analogici, un convertitore D/A e un modulo di sequenzializzazione operante a 32 kHz. Quest’ultimo controlla quali sono i pin connessi al comparatore e l’eventuale utilizzo del convertitore D/A per fornire un riferimento più accurato per il comparatore. Le uscite del comparatore possono essere conteggiate e abbinate in modo che la Cpu venga “svegliata” solo nel momento in cui si è verificato un insieme predeterminato di condizioni – ad esempio una volta che sono state raggiunte le soglie dei sensori di temperatura e umidità o quando il sensore di pressione è stato attivato un certo numero di volte. I sensori di tipo capacitivo vengono spesso impiegati per i pannelli di controllo delle interfacce operatore in quando si propongono come una soluzione più affidabile rispetto ai commutatori meccanici tradizionali. Il loro funzionamento è relativamente semplice e si traduce nel tocco di un dito che provoca una variazione di capacità di un circuito oscillatore RC che a sua volta modifica la frequenza di oscillazione.
In questo caso l’uscita di un comparatore analogico è collegata a un contatore dove il numero degli impulsi misurato in un intervallo di tempo prefissato è confrontato con un valore di soglia. Poiché la frequenza di oscillazione è inferiore quando il dito è in contatto con il sensore è possibile impostare la soglia del contatore a un valore compreso tra quelli delle frequenza di tocco e di assenza di tocco. In questo caso viene inviato un segnale di interrupt per svegliare la Cpu sono quando avviene il contatto con il sensore. La combinazione tra l’interfaccia Lesense e il sistema Prs consente l’implementazione di soluzioni più complesse per garantire un ulteriore risparmio di energia in altri tipi di applicazioni, in particolar modo sistemi di controllo e di retroazione.
Ulteriori risparmi di energia
In definitiva, Energy Micro si è proposta di risolvere uno dei principali problemi dei progettisti di apparecchiature che devono offrire modalità di “stand-by” a basso consumo ma si trovano costretti ad adottare Mcu che si “risvegliano” su base periodica per rilevare eventi esterni. Il sistema autonomo messo a punto dalla società composto da ingressi per sensori e periferiche consente alle Mcu della serie EFM32 Gecko di monitorare differenti tipologie di sensori analogici con l’interfaccia Lesense rimanendo in modalità “sleep” con assorbimenti inferiori al µA. La capacità di utilizzare i segnali generati dalle periferiche presenti a bordo del chip per condizionare o abilitare differenti condizioni dei sensori mediante il sistema Prs, senza quindi ricorrere all’intervento della Cpu, consente di ottenere ulteriori risparmi di energia.