Nel corso degli ultimi anni si è parlato molto, anche in ambito industriale, di nuove tecnologie per le Gui (Graphical User Interface). Questo è dovuto a due ragioni: la prima si riferisce alla disponibilità di potenti processori a basso costo, assieme all' introduzione di tecnologie più economiche per la realizzazione di display; la seconda all'utilizzo delle Gui nel settore industriale, oltre che in quello dell'elettronica di consumo. Il mercato dei telefoni cellulari, nel quale l'impiego di Gui Flash e 3-D, funzioni audio/video e tastiere di tipo touch screen si sta sempre più diffondendo, costituisce un esempio emblematico. Questa evoluzione interessa anche i display industriali, e persino il settore degli elettrodomestici. Mentre solamente pochi anni fa tasti e quadranti erano la norma, ora ci troviamo di fronte a prodotti con display grafici ad alta risoluzione in grado di riprodurre videoclip di buona qualità. I manuali d'utente e i menù d'aiuto delle apparecchiature più complesse risultano infatti di maggiore comprensione se gli utilizzatori hanno la possibilità di seguire le istruzioni direttamente sull'apparecchiatura, senza bisogno di studiarsi il manuale. La necessità di ridurre cicli di sviluppo e costi nel settore industriale ha diffuso l'impiego di tool e strutture commerciali che consentono di sviluppare Gui complesse in tempi relativamente brevi. Ciò spiega la sempre più frequente presenza di soluzioni quali la Qt Cross-Platform Application Framework di Trolltech in applicazioni industriali. Questo trend abbraccia anche la generazione delle Gui dinamiche che si avvalgono della diffusa tecnologia Flash, di cui Adobe Flash è leader indiscusso. Infatti, gli sviluppatori di sistemi per applicazioni industriali, medicali o automotive utilizzano sempre più spesso Flash proprio perché in grado di ridurre del 50 per cento il tempo di progettazione delle interfacce più complesse. I tools Flash ad alto livello vengono altresì impiegati per la creazione di componenti Gui che girano sulla piattaforma target con un Flash player senza la necessità di scrivere codici grafici. Altra evoluzione in questo settore è il cambiamento nella scelta del sistema operativo. Essendo Linux embedded un software libero, lo si utilizza sempre più spesso sia in applicazioni cost-sensitive, sia nello sviluppo di Gui: lo dimostra l'elevato numero di librerie grafiche open-source disponibili per Linux, di cui GTK è un esempio. Anche il supporto per applicazioni audio e video sta diventando un vero e proprio trend industriale, probabilmente anche per la loro crescente espansione nel settore dei sistemi di sicurezza. Va comunque ricordato che molti altri sistemi sono dotati di dispositivi per la registrazione di video ad alta qualità, incluse le network camera IP, le telecamere industriali e un'ampia gamma di apparecchiature consumer. Questa tendenza ha avuto origine quando processori ad alta integrazione hanno cominciato a supportare nuovi standard come l'H.264, eliminando così la necessità di sistemi Dsp altamente complessi. Un esempio può essere rappresentato dai sistemi di accesso via video-citofonia che, anche negli edifici più obsoleti, possono essere aggiornati attraverso una serie di telecamere IP su rete Wlan, senza che sia necessaria la stesura di nuovi cablaggi. In applicazioni di questo tipo è essenziale una compressione video, come ad esempio l'H.264, per consentire la trasmissione dei dati con una ragionevole larghezza di banda.
Requisiti per lo sviluppo di hardware e software
L'evoluzione di molti di questi prodotti si è rivelata un' autentiche sfida per i progettisti. In passato, i sistemi erano sviluppati con microcontrollori da 16 o 32 bit, appena sufficienti a soddisfare il minimo livello delle prestazioni allora richieste. Oltre alle periferiche, questi microcontrollori montavano memorie Ram o Flash. Sul versante software si era soliti lavorare con sistemi operativi in tempo reale e drivers che nel corso degli anni divennero sempre più evoluti. Oggigiorno, con il trend rivolto alle applicazioni industriali multimediali, i progettisti devono fare i conti con nuovi requisiti, quali la connettività di processori ad alta integrazione. Occorre saper progettare interfacce per memorie veloci, come le Sdram, le Ddr1 e le Ddr2. Inoltre può sempre esserci la necessità di dover includere interfacce Lcd e touchscreen od anche canali di comunicazione con il Pc; come le Usb 2.0 ad alta velocità, le SD card o interfacce Gigabit Ethernet. Chi sviluppa software lavora oggi a livelli di astrazione mai raggiunti in passato. Sistemi come Linux, Windows CE e QNX si stanno diffondendo molto rapidamente. Questo tuttavia non basta: è indispensabile essere provvisti di una buona conoscenza delle librerie grafiche e degli API standard industriali come Open Max IL e OpenGL, in modo da implementare rapidamente le funzioni richieste. Per garantire un audio e video processing ad alta qualità nei sistemi di nuova generazione si necessita inoltre di buone basi in materia di codec multimediali come Mp3, AAC, Mpeg-4 e H.264.
In poche parole, visto come il grado di complessità sta crescendo, si è instaurato un trend verso piattaforme di riferimento e soluzioni modulari altamente ottimizzate, per contenere i tempi di sviluppo il più possibile ed assicurare che i costi rimangano bassi nel tempo. L'utilizzo di moduli embedded computer è quindi diventato fondamentale per mantenere i costi di sviluppo a un livello ragionevole, specialmente in quelle applicazioni con volumi di produzione medio- bassi.
Per applicazioni in volumi medio - bassi
Per quanto riguarda i processori, esistono oggi prodotti che combinano in un singolo chip tutte le funzioni per implementare le applicazioni descritte. Ad esempio, Renesas ha sviluppato una famiglia di processori Risc a 32-bit, battezzata SH772x e appositamente progettata per applicazioni multimediali. Si tratta di una soluzione System on Chip ad alta integrazione sia per audio, video, e speech processing, che per accelerazione grafica nelle Gui più sofisticate. I processori SH7722 e SH7723 sono un'estensione dell'SH7721 e includono interfacce multimediali integrate come, ad esempio, video in/out, un'interfaccia per fotocamera a 5 megapixel, processori audio, accelerazione MPEG-4/H.264, controllori LCD, gestione grafica 2D e controller SD card. Questi processori sono un'anticipazione dell'SH7724, che sarà lanciato nella seconda metà dell'anno e sarà in grado di integrare connettività Ethernet e funzioni multimediali. L'SH7722 lavora con un clock che può raggiungere i 333 Mhz ed è dotato di un'estensione Dsp per processare diversi audio codec. L' SH7723 è più veloce, arriva a 400 MHz , è dotato di una cache L2 e una potente FPU, consente registrazioni o decodifiche video con Mpeg-4 o H.264 a un frame rate fino a 30fps sotto piattaforme Linux o Windows CE. Allo stesso tempo è in grado di supportare risoluzioni D1 con un consumo energetico molto ridotto.
A supporto di tali processori và citato il contributo di emtrion, partner platinum di Renesas con sede in Germania, che fornisce moduli Cpu in formato Sodimm per entrambi i processori, semplificando notevolmente il lavoro del progettista. Oltre al processore stesso, entrambe le Cpu montano componenti di memoria, interfacce Usb 2.0 host e device ed un' interfaccia Ethernet a 100 MBit. Tutti i segnali sono disponibili su un connettore a 200 pin Sodimm uguale per entrambe le Cpu. I due moduli sono caratterizzati da un assorbimento molto basso, che li rende ideali nelle apparecchiature portatili e comprendono diverse carrier board con tutti i componenti solitamente richiesti come, ad esempio, codec audio e video, alimentatore e presa. Della dotazione fanno parte istruzioni dettagliate che mostrano esattamente come i diversi componenti si colleghino tra di loro: l'utilizzatore sarà così in grado di sviluppare la soluzione più adatta per la sua particolare esigenza. Il reference system può essere utilizzato come una evaluation board, ma nulla vieta che lo si possa implementare direttamente in apparecchiature industriali di serie senza ulteriori modifiche. Queste carrier board di facile impiego consentono quindi al progettista di adattare ogni modulo alle specifiche necessità, con notevole risparmio nei tempi di sviluppo.
Dato che il software è una parte integrante di ogni sistema, per entrambe le soluzioni sono stati elaborati completi software di supporto. I processori SH7722 e SH7723 sono supportati da un completo Linux BSP, basato sul più recente Kernel 2.6.27 provvisto di tool chain, librerie e varie applicazioni e affiancato da un bootloader. Tutto ciò consente di implementare con rapidità supporti touchscreen, media player o video encoder, come pure Gui complesse grazie all'accelerazione grafica fornita da un driver DirectFB open source. Il SH7723 potrà supportare sia Windows CE 6.0 che Linux. Per middleware multimediali poi Renesas fornisce una varietà di codec software ottimizzati per operare con acceleratori hardware on chip: di questi fanno parte i codec audio MP3 e AAC nonché i codec video Mpeg-4 e H.264.
Un'alleanza per le applicazioni multimediali
Gli esempi illustrati nell'articolo descrivono quanto il mondo dell'hardware e del software dei sistemi embedded sia divenuto complesso oggi, specialmente con l'introduzione delle recenti tecnologie di interfacce grafiche utente e di supporti audio e video. I componenti hardware e software devono assicurare un grado di supporto sufficientemente elevato al fine di permettere uno sviluppo rapido ed efficiente. Tale scopo è stato raggiunto anche tramite la collaborazione tra Renesas ed emtrion, Platinum Alliance Partner per sistemi SuperH-based, che ha dato vita sia a sistemi di riferimento completi e moduli ottimizzati, sia a soluzioni software omnicomprensive per complesse applicazioni multimediali.