Elaborazione embedded con le architetture Arm

Congatec apertura

Il dilemma se acquistare un prodotto o svilupparlo in proprio è sempre attuale. Il quesito, in realtà, si presenta molto più frequentemente nel mondo delle architetture Arm che non in quello delle architetture x86. Queste ultime possono contare su un insieme di caratteristiche abbastanza omogenee e sul supporto di un buon numero di fattori di forma standardizzati. Attualmente sono disponibili moduli di elaborazioni in formato μQseven, di dimensioni inferiori a quelli di una carta di credito equipaggiati con i processori i.MX 6 di Nxp basati sul core Arm Cortex A9. Ma gli sviluppatori necessitano realmente di un fattore di forma standardizzato per i processori Arm? Nel settore dell'elaborazione embedded i Pc in architettura x86 hanno dominato la scena per parecchi decenni. Generazione dopo generazione, i processori garantivano prestazioni sempre migliori grazie al costante aumento della velocità. Ma arrivati a un certo punto, a causa dei sempre maggiori consumi di energia, non è stato più possibile utilizzare nelle applicazioni embedded i processori di più recente introduzione destinati al mondo desktop. Il settore industriale ha quindi iniziato a far ricorso ai processori “mobile” che equipaggiavano i computer notebook. I successivi sviluppi hanno interessato, com'è noto, i settori dei tablet e degli smartphone. I processori richiesti per queste nuove applicazioni consumer si differenziano dai quelli dei tradizionali Pc in architettura x86 sotto numerosi aspetti. Innanzitutto, a causa del tipo di applicazione, essi un consumo energetico nettamente inferiore. Di conseguenza, non forniscono un gran numero di opzioni di espansione. Al contrario, essi sono caratterizzati dalla presenza di un insieme di funzionalità più specifiche, come ad esempio interfacce per telecamere supportate direttamente dal processore.


 

Un insieme di caratteristiche ad hoc

Attualmente entrambe le architetture di processore mettono a disposizione insiemi di caratteristiche specifiche. Grazie alla crescente diffusione delle applicazioni Internet of Things e alle aspettative ad esse collegate, come ad esempio la possibilità di controllare un apparecchio televisivo mediante uno smartphone, anche gli Oem desiderano equipaggiare dispositivi, apparecchiature e impianti con soluzioni di connettività IoT intelligenti che ne consentano il controllo, se necessario, in qualsiasi parte del mondo. A differenza delle applicazioni consumer, per le quali sono previsti elevati volumi di produzione, per le tipologie di applicazioni come quelle appena sopra delineate i volumi sono senza dubbio più ridotti. Il processore i.MX 6 di Nxp, che si distingue per la disponibilità per un periodo minimo di 10 anni, i consumi di potenza di soli 3,5 W e le eccellenti prestazioni di elaborazione e multimediali, è ampiamente utilizzato in controllori industriali compatti, sistemi Pos e bilance per supermercati. Per applicazioni di questo tipo, i volumi sono decisamente inferiori rispetto a quelli di smartphone e tablet. Le medesime considerazioni possono essere fatte per i sistemi di cartellonistica digitale utilizzate per i veicoli o i parcheggi o per altre tipologie di biglietterie automatiche che possono sfruttare i vantaggi derivati dall'ampio intervallo di temperatura operativa, compreso tra -40 e +85°C.

 

Lotti di produzione ridotti

Anche se i benefici in termini di economie di scala sono ridotti, i vantaggi più importanti derivano dall'utilizzo di soluzioni in grado di ridurre i costi di sviluppo. Per questo motivo c'è sempre stata, specialmente nel mondo Arm, una grande varietà di componenti e moduli di valutazione pre-progettati che consentono agli sviluppatori di verificare in modo esaustivo le più recenti tecnologie di processore e integrarle nei loro progetti custom. In ogni caso un fattore di forma standardizzato, a differenza di quello che è avvenuto nel mondo delle architettura x86 che prevede numerosi formati standardizzati, non è mai stato proposto. Ciò non ha mai costituito un reale problema in quanto finora un processore Arm della prossima generazione proposto da uno o più produttori non disponeva di un insieme di funzionalità generiche confrontabili che si differenziasse semplicemente in termini di prestazioni. Le nuove applicazioni di riferimento risultavano troppo eterogenee, il che si traduceva in una notevole diversità in termini di I/O. Da ciò si può facilmente dedurre che le ragioni per le quali nel mondo Arm non si è affermato alcuno standard sono da ricercarsi nell'architettura stessa del processore, nei differenti requisiti di licenza dei produttori e nella diversità delle applicazioni. Ora lo scenario è radicalmente mutato grazie al crescente utilizzo dell'architettura Arm in smartphone, tablet e altre applicazioni embedded che hanno caratteristiche del tutto analoghe a quelle tipiche delle applicazioni che utilizzano l'architettura x86, come ad esempio la presenza di interfacce Hdmi, Usb o PCIe. Questo insieme di interfacce comuni, oltre alla similarità delle applicazioni, sono gli elementi chiave alla base dello sviluppo di nuovi standard per i processori in architettura Arm e x86 destinati a tablet e smartphone.

 

