Le MCU C8051F91x-C8051F90x

Questo articolo vuole introdurre un microcontrollore di recente arrivo sul mercato, basato su un core 8051 ma con assorbimenti di corrente veramente ridotti, tanto da farlo primeggiare per i suoi bassi consumi durante la fase attiva tra i microcontrollori industriali.

Negli ultimi anni Silicon Laboratories ha presentato una interessante famiglia di microcontrollori, la famiglia C8051F91x/0x. Nell’idea di Silicon Laboratories questa famiglia è orientata ad applicazioni ad assorbimento ultra-ridotto e a tutti i sistemi embedded “power- sensitive”. Ovviamente, le MCU F91x/0x risultano ideali per applicazioni a batteria e per l’impiego nelle classiche applicazioni sensibili al consumo di corrente, come: strumenti di misura, etichette RFID, dispositivi medici personali, interfacce sensore, recupero energia, sistemi di sicurezza domestica e rilevatori di fumo. I microcontrollori della famiglia C8051F91x/0x sono disponibili in un interessante contenitore a 24 pin che misura soli 4 x 4 mm. I prezzi partono per la versione F91x da 1,69$ per quantità pari a 10.000 pezzi. Per la versione F90x si parte invece da 1,53$ sempre per i medesimi volumi.

PUNTI DI FORZA

I microcontrollori C8051F91x/0x a 8 bit permettono di raggiungere i livelli più bassi di consumo di potenza nel mercato embedded. Queste MCU, efficientissime dal punto di vista del consumo di corrente, permettono in modalità attiva di arrivare ad assorbire 160 microampere per MHz, una prestazione di tutto rispetto che consente un notevole risparmio quando la CPU sta lavorando normalmente. Ovviamente, in sleep mode i consumi diminuiscono ulteriormente, se si mantengono attivi il real time clock e il circuito di detect del brown-out, si arriva a 300 nanoampere. Se poi non servono neppure il real time clock né il brown out detect, ma si vuole realizzare solo il mantenimento dei dati contenuti dalla RAM, l’assorbimento è di soli 10 nanoampere. Nei sistemi che hanno più modalità operative, una quantità considerevole di potenza viene sprecata nel passaggio della MCU dalla modalità di sleep alla modalità attiva, e nella preparazione per l’acquisizione e l’elaborazione dei dati. Il progetto dei microcontrollori C8051F91x/0x è stato ideato perché l’avvio avvenga in un tempo estremamente ridotto, inferiore ai due microsecondi, minimizzando l’energia sprecata in questo processo. Grazie a queste prestazioni, anche i costruttori nel campo industriale che devono sottostare a requisiti di basso assorbimento estremamente stringenti, hanno la possibilità di estendere la vita delle batterie dei loro prodotti o potenzialmente utilizzare batterie più piccole e ridurre, di conseguenza, i costi.

CARATTERISTICHE TECNICHE

In Figura 1 è possibile osservare lo schema a blocchi per i microcontrollori C8051F91x/0x. Rispetto agli altri membri della famiglia C8051F9xx di Silicon Labs, i microcontrollori F91x/0x ampliano l’offerta introducendo l’opzione per avere tagli di memoria flash da 8 kb e 16 kb con prestazioni del core 8051 pari a 25 MIPS.

Figura 1: Schema a blocchi per i microcontrollori C8051F91x/0x.

Figura 1: Schema a blocchi per i microcontrollori C8051F91x/0x

Il set di periferiche analogiche a disposizione è estremamente interessante: un convertitore ADC a 10/12 bit direttamente a bordo, abbinabile ad un multiplexer e dotato di una modalità autonoma denominata “power-saving burst mode”, un misuratore di temperatura, un generatore di tensione di riferimento e due interessantissimi comparatori con isteresi e tempo di risposta programmabile, configurabili per svegliare il sistema o come input per sensori capacitivi. Una periferica analogica estremamente interessante è il “6-bit Programmable Current Reference”, che può lavorare sia in modalità source che sink. Le impostazioni per la corrente di uscita sono due: low power mode e high current mode. La massima corrente di uscita in bassa corrente è 63 A (impostabile a passi di 1 A) e la massima corrente di uscita in modalità high current è 504 A (a passi di 8 A). Per quanto riguarda le periferiche digitali abbiamo a disposizione: SMBus/I2C, Enhanced UART, due Enhanced SPI serial interface realizzate in hardware, quattro general-purpose 16-bit timer e un PCA (Programmable Counter/Timer Array) con sei moduli capture/compare e funzione di Watchdog Timer.

Un’altra caratteristica interessante di questi microcontrollori è l’integrazione di un oscillatore di precisione programmabile a 24,5 MHz, dotato di tecnologia spread spectrum in grado di ridurre le emissioni irradiate dai segnali e dalle periferiche che lo sfruttano come sorgente di clock. Questi microcontrollori integrano un convertitore DC/DC estremamente efficiente, progettato per operare con 0,9 V in ingresso. Caratteristica questa che permette ad una scheda che utilizza questo microcontrollore di lavorare alimentata solo da una singola batteria AA o AAA, riducendo dimensioni e costo del prodotto finale. In aggiunta il convertitore DC/DC può fornire fino a 65mW di potenza in uscita per alimentare altri componenti di sistema come LED, ricetrasmettitori RF e sensori, creando veramente un sistema a singola batteria. Nel caso, invece, questi microcontrollori vengano utilizzati in sistemi non a singola batteria o comunque a tensione più elevata, ci sono a disposizione 16 porte di I/O che tollerano segnali fino a 5 V. A disposizione si ha anche un'interfaccia di debug in-system, non intrusiva e a velocità piena. Questa interfaccia di bordo è chiamata “2-Wire (C2) Development Interface” e consente un utilizzo non intrusivo delle risorse grazie all’utilizzo di una MCU installata in fase di produzione del chip. Questa logica di debug supporta le seguenti funzionalità:

  • ispezione e modifica della memoria e dei registri;
  • impostazione di breakpoints;
  • single stepping;
  • comandi di run e di halt.

Tutte le periferiche analogiche e digitali sono completamente funzionanti quando si esegue il debug utilizzando il C2. I due pin utilizzati dall’interfaccia possono essere condivisi con altre funzioni, consentendo di non sprecare due pin solo per il debug.

LE DIFFERENZE

La serie C8051F9xx di MCU si suddivide in 4 numeri di parte che, pur condividendo la maggior parte di funzionalità e di periferiche, differiscono per il quantitativo di flash e per il numero di bit del convertitore ADC. La Tabella 1 può aiutare a scegliere il giusto modello. Tutti i membri della famiglia F9xx sono compatibili per software e impronta, permettendo agli sviluppatori di mantenere quanto sviluppato nella migrazione verso una piattaforma più performante o a minore costo a seconda dei casi.

Tabella1: Differenze tra i modelli.

Tabella 1: Differenze tra i modelli

SISTEMI DI SVILUPPO

Per iniziare a sviluppare con i microcontrollori della famiglia C8051F9xx, il metodo più semplice è dotarsi del ToolStick- F912DC. In Figura 2 è possibile vedere il toolstick completo per C8051F330, mentre il toolstick con a bordo il C8051F912 è visibile in Figura 3.

Figura 2: ToolStick per C8051F330 con adattatore collegato ad un pc.

Figura 2: ToolStick per C8051F330 con adattatore collegato ad un pc

 

Figura 3: ToolStick-F912DC.

Figura 3: ToolStick-F912DC

L’obbiettivo del toolstick è di fornire una piattaforma rapida sulla quale valutare i microcontrollori della Silicon Labs e provare gli esempi applicativi forniti insieme all’IDE di sviluppo. Grazie ad un adattatore visibile in Figura 2 è possibile collegare la daughter card al PC per eseguire il debug e la programmazione della MCU. Sulla daughter card sono presenti un set minimo di dispositivi per iniziare a lavorare con il software: dei LED controllati da GPIO, un potenziometro, un interruttore connesso ad un GPIO, un interruttore capacitivo e una piccola area di prototipazione collegata direttamente a dei GPIO della MCU. La scheda include anche una batteria alcalina da 1,5 V in formato A76, che alimenta la scheda quando non è collegata all’adattatore USB. Per chi non volesse sviluppare nell’IDE fornito dalla Silicon Labs, nel kit è incluso anche il Keil Demo Tools che comprende un compilatore, un assembler e un linker con alcune limitazioni.

CONCLUSIONI

Silicon Labs con la serie di MCU C8051F9xx rende disponibili ai progettisti una piattaforma basata su un core 8051 conosciutissimo e diffuso, equipaggiata con un set di periferiche di tutto rispetto e con la caratteristica importante di poter operare a partire da una tensione di alimentazione tipica di una cella di batteria. Questa possibilità di operare a bassa tensione aiuta lo sviluppo del prodotto riducendo il numero di batterie, con benefici per il peso complessivo, per il costo e per le dimensioni.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend