Microcontrollori di ultima generazione

MICROCONTROLLORI –

I produttori di microcontrollori stanno cercando di caratterizzare i propri dispositivi con funzionalità e peculiarità tali da renderli particolarmente attrattivi per gli sviluppatori. Tra le principali tendenze tecnologiche in atto quelle legate al risparmio energetico.

I microcontrollori rappresentano oggi una delle tecnologie di computing più pervasive, data la loro presenza in praticamente tutte le applicazioni embedded. Proprio per questa loro caratterizzazione applicativa, i microcontrollori offrono innumerevoli soluzioni computazionali, a volte anche di natura application-specific. Ai microcontrollori classici, basati sull'esecuzione sequenziale del codice tipica dell'architettura Von-Neuman, si contrappongono i microcontrollori ad architettura Risc e quelli ad architettura Dsp (Harvard), per affrontare problematiche applicative ove l'esecuzione efficiente del codice (parallelismo esecutivo) diventa un fattore importante per tenere basso il clock e quindi i consumi di potenza elettrica. Altre soluzioni sono state proposte da parte dei produttori di microcontrollori intese a favorire le applicazioni embedded in termini di dimensioni, costi e consumi di potenza. I microcontrollori ad architettura hardware-programmabile, i microcontrollori come core di dispositivi logici programmabili, i microcontrollori come sistemi su singolo chip, sono solo alcune della varie soluzioni allo stato dell'arte a disposizione degli sviluppatori di sistemi embedded.

Consumi ultraridotti
I microcontrollori di ultima generazione si caratterizzano soprattutto per la tecnologia del risparmio energetico, sia per soddisfare i requisiti “green” sempre più stringenti, sia per soddisfare applicazioni embedded sempre più spinte, in cui la ricarica delle batterie non è possibile per l'intero ciclo di vita del prodotto, oppure perché il prodotto deve essere di dimensioni tanto piccole da essere dell'ordine della più piccola delle batterie esistenti. Il basso consumo di potenza elettrica, che ormai ha come punto di riferimento il passaggio dal microampere al nanoampere, viene ottenuto con varie strategie, tra cui quella della gestione efficiente delle risorse on chip del microcontrollore e quella dell'architettura efficiente. La gestione efficiente delle risorse on-chip è legata alla tecnologia di integrazione utilizzata. Alcune di queste tecnologie di integrazione microelettronica sono state sviluppate appositamente dai produttori di microcontrollori, proprio per caratterizzare in maniera proprietaria i loro dispositivi. Il risparmio energetico viene ottenuto anche attraverso la realizzazione di architetture di computing efficienti. Il consumo di potenza elettrica è legato alla velocità del clock e la potenza di calcolo di un microcontrollore dipende dalla velocità del clock, essendo questa misurata in Mips (milioni di istruzioni per secondo), cioè microampere/Mips. Eseguendo più istruzioni contemporaneamente (in parallelo o in pipeline), i Mips sono di fatto Mops (milioni di operazioni al secondo), ovvero un multiplo dei Mips. Ne consegue che il consumo di corrente, a parità di clock, può risultare più basso, utilizzando un'architettura di computing a più o meno alto parallelismo esecutivo.

Funzioni speciali integrate
Un altro livello di competizione da parte dei produttori di microcontrollori e quello delle funzioni speciali integrate on chip. Alcune di queste sono standard, normalmente disponibili come componenti esterni. Il fatto di renderle disponibili on chip è un vantaggio notevole, molto apprezzato dallo sviluppatore. Altre funzioni sono invece application-specific o addirittura proprietarie. In questo caso il vantaggio del microcontrollore rispetto ad altri concorrenti è significativo. La tecnologia della logica programmabile, in particolare la Fpga, sta comunque penetrando nel campo dei microcontrollori sfruttando una serie di aspetti tecnologici come quello dell'integrazione di soft core processor (sempre più diffusi) nella logica programmabile, la possibilità di integrare solo le periferiche necessarie all'applicazione e la possibilità di sviluppare funzionalità custom in logica programmabile piuttosto che in firmware. Gli strumenti di sviluppo per i microcontrollori sono una parte determinante del loro successo. Data la complessità crescente del sistema microcontrollore, soprattutto a livello di architettura di sistema e delle periferiche, l'ambiente di sviluppo offerto dal produttore in prima istanza, e dalle terze parti, diventa determinante per il successo di un microprocessore, anche se innovativo. Ciò vale soprattutto se si tratta di microcontrollori application-specific oppure di microcontrollori basati su logica programmabile.

