La conoscenza delle specifiche tecniche di un microcontrollore permette un consistente risparmio energetico

Anche se solitamente la maggior parte dei dispositivi microcontroller offre ai progettisti una vasta gamma di modalità di risparmio energetico, pare che una conoscenza approfondita sulle funzioni tecniche degli stessi possa garantire un progetto in grado di raggiungere livelli di consumo di corrente più bassi possibile. Tale obiettivo è raggiungibile traverso l’impiego della cosiddetta Deep Sleep, presente in alcune Mcu, tramite la quale è possibile eliminare l’energia dal core riducendo così al minimo i consumi.

La Deep Sleep dell’Mcu

La maggior parte dei microcontrollori offre ai progettisti una gamma di modalità di risparmio energetico abbastanza uniforme: Run, Idle e Sleep. Tuttavia, la conoscenza della vasta gamma di modalità e di caratteristiche operative specifiche di ogni microcontrollore è essenziale per riuscire a sviluppare un progetto capace di raggiungere i livelli di consumo di corrente più bassi possibili.Un esempio di modalità specifica per una determinata architettura, presente solo in alcune Mcu, è la cosiddetta Deep Sleep. Tale modalità elimina l'energia dal core dell'Mcu riducendo al minimo i consumi. Grazie a questa possibilità è possibile arrivare al di sotto del livello di potenza richiesto dalla normale modalità di power down. Togliere l'alimentazione al core dell'Mcu significa rimuovere l'energia della Ram, con conseguente perdita delle informazioni che verrebbero invece conservate con altre modalità a bassa potenza, come ad esempio la modalità sleep. Tuttavia, il beneficio della modalità deep-sleep diventa evidente considerando i valori estremamente bassi della corrente di perdita, ottenuti grazie alla disabilitazione della maggior parte del dispositivo. Questo può tradursi in correnti in alcuni casi notevolmente al di sotto dei 50 nA.

La bassa dispersione della modalità deep-sleep permette anche di ottenere migliori risultati in applicazioni con temperature o tensioni elevate, le quali normalmente si traducono in correnti di sleep-mode più alte. Un altro vantaggio importante della modalità deep-sleep è di permettere a chi progetta il chip di muoversi all'interno di geometrie più piccole, quindi con prestazioni migliori, senza sacrificare il contenimento dei consumi energetici. Il modo migliore per utilizzare tale modalità è nelle applicazioni caratterizzate da lunghi periodi di power-down, dove il costo di ri-inizializzare è di gran lunga compensato dalla riduzione delle correnti di riposo. La riduzione del consumo di energia non deriva solo dalle modalità a bassa potenza; esistono molte caratteristiche che permettono di migliorare le prestazioni ma anche di ridurre gli assorbimenti. Ad esempio, l'oscillatore interno dell'Mcu può essere utilizzato mentre il cristallo principale sta cominciando a eseguire il codice di inizializzazione. Ciò permette di ridurre il tempo totale che il dispositivo trascorre in modalità Wake.

Periferiche digitali

Le periferiche integrate possono migliorare sensibilmente le prestazioni degli Mcu e consentire la rimozione dei componenti esterni, contribuendo così a ridurre gli assorbimenti. Tuttavia il costo di gestione delle periferiche, se non utilizzate correttamente, può superare i risparmi energetici. In generale, le periferiche Mcu più affamate di energia sono i bus di comunicazione seriale. Gli standard di comunicazione I2C e Spi, quando operano ad alta velocità, possono richiedere molti milliampere di corrente per pilotare le linee di I/O, le quali comportano notevoli perdite di commutazione. Benché lo standard I2C sia più lento, i suoi assorbimenti possono essere anche più rilevanti in quanto esso utilizza dei resistori di pull-up che arrivano ad assorbire grosse correnti soprattutto quando, per raggiungere alte velocità, vengono utilizzati bassi valori. La soluzione più semplice per contenere i consumi di queste periferiche di comunicazione seriale è di ridurre la velocità; tuttavia, questo non sempre è possibile. Poiché la maggior parte del costo associato al funzionamento di una comunicazione seriale proviene dal pilotaggio del bus, è necessario concentrare l'attenzione proprio in quest'area. Per lo standard Spi è importante avere un layout pulito della scheda e prevedere delle tracce molto brevi, così da limitare al minimo l'impedenza delle linee.

Lo standard I2C prevede l'opposto: resistenze di pull-up di valore maggiore sul bus ridurranno i consumi di corrente senza - in alcuni casi - ridurre la velocità massima. In entrambi i contesti, i consumi energetici possono essere minimizzati riducendo il numero di dispositivi sul bus o disabilitando del tutto i dispositivi che non sono in uso (invece di utilizzare la funzione di chip-select). A livello software, i consumi di energia di queste periferiche possono essere ridotti facendo in modo che la Cpu venga disabilitata quando è in attesa di dati seriali. Inoltre, raggruppando le trasmissioni seriali in cluster invece di trasmettere costantemente, consente all'applicazione di passare più tempo in condizione di power-down e meno tempo in modalità attiva per inviare e ricevere dati.

Periferiche analogiche

Le periferiche analogiche presenti a bordo degli Mcu, quali Bor, comparatori ed Adc, possono avere un notevole impatto sul consumo di corrente, ma non potranno mai essere ottimizzate come le periferiche digitali. È importante, quindi, che le funzioni analogiche siano abilitate solo quando sono necessarie. In molti Mcu, ad esempio, utilizzare clock e velocità di campionamento più elevati e disabilitare l'Adc una volta completato il campionamento, rappresentano soluzioni preferibili al mero allungamento del tempo di campionamento o al rallentamento del clock dell'Adc.

Allo stesso modo, le caratteristiche del Bor sono più importanti quando il dispositivo sta lavorando per individuare le piccole cadute di tensione che possono causare una cattiva esecuzione, piuttosto che quando il dispositivo è spento e il Bor è necessario solo per individuare delle cadute sufficienti a causare il danneggiamento della Ram. Configurare il Bor per utilizzare un livello di consumo inferiore in modalità Sleep piuttosto che in modalità di esecuzione permette di ottenere un assorbimento di corrente anche inferiore a 50 nA in Sleep, pur mantenendo prestazioni elevate in fase di esecuzione.

 

Scarica subito una copia gratis
Tags:

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend