Scarica l`allegato

Transcript

Scarica l`allegato
AO
automazioneoggi appunti
appunti
Sistemi embedded
modulari con PC/104
e PC/104 Plus
Costruire un sistema embedded con
i componenti della famiglia PC/104 non è molto
diverso dall’assemblare un PC con componenti
off-the-shelf. La differenza sta nel fattore di
forma e nella robustezza di grado industriale
MASSIMO G IUSSANI
n sistema dedicato è per sua
natura ritagliato su misura di
applicazione: è pertanto
impensabile cercare di
raccogliere
sotto
un’unica tipologia di architettura
hardware e software l’enorme
varietà di applicazioni cosiddette embedded. Si tratta
infatti di sistemi che spaziano dai più elementari
microcontrollori capaci di eseguire solo poche istruzioni, a complessi sistemi di elaborazione con interfacce di
ultima generazione e sistemi operativi in tempo reale.
Ogni progettista di sistemi embedded ha però dei vincoli
di progetto da rispettare che riguardano la robustezza del
sistema, il contenimento delle risorse e dei tempi di sviluppo e non ultimo il fattore costo. Il time-to-market è con
ogni probabilità uno dei vincoli di progetto con la priorità più elevata: protrarre eccessivamente i tempi di sviluppo e realizzazione può risultare nell’insuccesso di un prodotto per l’incapacità di rispettare le scadenze imposte dai
U
156
MARZO 2005 • AUTOMAZIONE OGGI 278
Sulle schede in formato
PC/104 si possono
trovare interfacce di
ultima generazione
che affiancano il
tradizionale bus ISA
delle prime
architetture PC
clienti, per la sopravvenuta
obsolescenza delle tecnologie
impiegate o semplicemente perché la
concorrenza è arrivata per prima sul
mercato. Una soluzione a questo tipo di
problemi consiste nell’appoggiarsi a piattaforme
conosciute, che riducano cioè la curva di apprendimento,
e su componenti modulari a basso costo. Gli standard
PC/104 e PC/104 Plus mettono a disposizione un’ampia
scelta di componenti già pronti (i cosiddetti Components
Off The Shelf, o COTS) basati su bus ISA e PCI e che
vanno dai computer su singola scheda (SBC) autosufficienti alle schede di periferica e di interfacciamento di
AO
appunti
automazioneoggi appunti
ultima generazione. Queste piattaforme si riallacciano al
mondo PC permettendo così di sfruttare sistemi operativi
e software sviluppati per i sistemi desktop, nonché di
attingere al serbatoio di tecnologie e conoscenze che
ruota intorno al mondo frenetico, ma dai costi sempre più
bassi, dei Personal Computer. Le architetture più diffuse
sui sistemi PC104 sono quelle dei processori Intel x86, a
partirte dai modelli Pentium avanzati nel caso di schede
dotate di bus PCI, per arrivare ai più economici sistemi
con processori 386 che permettono di svolgere i compiti
I componenti in formato PC/104 Plus aggiungono
alla coppia di connettori ISA da 104 terminali
complessivi, anche un connettore PCI da 3x40 punti
richiesti dalle principali applicazioni embedded tagliando
drasticamente costi e consumi. E’ comunque possibile
incontrare sistemi PC/104 e PC/104 Plus che incorporano
delle vere e proprie piattaforme integrate, capaci di liberare spazio su scheda per l’implementazione di funzioni
specifiche per l’applicazione finale. Si trovano così dei
veri e propri SBC, spesso dotati di un nucleo di elaborazione realizzato con complessi System On Chip (SoC), e
elettronica di contorno sviluppata su misura per gestire
l’interfacciamento con il mondo esterno.
I vantaggi di un mercato parallelo
Il motivo della predilezione nei confronti dell’architettura x86 va ricercato nella possibilità di attingere al vasto
serbatoio rappresentato dal mondo del personal computing. Le piattaforme PC possono infatti contare su un
costante aggiornamento dell’hardware tanto dal punto di
vista dell’unità centrale di elaborazione, quanto da quello
delle varie periferiche. Sul fronte software queste piattaforme possono contare su un’ampia scelta di sistemi operativi anche in tempo reale, su driver di periferica e programmi applicativi che possono essere trasposti con
modifiche modeste ai sistemi embedded nonché su stru-
AO
automazioneoggi appunti
appunti
menti di sviluppo integrati ottimizzati per minimizzare il
time-to-market. Gli standard PC/104, PC/104 Plus e PCI104 vanno a costituire uno degli approcci più riusciti di
trasposizione della piattaforma PC all’universo dei sistemi embedded, in particolare di quelli industriali. La diffusione di questi prodotti è motivata anche dal vantaggioso
rapporto costo/prestazioni, che si aggiunge alle doti di
robustezza e flessibilità. Non esiste
un’unica tipologia di
sistema
Le schede PC/104 possono
essere impilate assieme ricorrendo a
dei distanziatori da 15 mm e racchiuse in
appositi contenitori con grado di protezione
industriale e soluzioni di raffreddamento integrate
tori permette infatti di sfruttare schede di acquisizione e di
condizionamento dei segnali pensate per le normali applicazioni PC. Con l’aumentare del livello di integrazione,
non è infrequente trovare sulla scheda che opera da CPU
principale le principali interfacce di comunicazione seriale e parallela.
Si possono così stabilire comunicazioni seriali con
modem via RS-232 o con dispositivi di acquisizione tramite interfacce RS-422 e RS-485; ma non mancano i bus
paralleli per le comunicazioni con le periferiche di massa
(EIDE, SCSI e SATA) e i bus di più recente introduzione (USB, Firewire, FibreChannel).
Quello che non è presente può essere aggiunto sottoforma di modulo di espansione. Sono oltre 160 i
produttori di componenti PC/104
che operano a livello mondiale;
l’offerta copre virtualmente ogni
possibile campo di applicazione:
dall’acquisizione dati alla gestione
di sistemi distribuiti via bus di
campo, dai sistemi di controllo in
tempo reale, ai moduli per GPS. Il
limite alle scelte possibili va ricercato
solo nel compromesso ingegneristico tra
funzionalità, prestazioni e costo.
Per quanto concerne le soluzioni di
memorizzazione dei dati, va ricordato
www.pc104.org
Ulteriori informazioni sugli standard PC/104, PC/104 Plus
e PCI-104 possono essere reperite sul sito del PC104
Consortium (www.pc104.org), un consorzio di produttori di
componenti conformi a questo tipo di piattaforma. Sul sito
sarà inoltre possibile scaricare in formato pdf le specifiche
aggiornate degli standard.
Il sito del PC104 Consortium (www.pc104.org) è il
punto di riferimento da cui partire per ottenere
informazioni sui vari standard della famiglia PC/104
PC/104: può essere costituito da un’unica scheda, oppure
da più schede impilate (una CPU e una o più schede periferiche) per mezzo dei connettori passanti, o da un agglomerato di schede eterogenee, alcune delle quali magari
con connessioni ISA o PCI a pettine. L’impiego di adatta-
158
MARZO 2005 • AUTOMAZIONE OGGI 278
che in ambito industriale l’impiego di normali dischi fissi
potrebbe non essere possibile per via dell’incompatibilità
ad urti e vibrazioni. In un ambiente ostile come quello di
fabbrica è molto più probabile imbattersi in una qualche
forma di memoria allo stato solido, tipicamente Flash, che
viene usata tanto per memorizzare il sistema operativo e i
programmi applicativi, quanto per immagazzinare i dati
raccolti. Molte delle schede SBC sono equipaggiate con
dischi allo stato solido di tipo Flash dotati di interfaccia
IDE, così da rendere le operazioni di lettura e scrittura del
AO
appunti
automazioneoggi appunti
tutto identiche a quelle effettuate con un comune disco
fisso su un PC.
Mettere assieme i pezzi
Le schede sono connesse per mezzo dei connettori passanti ISA e/o PCI fissando dei distanziatori in alluminio
o nylon da 6 decimi di pollice (1,5 cm circa) ai quattro
angoli del PCB. Le piazzole sulla scheda possono essere
isolate o messe a terra, a seconda delle esigenze specifiche dell’applicazione.
Se una delle schede deve alloggiare componenti, come
alette di raffreddamento o ventole, di dimensioni superiori allo spazio intrascheda previsto dallo standard è necessario fare ricorso ad appositi adattatori che permettono di
raddoppiare la distanza tra schede contigue trasportando i
segnali dei connettori.
Il numero massimo di schede che possono essere impilate dipende dallo standard e dalla capacità della particolare scheda ‘madre’ di erogare corrente sufficiente ai moduli di espansione. Un sistema PC/104 può arrivare a contare fino a cinque o sei moduli, ma alcuni produttori hanno
dato dimostrazione di schede CPU in grado di pilotare
una decina di schede di espansione. Per i moduli PC/104
Plus, il numero massimo di moduli impilabili è solo di
quattro ma può anche essere inferiore se una parte dei dispositivi PCI è già integrata sulla scheda principale.
Sistemi multiprocessore possono essere realizzati, se
necessario, facendo dialogare due o più gruppi di schede
tramite interfaccia seriale e scheda di rete.
La terminazione dei contatti del bus, per mezzo di una
rete di resistivo-capacitiva riduce il deterioramento del
segnale e permette di sfruttare a fondo le possibilità di
espansione. I valori consigliati sono di 40 ohm per i resistori e di 30 pF per i condensatori.
Una volta che le schede di espansione sono state assegnate ai rispettivi interrupt e sono state connesse alla
CPU principale, è possibile fissare l’agglomerato di schede all’interno del sistema da controllare o gestire. Alcuni
produttori offrono appositi contenitori in grado di ospitare da tre a sei moduli al fine di facilitare l’operazione di
fissaggio o per fornire una ulteriore protezione all’elettronica contenuta. Altri offrono delle gabbie in alluminio
dotate di binari che possono tenere fino a 14 schede e
mantengono in ordine i vari cavi e connettori, lasciando
libero lo spazio necessario al raffreddamento del sistema.
Nulla vieta all’utilizzatore di realizzare dei contenitori su
misura, ad esempio adatti a particolari condizioni operative in cui il sistema si troverà durante il funzionamento.
I moduli PC/104 possono essere impiegati anche come
macrocomponenti da integrare su schede per applicazioni
specifiche, contribuendo così alla riduzione dei tempi di
sviluppo di un sistema realizzato su misura. La scheda
disporrà di funzionalità peculiari con hardware specifico
che verrà interfacciato ai moduli preconfezionati PC/104
attraverso il bus PCI od ISA. In maniera analoga è possibile attribuire ai moduli PC/104 la funzione di mezzanino
da inserire su schede afferenti ad un backplane, attivo o
AO
automazioneoggi appunti
passivo. E in effetti questo utilizzo è all’origine del concetto di MiniModule sviluppato da Ampro alla fine degli
anni ottanta che poi ha dato il via alla definizione dello
standard PC/104. Se durante la fase di sviluppo o collaudo è necessario smontare il sistema, è bene fare attenzione a non piegare i piedini dei connettori passanti durante
la separazione dei moduli; alcuni produttori mettono a
disposizione degli appositi attrezzi che semplificano e
velocizzano l’operazione di disassemblaggio.
Alimentazione e temperature
I moduli della famiglia 104 sono in genere molto parchi
dal punto di vista dei consumi. Le tensioni di alimentazione sono di +/- 12 V,+/- 5V e di +3,3 V; sebbene le correnti massime possano dare luogo a un caso pessimo di
assorbimento di ben 39 W, un valore tipico di potenza
richiesto da un modulo PC/104 si attesta piuttosto su
valori di uno, due o comunque pochi watt. Generalmente
l’assorbimento maggiore riguarda la linea dei +5V (da
diverse centinaia di mA a qualche A, a seconda del tipo di
applicazione), mentre le altre linee si accontentano di correnti di poche decine di mA.
Sono ovviamente possibili eccezioni, come nel caso dell’alimentazione a 12 V dei dischi fissi (che possono far
parte ad esempio di un sistema di monitoraggio, come
memoria di massa per il database storico), e in quanto tali
devono essere tenute in debito conto in fase di progetto.
L’alimentazione può essere effettuata con un alimentatore lineare o commutato realizzato su un modulo della
stessa famiglia connesso alla linea elettrica, o tramite un
convertitore c.c.-c.c. che tramuti l’energia erogata da batterie nelle tensioni regolate richieste dallo standard.
Quest’ultima soluzione si presta alla realizzazione di
strumenti di misura e collaudo portatili, ad esempio. La
soluzione di alimentazione connessa alla rete viene solitamente realizzata con moduli separati dall’insieme di
schede che realizza il sistema vero e proprio: un cavo
provvede a portare l’alimentazione regolata laddove
richiesto.
I moduli PC/104 standard sono in grado di funzionare nel
range di temperatura compreso tra 0 e 70 °C; quelli targati per temperature estese ampliano tale intervallo portando la temperatura minima a -40°C e quella massima a
+85°C. In queste condizioni, considerando il ridotto
assorbimento di potenza dei moduli, non c’è da stupirsi se
questi sistemi utilizzino la sola convezione naturale per il
loro raffreddamento.
Tuttavia, per evitare la formazione di punti caldi nei
sistemi che ospitano schede particolarmente dispendiose
dal punto di vista della potenza (ad esempio le CPU di
ultima generazione, ancorché nelle versioni a basso consumo), si possono aggiungere dei moduli che ospitano
ventole e sensori di temperatura così da forzare il raffreddamento per convenzione.
Nelle situazioni più critiche si può rendere necessario
mettere il sistema a diretto contatto con un radiatore che
porti il calore all’esterno.
I