• Analog Devices - Analog Devices si caratterizza per la sua offerta di componentistica analogica di precisione. Questa componentistica è particolarmente utile in molte applicazioni embedded e non è disponibile all'interno del microcontrollore. I precision microcontroller di Analog Devices integrano un Arm7 o un 8052 con componenti analogici come i convertitori, i riferimenti di tensione, i sensori di temperatura. In particolare, la famiglia ADuC706x incorpora due Adc sigma-delta a 24 bit. Questi convertitori, affiancati da un processore Arm7, realizzano una combinazione su singolo chip praticamente unica per applicazioni di misura ad alta precisione. Oltre all'Adc ad alta precisione, questa serie integra anche un Dac a 14 bit, un amplificatore a guadagno programmabile e una serie di sorgenti di corrente di precisione. Questi microcontrollori di precisione, detti anche microcontrollori analogici, integrano memoria Sram e non volatile Eeprom. Nelle versioni application-specific, ADuC7128/ADuC7129 della famiglia 702x, on chip sono integrati anche un encoder e un Pwm per il controllo di motori DC.

• Arm - Arm è il licenziatario di core processor come Arm7, Arm9, Arm11 e Arm Cortex, utilizzati da molti produttori di microcontrollori per dotare le loro soluzioni di un core processor particolarmente efficiente e diffuso. La famiglia di processori Arm SecureCore, in particolare la SC300, basata sul processore Cortex-M3, è a tutti gli effetti un microcontrollore orientato ad applicazioni legate alla sicurezza. SecureCore SC300 integra una metodologia anti-contraffazione proprietaria di Arm, capace di resistere ad attacchi sia a livello hardware che a livello software. La protezione è tanto efficace che rende inutile l'analisi dei segnali emessi dall'alimentazione, dal sistema di timing, dalla superficie del chip. Il reverse engineering è reso praticamente impossibile da questa metodologia integrata nel chip. I processori della serie SecureCore consentono di realizzare estensioni per l'elaborazione crittografica di natura custom. Queste estensioni possono far parte del set istruzioni del processore Arm. In tal modo viene soddisfatta una esigenza crescente di sistemi che implementano algoritmi di crittografia di natura proprietaria o addirittura coperti da segreto. In pratica, l'architettura Arm prevede uno spazio riservato a un set di istruzioni da abbinare a un coprocessore che esegue algoritmi application-specific.

• Cypress - Cypress ha introdotto due nuove architetture PSoC (programmable system-on-chip), il PSoC 3 basato su 8051 (8 bit) e il PSoC 5 basato su Arm Cortex-M3 (32 bit). La loro peculiarità è il convertitore ADC a 20 bit e la PLD con 48 datapaths in cascata. La caratteristica dei PSoC è di essere riconfigurabili dinamicamente, consentendo in tal modo di utilizzare le risorse interne al momento della necessità, in modo da utilizzare il minimo dei componenti per ogni task. Un'altra caratteristica particolarmente importante per gli sviluppatori è la possibilità di eseguire modifiche del firmware in qualsiasi fase del ciclo di sviluppo, di produzione e anche in campo.

• Freescale - Freescale ha recentemente introdotto MC56F8006, un microcontrollore-Dsp inteso a offrire una soluzione per il controllo motore particolarmente efficiente nei consumi elettrici, oltre ad essere competitivo rispetto ai costi per applicazioni basate su motori trifase, sui drive a frequenza variabile, sui motori sincroni a magnete permanente e sui motori per utensili portatili. La peculiarità di questo microcontrollore sta nelle periferiche, ottimizzate appositamente per il controllo motore e la conversione di potenza, con l'obiettivo di ridurre al minimo i componenti esterni e quindi i costi dell'applicazione. Particolarmente importante è la presenza di tre comparatori veloci, due Adc a 12 bit, due amplificatori a guadagno programmabile e un c dotato di 6 uscite. Il Pga (Programmable Gain Amplifier) è fondamentale per l'utilizzo ottimale del convertitore Adc in quanto consente di tenere sotto controllo la dinamica dei segnali da acquisire, garantendo un ottimo rapporto segnale/rumore per i piccoli segnali ed evitando la distorsione per i grandi segnali. Il Pga consente anche di eseguire la conversione da differenziale a single-ended. Un'altra importante peculiarità di questo microcontrollore è la capacità hardware di rilevare i guasti e di gestirli direttamente all'interno disabilitando in tempi brevissimi i Pwm. La frequenza di clock è relativamente bassa (32 MHz). Operando a 3,3 V di alimentazione consuma 50 mA. I consumi sono bassi in quanto il microcontrollore è capace di disabilitare le periferiche individualmente e indipendentemente. Il wake-up time è comunque bassissimo, meno di sei microsecondi. L'architettura di computing Dsp che caratterizza questo microcontrollore lo rende particolarmente interessante in applicazioni ad elevato livello computazionale, cioè dove è necessario applicare algoritmi di controllo motore particolarmente complessi. L'elevato parallelismo esecutivo consente di eseguire il codice ad una velocità molto superiore a quella di altri microcontrollori operanti alla medesima frequenza di clock.

