Le schede elettroniche di tipo SoM (System on Module), a volte dette anche CoM (Computer on Module) o Sbc (Small Board Computer), identificano dei sottosistemi di elaborazione intelligenti che vengono progettati per essere inseriti in un supporto, o in una scheda base. Si tratta generalmente di moduli di piccole dimensioni che ospitano una Cpu e veri tipi di interfacce di I/O standard. La complessità legata alla progettazione di un sottosistema di elaborazione dotato di Cpu può essere evitato utilizzando le funzionalità offerte da un modulo SoM abbinato a una scheda base personalizzata. Che cosa contiene un modulo System on Module? Sicuramente un processore applicativo delle principale marche di semiconduttori, come Freescale, Texas Instruments, Atmel, Qualcomm, Altera, ma anche memorie, sia Flash che Ram, interfacce Wi-Fi/Bluetooth, un’interfaccia di rete fisica a velocità Gigabit, un codec audio, un chip per la gestione della potenza e un controller tattile. Se si osserva bene, lo schema a blocchi del modulo SoM è quindi molto simile (forse per il 70%) a quello di un telefono cellulare o di un tablet. Oggi questo tipo di domanda viene posta continuamente dalla maggior parte delle società di sviluppo poiché l'esigenza di velocità e l'esigenza di dispositivi IoT fanno parte di qualsiasi discussione. In quasi tutti i segmenti di mercato si vorrebbe aggiungere un telefono cellulare alle varie applicazioni e ci sono poche aziende al mondo che sanno come sviluppare un buon telefonino. Quindi, occorre che il progettista comprenda che non è necessario “reinventare la ruota”. Un paio di anni fa, era molto diffuso l'impiego di questa soluzione in progetti da realizzare su piccola scala - da 100 a 500 unità all'anno - ma da qualche tempo, considerati i prezzi molto bassi raggiunti dai processori basati su nuclei Arm (grazie al mercato dei telefonini e dei tablet che ha reso il nucleo così competitivo in termini di costi), i moduli SoM vengono utilizzati in progetti da 5.000 o anche 10.000 unità all'anno. Nell’esempio fornito nella Tab. 1, il calcolo riguarda un sistema a microprocessore, con una spesa iniziale corrispondente a due uomini-anno per lo sviluppo dell'hardware, del software e dei test di produzione, la realizzazione dei prototipi, il debug e la manutenzione del software per un ulteriore semestre. Il costo unitario al termine di questo periodo è di circa 40 dollari; lo si confronti con un SoM, in cui i costi di sviluppo e prototipazione non esistono, il debug e la manutenzione del software non costano nulla e il prezzo unitario è lo stesso. Qualsiasi preoccupazione che i progettisti hardware possano avere sul fatto di “non essere più necessari” è infondata, perché la loro attenzione deve essere concentrata sulla scheda applicativa, che costituisce la loro vera proprietà intellettuale. Non occorre che “reinventino la ruota” con la scheda madre quando invece possono utilizzare una piattaforma di lavoro basata sui più moderni processori di Texas Instruments, Altera, Freescale, Qualcomm e Atmel. Tutti questi processori sono basati sui più recenti nuclei Arm da Cortex A5 a Cortex A8 e A9 oltre che Cortex A7 e Cortex A57.
Status quo della tecnologia e approccio tradizionale
I SoM possono essere classificati in base ad alcuni specifici criteri in termini di architettura, formato fisico, tipo di nucleo Arm ed esempio di SoM, sistema operativo supportato.
- Architettura:
- Arm - La maggior parte dei nuclei di elaborazione in commercio utilizzati nel 90% dei telefoni cellulari e nell’ampia comunità di sviluppatori di sistemi embedded.
- X86 - Supportata principalmente da Intel con soluzioni popolari basate sulle serie Intel Atom e Core ix
- Formato e dimensioni
- Smarc (Smart mobility architecture) è una specifica pubblicata dallo Sget (Standardization group for embedded technologies) per Computer On Module. In generale, i moduli Smarc sono basati su processori Arm, ma possono anche essere realizzati con altre architetture SoC a bassa potenza come, ad esempio, quelle basate su SoC x86. Tipicamente, il requisito di potenza dei moduli Smarc è nella gamma di alcuni watt, che apre la strada a nuovi settori di mercato che ad oggi non potevano essere considerati per via della struttura dei processori, caratterizzati da un consumo energetico molto elevato. Sono disponibili due taglie: 82 x 50 mm e 82 x 80 mm.
- Q7 - Qseven è uno standard ben consolidato per realizzare moduli di elaborazione con tecnologia indipendente e dimensioni compatte, che comprende interfacce termiche e meccaniche standardizzate. Qseven è stato il primo standard a supportare tecnologie x86 e Arm in ambienti COM-compatibili. Le dimensioni sono di 70 mm × 70 mm e lo standard Qseven è stato adottato da SGeT.
- Proprietario - Il formato fisico proprietario è il più diffuso nel mercato dei SoM, poiché la maggior parte della clientela desidera una piattaforma specifica per un certo utilizzo. Può avere dimensioni molto piccole o un qualunque formato adatto all'uso previsto.
- Nucleo Arm
- Processore Cortex-A5 - Il Cortex-A5 è il processore applicativo Armv7 più piccolo, più economico e a più basso consumo e comprende una suite di proprietà intellettuali ottimizzate, mirate a soluzioni di fascia media, che producono i massimi livelli di efficienza e di facilità di integrazione. I comuni processori applicativi basati su Cortex A5 comprendono la serie Atmel SAMA5 utilizzata nel System On Module AT-501 di Shiratech. Il modulo AT-501 è un SoM embedded industriale che offre il miglior compromesso tra il Cortex-A oggi energeticamente più efficiente con una Cpu ad alte prestazioni operante a 536 MHz e un'unità in virgola mobile. La memoria è a 32 bit, lavora a 166 MHz e ha una capacità di 256 MB Ddr2, estendibile a 512 MB. Sono inoltre comprese una memoria Nand Flash di 256 MB estendibile a 1 GB e una eMmc opzionale da 4 GB.
- Processore Cortex-A8 - Il Cortex-A8 è stato immesso sul mercato nel 2005 come primo processore in grado di supportare l'architettura Armv7-A. Il Mali-400 offre un processore grafico di fascia media per il Cortex-A8. Il processore applicativo più popolare, basato su CortexA8, è la serie Sitara AM33xx di Texas Instruments e un esempio di System On Module basato su questa soluzione è il modulo VAR-SOM-AM33 di Variscite. Supportando il processore Arm Cortex-A8 Sitara AM335x da 1 GHz di TI con un potente acceleratore grafico in 2D/3D, il modulo VAR-SOM-AM33 offre la possibilità di scegliere tra una completa gamma di applicazioni a basso costo, potenti e versatili. Le sue caratteristiche comprendono un intervallo di temperature di funzionamento da -40 a 85 °C e un doppio Can bus, che lo rendono la soluzione ideale per applicazioni industriali come gli autoveicoli, i sistemi di controllo, i sistemi di illuminazione, i motori elettrici e l'agricoltura. Con una doppia porta Ethernet, una porta Usb, un controller tattile, funzioni audio e Wi-Fi/BT, il VAR-SOM-AM33 è un SoM altamente integrato a prezzi molto interessanti.
- Processore Cortex-A9 - Il processore Arm Cortex-A9 è un dispositivo ormai maturo messo in commercio nel 2008, che resta una scelta molto diffusa per le applicazioni in ambito Internet of Things. Come soluzione a processore singolo, il processore Cortex-A9 offre un miglioramento generale delle prestazioni ben superiore al 50% rispetto alle soluzioni basate sul processore Arm Cortex-A8. Le serie più popolari basate su Cortex A9 sono la Freescale i.MX6 , la nuova Sitara AM4xxx di TI e i SoC di Altera. Seco offre un modulo Q7 denominato QuadMo747-X/i.MX6, un'architettura scalabile, Arm Cortex-A9 multi-core in una soluzione modulare standard in formato Qseven che combina elevate prestazioni grafiche con funzioni di elaborazione energeticamente efficienti. I formati grafici OpenGL e OpenES 2.0 3D e il supporto fino a 3 display indipendenti (solo fino a 2 display con i.MX6DL e i.MX6S) costituiscono una soluzione versatile che permette di realizzare piattaforme multi-display e applicazioni mobili senza ventole.
- Processore Cortex-A7 - Il processore Arm Cortex-A7 è il processore multi-core energeticamente più efficiente. Il nuovo nucleo Arm Cortex-A7 è utilizzato nella serie Freescale Layerscape LS1. Il primo modulo SoM al mondo basato su questa soluzione proviene dalla tedesca Systec Electronic, che produce l'ECUcore-1021. Il modulo ECUcore-1021 è un SoM compatto ed economico basato sul microcontrollore Freescale QorIQ LS1021A. È stato progettato in particolare per applicazioni industriali di rete. Con la sua elevata densità di interfacce di comunicazione disponibili e i due nuclei Arm Cortex-A7 da 1 GHz, il modulo offre prestazioni eccezionali con una bassa dissipazione energetica.
- Sistema operativo
I System On Module richiedono dei Board Support Package per collegare l'hardware con il sistema operativo con cui il progettista desidera sviluppare le proprie applicazioni. I sistemi operativi principali sono Linux, Android e Windows Embedded. - Il progetto Yocto è un progetto di collaborazione open-source che offre modelli, strumenti e metodi per aiutare i progettisti a creare sistemi personalizzati basati su Linux per prodotti embedded, a prescindere dall'architettura hardware.
- Ubuntu è invece un sistema operativo basato su Linux sviluppato dalla comunità, è una distribuzione Linux open-source basata su Debian.
- Linaro è l’associazione ingegneristica senza scopo di lucro che consolida e ottimizza il software open-source per applicazioni Arm.
- Android per sistemi embedded è un set di modifiche al progetto Android Open Source Project e al kernel Linux su cui esso gira.
- Windows Embedded è una famiglia di sistemi operativi di Microsoft progettati per essere utilizzati in sistemi embedded.
Un approccio innovativo
Nel 2013 Arrow ha avviato un progetto negli Stati Uniti che ha poi attivato nella regione Emea nel 2014, per concentrarsi sul mercato del System On Module e identificare i migliori fornitori con una chiara differenziazione e capacità di supportare diverse applicazioni e aree geografiche. Il progetto si concentra sui fornitori e sul mercato, in base a quanto segue:
- Soluzione basata sui principali fornitori selezionati da Texas Instruments, Atmel, Freescale, Altera e Qualcomm;
- Focus sul mercato per basso costo (SoM da 29 euro basati su Cortex-A5 di Atmel e da 32 dollari con TI AM335x e soluzioni da 40 dollari basate su Freescale i.MX6 e sulla serie Sitara AM49xx di TI), fascia alta (SoM basati su Freescale Layerscape LS1 con dual core A7 e soluzione Altera SoC con Fpga più dual core CortexA9); comunità (BeagleBoard e BeagleBone, HummingBoard, Udoo, 96Boards); M2M / IoT (soluzione SoM cloud di Digi basata su Freescale i.MX6); formati fisici standard( Smarc di Shiratech basato su Altera SoC e Q7 di Seco basato su i.MX6 di Freescale e anche di Inforce Computing basato su Qualcomm Snapdragon 600).