DIGITAL
LOW POWER MCU
59
- ELETTRONICA OGGI 439 - SETTEMBRE 2014
In tabella 3 viene mostrato un esempio di come ordina-
re in modo semplice queste funzioni di base. Essa mo-
stra quali sono le periferiche attive durante le varie fasi,
quanto spesso le fasi vengono eseguite e per quanto tem-
po la CPU deve restare attiva per eseguire tali funzioni.
I dati in tabella 3 includono una stima del tempo di CPU
necessario per l’elaborazione di ogni funzione, non i dati
misurati, questo perché le funzioni non sono state svilup-
pate. In ogni caso i dati riportati si basano su altre appli-
cazioni simili e i margini applicati sono molto conserva-
tivi, così che i dati possono essere considerati validi per
gli scopi di questo documento.
Opzioni di implementazione e tecniche
di progettazione a basso consumo
Durante la progettazione di un sistema a basso consumo
basato su microcontrollore si possono selezionare varie
tecniche. Un’opzione molto comune è quella di mettere il
sistema in modalità di basso consumo e poi di risvegliar-
lo a istanti di tempo preordinati. Questa opzione viene
chiamata a Risveglio Periodico (Periodic Wake-up).
Applicando l’approccio del Risveglio Periodico all’esem-
pio del progetto di un misuratore di flusso, vengono spe-
cificate le seguenti operazioni a tempo: la CPU si attiva
ogni secondo. La CPU deve eseguire l’invio di aggior-
namento dello stato ogni 10 minuti, deve eseguire ogni
minuto il controllo della batteria e attivare la funzione di
lettura del flusso ogni secondo.
La funzione di ricezione di aggiornamento dello stato è in-
vece differente; essa è infatti un’operazione straordinaria
perché, a differenza delle funzioni precedenti che sono
temporizzate, questa viene eseguita in modo asincrono
al momento in cui viene richiesto dal sistema di controllo
centrale. Per gli scopi di questa appli-
cazione di esempio viene considerato
il caso peggiore e quindi si suppone di
dover eseguire la funzione di ricezione
di aggiornamento dello stato ogni soli
10 minuti. Di seguito i dettagli relativi a
queste funzioni.
Generazione di un risveglio periodi-
co:
dato che il Real Time Clock (RTC) è
sempre attivo, esso fornisce un ottimo
sistema a basso consumo per genera-
re un evento che risveglia la CPU ogni
secondo. Il clock a 128 Hz che controlla
la periferica RTC è derivato dall’ingres-
so dell’oscillatore sub-clock (XCIN) a
32.768 kHz. I contatori della periferica
RTC producono segnali accurati, gesti-
scono automaticamente l’anno bisesti-
le, gestiscono gli allarmi fino a 99 anni
e aggiornano i sub contatori quali: anno, mese, giorno,
giorno della settimana, ore, minuti e secondi. La funzio-
ne di allarme (ALM) può generare un interrupt basato su
anno, mese, giorno, giorno della settimana, ore, minuti o
secondi. Un’altra sorgente di interrupt periodico, il Perio-
dic Interrupt (PRD), è utile per gestire tempi di risveglio
più brevi, perché può generare automaticamente inter-
rupts ogni 2 secondi, 1 secondo, 1/2 di secondo, 1/4 di
secondo, 1/8 di secondo, 1/16 di secondo, 1/32 di secon-
do, 1/64 di secondo, 1/256 di secondo. Nell’esempio del
misuratore di flusso sarà utilizzato l’interrupt periodico
ogni secondo.
Lettura del flusso:
ogni secondo il convertitore ADC leg-
ge l’uscita analogica del sensore di flusso esterno per
produrre un valore digitale. Il convertitore viene attiva-
to via software prima di ogni misura. Questo mantiene
un basso livello di consumi dato che il convertitore ADC
aggiunge solamente 0.66 mA al consumo totale quando
la CPU lavora a 32 MHz. A questa frequenza di clock il
convertitore resta attivo per 3 μs per eseguire la misura:
1 μs per attivarlo, 1 μs per eseguire la misura e 1 μs per
disattivarlo. A 32 MHz il microcontrollore RX111 si risve-
glia in 40 μs.
Questo tempo deve essere sommato ai 15 μs che la CPU
impiega per elaborare i dati relativi al flusso letti dal con-
vertitore ADC.
Misura del livello della batteria:
il circuito di Low Volta-
ge Detector della famiglia RX100 dispone di due circuiti
di rilevazione separati. Il circuito LVD1 misura la tensio-
ne di batteria (VCC).
Esso può eseguire la comparazione di dieci livelli di ten-
sione nell’intervallo che va da 1.86V fino a 3.10V.
Tabella 4 – Stima del consumo del misuratore di flusso