Moduli smart per una mobilità intelligente

I nuovi processori Arm di fascia alta, sviluppati per smartphone e tablet di ultima generazione, hanno favorevolmente impressionato gli sviluppatori grazie alle loro elevate prestazioni e ai consumi estremamente ridotti. I produttori di sistemi, apparati e dispositivi industriali “rugged” disponibili sul lungo termine possono quindi implementare con questi processori soluzioni che in precedenza non erano in grado di sviluppare né con processori Arm di fascia inferiore né adottando architetture x86. Di conseguenza è stato possibile colmare un divario che si era venuto a creare nel mercato grazie a schede e moduli in grado di garantire le prestazioni di elaborazione e grafiche richieste caratterizzate da consumi ridotti di Watt. Grazie ai ristretti consumi di energia, è ora possibile realizzare sistemi compatti, robusti e privi di ventole. La rimozione del calore, molto spesso, è un problema che riguarda il collegamento con il contenitore. Generalmente un progetto Sff ottimizzato del tipo appena sopra descritto richiede un elevato grado di integrazione. Quindi è necessario adottare un approccio che consenta a produttori e progettisti meccanici di integrare questa nuova classe di processori nelle loro applicazioni riducendo il più possibile i costi di progetto.

Com, la soluzione ideale per progetti Sff
Per questi motivi, gli Oem richiedono blocchi base completi che consentano loro un alto grado di libertà in fase di progettazione, siano caratterizzati dalla compattezza tipica di un progetto custom e permettano di minimizzare rischi e tempi di sviluppo. I Computer-on-Module (sono la risposta ideale a queste richieste. Essi integrano includono i componenti chiave di un sistema di elaborazione - il processore, i relativi controlli, la memoria Nand e la memoria principale - all'interno di un componente Cots a elevato grado di integrazione e quindi compatto per definizione. Per realizzare la singola soluzione si fa ricorso a schede carrier sviluppate in funzione delle esigenze della specifica applicazione. Esse implementano le linee di segnale dal modulo alle interfacce del sistema e integrano i componenti richiesti dalla particolare applicazione considerata, come ad esempio sensori o controllori. Le schede carrier offrono un'ampia libertà di scelta in fase di progetto in termini di forma e dimensione: solo il footprint minimo è definito attraverso la dimensione del modulo. A causa del progetto e del layout estremamente sofisticato dei moduli Com, una carrier board può essere sviluppata in modo molto più semplice e rapido di una scheda completamente custom. Con questo approccio di tipo modulare, il produttore del modulo si assume l'onere della spesa dell'integrazione del processore. I Computer-on-Module rappresentano la scelta ideale per lo sviluppo efficiente dei singoli progetti. Diversi studi evidenziano che da qui al 2016 il mercato dei moduli Com basati su Arm aumenterà del 25% su base annua. Da queste cifre si evince l'importanza di disporre di questi blocchi base per Arm. In virtù dell'elevato tasso di crescita previsto, i moduli Com basati su Arm occupano una parte di poco inferiore al 60% del mercato totale dei moduli Com.

I vantaggi dell'indipendenza
In un ambiente caratterizzato da un'elevata dinamicità, la scelta della soluzione vincente è di fondamentale importanza per gli sviluppatori che saranno indirizzati verso soluzioni Com conformi a standard svincolati da uno specifico produttore. Queste ultime infatti garantiscono una maggiore affidabilità rispetto ai moduli proposti da uno specifico costruttore. Per garantire il successo sul lungo termine, questi standard dovrebbero anche essere supportati dal maggior numero possibile di produttori: non solo quelli di piccole-medie dimensioni, ma anche dai big del settore. Un solo standard per tutte le tecnologie non è in ogni caso la scelta migliore. Gli standard indipendenti dal costruttore devono essere sviluppati in maniera coerente e focalizzata. La presenza di un numero troppo elevato di opzioni non compatibili tra loro tende a indebolire l'efficacia dell'applicazione dello standard. Dove possibile, è meglio evitare casi particolari, soluzioni “ad interim” e funzioni ibride. A questo punto è utile chiedersi se esiste uno standard per Computer-on-Module focalizzato sui progetti basati su architetture Arm/SoC.
La risposta alla domanda è negativa. Fino a non molto tempo fa, non esisteva uno standard per Computer-on-Module adottato da un organismo indipendente che tenesse in considerazione i requisiti specifici dei processori Arm/SoC. Gli standard esistenti come Etx e Com Express, sicuramente i più significativi a livello mondiale per i moduli Com, sono stati ideati espressamente per le architetture x86 e non risultano quindi particolarmente idonei per i moduli processori Arm o SoC. La ragione è imputabile essenzialmente ai differenti requisiti in termini sia di alimentazione dei componenti sia di interfacce supportate. A questo punto non bisogna dimenticare il fatto che le architetture Arm/SoC prevedono altre interfacce rispetto a quelle tipiche delle piattaforme x86 per l'esecuzione di compiti simili. Le interfacce di tipo Mipi, ad esempio, permettono di connettere un display in maniera molto efficiente dal punto di vista energetico, mentre l'interfaccia Spi viene utilizzata in generale per la connessione di periferiche al contrario di quello che avviene nel mondo x86, dove questa interfaccia è impiegata solamente per il collegamento di un dispositivo di boot. I processori basati su Arm supportano inoltre altre interfacce specifiche come ad esempio I²S o - ancora più importante - varie porte per fotocamere non disponibili come corredo standard per le architetture x86. Tenendo in considerazione tutti questi aspetti, appare chiaro che tutti i concetti relativi ai moduli Com originariamente sviluppati per i processori x86 e i relativi I/O non risultano particolarmente adatti per i progetti basati su Arm. Un fattore di forma per un modulo Arm/SoC è quindi richiesto per i blocchi base che sfruttano architetture di questo tipo. L'insieme di caratteristiche dovrebbe essere in linea con le richieste di queste nuove generazioni di processori, mentre il footprint dovrebbe essere il più ridotto possibile per consentirne l'uso in applicazioni Sff. Gli sviluppatori quindi non devono cercare compromessi o tener conto degli aspetti della tecnologia x86 che non hanno attinenza con i progetti Arm/SoC. Kontron si è impegnata a definire le specifiche di un modulo in grado di soddisfare queste esigenze: esse sono state presentate a Sget (Standardization Group for Embedded Technologies) che le ha ufficialmente approvate.

Smarc: il nuovo standard Sget
Con la ratifica delle specifiche del fattore di forma Smarc è ora disponibile uno standard dedicato per i blocchi base che sfruttano architetture Arm. Smarc è l'acronimo di Smart Mobility ARChitecture. Questa architettura per Arm/SoC si distingue per il profilo estremamente piatto. La sua adozione in tempi brevi da parte di Sgetsottolinea da un lato la necessità, fortemente avvertita da parte degli utenti, di poter avere un fattore di forma standard indipendente da un particolare produttore e dall'altro la forte influenza di questo nuovo organismo. Grazie a questo nuovo standard gli utenti possono sfruttare tutti i vantaggi derivati dalla definizione di una roadmap affidabile e dalla disponibilità sul lungo termine che garantisce il riutilizzo dei loro investimenti. L'elevato tasso di riutilizzo permette agli Oem di abbassare i loro costi e assicurare l'introduzione di nuovi prodotti in tempi rapidi. Senza dimenticare la più volte citata indipendenza dal produttore. L'utente, in pratica, riesce a ottenere i medesimi vantaggi che hanno consentito a Com Express di affermarsi come lo standard di riferimento per il mondo x86. Vantaggi che derivano dalla disponibilità di uno standard esattamente studiato per soddisfare requisiti specifici. Esso mette a disposizione un ampio ecosistema formato da prodotti scalabili e da servizi che permettono di implementare nuove applicazioni Sff in modo semplice e affidabile, oltre a garantire un percorso di migrazione sicuro e affidabile. Nella specifica Smarc sono descritti computer-on-module a basso profilo basati su Arm/SoC a bassissimo consumo. Due sono le dimensioni dei moduli previste: una più piccola (“short”) per progetti estremamente compatti e a bassissimo consumo di dimensioni pari a 82 x 50 mm e una di dimensioni maggiori (82 x 80 mm) in grado di ospitare i futuri SoC di fascia alta che hanno requisiti differenti in termini sia di ingombri sia di raffreddamento. Come connettore è stato deciso di utilizzare il collaudato ed economico connettore MXM 3.0. Grazie a un'altezza di installazione pari a soli 4,3 mm, è possibile sviluppare progetti di dispositivi estremamente piatti - come ad esempio tablet e computer “indossabili” - caratterizzati da un'altezza di installazione complessiva inferiore al centimetro. Dal punto di vista elettrico, i moduli Smarc dispongono in totale di 314 pin. Lo standard Smarc in realtà mette a disposizione 281 linee di segnale di I/O, 50 in più rispetto a quelle ad esempio del connettore MXM 2.0. Di conseguenza, è possibile garantire l'interoperabilità di un numero maggiore di interfacce dedicate. Smarc è quindi in grado di supportare una gamma estremamente ampia di processori Arm e SoC dedicati.

Un'ampia gamma di prodotti già disponibile
Contemporaneamente alla ratifica di Smarc , sono state introdotte sul mercato le prime linee di prodotti conformi a tale standard. Gli Oem possono attingere direttamente a un'ampia gamma di Computer-on-Module e schede di valutazione. Attualmente sono disponibili famiglie di moduli Smarc equipaggiati con processori Arm Cortex A8 o Cortex A9. L'offerta spazia da moduli con processore Tegra 3 di Nvidia destinati ad applicazioni caratterizzate da un forte contenuto grafico a quelli basati sui processori della famiglia i.MX6 di Freescale contraddistinti da un elevato grado di scalabilità - si parte dai moduli a core singolo per arrivare a quelli quad core - fino ai moduli dotati si processore Sitara AM3874 di Texas Instruments caratterizzato da bassissimi consumi. La versatilità applicativa di questi moduli è evidente se si esaminano con attenzione l'insieme delle loro caratteristiche.

Per applicazioni a forte contenuto grafico - I moduli Smarc basati sul processore quad-core Tegra 3 di Nvidia operanti a 1,2 GHz e dotato di core Arm Cortex A9 sono destinati ad applicazioni caratterizzare da un forte contenuto grafico quali terminali Pos/Poi, infotainment, digital signage, sicurezza e monitoraggio, oltre a quelle tipiche dei mercati medicale e militare. La Gpu Nvidia-GeForce integrata rende questi moduli processore particolarmente interessanti. Dotati di core Arm, essi assicurano le più elevate prestazioni grafiche in applicazioni che prevedono due display indipendenti. Tra le caratteristiche di maggior rilievo si possono annoverare decodifica video HD, compresa Mpeg2, e codifica video HD. Due porte Csi-2 a doppio canale sono destinate all'utilizzo con fotocamere. Sebbene basati sulle stessa tecnologia di processore degli smartphone e dei tablet di fascia alta attualmente disponibili per il mercato consumer, essi garantiscono la disponibilità per sette anni, caratteristica del mercato consumer.

Per applicazioni scalabili a bassissimo consumo - Prestazioni grafiche di rilievo sono offerte anche con i moduli basati sul processore multicore i.MX6 di Freescale. Ma ancora più importante è la versatilità, imputabile all'elevato grado di scalabilità: si parte infatti dai moduli a core singolo per arrivare ai moduli quad core. Il core è un Arm Cortex A9 a 800 MHz. Questa scalabilità permette di realizzare un'intera linea di prodotti fortemente differenziati tra di loro semplicemente modificando il modulo utilizzato. Questi moduli consentono di sviluppare dispositivi smart che devono garantire un bilanciamento ottimale tra prestazioni grafiche e di elaborazione. A secondo del modello di SoC impiegato, essi integrano uno o due motori grafici indipendenti con un massimo di quattro shader (programmi che riproducono il comportamento fisico del materiale che compone l'oggetto cui sono applicati) 3D per una visualizzazione tridimensionale ottimale, oltre a funzioni di codifica/decodifica di segnali video che permettono di elaborare video ad alta definizione con risoluzione fino a 1080p a 60 Hz. La disponibilità dei moduli è garantita per almeno dieci anni, un periodo di tempo decisamente superiore rispetto a quello previsto per applicazioni di questo tipo. Inoltre possono funzionare nell'intervallo di temperatura esteso - da -40 a +85°C.

Per applicazioni sensibili a costi e consumi - Equipaggiati con il processore Sitara AM3874 di Texas Instruments dotato di core Arm Cortex A8, questi nuovi moduli sono destinati principalmente ad applicazioni per le quali il costo rappresenta un elemento critico. Caratterizzati da consumi estremamente ridotti e in grado di operare in un intervallo di temperatura esteso, sono in grado di resistere all'azione del tempo e del vento e rappresentano una soluzione ideale per installazioni all'aperto. I moduli Ti-Sitara supportano l'accelerazione grafica 3D e l'elaborazione di segnali video in alta definizione. È previsto il supporto di due display indipendenti attraverso porte parallele per Lcd a 18 / 24 bit o Lvds a canale singolo a 18 / 24 bit e Hdmi. È inoltre disponibile un'interfaccia per fotocamera parallela. Il corredo di interfacce è completato a due porte Spi, 4 I2S, 4 I2C multifunzione e 2 porte Can bus.

Schede carrier standard e progetti custom
Per tutti questi nuovi moduli Smarc sono anche disponibili schede carrier per la valutazione. Come richiesto nel caso delle soluzioni basate su Arm che prevedono interfacce dedicate, essi supportano diverse interfacce e memorie a stato solido. Ma una scheda di valutazione di questo tipo difficilmente potrebbe soddisfare i requisiti delle singole applicazioni Sff. Di norma, ogni applicazione richiede una specifica scheda carrier. Gli stessi Oem possono sviluppare il progetto di una scheda idonea. In alternativa, molti produttori offrono servizi di sviluppo di schede carrier application-specific: per esempio, partner selezionati di Kontron possono offrire un servizio di questo tipo. Nel caso siano previsti elevati volumi di produzione, il modulo con la scheda carrier viene integrato in un progetto full custom. Parecchi produttori di moduli o i loro Var sono in grado di assolvere tale compito. Il requisito indispensabile, tuttavia, è poter fare affidamento su un team di sviluppo che disponga di tutte le risorse necessarie per implementare le singole interfacce sia dal punto di vista hardware sia da quello software.

L'importanza del software
L'hardware basato su standard è solo uno dei blocchi base di una struttura complessa come quella di un'applicazione Sff a bassi consumi. A questo punto è necessario prendere in considerazione un secondo aspetto di fondamentale importanza, ovvero quello del supporto software. A causa della specificità del progetto dei processori Arm e dello stretto collegamento tra la componente hardware e quella software, gli sviluppatori dell'applicazione richiedono un supporto software dedicato. Non bisogna infatti dimenticare che questi processori sono caratterizzati da un'architettura di nuova concezione destinati all'utilizzo in nuove applicazioni. Le considerazioni da fare riguardano quindi la scelta del sistema operativo da utilizzare e la verifica del supporto della specifica configurazione hardware dell'utente.

Bps, un elemento sempre più importante
Anche se ciascun produttore può rispondere in prima persona solamente dei propri moduli, è necessario stabilire requisiti di natura più generale. In accordo con le esigenze delle applicazioni Sff, è preferibile utilizzare sistemi operativi leggeri che permettano di effettuare la compilazione utilizzando un footprint di memoria molto ridotto. Per questo motivo i sistemi operativi più interessanti sono Linux, Android basato su Linux e Windows Embedded Compact 7. I sistemi operativi VxWorks con Hypervisor integrato, QNX e Greenhills sono adatti nel caso di applicazioni di tipo hard real-time. Come facilmente prevedibile, anche le versioni di Windows successive appaiono come soluzioni interessanti. Un approccio come quello utilizzato per i sistemi operativi x86 non è trasferibile alle nuove architettura Arm-SoC. Il metodo impiegato nel mondo x86 prevede di far girare il sistema operativo e identificare i driver mancanti che vengono integrati in un secondo tempo. Nel caso della tecnologia Arm, invece, i pre-requisiti devono essere già creati nel boot loader attraverso l'integrazione e l'adattamento dei driver per supportare la piattaforma processore dedicata e le periferiche richieste. Ciò contribuisce a far aumentare l'importanza, ma anche i costi di implementazione, dei Bps (Board support package) rispetto ai progetti basati sulle architettura x86. Nel caso gli Oem volessero integrare componenti aggiuntivi attraverso schede carrier che non fanno parte della dotazione standard per questi processori, è necessario integrare i loro driver nel boot loader. Da quanto appena esposto, un Bps completo è indispensabile per i moduli basati su Arm. Un servizio particolarmente utile da parte del produttore hardware è rappresentato dal porting dei driver dei singoli componenti usati sulla scheda carrier. Per effettuare operazioni di questo tipo il produttore deve disporre di un dipartimento software, che sarà anche in grado di offrire un supporto diretto nell'adattamento del boot loader.

Boot loader invece del Bios
Mentre la tecnologia x86 ricorre al Bios, nel caso dei processori Arm il caricamento del firmware dei singoli componenti viene effettuato attraverso il boot loader. Se da un lato ciò contribuisce ad accelerare il processo di booting, dall'altro può rappresentare una sorta di “terreno minato” per molti Oem. Nel caso in cui alla scheda carrier vengono aggiunti componenti dedicati, questi devono essere nel boot loader. Così come accade nel caso del Bios, per il quale è necessario creare configurazioni specifiche in relazione alla particolare applicazione considerata, anche nel caso del boot loader si deve procedere nel medesimo modo. A questo punto bisogna domandarsi chi possa una collaborazione nel caso siano richieste competenze specifiche relativamente al boot loader. Dal punto di vista ideale, questi compiti dovrebbero essere espletati dal produttore del modulo che può vantare le conoscenze più approfondite del sistema.

Più servizi software da parte del produttore di hardware
I servizi software forniti dai produttori hardware stanno quindi acquisendo un'importanza sempre maggiore. Gli utenti devono però avere la garanzia che la divisione software del produttore di hardware sia in grado di implementare in maniera efficiente questi servizi. Molti costruttori, ad esempio, appaltano all'esterno questi servizi. Dal punto di vista degli utenti, invece, risulta molto più efficiente ottenere questi servizi da un singolo fornitore, ovvero direttamente dal produttore del modulo. Aziende come Kontron sono in grado di offrire un supporto software qualificato che copre tutte le varie esigenze direttamente in house. La società può infatti contare su oltre 1.000 ingegneri che si occupano di attività di sviluppo, oltre 2/3 dei quali sono dedicati allo sviluppo software.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome