PC/104

PC/104 (eller PC104 ) är en familj av inbäddade datorstandarder som definierar både formfaktorer och datorbussar av PC/104-konsortiet . Dess namn kommer från de 104 stiften på interboard-kontakten ( ISA ) i den ursprungliga PC/104-specifikationen och har behållits i efterföljande revisioner, trots ändringar av kontakter. PC/104 är avsedd för specialiserade miljöer där ett litet, robust datorsystem krävs. Standarden är modulär och tillåter konsumenter att stapla ihop kort från en mängd olika COTS -tillverkare för att producera ett skräddarsytt inbyggt system.

Den ursprungliga PC/104-formfaktorn är något mindre än ett stationärt PC- moderkort på 3 550 × 3 775 tum (90 × 96 mm). Till skillnad från andra populära datorformfaktorer som ATX , som förlitar sig på ett moderkort eller bakplan , staplas PC/104-kort ovanpå varandra som byggstenar. PC/104-specifikationen definierar fyra monteringshål i hörnen på varje modul, som gör att korten kan fästas vid varandra med hjälp av avstånd . De stapelbara busskontakterna och användningen av distanser ger en mer robust montering än kortplatskort som finns i stationära datorer. Den kompakta kortstorleken bidrar ytterligare till formfaktorns robusthet genom att minska risken för att PCB ska böjas under stötar och vibrationer.

Ett typiskt PC/104-system (vanligtvis kallat "stack") kommer att inkludera ett CPU-kort , strömförsörjningskort och ett eller flera kringutrustningskort, såsom en datainsamlingsmodul , GPS- mottagare eller trådlös LAN- kontroller. Ett brett utbud av kringutrustningskort är tillgängliga från olika leverantörer. Användare kan designa en stack som innehåller kort från flera leverantörer. Den totala höjden, vikten och strömförbrukningen för stacken kan variera beroende på antalet brädor som används.

PC/104 kallas ibland för en "staplingsbar PC", eftersom det mesta av arkitekturen härrör från den stationära PC:n. Majoriteten av PC/104 CPU-kort är x86-kompatibla och inkluderar standard PC-gränssnitt som seriella portar , USB , Ethernet och VGA . Ett x86 PC/104-system är vanligtvis kapabelt med vanliga PC-operativsystem som DOS, Windows eller Linux. Det är dock också ganska vanligt att använda ett realtidsoperativsystem , som VxWorks .

Historia och standardisering

PC/104-bussen och formfaktorn utarbetades ursprungligen av Ampro 1987 (ledd av CTO Rick Lehrbaum), och standardiserades senare av PC/104-konsortiet 1992. En IEEE -standard motsvarande PC/104 utarbetades som IEEE P996.1 , men aldrig ratificerat. 1997 introducerade PC/104-konsortiet en nyare standard baserad på PCI-bussen . En PCI Express -baserad standard introducerades 2008.

PC/104-relaterade specifikationer kontrolleras av PC/104-konsortiet. Det finns för närvarande 47 medlemmar i konsortiet. Alla specifikationer som publiceras av konsortiet är fritt tillgängliga. Medlemskap i konsortiet krävs inte för att designa och tillverka ett PC/104-kort.

Specifikation Initial release Busskommunikation Aktuell version
PC/104 1992 ISA (AT och XT) 2.6
PC/104- Plus 1997 ISA och PCI
PCI-104 2003 PCI 1.1
PCI/104-Express och PCIe/104 2008 PCI och PCI Express 3.0

Bussstruktur gentemot formfaktor

Specifikationerna som släppts av PC/104-konsortiet definierar flera bussstrukturer (ISA, PCI, PCI Express) och formfaktorer (104, EBX, EPIC). Bussstruktur definierar platsen och pinouten för bussanslutningen/bussanslutningarna. Formfaktor hänvisar till brädans storlek och form. Det är möjligt att hitta en av de stapelbara expansionsbussarna PC/104 på ett antal olika formfaktorer. Även om de flesta kommersiellt tillgängliga produkter som använder bussstrukturerna kommer att överensstämma med formfaktorerna som anges nedan, är det möjligt för en icke-standardiserad eller proprietär formfaktor att inkorporera en av PC/104 bussstrukturerna för utbyggbarhet.

Observera att termen "PC/104" ofta används omväxlande för att referera till antingen bussstrukturen eller formfaktorn. Detta kan vara en källa till förvirring. Till exempel kan ett produktdatablad referera till ett kort som "PC/104" på grund av dess storlek och form när det faktiskt har en PCI-104 expansionsbuss.

Bussstrukturer

PC/104 Consortium-specifikationerna definierar en mängd olika datorbussar, som alla härrör från ISA-, PCI- och PCI Express-bussarna som finns i en stationär PC.

PC/104

Den ursprungliga PC/104-bussen härrör från ISA-bussen . Den inkluderar alla signaler som finns på ISA-bussen, med ytterligare jordstift tillagda för att säkerställa bussens integritet. Signaltiming och spänningsnivåer är identiska med ISA-bussen, med lägre strömkrav . PC/104-specifikationen definierar två versioner av bussen, 8-bitars eller 16-bitars. 8-bitarsversionen motsvarar IBM XT och består av 64 stift. 16-bitarsversionen motsvarar IBM AT och lägger till 40 ytterligare stift, vilket ger totalen till 104 (därav namnet "PC/104"). Signalerna märkta J1/P1 finns bara på 8-bitarsversionen, medan 16-bitarsversionen lägger till signalerna från J2/P2.

Eftersom PC/104 är baserad på ISA-bussen är det ofta nödvändigt att ställa in basadress , IRQ och DMA-kanal när du installerar ett kringutrustningskort. Detta åstadkoms vanligtvis med hjälp av byglar eller DIP-switchar på kringutrustningskortet. Underlåtenhet att konfigurera kringutrustningen korrekt kan orsaka en resurskonflikt och leda till oregelbundet beteende.

PC/104- Plus

PC/104- Plus -standarden lägger till stöd för PCI-bussen , förutom ISA-bussen för PC/104-standarden. Namnet kommer från dess ursprung: en PC/104- Plus -modul har en PC/104-kontakt (ISA) plus en PCI-kontakt. Standarden definierar en 120-stiftskontakt för PCI-bussen, placerad på motsatt sida av kortet från PC/104-kontakten.

PC/104- Plus CPU-kort ger aktiv kommunikation på båda bussarna och kan kommunicera med både ISA och PCI kringutrustningskort. På PC/104- Plus kringutrustningsmoduler är PC/104-kontakten helt enkelt en passiv kontakt för stapelbarhet; modulen kommunicerar aktivt endast på PCI-bussen. Som en följd av detta kan en PC/104- Plus kringutrustningsmodul inte användas med ett PC/104 CPU-kort. Ett PC/104- Plus CPU-kort kan dock användas med en PC/104 kringutrustningsmodul.

Eftersom PC/104- Plus är baserad på PCI, finns det inget behov av att ställa in en basadress, IRQ eller DMA-kanal på kringutrustningskorten. Det är dock nödvändigt att ange PCI-kortplatsnumret för ett kringutrustningskort när det är installerat. Detta ställs vanligtvis in av en vridomkopplare , DIP-omkopplare eller byglar på kringutrustningskortet. Varje PCI-kort i systemet måste ha PCI-kortplatsnumret inställt på ett unikt värde. Underlåtenhet att göra det kan orsaka oregelbundet systembeteende. Den kringutrustning som är närmast processorn bör ställas in för den första kortplatsen, nästa kort bör ställas in för den andra kortplatsen, etc.

PCI-104

PCI-104-formfaktorn inkluderar PCI-kontakten, men inte PC/104-kontakten, för att öka den tillgängliga kortets fastigheter. Även om PCI-kontakten har 120 stift istället för 104, behölls det etablerade namnet. PCI-kontaktens placering och pinout är identisk med PC/104- Plus .

Eftersom ISA-bussen är utelämnad är ett PCI-104-kort inkompatibelt med PC/104 kringutrustningsmodul. PCI-104 och PC/104- Plus är dock kompatibla, eftersom de båda använder PCI-bussen. De flesta PC/104- Plus- kort kan tillverkas som PCI-104 genom att helt enkelt inte fylla i PC/104-kontakten.

PCI-104 använder samma PCI-platsnummervalsschema som PC/104- Plus . Varje enhet måste tilldelas ett unikt kortnummer.

PCI/104-Express

PCI/104-Express-specifikationen innehåller PCI Express- bussen (PCIe) utöver den tidigare generationens PCI-bussen. Specifikationen definierar en 156-stifts ytmonteringskontakt för PCI Express-signalerna. Den nya kontakten upptar samma kortplats som den äldre PC/104 ISA-kontakten. Förutom PCI Express definierar specifikationerna även stift på kontakten för ytterligare moderna datorbussar, såsom USB , SATA och LPC .

PCI/104-Express-specifikationen definierar för närvarande två möjliga stift för PCIe-kontakten:

  1. Typ 1 erbjuder fyra x1 PCI Express-länkar, två USB 2.0-portar och en x16 PCIe-länk.
  2. Typ 2 erbjuder fyra x1 PCI Express-länkar, två USB 2.0-portar, två PCIe x4-länkar, två USB 3.0-portar, två SATA-portar och LPC.

CPU-kort och kringutrustning kan utformas som Typ 1, Typ 2 eller Universal (som bara använder den gemensamma underuppsättningen av signaler mellan de två typerna, PCIe x1 och/eller USB 2.0). Typ 2 pinout introducerades inte förrän version 2.0 av specifikationen (släpptes 2011). PCI/104-Express-produkter som introducerades före 2011 kommer att vara antingen Typ 1 eller Universal, men kanske inte uttryckligen märkta som sådana. En typ 1-buss är inkompatibel med typ 2 kringutrustning, eller vice versa. Specifikationen kräver att systemet förblir i återställning och inte startar i händelse av en typfelmatch (ingen fysisk skada kommer att uppstå). Universal perifera kort kan användas med antingen typ 1 eller typ 2 stift.

Eftersom PCIe-busskontakten är ytmonterad, inte genomgående hål, är det också möjligt för ett kort att använda olika bussstift på ovansidan av kortet jämfört med undersidan. Till exempel kan ett CPU-kort ha en typ 1 botten PCIe-kontakt och en typ 2 övre PCIe-kontakt. Ett sådant CPU-kort skulle vara kompatibelt med typ 1 och/eller Universal kringutrustning på undersidan, och kompatibelt med typ 2 och/eller Universal kringutrustning på toppen.

I likhet med PC/104- Plus kommer ett PCI/104-Express CPU-kort att tillhandahålla aktiv kommunikation på både PCI- och PCIe-bussar. Ett PC/104-Express CPU-kort kan användas med PCI-104 och PC/104- Plus kringutrustningsmoduler. En PCI/104-Express kringutrustningsmodul kommer dock endast att kommunicera på PCIe-bussen; PCI-kontakten är helt enkelt en pass-through-kontakt för stapelbarhet. En PC/104-Express kringutrustningsmodul får inte användas med ett PCI-104 eller PC/104- Plus CPU-kort (såvida inte en ISA-bryggenhet används).

PCI/104-Express innehåller länkförskjutning, vilket eliminerar behovet av PCI-kortplatsvalsomkopplare/-byglar som finns på PCI-104 och PC/104- Plus kringutrustning. Vissa kringutrustningskort fyller på PCIe-länkarna, vilket gör att stacken kan ha ytterligare kringutrustningskort utöver den ursprungliga uppsättningen PCI Express-länkar som tillhandahålls av CPU-kortet. Återfyllning av länkar är inte ett krav i specifikationen, och måste implementeras på det perifera kortet med en PCI Express-paketswitch.

PCIe/104

PCIe/104 liknar PCI/104-Express-standarden, men utelämnar den äldre PCI-bussen för att öka tillgängligt utrymme på kortet (liknande förhållandet mellan PC/104- Plus och PCI-104). PCI Express-kontaktens placering och stiftalternativ är samma som PCI/104-Express (både typ 1 och typ 2). Eftersom PCI-busskontakten utelämnas är ett PCIe/104-kort inkompatibelt med PC/104- Plus- och PCI-104-system (såvida inte en PCIe-till-PCI-bryggenhet används).

Formfaktorer

PC/104-konsortiets specifikationer täcker tre formfaktorer som definierar kortets storlek och form. Varje formfaktor kan använda en av bussstrukturerna som listas ovan.

104 eller PC/104

Formfaktorn 104 definieras till 3 550 × 3 775 tum (90 × 96 mm), med monteringshål i alla fyra hörn av brädan. Specifikationerna tillåter också ett område på 0,5 tum (13 mm) bortom kanten på kretskortet för I/O-kontakter. Vissa PC/104-produkter har överdimensionerade kretskort som sträcker sig in i I/O-kontaktområdet. De utökade PCB-"vingarna" tas inte upp i specifikationen, orsakar i allmänhet inga mekaniska problem så länge som det övergripande PCB + I/O-kontaktens överhäng ligger inom de maximalt tillåtna måtten på 4 550 × 4 393 tum (116 × 112 mm).

Måtten definierades ursprungligen i PC/104-specifikationen, och som ett resultat kallas formfaktorn fortfarande vanligtvis "PC/104". PCI/104-Express och PCIe/104-specifikationen introducerade "104"-namnet för att skilja formfaktorn från den äldre PC/104-bussen.

EBX och EBX Express

EBX ( Embedded Board eXpandable ) är en enkelkortsdator formfaktor, 5,75 × 8 tum (146 × 203 mm). EBX-formfaktorn gäller för CPU-kortet , men stöder PC/104-formfaktor perifera kort för expansion. De ursprungliga EBX-specifikationerna tillåts för bussarna PC/104, PC/104- Plus och PCI-104. EBX Express lägger till bussarna PCI-104/Express och PCIe/104.

EPIC och EPIC Express

EPIC (Embedded Platform for Industrial Computing) är en enkortsdatorformfaktor som, liksom EBX, stöder PC/104 kringutrustningskort men är mindre än EBX vid 6,5 × 4,5 tum (165 × 114 mm). Det gör att I/O-anslutningar kan implementeras som antingen stifthuvud eller PC-liknande ("verkliga världen") kontakter. Standarden tillhandahåller specifika I/O-zoner för att implementera funktioner som Ethernet, serieportar, digitala och analoga I/O, video, trådlöst och olika applikationsspecifika gränssnitt. EPIC Express lägger till PCI Express- expansion.

Staplingsgränser

I allmänhet kommer varje PC/104-stack att innehålla ett CPU-kort, strömförsörjningskort och ett eller flera kringutrustningskort. Det maximala antalet kort som stöds av en PC/104-stack beror på vilka bussar som används av periferikorten.

  1. ISA Bus - Det finns ingen strikt gräns för antalet ISA-kort som kan samexistera i ett system. Det finns dock ett begränsat antal basadresser, IRQ:er och DMA-kanaler som kan bli en begränsande faktor. ISA-kort kan staplas på vardera sidan av CPU-kortet.
  2. PCI Bus - PC/104- Plus och PCI-104 specifikationer tillåter fyra PCI "slots". Detta innebär en hård gräns på fyra PCI-kretskort per system. Alla PCI kringutrustningsmoduler måste anslutas i följd på ena sidan av styrenheten på grund av PCI-bussens signaleringskrav.
  3. PCI Express - Det totala antalet PCI Express perifera kort beror på antalet PCIe-länkar som tillhandahålls av CPU-kortet. Till exempel, om CPU-kortet har fyra x1 PCIe-länkar, kan maximalt fyra x1 PCIe-kort för kringutrustning installeras. Om ett eller flera av kringutrustningskorten tillhandahåller PCIe-länkåterfyllning, kan ytterligare moduler installeras. PCIe-länkarna på ovansidan av CPU-kortet är oberoende av länkarna på undersidan. Att installera en PCIe-kringutrustning under CPU-kortet kommer inte att förbruka en av de övre sidolänkarna. Kvantiteten och bredden på tillgängliga PCIe-länkar kan variera mellan de övre och nedre anslutningarna på CPU-kortet.
  4. USB och SATA - PCI/104-Express och PCIe/104-specifikationen tillhandahåller signaler för USB och SATA, som kan användas av kringutrustningskort i stacken. Kringutrustning som använder USB och SATA kommer att begränsas till antalet länkar som tillhandahålls av CPU-kortet. USB-kringutrustning kan ge länkåterfyllning genom att inkludera en inbyggd USB-hubb .

