Il mondo dell’embedding cresce e si innova

Il mondo dell'embedding si trova attualmente in una fase di rapidissimo sviluppo, come dimostrano eventi come l'Embedded World di Norimberga, il frequentatissimo evento che unisce esposizione e conferenza, in cui la novità tecnologica non costituisce un'eccezione ma rappresenta la regola. Emblematico di questo sviluppo, e della sempre maggiore incidenza nel mondo della produzione, è lo “Student Day” cui hanno partecipato numerosi studenti di Austria e Germania interessati a questo mondo tecnologico dell'elettronica e dell'informatica avanzata, stimolati anche dall'interessante intervento del Prof. Jürgen Herre degli International Audio Laboratories di Erlangen, inventore del noto sistema di compressione dell'audio MP3. Le novità tecnologiche sono innumerevoli e riguardano praticamente tutti i campi dell'embedding, sia a livello di sviluppo che a livello applicativo, e sono tutte finalizzate ad ottenere prestazioni e funzionalità che anche solo un anno fa erano inimmaginabili.

Embedding e low power oltre ogni limite
Texas Instruments ha introdotto una nuova piattaforma microcontrollore ultra low-power, che, utilizzando l'architettura MSP430, un microcontrollore a basso consumo ed alte prestazioni, consente di ottenere prestazioni ancora più avanzate a fronte di consumi di potenza bassissimi. La tecnologia di power-saving messa a punto da Texas Instruments si chiama “Volverine”, proprio per evidenziare quanto sia particolarmente aggressiva in termini di riduzione dei consumi energetici. Grazie a questa nuova tecnologia, applicazioni come le interfacce Hmi interattive e naturali (senza toccare fisicamente il sistema con cui si interagisce), oppure come l'intelligenza ambientale distribuita, diventano una realtà grazie a questa nuova tecnologia che consente durata delle batterie tali da rendere le applicazioni di fatto svincolate dalle problematiche di alimentazione. Rispetto al MSP430 senza la tecnologia Volverine, i nuovi microcontrollori che integrano questa tecnologia consumano almeno il 50% di potenza elettrica in meno (360 nA real-time clock mode e meno di 100 uA/MHz in modalità attiva). Considerando che le applicazioni alimentate a batteria sono inattive per circa il 99% del tempo, con un consumo in stand-by di solo 360 nA, la durata delle batterie diventa dell'ordine degli anni, aprendo in tal modo il ventaglio delle possibilità applicative in maniera incredibilmente ampia rispetto a quanto già possibile con la tecnologia low-power allo stato dell'arte. Texas Instruments, per ottenere elevate prestazioni a fronte di un bassissimo consumo, ha sviluppato una tecnologia di processo ultra low leakage che consente di ottenere un fattore migliorativo di 10 volte relativamente al leakage e di ottimizzare le funzionalità mixed-signal, proprio tipiche dell'architettura di microcontrollo MSP430. Il processo di integrazione è stato migliorato a 130 nm e contemporaneamente sono state ottimizzate le periferiche relativamente ai consumi di potenza. Questa combinazione di ottimizzazioni ha portato a una eccezionale riduzione dei consumi energetici. I risultati di basso consumo di Volverine sono anche dovuti a scelte tecnologiche come le Fram. I 100 uA/MHz che Volverine vanta sono attribuibili anche al fatto che le Fram consumano fino a 250 volte meno delle Flash e offrono comunque la nonvolatilità al 100% e allo stesso tempo la velocità e flessibilità delle Sram. La nuova tecnologia ultra low power non penalizza le prestazioni del microc MSP430 cui è applicata. Per esempio, il wakeup rimane comunque veloce ed efficiente (6,5 us) e anche le periferiche ad alta precisione, per esempio i convertitori a 12 bit, consumano valori bassissimi di potenza elettrica (75 uA). Una ulteriore peculiarità di questa offerta ultra low power di TI è la disponibilità di strumenti software che consentono l'ottimizzazione in termini di basso consumo del codice.

Tecnologia Flash 40 nm per microcontrollori
Renesas ha introdotto una Mcu a bassissimo consumo di potenza con tecnologia Flash da 40 nm, denominata RH850, basata sulla tecnologia flash embedded a 40 nanometri denominata Monos (Metal oxide nitride oxide silicon). La famiglia di Mcu RH850 è basata sul nuovo core a 32 bit RH850. Questo integra una tecnologia di processo ultra low power su un'architettura a 32 bit e alte prestazioni computazionali. La famiglia RH850 ha un range di prestazioni che va dai 64 fino ai 320 MHz, tagli di memoria flash dai 256 agli 8 MByte e memoria non volatile con prestazioni di durata da 125000 cicli e ritenzione dei dati per almeno 20 anni.

Smart sensing e sensor fusion
I dispositivi intelligenti di nuova generazione richiedono elevata precisione nelle informazioni di natura sensoriale per meglio interpretare il contesto che li circonda. La tecnologia software di sensor fusion Xtrinsic eCompass di Freescale, appena annunciata, è un esempio emblematico della necessità di soddisfare questi requisiti. Questa tecnologia software opera con gli accelerometri e i magnetometri per ottenere dati misurati in maniera molto accurata, per soddisfare applicazioni come i giochi 3D, la eHealth e i servizi location-based. L'esigenza in queste applicazioni è quella di avere dati in tempi molto stretti e con elevata accuratezza relativamente all'orientamento.

Innovazione nel microcontrollo a 8, 16 e 32 bit
I microcontrollori richiedono un'elevata ottimizzazione per soddisfare i requisiti applicativi in sistemi di natura embedded. Questa ottimizzazione riguarda diversi fattori, tra cui il costo, i consumi e le prestazioni sono senza dubbio i principali. Microchip si è concentrata su questi aspetti di ottimizzazione su tutte e tre le architetture di computing, l'8, il 16 e il 32 bit. Nella nuova famiglia di microcontrollori a 8 bit l'innovazione ha riguardato soprattutto le periferiche digitali e analogiche. Le Mcu PIC12F(HV)752 integrano una periferica Cog (Complementary Output Generator) per la generazione di forme d'onda complementari e con controllo dead-band, shutdown automatico, auto reset, controllo di fase e controllo blanking. Oltre a queste funzionalità, integrano una memoria programmabile self read-write di 1,75 KB, una Ram di 64B, un Adc a 10 bit, i Pwm Capture-Compare, i comparatori con velocità di risposta fino a 40 ns e due I/O da 50 mA. La versione ad alta tensione, PIC12HV752, integra un regolatore shunt che consente al dispositivo di operare da 2 V fino a un livello massimo di tensione definito dall'utente, con una corrente operativa inferiore a 2 mA. Le Mcu PIC12F752 e PIC12FHV752 sono disponibili in package Dfn da 3 x 3 mm a 8 pin oltre che in package Pdip e Soic sempre a 8 pin. Le piccole dimensioni di queste Mcu e l'alta integrazione di funzionalità on-chip sono sicuramente interessanti per lo sviluppo di applicazioni sensibili ai costi. Altre applicazioni sensibili ai costi e ai consumi richiedono comunque prestazioni più elevate. Le architetture a 16 bit sono quelle più idonee a offrire queste prestazioni, mantenendo caratteristiche di consumo e di costo compatibili con quelle offerte dalle architetture a 8 bit. La nuova famiglia di microcontrollori PIC24 Lite a 16 bit ha queste caratteristiche in quanto integra la tecnologia Xlp (eXtreme Low Power), mantiene bassi i costi e utilizza un package a basso pinout. In particolare il basso consumo è significativo se si considerano i 20 nA in condizioni di sleep e 150 uA/MHz a 1,8 volt. Per questo dispositivo è particolarmente interessante e vantaggioso l'ambiente di sviluppo Microstick PIC24F che consente la prototipazione rapida in quanto di formato idoneo ad essere inserito facilmente su qualsiasi scheda di prototipazione. Via Usb si connette al Pc dove viene eseguito l'Ide Mplab. Le Mcu a 32 bit rappresentano comunque una soluzione necessaria ove le prestazioni del sistema embedded sono particolarmente elevate. Anche in questo caso è comunque necessario un elevato livello di ottimizzazione relativamente ai tre aspetti principali cui le applicazione embedded sono sensibili in aree applicative come il medicale, il consumer, l'automotive e l'industriale. La nuova serie di Mcu a 32 bit, PIC32, si caratterizzano, oltre che per le prestazioni computazionali e di elaborazione in generale, anche per quanto concerne le dimensioni, considerando il basso pin-count e package con dimensioni fino a 5 mm x 5 mm. Particolarmente interessante la disponibilità on-chip di periferiche dedicate di tipo audio e di rilevamento capacitivo. Un'altra importante funzionalità è quella Usb Otg (On-the-Go), ideale proprio per le applicazioni audio e in generale per le applicazioni consumer e medicale, ove la connettività Usb Otg è fondamentale. Queste Mcu a 32 bit sono molto ricche di memoria (fino a 128 di flash e 32 di Ram) e di periferiche avanzate come la I2S per l'audio e quella capacitiva mTouch dotata di sensori avanzati, oltre alla Parallel Master Port a 8 bit per interfacciare la grafica o la memoria esterna. Particolarmente dotato è il convertitore Adc on-chip a 10-bit, 1 Msps e 13-canali.

Mcu a 32 bit mixed-signal
Le Mcu a 32 bit diventano sempre più interessanti per gli sviluppatori di sistemi embedded man mano che queste si arricchiscono di periferiche. Le periferiche analogiche e mixed signal sono indubbiamente impegnative se si considera la complessità delle architetture a 32 bit. Silicon Labs ha introdotto una nuova famiglia di Mcu denominata Precision32, basata sul processore Arm Cortex-M3. La riduzione dei costi che Precision32 consente di ottenere è legata alla natura stessa delle periferiche integrate in questo sistema: oscillatori di precisione con Pll, regolatore di tensione interno a 5 V per alimentare la Cpu via porta Usb o comunque una generica tensione a 5 V senza regolatore esterno; 6 I/O a elevata intensità di corrente (fino a 300 mA ciascuno) per il pilotaggio di Led a elevata potenza, motori di piccole dimensioni, cicalini, Mosfet e come convertitore boost; 16 canali di rilevamento di tocco capacitivo. I dispositivi della serie Precision32 mettono a disposizione il supporto Phy (livello fisico) per Usb 2.0 e un front-end analogico per l'interfacciamento diretto con il connettore Usb. Un'importante peculiarità di questa Mcu di Silicon Labs è la flessibilità architetturale, cioè la possibilità di riconfigurare il chip a livello di pinout e il posizionamento delle periferiche. Questo è possibile grazie alla tecnologia dual-crossbar di Silicon Labs. Grazie a questa gli sviluppatori possono scegliere le periferiche che vogliono, sia digitali che analogiche, e per queste indicare il posizionamento dei pin. Il pinout è quindi flessibile, e consente di evitare le modifiche al layout di progetti preesistenti e allo stesso tempo di scegliere il package più appropriato. Questa tecnologia è supportata da un package software, AppBuilder, che consente, tramite una interfaccia grafica, di ottimizzare nell'insieme le periferiche e il relativo pinout. Grazie a questa possibilità, anche lo sviluppo del Pcb trae vantaggio, soprattutto nella fase di sbroglio. La famiglia Precision32 è stata sviluppata in modo da ottimizzare i consumi nelle modalità sia attiva sia “sleep”. Queste nuove Mcu sfruttano le avanzate tecnologie di progettazione a basso consumo brevettate di Silicon Labs per garantire la riduzione dei consumi in ogni singolo blocco che compone la Cpu: ciò ha consentito di ottenere una diminuzione fino al 33% della corrente richiesta in modalità attiva (22 mA a 80 MHz o 275 µA/MHz) e una riduzione di un fattore pari a 100 della corrente necessaria in modalità “sleep” (0,35 µA con il blocco Rtc abilitato e mantenimento nella Ram di 4 KB di dati).

L'Usb intelligente
La connettività tra Pc e mondo embedded e tra mondo embedded e mondo embedded è basata sempre più spesso sull'interfaccia Usb, soprattutto nel campo applicativo consumer. L'implementazione efficiente di questa interfaccia consente agli sviluppatori di ottenere soluzioni altamente ottimizzate, anche relativamente alle problematiche di alimentazione. Future Technology Devices International, specialista proprio della tecnologia Usb, ha presentato X-Chips una soluzione di interfaccia Usb verso seriale, che supporta un'ampia gamma di interfacce, dalla Uart di base a quella completa, alla Fifo e alla I2C (oltre all'interfaccia FT1248 I/O della stessa Ftdi). Questa soluzione di interfaccia Usb 2.0 altamente integrata, oltre ad essere particolarmente performante, consente di ridurre considerevolmente la dimensione e la complessità del layout della scheda e dei relativi consumi. Quest'ultimi si mantengono bassi anche ad elevati data rate (3.4 Mbit/s), inferiori a 8 mA in modalità attiva. Il consumo in modalità passiva (suspend mode) è inferiore a 125 uA. Un aspetto interessante è la funzionalità di carica fornita alle apparecchiature portatili, in particolare nella modalità rapida. Questa funzionalità è all'interno del chip stesso, anche relativamente alla logica di commutazione da trasferimento dati a modalità di carica e viceversa, che quindi non è a carico della Mcu. Importante è anche il supporto software relativamente ai più diffusi sistemi operativi embedded e non (Windows 7, Windows Vista, Windows XP, Windows XP Embedded, Windows CE, Mac OS-X, Linux, Android). I driver Usb sono tutti scaricabili gratuitamente dal web. Il dispositivo è tutto preprogrammato per gestire automaticamente il protocollo Usb e dispone di una memoria interna Mtp (Multi-time programming) per configurarla.

Generazione automatica di codice HDL
La complessità della progettazione dei sistemi su piattaforme hardware programmabili come Fpga e Asic, è tale da richiedere ambienti di modellazione che consentono di progettare ad alto livello i sistemi molto complessi. Matlab, il linguaggio di programmazione di Mathworks, consente la modalità di progettazione Model-System Design per prototipare un'applicazione a livello funzionale. Passare dal modello alla sua implementazione su silicio è il passaggio più critico di questo processo di sviluppo. La generazione automatica del codice Hdl e la sua verifica è il naturale complemento al processo di modellazione che evita il tedioso, ma anche insidioso, processo di scrittura manuale del codice. Hdl Coder genera automaticamente il codice Hdl dal codice Matlab (e Simulink), oltre al codice Vhdl e quello Verilog, utilizzabile direttamente per programmare la logica Fpga e quella Asic. Hdl Coder si integra con la suite Ise di Xilinx per trasferire direttamente su Fpga di Xilinx il codice di programmazione. Hdl Verifier consente di verificare la Fpga programmata nella modalità cosiddetta “Hardware in the Loop” sia per le Fpga Altera che quelle Xilinx. Viene supportata la cosimulazione tramite un'interfaccia verso i simulatori Incisive e ModelSim di Cadence e Hdl di Questa.

Il target virtuale
La prototipazione virtuale è l'ultima delle innovazioni nel campo della prototipazione rapida. La prototipazione virtuale consente di realizzare la simulazione funzionale completa di un sistema embedded utilizzando piattaforme di silicio di natura system-on-chip a logica programmabile. Altera ha recentemente introdotto la piattaforma SoC Fpga Virtual Target, un sistema di simulazione funzionale basato su Pc e che utilizza le Fpga SoC CycloneV o ArriaV. Con questa soluzione virtual target è possibile creare software dedicato da implementare su dispositivi specifici e che può essere eseguito sui dispositivi finali senza alcuna modifica all'hardware. Il Virtual Target può essere esteso anche con la funzionalità “Fpga -in-the-loop”, una modalità di modellazione ed emulazione completa in un ambiente comprensivo di tutti gli automatismi, dalla definizione del modello funzionale, alla messa in esecuzione real-time del target finale emulato su Fpga. Utilizzando una connessione PCIe tra l'ambiente e il target, è possibile eseguire la verifica funzionale in modalità “software-driven” delle funzionalità proprietarie (IP) e l'integrazione di sistema. La creazione del virtual target si basa sul Virtual Prototyping Solution di Synopsys, di cui vengono utilizzate le funzionalità di debugging e di analisi particolarmente ottimizzate per le piattaforme di computing multicore e in particolare per Arm Cortex A9 e la IP di DesignWare di cui vengono resi disponibili i modelli transazionali.

Mcu ad alte prestazioni per le applicazioni industriali
I microcontrollori svolgono ormai un ruolo strategico nelle applicazioni industriali e la loro ottimizzazione relativa alle esigenze applicative è uno dei principali obiettivi di sviluppo dei produttori di Mcu. La nuova serie XMC4000 di Infineon è perfettamente in linea con questa strategia e con l'obiettivo di puntare alle alte prestazioni. La dimostrazione sta nel fatto che i microcontrollori XMC4000 utilizzano il processore Arm Cortex-M4, un'architettura di computing particolarmente efficiente in applicazioni di controllo in quanto custom-developed per le applicazioni industriali, ma allo stesso tempo estremamente versatile, in accordo con la natura stessa della famiglia di microcontrollori XMC (Cross-market microcontroller). Ciò significa che questo microcontrollore è ottimizzato per applicazioni di controllo motore, di produzione, di automazione di edifici, di produzione di energie rinnovabili, di applicazioni medicali, di applicazioni di trasporto, ecc. La Mcu di Infineon opera a frequenze relativamente basse (da 80 a 180 MHz) ma con capacità di elaborazione real-time dei segnali grazie alla funzionalità embedded di natura Dsp, all'unità floating-point e alla memoria flash veloce (22 nanosecondi di tempo di accesso è un tempo compatibile con quello di accesso alla Ram). Accanto a queste prestazioni di processing vi sono le periferiche particolarmente evolute come i convertitori A/D, i demodulatori delta-sigma e i timer.
Anche a livello di comunicazione i microcontrollori XMC sono particolarmente dotati, con le interfacce Ethernet, Usb 2.0, Can e SD/Mmc. La Mcu XMC4500 è la prima della famiglia XMC4000, utilizza una Cpu a 120 MHz, dispone di 1 Mbyte di memoria on-chip di tipo flash e 160 kbyte di Ram. Fondamentale la disponibilità di un ambiente di sviluppo efficiente, per lo sviluppo veloce e il controllo totale della funzionalità del microcontrollore. L'ambiente di sviluppo Dave 3 è gratuito e scaricabile dal web.

Migrare verso i 32 bit nelle applicazioni di controllo
Gli sviluppatori che utilizzano Mcu a 8 e 16 bit altamente ottimizzate per applicazioni di controllo industriale e per applicazioni embedded in generale, possono ormai migrare con tranquillità verso le architetture Mcu a 32 bit che offrono prestazioni computazionali estremamente elevate con una complessità di sistema dello stesso ordine delle Mcu 8/16. Ciò è stato possibile grazie a un lavoro congiunto tra Arm e i produttori di Mcu, finalizzato a ottenere un core processor particolarmente adatto a realizzare microcontrolllori, il core Cortex-M. STMicroelectronics è infatti uno dei partner di Arm che ha contribuito allo sviluppo del processore Cortex-M3, il primo della serie Cortex-M. Conseguentemente ST ha sviluppato la famiglia di microcontrollori STM32 F0, che utilizza il core Cortex-M0 a bassissimo consumo come primo ponte per la migrazione dalle architetture Mcu a 8/16 bit verso quelle molto più performanti a 32 bit, ovviamente preservando tutti i vantaggi di quelle a 8 e 16 bit. Il vantaggio dell'architettura Cortex-M sta sia nelle prestazioni ma anche nei costi, nel consumo di potenza, nella facilità d'uso e nella scalabilità. STM32 F0 opera a 48 MHz, ma una sua peculiarità è quella di integrare un supporto hardware, il Cec (Consumer Electronics Control) che semplifica enormemente lo sviluppo di applicazioni embedded come per esempio quelle dei dispositivi multimedia, consentendo di implementare la connettività industry-standard che tali applicazioni richiedono, senza impegnare a tale scopo la Cpu e le altre risorse del processore. Il Cec è un kernel indipendente che può essere pilotato con clock esterni a bassa frequenza (per esempio 32 kHz) oppure interni ad alta frequenza (8 MHz). Oltre a queste funzionalità, l'STM32 F0 integra un sottosistema mixed-signal A/D a 12 bit da 1 Msample/s, un 12 bit Dac e due comparatori analogici programmabili cooperanti con il Dac. Sempre on chip sono disponibili Pwm a 16 bit e i timer a 32 bit con capacità di 17 modalità di capture/compare mappate su 28 pin. Due timer sono dotati di capacità di controllo di trasmissione infrarosso per lo sviluppo di interfacce di comunicazione. Altre risorse di comunicazione sono la Spi con data frame a 16 bit e 18 Mbit/s di baud rate, la I2C che supporta la modalità di comunicazione Fast mode+ a 1 Mbit/s e la capacità di svegliare il processore quando si trova nella modalità Stop.

Medical electronics e telemedicina
L'elettronica medicale è uno dei settori industriali in più rapida crescita, grazie ad una serie di innovazioni tecnologiche recentemente rese disponibili da parte dell'industria microelettronica, tra cui la miniaturizzazione, la comunicazione wireless e il bassissimo consumo (sensoristica battery-free). Contemporaneamente a queste innovazioni della microelettronica vi sono state evoluzioni sulla popolazione (invecchiamento) che hanno fatto incrementare i costi delle cure, oltre alle aree geografiche emergenti che stanno contribuendo in maniera esponenziale alla richiesta di prodotti di cura a basso costo. In questo contesto, un'area applicativa in rapido sviluppo è quella del medical consumer e quello della telemedicina. A tale proposito, i sensori indossabili con capacità trasmissiva a breve distanza sono un'importantissima tecnologia abilitante. Microsemi ha recentemente introdotto un componente, lo ZL70250 Ultra Low Power Ism Band Short-Range Radio, un sub-GHz Ism transceiver per applicazioni a breve raggio fino a 50 metri, con 2 mA di corrente di picco in trasmissione e in ricezione, da 1,1 a 1,8 volt di alimentazione e formato Csp (Chip Scale Package). Questo componente di Microsemi dispone di un protocollo proprietario che gli consente grandi capacità di monitoraggio continuo (Z-Star Protocol Stack), progettato specificamente per trarre vantaggio dalle prerogative ultra low-power del dispositivo. Opera in configurazione a stella.

Rilevare difetti e vulnerabilità del codice C++
PRQA, specialista di analisi statica del codice, ha realizzato un importante aggiornamento del QA.C++, lo strumento di analisi statica in ambiente C++ che incorpora la tecnologia di analisi deep-flow del dataflow del codice. Il linguaggio C++ nel 2011 è stato aggiornato e conseguentemente lo strumento di analisi di PRQA è stato fornito di upgrade per supportare i compilatori nella fase di generazione del codice al fine di garantirne un'elevatissima qualità. QA.C++ supporta anche la Boost Library. Altri importanti aggiornamenti riguardano il motore di analisi del dataflow che opera insieme a un solver Smt (Satisfiability Modulo Theories) già presente nella versione 8.0. Questo dataflow engine è stato aggiornato con “pointer aliasing” e “function call binding” per ottenere un elevato grado di controllo del codice C++ relativamente alla vulnerabilità e ai difetti più critici come l'overflow dei buffer, il loss making conversion, il codice morto, i flussi logici anomali, ecc. Anche l'analisi dei loop e delle variabili sono oggetto di controllo nelle varie modalità di utilizzo, tra cui in particolare i valori di ritorno. Altri errori monitorati sono quelli che si manifestano run-time, come l'overflow numerico e di bufferizzazione, la dereferenziazione dei null pointer, la divisione per zero, il codice non raggiungibile e le anomalie logiche.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome