I sistemi per lo sviluppo di applicazioni embedded basate su microcontrollore Mcu si sono evoluti negli ultimi anni nella direzione della prototipazione rapida, cioè, consentire allo sviluppatore di mettere a punto una versione prototipale dell’applicazione finale in tempi ridotti. Inizialmente la prototipazione rapida è stata affrontata in termini di Mcu evaluation board che potevano essere integrate nel sistema finale ed ottenere un sistema prototipale in tempi ridotti. L’ultima innovazione in termini di sviluppo rapido di applicazioni è quello di fornire sistemi di sviluppo che, oltre a integrare l’elettronica necessaria all’applicazione finale, sono assemblati con forme e funzionalità idonee all’applicazione finale. Un caso emblematico di questa soluzione che il produttore di Mcu offre allo sviluppatore è il sistema di sviluppo indossabile con funzionalità wireless, che ingloba tutta l’elettronica necessaria ad applicazioni che risiedono in sistemi che vengono indossati da una persona. Dato che il sistema, oltre a realizzare l’applicazione finale, deve consentirne lo sviluppo, non solo deve essere altamente ingegnerizzato, ma deve essere anche ad altissima integrazione, in pratica deve fare ampio utilizzo della tecnologia System-on-Chip.
Un sistema di sviluppo embedded
Texas Instruments ha recentemente realizzato un sistema di sviluppo (eZ430-Chronos) per il microcontrollore mixed-signal MSP430, in particolare il CC430F6137, in versione indossabile nella forma di un orologio sportivo. In realtà non si tratta di un orologio, ma di un sistema embedded, basato sul microcontrollore MSP430, e assemblato in modalità deeply-embedded, in modo da consentire la realizzazione di applicazioni portabili a contatto con il corpo come il monitoraggio delle funzionalità corporee, la visualizzazione di dati in ambienti di rete wireless, la realizzazione di nodi sensoriali-personali wireless, il data logging, ecc. La peculiarità di questo sistema sta nel fatto di essere contemporaneamente sistema di sviluppo e sistema applicativo finale e di integrare la tecnologia di comunicazione wireless per soddisfare in maniera efficace i requisiti di indossabilità dell’applicazione. Il CC430F6137 è un microcontrollore di natura SoC con integrata la tecnologia RF sub-1 GHz e altre importanti funzionalità di sistema che consentono di realizzare applicazioni indossabili senza aggiunta di altre parti esterne o connessioni. Oltre alla funzionalità RF, il sistema di sviluppo integra un display Lcd a 96 segmenti, un sensore di pressione, un accelerometro a 3 assi, un sensore di temperatura e un sensore per il monitoraggio della batteria. Per la fase di sviluppo, l’eZ430-Chronos consente la connessione a Pc via Usb-based CC1111 wireless.
Sviluppo di applicazioni in ambiente wireless
Il sistema di sviluppo eZ430-Chronos fa parte di quella nuova generazione di development kit per la prototipazione rapida di prodotti a livello end-user. Questi kit non solo implementano tutta la funzionalità hardware necessaria alla realizzazione dell’applicazione target in un formato embedded, ma anche la configurazione funzionale del sistema, così come sarà utilizzato dopo la fase di industrializzazione (forma, accessibilità, usabilità, ecc.). Nel caso specifico del eZ430-Chronos, essendo orientato allo sviluppo di applicazioni indossabili, il sistema di sviluppo è stato realizzato sotto forma di orologio. Data la natura embedded abbastanza spinta del eZ430-Chronos, la tecnologia wireless integrata svolge un ruolo determinante nella connotazione di questo sistema, sia a livello di utilizzo finale, sia a livello di sviluppo. Il sistema, ai fini dell’aggiornamento del firmware, ma anche durante il funzionamento in applicazioni di data logging, non necessita di essere aperto per consentire la connessione a un sistema host. Data la complessità dell’aggiornamento del firmware in modalità wireless, il sistema eZ430-Chronos implementa una modalità che consente di consumare la minima quantità di risorse possibili, soprattutto quelle di memoria flash. Il sistema implementa quindi un protocollo radio molto leggero che viene tenuto nell’area Bsl della memoria Flash del CC430, mentre la parte necessaria alla gestione del display Lcd per le informazioni di avanzamento e quelle necessarie alla programmazione della Flash durante l’aggiornamento, vengono scaricate sulla RAM del sistema ed eseguite da questa memoria. I componenti del sistema di aggiornamento wireless sono il protocollo radio Bsl, il Ram-based updater per il trasferimento da Pc a Ram, il protocol stack del wireless update sul access point RF (CC1111). La procedura di aggiornamento del firmware è abbastanza semplice e allo stesso tempo efficace.
Architettura di sistema
La tecnologia su cui si basa il sistema di sviluppo wireless eZ430-Chronos è quella del microcontrollore CC430F6137 con la sua funzionalità radio integrata sub-1 GHz. Essendo un SoC a tutti gli effetti, questo microcontrollore integra anche tutta la funzionalità necessaria al sistema nella sua applicazione indossabile, il driver del display e il sensore di temperatura. Accelerometro e sensore di pressione non sono integrati nel chip, quindi sono connessi come periferiche esterne montate sul Pcb. L’antenna non è realizzata su Pcb e può essere connessa esternamente. Senza la connessione esterna viene utilizzata la parte metallica che fa da cornice al display Lcd. Per la comunicazione RF tra eZ430-Chronos e sistema host viene utilizzato il controller CC1111F32 che integra sia l’interfaccia Usb, sia il sistema di trasmissione radio < 1-GHz.
Programmazione e debug
La programmazione e il debug del codice applicativo su eZ430-Chronos avviene tramite interfaccia Jtag connessa a PC. Nello stesso kit eZ430-Chronos è inclusa l’interfaccia Jtag che può essere direttamente connessa al eZ430-Chronos, dopo che questo è stato rimosso dal suo alloggiamento a forma di orologio da polso. La connessione dell’interfaccia Jtag al Pc è di tipo Usb, mentre quella verso l’hardware del eZ430-Chronos è diretta su un connettore che riporta direttamente le connessioni dell’interfaccia Jtag del CC430, core processor del eZ430-Chronos. Quando il eZ430-Chronos è connesso direttamente all’emulatore Jtag, attraverso l’ambiente di sviluppo CodeComposer è possibile accedere a tutte le risorse del microcontrollore per l’esecuzione del debug del software applicativo, anche in relazione alle funzionalità hardware non integrate nel microcontrollore.
Un SoC con core RF
Il sistema di sviluppo e prototipazione wireless eZ430-Chronos utilizza il microcontrollore ultra low-power MSP CC430F6137, un system-on-chip che integra un core RF transceiver . Questo dispositivo è un vero e proprio system-on.chip per applicazioni di comunicazione wireless a basso consumo, in quanto integra anche tutte le altre necessarie risorse su singolo chip. Il core processor è un Risc a 16 bit, quindi una via intermedia tra i Cisc a 16 bit e i Risc a 32 bit. Grazie a questa soluzione di architettura, vengono ottimizzati i consumi energetici e le dimensioni. Questa ottimizzazione va a favore della natura wireless di questo dispositivo, sia per il fatto che viene resa possibile l’integrazione di tutte le risorse necessarie, sia per il fatto che queste possono disporre di una maggiore durata delle batterie nei sistemi portatili. Oltre ad ovvie periferiche come le porte seriali, i timer e i convertitori A/D, risorse on-chip particolarmente importanti nelle applicazioni basate sulla interazione RF sono anche il coprocessore per la criptografia a 128 bit AES e il moltiplicatore hardware a 32 bit. Questi ultimi consentono di supportare in maniera efficiente sia la componente di comunicazione, sia quella di signal processing che ricorrono in applicazioni di monitoraggio di parametri fisiologici e scambio dati in rete. Il sottosistema caratterizzante è il core sub 1-GHz RF transceiver. Questo opera su varie bande frequenziali (300-348 MHz, 389-364 MHz, 779-928 MHz) e a vari data-rate (da 0.6 a 500 kbaud).