SOM contro progetto custom, ma è proprio vero che semplifica la vita?
07/10/2013 - RZ
Qualche giorno fa, partecipai a un seminario di aggiornamento promosso da un importante costruttore di microprocessori e microcontrollori
per il mercato embedded. Passeggiando tra i banchetti dei diversi partner affiliati, mi imbattei nello stand di un noto produttore
di moduli SOM (System on Module), che esponeva un grande cartello con lo scopo di invitare a utilizzare i loro moduli
per non cadere nella trappola della progettazione custom. Sic!
Un appello dalle sfumature leggermente terroristiche e forse creato ad arte sull’onda dell’attuale congiuntura economica; a mio avviso
non è così, e dunque vorrei fare un po’ di chiarezza sulla questione.
Il modulo SOM ha generalmente l’aspetto di una piccola scheda dotata di un solo connettore con un gran numero di contatti,
che è simile a quelli utilizzati per i moduli di memoria dei PC.
Nella maggioranza dei casi, la scheda contiene solamente il microprocessore (system on chip), il sistema di memoria,
la parte di alimentazione destinata ai soli componenti della scheda stessa e poco altro.
Per realizzare un sistema utilizzabile, il modulo deve essere inserito in un connettore compatibile, presente
su una scheda madre che comprenda tutta la circuiteria mancante. Servono l’alimentatore principale e tutti gli altri accessori,
i componenti che implementano le interfacce fisiche verso i connettori e i connettori stessi posizionati
secondo i principi di ergonomia del prodotto, eventuali FPGA o CPLD, interfacce audio e analogiche
per l’acquisizione dei parametri fisici dal mondo esterno e, ove necessario, eventuali interfacce di potenza.
In sostanza, manca un bel po' di roba.
Commento qui alcuni dei comuni motivi che i costruttori di moduli SOM invocano per consigliarne l’impiego.
-
- Il modulo è un sistema completo collaudato e corredato da software ottimizzato
-
Completo non lo può essere per definizione, sarebbe troppo specifico per una determinata applicazione
e perderebbe il vantaggio di essere usato universalmente; quindi comprende solamente i componenti più comuni
che costituiscono l'unità di elaborazione standard. Stesso discorso vale per il software a corredo,
tutte le periferiche che si aggiungeranno sulla scheda madre, e che non siano già contemplate dal produttore
dovranno essere gestite da driver software ad hoc.
-
- Il modulo è un prodotto standardizzato costruito nella stessa forma da molti produttori
-
Le specifiche di standardizzazione riguardano il connettore e le funzionalità minime del modulo,
poi i vari produttori tendono ad aggiungere funzionalità hardware e firmware proprietarie che di fatto
non li rendono prontamente intercambiabili.
Poi, la standardizzazione con specifiche divulgate e a disposizione di chicchessia, rende il sistema finale
molto più facile da copiare; invece, in un sistema progettato ad hoc, si possono introdurre particolarità
e sistemi di protezione difficili da decifrare.
-
- Il modulo semplifica il progetto riducendo il Time-To-Market e i relativi rischi e costi.
-
E’ vero che il progetto delle parti più veloci – in particolare dei BUS di memoria sincroni – è materia da specialisti,
e che questo problema viene superato perché sul modulo la connessione tra processore e memorie è già realizzata.
Però non si possono trascurare i percorsi di tutti gli altri segnali veloci (SATA, USB high speed, Gigabit Ethernet,
video high speed, PCIe, ecc.) che dal connettore del modulo si distribuiscono sulla scheda madre fino ai connettori relativi.
Sono segnali altrettanto veloci e critici - soprattutto se i percorsi sono lunghi - e perciò non possono essere veicolati
su di un qualsiasi PCB e in qualsiasi maniera: di fatto è comunque necessario l'intervento degli specialisti già menzionati.
-
- L'affidabilità del modulo è garantita dalle sue certificazioni
-
I problemi che potrebbero sorgere riguardano il connettore. Per quanto esso possa essere di ottima qualità,
una connessione è sempre meno affidabile di una pista di rame o di una saldatura.
Dal punto di vista meccanico una connessione con connettore è sensibile alle vibrazioni e agli shock
e dal punto di vista elettrico crea sempre disadattamenti di impedenza che provocano alterazioni ai segnali.
Per prodotti che devono lavorare in ambienti ostili, spesso si devono passivare le schede mediante immersione
in vernice protettiva, e sicuramente la presenza di una connessione non facilita la cosa.
Per esempio: a chi non è mai successo, di fronte a mancati avvii per errori di memoria, di dover aprire il proprio PC
per togliere e rimettere i moduli per ripulire dall’ossido i contatti?
Inoltre, usardo il SOM, si è costretti ad aggiungere un connettore alla lista materiali,
e il suo costo è di entità non indifferente.
Conclusioni
Un progetto custom dà vita a un prodotto pensato e progettato nella sua interezza, che quindi risulta omogeneo, più affidabile
e anche più compatto rispetto a una soluzione composita. Esso viene confezionato su misura adempiendo le esigenze
e le aspettative del cliente, consegnando il know-how di tutto l'insieme nelle sue mani.
Il nostro gruppo di lavoro è a disposizione per la realizzazione del vostro progetto e, in qualità di padri del progetto,
rimaniamo al vostro fianco, supportandovi durante la produzione e per gli sviluppi futuri.
La più grande critica che viene mossa alla progettazione custom è quella di avere un Time-to-Market lungo con alti costi di sviluppo:
una soluzione per ridurre sensibilmente questi problemi è quella di utilizzare una delle unità base di elaborazione che abbiamo già sviluppato,
per adattarla allo scopo aggiungendoci tutte le altre componenti necessarie a completare il lavoro.