• Infineon - La nuova famiglia di microcontrollori a 8 bit di Infineon, XC878, si caratterizza per un'ampia disponibilità di memoria (fino a 64 kbyte) flash. Si tratta di microcontrollori ottimizzati per applicazioni di controllo motore particolarmente sensibili ai costi. Il core processor è ad elevate prestazioni e compatibile con il diffusissimo 8051. Dispone di un vector computer che consente di eseguire il controllo vettoriale. Dispone di due Pwm indipendenti, di timer a 16 bit e di un Adc a 10 bit (15 microsecondi di tempo di conversione). Dispone anche di una interfaccia MultiCan. Un avanzamento funzionale è anche il nuovo XE166/M, un Digital Signal Controller ottimizzato per il controllo motore ad elevate prestazioni, ove cioè è necessario eseguire complessi algoritmi di controllo che richiedono un numero molto elevato di moltiplicazioni e somme. La Mac (MultiplyAccumulate) unit di cui dispone consente di eseguire una moltiplicazione e una somma in un solo ciclo, mentre il doppio Adc, l'interfaccia seriale configurabile e le 12 coppie di Pwm consentono a questo microcontrollore di controllare più motori contemporaneamente.

• Intel - Il chipset Q35 Express di Intel è stato pensato per supportare applicazioni embedded ove la grafica, il basso consumo, il basso rumore, la protezione dei dati e la sicurezza sono requisiti primari, come nelle applicazioni tipo i Pos e i client interattivi, il controllo industriale ad elevate prestazioni, i giochi interattivi, i sistemi di imaging e i sistemi di sicurezza di rete. Questo chipset è idoneo alla realizzazione di sistemi embedded che richiedono sistemi operativi embedded come Microsoft Windows Embedded XP, Microsoft WePoS e Linux.

• Jennic - Jennic ha recentemente introdotto una famiglia di microcontrollori ad elevatissima integrazione e prestazioni per le applicazioni di networking basate su ZigBee Pro e Ieee 802. Il processore su cui si basa è un Risc a 32 bit particolarmente efficiente nella esecuzione di istruzioni a parola variabile. E' dotato di una pipeline multistadio per l'esecuzione delle istruzioni ed è in grado di programmare la velocità del clock per ridurre il consumo elettrico durante l'esecuzione. L'architettura a 32 bit, insolita per un microcontrollore per applicazioni embedded e ultraembedded, consente di affrontare problematiche computazionali abbastanza complesse. L'efficienza esecutiva e la realizzazione compatta consentono di utilizzare questo microcontrollore in ambiti più tipici dei 16 bit, senza limitazioni nei requisiti di embedding. Le periferiche integrate on-chip sono la peculiarità di questi microcontrolloori. Il JN5148 integra on-chip un transceiver compatibile Ieee 802.15.4 a 2.4 GHz, un processore per la codifica sicura AES a 128-bit, un acceleratore Mac, 128 kbyte di ram e di Rom e varie periferiche analogiche e digitali. Grazie all'ampia memoria disponibile on-chip, questo microcontrollore ha abbastanza spazio per implementare l'intero stack ZigBee Pro e l'applicazione embedded cui è destinato. Il consumo di meno di 18 mA di corrente gli consente di operare con una sola batteria a pasticca. Il clock può essere ridotto a 4 MHz in low power sleep mode. La durata della batteria può raggiungere alcuni anni quando queste modalità di ultra low-power sono effettivamente utilizzate. Particolarmente interessante è la disponibilità di contatori di impulsi a basso consumo attivi in sleep mode e l'interfaccia audio a 4 fili I2S direttamente interfacciabile a Codec audio.
L'implementazione di applicazioni con questo processore implica pochissimi componenti al contorno: un quarzo, una memoria flash seriale, qualche componente discreto e l'antenna su circuito stampato.