Oavsett vilka bussar som används kan det maximala antalet kort i en PC/104-stack vara begränsat på grund av storlek, vikt och effektbegränsningar för målapplikationen.

Mekanisk interferens mellan brädor

När du staplar PC/104-kort tillsammans är mekaniska störningar mellan intilliggande kort ett problem.

  1. Bussanslutningar - När man monterar ett system som består av flera bussstrukturer, är det möjligt för bussanslutningarna att störa komponenter på ett intilliggande kort. Till exempel, om ett PC/104- Plus- kort staplas ovanpå ett PC/104-kort, är det möjligt för stiften på undersidan av PCI-kontakten att gå in i komponenter på det nedre kortet.
  2. Komponenter och kontakter utan specifikation - PC/104-specifikationerna begränsar höjden på komponenter och kontakter som kan placeras på vardera sidan av kortet. Ett område med begränsad höjd är avsett att garantera att brädor inte kommer att störa andra grannar staplade över eller under. Det är dock inte ovanligt att hitta brädor som bryter mot dessa begränsningar.
  3. Kylflänsar - Standardavståndet mellan staplade PC/104-kort är 0,600 tum (15,24 mm). Komponenter med betydande strömförbrukning (CPU, GPU, FPGA) kräver ofta en större kylfläns som inte passar inom det traditionella kortavståndet. Det är inte ovanligt att hitta PC/104 CPU-kort med relativt stora kylflänsar som inte tillåter att perifera kort staplas ovanför. Senare revisioner av PCI/104-Express och PCIe/104 specifikationer introducerade en valfri högre 0,866 tum (22,00 mm) kontakt som är kompatibel med den traditionella höjdkontakten.

De mekaniska störningsproblemen som listas ovan kan ofta lösas med en Bus Spacer, vilket ger extra utrymme mellan korten. Bussdistanser ökar dock den totala stapelhöjden och kanske inte är lämpliga för utrymmesbegränsade applikationer. Det kan också vara möjligt att ordna om brädorna i stapeln för att ta bort störningarna. Ett annat alternativ är att modifiera de felande korten för att ta bort störningen (t.ex. ta bort en kontakt), men detta kan kräva att leverantören tillhandahåller en anpassad version av kortet.

Potentiella kompatibilitetsproblem