Economie di scala grazie agli standard

Le specifiche Qseven (70 x 70 mm) per i Computer-on-Module elaborate da Sget (Standardization group for embedded technologies) hanno preso spunto da questa tendenza e per un certo periodo di tempo sono stati proposti moduli basati su Arm conformi a questo formato. Un esempio è il modulo conga-QMX6 (Fig. 1) basato sul processore i.MX6 di Nxp in grado di supportare fino a 3 display attraverso 2 interfacce Lvds e 1 interfaccia Hdmi 1.4. Ciò è stato possibile grazie alla suddivisione di Lvds in 2 canali per display indipendenti da 24 bit ciascuno. Per alcuni progetti le dimensioni previste dal formato QSeven (70 x 70 mm) erano eccessive. Per questo motivo è stato introdotto il formato μQseven, le cui specifiche sono state standardizzate da Sget. Le dimensioni di questo nuovo formato, pari a 40 x 70 mm, sono inferiori a quelle di una comune carta di credito e risultano pertanto adatte alla realizzazione di dispositivi palmari di ridotte dimensioni, come ad esempio gli smartphone per uso industriale. Di fatto, qualsiasi progetto embedded può essere implementato utilizzando uno di questi due moduli standard.

 

Standardizzazione come indipendenza

In considerazione del fatto che il risultato finale di un progetto è un prodotto specifico sviluppato da un Oem, è opportuno porsi alcune domande. Perché la standardizzazione riveste un'importanza così rilevante? Perché non ricorrere a schede e moduli Odm proprietari già sviluppati? Come sempre, è necessaria considerare costi e riduzione dei tempi di sviluppo, senza dimenticare il vantaggio legato all’indipendenza da un particolare produttore. Il primo modulo μQseven con processore i.MX 6 di Nxp, per esempio, fin dalla sua introduzione era disponibile anche presso una seconda sorgente. Attualmente sono almeno una dozzina i produttori che forniscono moduli nei formati Qseven e μQseven equipaggiati con il processore Nxp i.MX 6. Di conseguenza la competitività sui prezzi è certamente assicurata. Oltre a ciò, è disponibile un vero e proprio ecosistema composto da schede carrier per lo sviluppo di progetti custom, kit di valutazione, guide alla progettazione e corsi di formazione per la progettazione di schede carrier. La community di sviluppatori che è andata formandosi intorno a questo ecosistema ha facilitato lo scambio di informazioni tra i vari membri e consentito il riutilizzo di modelli per il progetto di schede carrier, una volta accertata l’assenza di problemi legati a una concorrenza diretta. Un approccio di questo tipo risulta notevolmente più “aperto” rispetto a quello che prevede l’uso di soluzioni basati su moduli o schede proprietarie fornite dai singoli produttori.

 

Standard come longevità

Un altro aspetto da tenere in considerazione è la disponibilità dei moduli per svariati anni, in modo da consentire agli Oem di effettuare la sostituzione di un modulo con funzionalità identiche nel caso cessi la produzione del processore originale. Nel caso dell’architettura x86 i moduli ETX sono un ottimo esempio dei vantaggi legati a questa disponibilità sul lungo termine. Essi sono ancora disponibili in versioni che supportano bus come Isa e Pci anche se questi non vengono più utilizzati nel mondo Pc da oltre un decennio. Gli utenti possono quindi essere relativamente sicuri che tra i vari membri che concorrono a formare l’ecosistema vi sarà qualche fornitore in grado di gestire queste tecnologie sul lungo termine una volta che queste hanno completato il proprio “hype cycle” (ovvero il ciclo di vita dal concepimento alla maturità alla diffusione) e supportare le applicazioni legacy negli anni, se non addirittura nei decenni, a venire. Di conseguenza i clienti Oem potranno proporre le loro applicazioni originali per diversi decenni, con riflessi positivi sul ritorno degli investimenti. Quello appena delineato è uno scenario molto comune per un gran numero di applicazioni in ambito industriale. Si tratta, in ultima analisi, di un valore aggiunto che nessun design basato su Arm di tipo proprietario è in grado di offrire. Come fin qui evidenziato, sussistono numerose valide ragioni per utilizzare fattori di forma standard per architteture Arm come appunto Qseven e μQseven nelle applicazioni embedded.

 

