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