PC / 104 - PC/104

PC / 104 (o PC104 ) è una famiglia di informatici integrati norme che definiscono due fattori di forma e bus di computer dal Consorzio PC / 104 . Il suo nome deriva dai 104 pin sul connettore interboard ( ISA ) nella specifica PC / 104 originale ed è stato mantenuto nelle revisioni successive, nonostante le modifiche ai connettori. PC / 104 è destinato ad ambienti specializzati in cui è richiesto un sistema informatico piccolo e robusto. Lo standard è modulare e consente ai consumatori di impilare insieme schede di diversi produttori COTS per produrre un sistema integrato personalizzato.

Il fattore di forma PC / 104 originale è leggermente più piccolo di una scheda madre per PC desktop a 3.550 × 3.775 pollici (90 × 96 mm). A differenza di altri fattori di forma di computer popolari come ATX , che si basano su una scheda madre o un backplane , le schede PC / 104 sono impilate l'una sull'altra come blocchi di costruzione. La specifica PC / 104 definisce quattro fori di montaggio agli angoli di ciascun modulo, che consentono di fissare le schede l'una all'altra utilizzando dei distanziatori . I connettori bus impilabili e l'uso di distanziatori forniscono un montaggio più robusto rispetto alle schede slot presenti nei PC desktop. Le dimensioni compatte della scheda contribuiscono ulteriormente alla robustezza del fattore di forma riducendo la possibilità di flessione del PCB sotto urti e vibrazioni.

Un tipico sistema PC / 104 (comunemente denominato "stack") includerà una scheda CPU , una scheda di alimentazione e una o più schede periferiche, come un modulo di acquisizione dati , un ricevitore GPS o un controller LAN wireless . Una vasta gamma di schede periferiche è disponibile da vari fornitori. Gli utenti possono progettare uno stack che incorpori schede di più fornitori. L'altezza, il peso e il consumo energetico complessivi dello stack possono variare a seconda del numero di schede utilizzate.

PC / 104 viene talvolta definito "PC impilabile", poiché la maggior parte dell'architettura deriva dal PC desktop. La maggior parte delle schede CPU PC / 104 sono compatibili con x86 e includono interfacce PC standard come porte seriali , USB , Ethernet e VGA . Un sistema x86 PC / 104 è solitamente in grado di supportare un sistema operativo PC standard come DOS, Windows o Linux. Tuttavia, è anche abbastanza comune utilizzare un sistema operativo in tempo reale , come VxWorks .

Storia e standardizzazione

Il bus PC / 104 e il fattore di forma sono stati originariamente ideati da Ampro nel 1987 (guidato dal CTO Rick Lehrbaum) e successivamente standardizzati dal Consorzio PC / 104 nel 1992. Uno standard IEEE corrispondente a PC / 104 è stato redatto come IEEE P996.1 , ma mai ratificato. Nel 1997, il Consorzio PC / 104 ha introdotto un nuovo standard basato sul bus PCI . Uno standard basato su PCI Express è stato introdotto nel 2008.

Le specifiche relative a PC / 104 sono controllate dal Consorzio PC / 104. Attualmente i membri del Consorzio sono 47. Tutte le specifiche pubblicate dal Consorzio sono liberamente disponibili. L'appartenenza al Consorzio non è richiesta per progettare e produrre una scheda PC / 104.

Specifica Versione iniziale Comunicazione bus Versione corrente
PC / 104 1992 ISA (AT e XT) 2.6
PC / 104- Plus 1997 ISA e PCI
PCI-104 2003 PCI 1.1
PCI / 104-Express e PCIe / 104 2008 PCI e PCI Express 3.0

Struttura del bus rispetto al fattore di forma

Le specifiche rilasciate dal Consorzio PC / 104 definiscono multipli di Bus Structures (ISA, PCI, PCI Express) e Form Factors (104, EBX, EPIC). La struttura del bus definisce la posizione e la piedinatura dei connettori del bus. Il fattore di forma si riferisce alla dimensione e alla forma della tavola. È possibile trovare uno dei bus di espansione impilabili PC / 104 su diversi fattori di forma. Sebbene la maggior parte dei prodotti disponibili in commercio che utilizzano le strutture bus siano conformi ai fattori di forma elencati di seguito, è possibile che un fattore di forma non standard o proprietario incorpori una delle strutture bus PC / 104 per l'espandibilità.

Si noti che il termine "PC / 104" viene spesso utilizzato in modo intercambiabile per fare riferimento alla struttura del bus o al fattore di forma. Questo può essere fonte di confusione. Ad esempio, una scheda tecnica del prodotto può fare riferimento a una scheda come "PC / 104" a causa delle sue dimensioni e forma quando in realtà ha un bus di espansione PCI-104.

Strutture bus

Le specifiche del PC / 104 Consortium definiscono una varietà di bus di computer, che derivano tutti dai bus ISA, PCI e PCI Express presenti in un PC desktop.

PC / 104

Il bus PC / 104 originale deriva dal bus ISA . Include tutti i segnali trovati sul bus ISA, con ulteriori pin di messa a terra aggiunti per garantire l'integrità del bus. La temporizzazione del segnale e i livelli di tensione sono identici al bus ISA, con requisiti di corrente inferiori . La specifica PC / 104 definisce due versioni del bus, 8 bit o 16 bit. La versione a 8 bit corrisponde all'IBM XT e consiste di 64 pin. La versione a 16 bit corrisponde all'IBM AT e aggiunge 40 pin aggiuntivi, portando il totale a 104 (da cui il nome "PC / 104").

I pinout per il connettore PC / 104 possono essere ottenuti qui . I segnali contrassegnati J1 / P1 si trovano solo sulla versione a 8 bit, mentre la versione a 16 bit aggiunge i segnali di J2 / P2.

Poiché PC / 104 si basa sul bus ISA, è spesso necessario impostare l' indirizzo di base , l' IRQ e il canale DMA quando si installa una scheda periferica. Questo di solito si ottiene tramite l'uso di ponticelli o DIP switch sulla scheda periferica. L'impossibilità di configurare correttamente la periferica può causare un conflitto di risorse e portare a un comportamento irregolare.

PC / 104- Plus

Lo standard PC / 104 Plus aggiunge il supporto per il bus PCI , oltre al bus ISA dello standard PC / 104. Il nome deriva dalla sua origine: un modulo PC / 104- Plus ha un connettore PC / 104 (ISA) più un connettore PCI. Lo standard definisce un connettore a 120 pin per il bus PCI, situato sul lato opposto della scheda rispetto al connettore PC / 104.

Il pinout per il connettore PCI può essere ottenuto qui .

Le schede CPU PC / 104- Plus forniscono una comunicazione attiva su entrambi i bus e sono in grado di comunicare con le schede periferiche ISA e PCI. Sui moduli periferici PC / 104- Plus , il connettore PC / 104 è semplicemente un connettore passivo per l'impilabilità; il modulo comunica attivamente solo sul bus PCI. Come corollario, un modulo periferico PC / 104 Plus non può essere utilizzato con una scheda CPU PC / 104. Tuttavia, una scheda CPU PC / 104 Plus può essere utilizzata con un modulo periferico PC / 104.

Poiché PC / 104- Plus è basato su PCI, non è necessario impostare un indirizzo di base, IRQ o canale DMA sulle schede periferiche. Tuttavia, è necessario specificare il numero di slot PCI di una scheda periferica quando è installata. Questo è comunemente impostato da un interruttore rotante , interruttore DIP o ponticelli sulla scheda periferica. Ogni scheda periferica PCI nel sistema deve avere il numero di slot PCI impostato su un valore univoco. In caso contrario, si potrebbe causare un comportamento irregolare del sistema. La periferica più vicina alla CPU dovrebbe essere impostata per il primo slot, la scheda successiva dovrebbe essere impostata per il secondo slot, ecc.

PCI-104

Il fattore di forma PCI-104 include il connettore PCI, ma non il connettore PC / 104, al fine di aumentare lo spazio disponibile sulla scheda. Anche se il connettore PCI ha 120 pin invece di 104, il nome stabilito è stato mantenuto. La posizione e la piedinatura del connettore PCI sono identiche a PC / 104- Plus .

Poiché il bus ISA viene omesso, una scheda PCI-104 non è compatibile con il modulo periferico PC / 104. Tuttavia, PCI-104 e PC / 104- Plus sono compatibili, poiché entrambi utilizzano il bus PCI. La maggior parte delle schede PC / 104- Plus possono essere prodotte come PCI-104 semplicemente non popolando il connettore PC / 104.

PCI-104 utilizza lo stesso schema di selezione del numero di slot PCI di PC / 104- Plus . Ogni dispositivo deve essere assegnato a un numero di slot univoco.

PCI / 104-Express

La specifica PCI / 104-Express incorpora il bus PCI Express (PCIe) oltre al bus PCI della generazione precedente. La specifica definisce un connettore a montaggio superficiale a 156 pin per i segnali PCI Express. Il nuovo connettore occupa la stessa posizione sulla scheda del precedente connettore ISA PC / 104. Oltre a PCI Express, le specifiche definiscono anche i pin sul connettore per bus di computer moderni aggiuntivi, come USB , SATA e LPC .

La specifica PCI / 104-Express attualmente definisce due possibili piedinature per il connettore PCIe:

  1. Il tipo 1 offre quattro collegamenti PCI Express x1, due porte USB 2.0 e un collegamento PCIe x16.
  2. Il tipo 2 offre quattro collegamenti PCI Express x1, due porte USB 2.0, due collegamenti PCIe x4, due porte USB 3.0, due porte SATA e LPC.

Le schede CPU e le periferiche possono essere progettate come Tipo 1, Tipo 2 o Universale (che utilizza solo il sottoinsieme comune di segnali tra i due tipi, PCIe x1 e / o USB 2.0). Il pinout di tipo 2 non è stato introdotto fino alla versione 2.0 della specifica (rilasciata nel 2011). I prodotti PCI / 104-Express introdotti prima del 2011 saranno di tipo 1 o universali, ma potrebbero non essere etichettati esplicitamente come tali. Un bus di tipo 1 non è compatibile con le periferiche di tipo 2 o viceversa. La specifica richiede che il sistema rimanga ripristinato e non si avvii in caso di mancata corrispondenza del tipo (non si verificherà alcun danno fisico). Le schede periferiche universali possono essere utilizzate con pinout di Tipo 1 o Tipo 2.

Poiché il connettore del bus PCIe è a montaggio superficiale, non a foro passante, è anche possibile che una scheda utilizzi piedinature del bus differenti sul lato superiore della scheda rispetto al lato inferiore. Ad esempio, una scheda CPU può avere un connettore PCIe inferiore di Tipo 1 e un connettore PCIe superiore di Tipo 2. Una scheda CPU di questo tipo sarebbe compatibile con le periferiche di tipo 1 e / o universali in basso e compatibile con le periferiche di tipo 2 e / o universali in alto.

Simile a PC / 104- Plus , una scheda CPU PCI / 104-Express fornirà una comunicazione attiva su entrambi i bus PCI e PCIe. È possibile utilizzare una scheda CPU PC / 104-Express con i moduli periferici PCI-104 e PC / 104- Plus . Tuttavia, un modulo periferico PCI / 104-Express comunicherà solo sul bus PCIe; il connettore PCI è semplicemente un connettore passante per l'impilabilità. Un modulo periferico PC / 104-Express non può essere utilizzato con una scheda CPU PCI-104 o PC / 104- Plus (a meno che non venga utilizzato un dispositivo bridge ISA).

PCI / 104-Express incorpora lo spostamento del collegamento, che elimina la necessità di interruttori / ponticelli di selezione degli slot PCI presenti sulle periferiche PCI-104 e PC / 104- Plus . Alcune schede periferiche ripopolano i collegamenti PCIe, il che consente allo stack di avere schede periferiche aggiuntive oltre al set iniziale di collegamenti PCI Express fornito dalla scheda CPU. Il ripopolamento dei collegamenti non è un requisito nelle specifiche e deve essere implementato sulla scheda periferica con uno switch di pacchetto PCI Express.

PCIe / 104

PCIe / 104 è simile allo standard PCI / 104-Express, ma omette il bus PCI legacy per aumentare lo spazio disponibile sulla scheda (simile alla relazione tra PC / 104- Plus e PCI-104). La posizione del connettore PCI Express e le opzioni di pinout sono le stesse di PCI / 104-Express (sia di tipo 1 che di tipo 2). Poiché il connettore del bus PCI viene omesso, una scheda PCIe / 104 non è compatibile con i sistemi PC / 104- Plus e PCI-104 (a meno che non venga utilizzato un dispositivo bridge PCIe-to-PCI).

Fattori di forma

Le specifiche del Consorzio PC / 104 coprono tre fattori di forma che definiscono la dimensione e la forma della scheda. Ciascun fattore di forma può utilizzare una delle strutture bus elencate sopra.

104 o PC / 104

Il fattore di forma 104 è definito come 90 × 96 mm (3.550 × 3.775 pollici), con fori di montaggio su tutti e quattro gli angoli della scheda. Le specifiche consentono anche un'area di 13 mm (0,5 pollici) oltre il bordo del PCB per i connettori I / O. Alcuni prodotti PC / 104 hanno PCB sovradimensionati che si estendono nell'area del connettore I / O. Le "ali" PCB estese non sono affrontate nelle specifiche, generalmente non causano problemi meccanici fintanto che la sporgenza complessiva del connettore PCB + I / O rientra nelle dimensioni massime consentite di 4,550 × 4,393 pollici (116 × 112 mm).

Le dimensioni erano originariamente definite nella specifica PC / 104 e, di conseguenza, il fattore di forma è ancora comunemente denominato "PC / 104". Le specifiche PCI / 104-Express e PCIe / 104 hanno introdotto il nome "104" per distinguere il fattore di forma dal bus legacy PC / 104.

EBX ed EBX Express

EBX ( Embedded Board eXpandable ) è un fattore di forma per computer a scheda singola, 146 × 203 mm (5,75 × 8 pollici). Il fattore di forma EBX si applica alla scheda CPU , ma supporta le schede periferiche con fattore di forma PC / 104 per l'espansione. Le specifiche EBX originali consentivano i bus PC / 104, PC / 104- Plus e PCI-104. EBX Express aggiunge i bus PCI-104 / Express e PCIe / 104.

EPIC ed EPIC Express

EPIC (Embedded Platform for Industrial Computing) è un fattore di forma per computer a scheda singola che, come EBX, supporta schede periferiche PC / 104 ma è più piccolo di EBX a 6.5 × 4.5 pollici (165 × 114 mm). Consente di implementare le connessioni I / O come connettori pin o connettori in stile PC ("mondo reale"). Lo standard fornisce zone I / O specifiche per implementare funzioni come Ethernet, porte seriali, I / O digitali e analogici, video, wireless e varie interfacce specifiche dell'applicazione. EPIC Express aggiunge l' espandibilità PCI Express .

Limiti di impilamento

In generale, ogni stack PC / 104 conterrà una scheda CPU, una scheda di alimentazione e una o più schede periferiche. Il numero massimo di schede supportate da uno stack PC / 104 dipenderà dai bus utilizzati dalle schede periferiche.

  1. Bus ISA - Non esiste un limite rigoroso al numero di schede ISA che possono coesistere in un sistema. Tuttavia, esiste un numero limitato di indirizzi di base, IRQ e canali DMA che possono diventare un fattore limitante. Le schede ISA possono essere impilate su entrambi i lati della scheda CPU.
  2. Bus PCI - Le specifiche PC / 104- Plus e PCI-104 consentono quattro "slot" PCI. Ciò impone un limite rigido di quattro schede periferiche PCI per sistema. Tutti i moduli periferici PCI devono connettersi consecutivamente su un lato del controller a causa dei requisiti di segnalazione del bus PCI.
  3. PCI Express : il numero totale di schede periferiche PCI Express dipenderà dal numero di collegamenti PCIe forniti dalla scheda CPU. Ad esempio, se la scheda CPU fornisce quattro collegamenti PCIe x1, è possibile installare un massimo di quattro schede periferiche PCIe x1. Se una o più schede periferiche forniscono il ripopolamento del collegamento PCIe, è possibile installare moduli aggiuntivi. I collegamenti PCIe sul lato superiore della scheda CPU sono indipendenti dai collegamenti sul lato inferiore. L'installazione di una periferica PCIe sotto la scheda CPU non consumerà uno dei collegamenti laterali superiori. La quantità e la larghezza dei collegamenti PCIe disponibili possono variare tra i connettori superiore e inferiore della scheda CPU.
  4. USB e SATA - Le specifiche PCI / 104-Express e PCIe / 104 forniscono segnali per USB e SATA, che possono essere utilizzati dalle schede periferiche nello stack. Le periferiche che utilizzano USB e SATA saranno limitate al numero di collegamenti forniti dalla scheda CPU. Le periferiche USB possono fornire il ripopolamento del collegamento incorporando un hub USB integrato .

Indipendentemente dai bus utilizzati, il numero massimo di schede di uno stack PC / 104 può essere limitato a causa delle limitazioni di dimensioni, peso e alimentazione dell'applicazione di destinazione.

Interferenza meccanica tra le schede

Quando si impilano insieme schede PC / 104, l'interferenza meccanica tra schede adiacenti è un problema.

  1. Connettori bus - Quando si assembla un sistema composto da più strutture bus, è possibile che i connettori bus interferiscano con i componenti su una scheda adiacente. Ad esempio, se una scheda PC / 104 Plus è impilata sopra una scheda PC / 104, è possibile che i pin sul lato inferiore del connettore PCI si inseriscano nei componenti sulla scheda inferiore.
  2. Componenti e connettori fuori specifica - Le specifiche PC / 104 limitano l'altezza dei componenti e dei connettori che possono essere posizionati su entrambi i lati della scheda. Una regione di altezza limitata ha lo scopo di garantire che le schede non interferiscano con altri vicini impilati sopra o sotto. Tuttavia, non è raro trovare schede che violano questi vincoli.
  3. Dissipatori di calore : la distanza standard tra le schede PC / 104 impilate è di 15,24 mm (0,600 pollici). I componenti con un consumo energetico significativo (CPU, GPU, FPGA) spesso richiedono un dissipatore di calore più grande che non si adatta alla tradizionale spaziatura della scheda. Non è raro trovare schede CPU PC / 104 con dissipatori di calore relativamente grandi che non consentono di impilare le schede periferiche sopra di esse. Le revisioni successive delle specifiche PCI / 104-Express e PCIe / 104 hanno introdotto un connettore opzionale più alto da 0,866 pollici (22,00 mm) compatibile con il connettore di altezza tradizionale.

I problemi di interferenza meccanica sopra elencati possono spesso essere risolti con un distanziatore bus, che lascia spazio aggiuntivo tra le schede. Tuttavia, i Bus Spacer aumentano l'altezza complessiva dello stack e potrebbero non essere adatti per applicazioni con vincoli di spazio. Potrebbe anche essere possibile riorganizzare le schede nella pila per rimuovere l'interferenza. Un'altra opzione è modificare le schede incriminate per rimuovere l'interferenza (es. Spopolare un connettore), ma ciò potrebbe richiedere al venditore di fornire una versione personalizzata della scheda.

Potenziali problemi di compatibilità

In teoria, le schede PC / 104 sono interoperabili. È possibile assemblare un sistema utilizzando schede di diversi fornitori, soggetti ai problemi fondamentali di compatibilità della struttura del bus sopra elencati. Tuttavia, a volte compaiono problemi di compatibilità.

  • Pin di  codifica PC / 104: la specifica PC / 104 definisce due pin di codifica per evitare il disallineamento del connettore. Questi pin non devono essere popolati sul connettore. Tuttavia, alcuni fornitori non utilizzano connettori PC / 104 con chiave. Ciò può causare problemi quando si utilizzano schede di più fornitori. È spesso possibile modificare la scheda priva di chiave tagliando i perni incriminati.
  • Tensioni di alimentazione richieste  : i bus PC / 104 forniscono diverse tensioni di alimentazione (+ 5V, + 3,3V, + 12V, ecc.). Quali tensioni vengono effettivamente utilizzate da una scheda è a discrezione del produttore della scheda. È necessario prestare attenzione a fornire tutte le tensioni richieste per le schede nello stack.
  • Contesa sull'alimentazione  : alcune schede forniranno alimentazione allo stack (ad esempio una scheda CPU). Ciò potrebbe entrare in conflitto con un alimentatore nello stack.
  • Livelli di segnalazione PCI  : il bus PCI può funzionare a livelli di segnalazione di + 3,3 V o + 5 V. Alcune schede potrebbero aspettarsi una tensione, altre potrebbero aspettarsi una tensione diversa.
  • Linea PCI VIO  : il segnale VIO sul bus PCI dovrebbe essere pilotato dalla scheda CPU. Tuttavia, alcune schede periferiche e alimentatori guidano questo segnale (in violazione delle specifiche PCI).
  • Bus ISA con chipset moderni  : il bus ISA legacy è stato omesso dai chipset moderni. Le schede CPU più recenti che forniscono un bus ISA spesso lo fanno utilizzando un chip bridge ISA (da PCI a ISA o da LPC a ISA). In alcuni casi, il bus ISA non è completamente implementato e potrebbero verificarsi problemi di compatibilità.
  • 4 bus master  : le specifiche PC / 104- Plus e PCI-104 non consentivano originariamente 4 set di coppie di concessione / richiesta sul bus PCI. Questo problema è stato risolto nelle revisioni più recenti della specifica. Tuttavia, le schede più vecchie potrebbero avere problemi con DMA nella 3a o 4a posizione dello slot PCI.

Sviluppo software

La maggior parte delle schede CPU PC / 104 sono compatibili con x86 e sono in grado di eseguire il software per PC disponibile in commercio senza modifiche. Le interfacce I / O standard per PC di un sistema PC / 104 (porte seriali, USB, Ethernet, VGA, ecc.) Sono generalmente supportate tramite i driver nativi incorporati nel sistema operativo. Alcune schede periferiche, come l'acquisizione dei dati, potrebbero richiedere driver speciali dal produttore della scheda.

Dal punto di vista dello sviluppo del software, c'è poca differenza tra la compilazione del software per un PC desktop o la compilazione per uno stack x86 PC / 104. Il software può essere sviluppato utilizzando compilatori x86 standard (es. Visual Studio se il sistema PC / 104 esegue Windows). In genere non sono necessari strumenti di sviluppo specializzati, come compilatori incrociati , pacchetti di supporto per schede o debugger JTAG . Si tratta di una svolta significativa rispetto alle piattaforme di sistema embedded non x86, che spesso richiedono una toolchain di sviluppo da parte del produttore della scheda.

Sono disponibili in commercio anche schede CPU PC / 104 non x86 basate su ARM o PowerPC . Tuttavia, tali schede non sono in grado di eseguire software per PC standard. In questi casi, un pacchetto di supporto della scheda viene solitamente fornito dal produttore per i sistemi operativi supportati.

Variazioni ortografiche e abbreviazioni

Quando si stampa "PC / 104" o le sue varianti, è normale che la barra oi trattini vengano omessi. PC / 104 può essere abbreviato in PC104, PCI-104 abbreviato in PCI104, ecc. Inoltre, è comune che PC / 104- Plus sia abbreviato con un segno più (ad es. PC104 +). Tali abbreviazioni non sono ufficialmente riconosciute in nessuna specifica o letteratura del Consorzio PC / 104, tuttavia sono in uso da tempo.

Conservazione

I sistemi PC / 104 richiedono spesso una memoria piccola e non volatile, come quella offerta dai dispositivi Compact Flash e Solid State Disk (SSD). Questi sono spesso più popolari dei dischi rigidi meccanici (rotanti). Rispetto ai dischi rotanti, i dispositivi di archiviazione basati su flash hanno una durata limitata in termini di cicli di scrittura, ma sono più veloci e assorbono meno energia. Inoltre, la loro compattezza e durata fisica sono spesso più adatte alle applicazioni PC / 104 rugged; le dimensioni dei dischi rigidi magnetici possono essere ingombranti e le loro numerose parti delicate sono più suscettibili di guasti in ambienti difficili.

Guarda anche

Riferimenti

link esterno