Un miglior servizio dai promotori dello standard

Una volta che un utilizzatore ha deciso di sfruttare un approccio basato sulla standardizzazione e sull’impiego di moduli, il passo successivo è la scelta del fornitore. Oltre all’ampiezza della gamma di moduli disponibili, altri fattori da prendere in considerazione sono la posizione che l’azienda fornitrice occupa sul mercato, la focalizzazione sui prodotti a livello di scheda e i servizi di progettazione e produzione che è in grado di offrire. Un altro aspetto da non sottovalutare è rappresentato dai contatti su base giornaliera durante la fase di design-in, che devono svolgersi senza impedimenti di sorta e in modo efficiente. Le società in grado di fornire una documentazione esaustiva unitamente all’implementazione dei driver standard, oltre a un supporto personalizzato in fase di integrazione nel caso fosse necessario possono sicuramente offrire un vantaggio competitivo. Esse consentono agli Oem di integrare le nuove tecnologie di processore all’interno delle loro applicazioni in modo più rapido ed efficiente.

 

Uno sguardo alle specifiche

Gli standard Qseven e μQseven supportano le più recenti interfacce di I/O seriale come ad esempio PCIe, Gigabit Ethernet, Usb, Sata, Sdio oltre al bus Can. Oltre a ciò, essi prevedono il supporto di I/O per piattaforme specifiche, come ad esempio il bus Lpc per le architetture x86. In linea con le tendenze più attuali nel segmento delle interfacce grafiche, Qseven è in grado di gestire un massimo di 3 display indipendenti con risoluzione fino a 4k (3840 x 2160 pixel) attraverso porte Hdmi V1.4 e Lvds a 24 bit a doppio canale. La dissipazione di potenza massima prevista da Qseven è pari a 15 W, anche se le attuali piattaforme Arm, come ad esempio quelle equipaggiate con il processore i.MX 6 di Nxp, non raggiungono questo valore che, è utile segnalare, rappresenta il limite superiore per i progetti che non prevedono l’uso di ventole. Anche se una soglia di questo tipo da un lato limita la scelta degli utilizzatori, dall’altro contribuisce ad aumentare la sicurezza in quanto le specifiche relative all’interfaccia termica contribuiscono a semplificare l’intercambiabilità. Con una standardizzazione adeguata, i moduli e i sistemi di raffreddamento possono essere utilizzati per differenti tecnologie di Cpu. Ciò consente lo sviluppo di nuove linee di prodotto nel settore dei dissipatori di calore, con conseguente riduzione dei costi. Sicuramente tutti coloro che hanno operato in aziende di grandi dimensioni e si sono trovati ad affrontare le problematiche legate all’apporto di modifiche in progetti di prodotti meccanici (come i dissipatori di calore) saranno in grado di apprezzare questo aspetto.

 

Evoluzioni future

L’evoluzione della tecnologia dei sistemi di elaborazione procede a grandi passi. Le dimensioni dei processori continuano a ridursi (come previsto dalla legge di Moore che continua a mantenere la sua validità), con conseguente aumento della potenza di elaborazione a fronte di una costante riduzione dei consumi. Anche nel settore delle interfacce vi sono stati importanti cambiamenti. Negli ultimi anni i bus dati di tipo parallelo sono praticamente scomparsi, sostituiti da interfacce seriali differenziali più veloci. Qseven non prevede alcun tipo di interfaccia parallela, anche nella versione originale delle specifiche. Di conseguenza, per queste ultime finora sono state necessarie pochissime modifiche. Attualmente le modifiche che si stanno apportando sono di lieve entità e si pongono l’obbiettivo di consentire allo standard Qseven di supportare future evoluzioni. Ad esempio il gruppo Sget che si occupa di questo standard sta lavorando alla sostituzione del bus Lpc con Espi. Il bus Lpc, un discendente dell’ormai vetusto bus Isa, non sarà più a lungo supportato dai processori in architettura x86 o dai relativi chipset. Espi (spesso indicato Qspi o QuadSpi) è il successore di Lpce, a differenza di quest’ultimo, è supportato da un’ampia gamma di processori basati su Arm. Ciò garantirà una continuità ancora maggiore tra le architetture Arm e x86 per Qseven negli anni a venire. In futuro le specifiche Qseven sfrutteranno la tendenza in atto che prevede una sempre più marcata riduzione dei consumi di potenza. Per l'alimentatore sarà necessario un numero inferiore di pin e lo spazio lasciato libero dai pin è già stato riservato per le nuove future interfacce. La release 3.0 di Qseven prevede un'ulteriore porta Usb 3.0 mentre i refusi per Usb Otg, il pinout e la posizione per le interfacce per telecamera Mipi Csi, che sono pubblicati attualmente sotto forma di documenti autonomi, saranno integrati nel documento principale. Qseven 3.0 è già predisposto per supportare in maniera adeguata le future evoluzioni. Esso prevede 4 canali Pci Express x1, 5 porte Usb 2.0 e 3 Usb 3.0, oltre a interfacce Spi, Espi, I2C e Gpio/Sdio per espansioni intrinseche e generiche. Per la connessione dei sistemi di memorizzazione sono disponibili 2 porte Sata. Le interfacce DP/Hdm, eDP/Lvds (2 a 24 bit) garantiscono il supporto di numerosi display indipendenti ad alta definizione, mentre sono disponibili anche interfacce Ethernet per la connettività in rete (per applicazioni IoT), 2 porte Mipi-Csi per il collegamento di telecamere a basso costo e interfacce Hda/I2S per la parte audio. In definitiva, un modulo Qseven basato su Arm si propone senza dubbio come una soluzione migliore rispetto a un'alternativa di tipo proprietario.

 

Un modulo più piccolo di una carta di credito

I nuovi moduli conga-UMX6 in formato µQseven di congatec sono equipaggiati con i SoC i.MX 6 di Nxp basati sul core Cortex A9 di Arm. Questi moduli, per i quali è garantita la disponibilità per un periodo minimo di 10 anni, sono offerti in versioni a core singolo o doppio con frequenze a partire da 1 GHz e possono ospitare fino a 1 Gbyte di memoria. Grazie al supporto degli standard OpenGL 1.1/2.0/3.0 e OpenVG 1.1, l'unità grafica ad alte prestazioni integrata può gestire complesse applicazioni grafiche bi e tri-dimensionali con risoluzioni fino alla Wuxga (1920 x 1200 pixel). Grazie all'elaborazione video accelerata via hardware, i nuovi moduli sono in grado di decodificare video con risoluzione di 1080p a 60 Hz in tempo reale e codificare fino a due video con risoluzione di 720p. È possibile collegare 2 display indipendenti attraverso 2 interfacce Lvds (o in alternativa mediante 1 porta Lvds e 1 porta Hdmi 1.4). Per la memorizzazione dei dati e delle applicazioni sono disponibili 1 porta Sata e un Ssd da 32 GB (opzionale). Per il collegamento degli I/O specifici di una determinata applicazione, i nuovi moduli in formato µQseven di congatec mettono a disposizione 1 porta Pci Express 2.0, 5 Usb 2.0, 1 Gbit Ethernet e 1 interfaccia per bus Can per la scheda carrier. Il bus I2S assicura la trasmissione di segnali audio di elevate qualità privi di fenomeni di jitter. Il controllore per la gestione della scheda integrato nel modulo prevede un watchdog timer e il controllo delle perdite di potenza, oltre a supportare funzionalità di monitoraggio, gestione e manutenzione utili per installazione IoT distribuite. Sono altresì disponibili Bsp (Board support package) per Android e tutte le più diffuse distribuzioni di Linux, oltre che per Windows Embedded Compact 7. Tutti i Bsp sono già stati rilasciati e disponibili per il download sul server Git di congatec. È già possibile ordinare sia i nuovi moduli conga-UMX6 sia una vasta gamma di accessori messa a punto da congatec per semplificare la fase di integrazione, come ad esempio dissipatori di calore, schede carrier e starter kit, come pure schede ADD2 e moduli Smart per la gestione della batteria.

Pubblica i tuoi commenti