I teorin är PC/104-kort interoperabla. Det är möjligt att sätta ihop ett system med kort från flera olika leverantörer, beroende på de grundläggande Bus Structure-kompatibilitetsproblemen som anges ovan. Emellertid uppstår kompatibilitetsproblem ibland.

  • PC/104 nyckelstift – PC/104-specifikationen definierar två nyckelstift för att förhindra felinriktning av kontakten. Dessa stift ska inte placeras på kontakten. Vissa leverantörer använder dock inte PC/104-kontakter med nyckel. Det kan orsaka problem när du använder kort från flera leverantörer. Det är ofta möjligt att modifiera den icke-nycklade brädet genom att klippa av de stötande stiften.
  • Erforderliga strömförsörjningsspänningar – PC/104-bussarna tillhandahåller flera matningsspänningar (+5V, +3,3V, +12V, etc.). Vilka spänningar som faktiskt används av ett kort är upp till korttillverkaren. Försiktighet måste iakttas för att leverera alla spänningar som krävs för korten i stapeln.
  • Strömförsörjningsstrid – vissa kort kommer att ge ström till stacken (t.ex. ett CPU-kort). Detta kan komma i konflikt med en strömkälla i stacken.
  • PCI-signalnivåer – PCI-bussen kan fungera på +3,3V eller +5V signalnivåer. Vissa kort kan förvänta sig en spänning, andra kan förvänta sig en annan spänning.
  • PCI VIO Line – VIO-signalen på PCI-bussen är tänkt att drivas av CPU-kortet. Vissa kringutrustningskort och nätaggregat driver dock denna signal (i strid med PCI-specifikationen).
  • ISA Bus med moderna styrkretsar – den äldre ISA-bussen har utelämnats från moderna styrkretsar. Nyare CPU-kort som tillhandahåller en ISA-buss gör det ofta genom att använda ett ISA-bryggchip (antingen PCI-till-ISA eller LPC-till-ISA). I vissa fall är ISA-bussen inte fullt implementerad och kompatibilitetsproblem kan uppstå.
  • 4 Bus Masters – PC/104- Plus- och PCI-104-specifikationerna tillät ursprungligen inte 4 uppsättningar av Grant/Request-par på PCI-bussen. Detta löstes i nyare versioner av specifikationen. Äldre kort kan dock ha problem med att använda DMA i 3:e eller 4:e PCI-kortplatsen.

Mjukvaruutveckling

Majoriteten av PC/104 CPU-kort är x86-kompatibla och kan köra kommersiellt tillgänglig PC-mjukvara utan ändringar. Standard PC I/O-gränssnitt för ett PC/104-system (serieportar, USB, Ethernet, VGA, etc.) stöds vanligtvis via de inbyggda drivrutinerna i operativsystemet. Vissa kringutrustningskort, såsom datainsamling, kan kräva speciella drivrutiner från korttillverkaren.

Ur ett mjukvaruutvecklingsperspektiv är det liten skillnad mellan att kompilera programvara för en stationär PC eller att kompilera för en x86 PC/104-stack. Programvara kan utvecklas med standard x86-kompilatorer (t.ex. Visual Studio om PC/104-systemet kör Windows). Det finns vanligtvis inget behov av specialiserade utvecklingsverktyg, såsom korskompilatorer , Board Support Packages eller JTAG-felsökare. Detta är en betydande avvikelse från icke-x86 inbäddade systemplattformar, som ofta kräver en utvecklingsverktygskedja från korttillverkaren.

Icke-x86 PC/104 CPU-kort baserade på ARM eller PowerPC finns också kommersiellt tillgängliga. Sådana kort är dock inte kapabla att köra standard PC-programvara. I dessa fall tillhandahålls vanligtvis ett Board Support Package av tillverkaren för de operativsystem som stöds.

Stavningsvariationer och förkortningar

Vid utskrift av "PC/104" eller dess varianter är det vanligt att snedstreck eller streck utelämnas. PC/104 kan förkortas som PC104, PCI-104 förkortas till PCI104, etc. Dessutom är det vanligt att PC/104- Plus förkortas med ett plustecken (t.ex. PC104+). Sådana förkortningar är inte officiellt erkända i några PC/104 Consortium-specifikationer eller litteratur, men de har använts ett tag.

Lagring

PC/104-system kräver ofta liten, icke-flyktig lagring, till exempel den som erbjuds av compact flash- och solid state-diskenheter (SSD). Dessa är ofta mer populära än mekaniska (roterande) hårddiskar. Jämfört med roterande diskar har flashbaserade lagringsenheter begränsade livslängder när det gäller skrivcykler, men de är snabbare och drar mindre ström. Dessutom är deras kompakthet och fysiska hållbarhet ofta bättre lämpade för robusta PC/104-applikationer; storleken på magnetiska hårddiskar kan vara besvärlig och deras många ömtåliga delar är mer känsliga för fel i tuffa miljöer.

Se även

externa länkar