• Lattice - La disponibilità di soft-microcontroller è un'altra delle innovazioni del mondo del computing embedded. LatticeMicro8 di Lattice Semiconductor è un esempio di questa innovazione che indirizza le logiche programmabili Fpga e Pld per applicazioni come le comunicazioni, il consumer, il medicale e l'industriale. LatticeMicro8 viene rilasciato sotto licenza come intellectual proprierty core (IP). Lo sviluppatore licenziatario dispone di una IP open source che può combinare con il suo codice proprietario e ridistribuirlo in forma bitstream o Fpga. LatticeMicro8 è un microcontrollore soft a 8 bit, con istruzioni a 18 bit e con bus di indirizzamento configurabile da 8 a 24 bit. Il set di registri interni è configurabile da 16 a 32 bit. Molto interessante è il sistema di mappatura delle porte, cosiddetto “a pagine”. Ogni pagina può mappare fino a 256 porte. La programmazione è in linguaggio assembly. L'assembler, quando riceve in ingresso il codice sorgente con le opportune direttive, a differenza degli hard microcontroller, produce un codice di inizializzazione della Ram cosiddetto Embedded Block Ram initialization file.

• Maxim - La serie MAXQ di microcontrollori mixed-signal di Maxim utilizza un'architettura Risc a bassa rumorosità e basso consumo allo scopo di integrare periferiche analogiche. L'efficienza energetica di questo microcontrollore è dovuta all'architettura Risc che garantisce l'esecuzione di quasi tutte le istruzioni in un solo ciclo. Tra le periferiche digitali integrate ci sono timer/counter, Rtc, Wdt, I/O parallelo. Il moltiplicatore/accumulatore è gestito come una periferica. Esegue moltiplicazioni in un solo ciclo di clock con precisione estesa a 40 bit, quindi senza richiedere il controllo software dell'overflow.

• Microchip - Microchip ha introdotto ad aprile 2009 le modifiche alla già consolidata tecnologia sub microWatt, nota come nanoWatt XLP. Questo è l'ennesimo sforzo tecnologico che porta sul piano dei consumi la sfida dei microcontrollori di ultima generazione. 100 nA di power down current, 800 nA di corrente per il Wdt e 800 nA per l'RTC e Calendario.

• Silicon Laboratories - Silicon Laboratories sviluppa microcontrollori basati sull'architettura 8051, con un'approccio system-on-chip, che rende questi particolarmente attrattivi per applicazioni embedded in svariati campi applicativi: controllo industriale, sistemi di sicurezza, sistemi di climatizzazione, elettrodomestici, tastiere, registratori di cassa, pannelli di interfaccia per stampanti, fotocopiatrici, fax, ecc. Quest'anno Silicon Lab ha introdotto la nuova famiglia di microcontrollori C8051F7xx proprio per offrire una soluzione a problematiche applicative particolarmente sensibili ai costi ma che necessitano di un elevato numero di I/O. Questo microcontrollore rende infatti disponibile ben 54 linee di I/O di uso generale. La Cpu 8051 offre 25 Mips di potenza di calcolo, quindi è in grado di eseguire gli algoritmi complessi richiesti dalle applicazioni di interfaccia uomo-macchina cui principalmente è indirizzato. La disponibilità delle periferiche touch sense basate su un sistema di conversione da capacità a numerico (40 microsecondi di tempo di acquisizione) consente di realizzare applicazioni di interfaccia molto sofisticate. Il microcontrollore dispone on-chip di ben 32 ingressi sensoriali al tatto (touch sensing), quindi può eseguire algoritmi di pattern matching sensoriali più robusti di quelli correntemente basati sul singolo sensore touch. Inoltre, la funzione wake-on-touch consente di tenere il microcontrollore in condizioni di basso consumo (power saving mode), con la possibilità di risveglio rapido al semplice tocco. Il software di supporto, molto ricco di applicativi e dimostrazioni della funzionalità touch sensing, consentono di configurare il microcontrollore tramite API per interfacce virtuali. Oltre a i touch sensing, il microcontrollore C8051F7xx dispone di un Adc ad approssimazioni successive con precisione di 10 bit. Il riferimento di tensione è on-chip e uno degli ingressi dell'Adc è connesso a un sensore di temperatura anch'esso on chip. Sempre integrato on-chip c'è l'oscillatore che consente di eliminare il quarzo esterno. I 54 Gpio possono essere utilizzati anche come ingressi dell'Adc e come input del touch sensing, oltre che genericamente come general purpose I/O. Il microcontrollore C8051F7xx integra on chip una Eeprom garantita per 100000 cicli di scrittura/cancellazione. La Eeprom consente la cancellazione del singolo byte, rendendo in tal modo questa memoria gestibile come una Ram non volatile (anche se con tempi di accesso superiori). L'accessibilità a byte per l'aggiornamento dei dati consente di evitare il trasferimento in Ram di tutti i dati per l'aggiornamento del singolo dato, per poi eseguire la scrittura di un intero blocco.

• STMicroelectronics - L'STM32 di STMicroelectronics è una famiglia di microcontrollori a 32 bit basata su memoria Flash e su un core processor Arm Cortex-M3, specificamente orientato ad applicazioni embedded avanzate. Diverse novità caratterizzano questo microcontrollore. L'architettura del Cortex-M3 per esempio contribuisce all'aumento delle prestazioni, anche grazie alla disponibilità del set istruzioni Thumb 2. La dotazione on-chip di memoria arriva a 512 kbyte di Flash e a 64 kbyte di Ram. Integrati on-chip ci sono anche le funzionalità necessarie all'interfacciamento di display, di riproduttori audio, di sistemi di memorizzazione e di sistemi di comunicazione. I consumi di potenza sono abbastanza bassi in run mode (27 mA a 72 MHz), e decisamente bassi in stand-by (2 microampere). Molto interessante è la libreria di firmware che contiene i driver per periferiche e dispositivi. Per la Usb è disponibile un kit di sviluppo che permette di implementare Usb certificate. È disponibile anche il firmware in C per il controllo di motori brushless Foc. La soluzione ultra low-power di ST è nella famiglia a 8 bit STM8L. Questi microcontrollori a 8 bit implementano una nuova tecnologia proprietaria di ST, detta ultra-low-leakage, basata sia sul processo microelettronico, sia sull'ottimizzazione dell'architettura. La modalità ultra-low-power consente a questo microcontrollore di consumare solo 350 nanoampere con mantenimento della Ram statica e del contesto. In run mode il consumo è di 150 microampere per MHz. Una peculiarità è la capacità di operare con solo 1,65 volt di tensione quando è in power down.

• Texas Instruments - L'ultimo arrivato della famiglia MSP flash-based di microcontroller della Texas Instruments è il MSP430F5xx. Questo si caratterizza per i consumi estremamente bassi di potenza elettrica, fino a 165 microampere/Mips quando è attivo e solo 2,5 microampere in stand-by. Ciò significa applicazioni alimentate con le batterie più piccole esistenti o addirittura senza batteria se alimentati da celle solari, da vibrazioni o dal calore corporeo. I nuovi microcontrollori MSP430F5xx hanno il 50% in più di potenza di calcolo e il doppio di Flash e Ram on chip. Il tempo di attivazione dallo stato di standby e di sleep è di solo 5 microsecondi. Lo scambio dati può avvenire comunque in modalità stand-by, e quindi non è necessario attivare il processore fino a quando non è richiesta l'elaborazione. La gestione dei consumi di potenza è affidata a un modulo chiamato Pmm che consente di scegliere dinamicamente la tensione di alimentazione ottimale per il core in funzione delle prestazioni desiderate. Il set di periferiche integrate on chip rende il microcontrollore F5XX particolarmente attrattivo per innumerevoli applicazioni. Tra queste periferiche vi è quella RF, quella Usb e quella Lcd. La Usb è full speed (12 Mbps).

• Xilinx - La soft processing unit a 32 bit, MicroBlaze di Xilinx rappresenta l'alternativa alla soluzione classica Mcu in quanto combinabile con la logica programmabile, personalizzabile anche a livello di processing unit e combinabile con altre IP, come ad esempio la floating-point unit, per ottenere un perfetto matching con l'applicazione embedded (automotive, medicale, sicurezza, industriale e consumer). MicroBlaze è infatti integrabile nelle piattaforme Fpga Spartan e Virtex di Xilinx. Il vantaggio del system-on-chip viene garantito dall'integrazione sulla piattaforma Fpga e dalla disponibilità della maggior parte di periferiche standard, di controller di memorie di varia tipologia e, ove è necessario, dalla realizzazione della funzionalità application-specific. Il core MicroBlaze è parte dell'Embedded Development Kit, quindi può essere integrato in un'applicazione senza dover pagare royalties.

Pubblica i tuoi commenti