Kapitel 16 · POST-Code-Testkarten 591 gleichen Leitungen (AD31-0) die Adressen (Adressphase) und danach die Daten (Datenphase) übertragen werden. Des Weiteren gibt es hier auch keine Signale wie beispielsweise IOW (Input Output Write) oder MEMR (Memory Read), die explizit für die Selektierung des IO- oder des Speicherbereiches verwendet werden. Auf dem PCI-Bus werden stattdessen Bus-Kommandos übertragen, wofür die Signale C/BE3-0 vorgesehen sind. In einer Adressphase werden auf den C/BE3-0-Leitungen (Command/Byte Enable) Buskommandos gesendet, deren Bedeutungen in der folgenden Tabelle angegeben sind. In der Datenphase hingegen kennzeichnen die C/BE3-0-Leitungen, wel- che der 4 x 8 Datenleitungen gerade gültige Daten führen. Ist beispiels- weise BE0 gleich Low und sind alle anderen Byte-Enable-Leitungen auf High-Potenzial, befindet sich lediglich auf den Datenleitungen D0–D7 ein gültiges Datenbyte. Die Unterscheidung zwischen Daten- und Adressphase findet mithilfe des PCI-Signals Frame statt. In der Adressphase ist es Low und in der Daten - C/BE3-0 Kommando 0000 Interrupt Acknowledge 0001 Special Cycle 0010 I/O Read 0011 I/O Write 0100 Reserviert 0101 Reserviert 0110 Memory Read 0111 Memory Write 1000 Reserviert 1001 Reserviert 1010 Configuration Read 1011 Configuration Write 1100 Memory Read Multiple 1101 Dual Address Cycle 1110 Memory Read Line 1111 Memory Write and Invalidate Tab. 16.5: Die PCI-Bus-Kommandos in der Übersicht. Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. POST-Code-Karten für den PCI-Bus 592 0 magnum phase High. Des Weiteren wird das Signal IRDY (Initiator Ready) zur Signalisierung der Tatsache verwendet, dass die Datenphase abgeschlos - sen ist und eine Adressphase folgt (High). In der Datenphase ist Frame dabei stets Low. Damit ergibt sich für eine einfache PCI-Interface-Deko - dierung, die nur für Schreibzugriffe ausgelegt ist, der folgende Signalzu- sammenhang: Adressphase: FRAME = Low IRDY = High CBEO = High CBE1 = High CBE2 = Low CBE3 = Low Mit diesen Pegeln der CBE-Signale wird ein I/O-Write gekennzeichnet. Datenphase: FRAME = High IRDY = Low CBEO = Low CBE1 = High CBE2 = High CBE3 = High Mit diesen Pegeln der CBE-Signale wird eine 8-Bit-Datenübertragung gekennzeichnet. Bild 16.17: Das spezifizierte Timing bei einem PCI-Schreibvorgang. Das Signal Frame ist Low in der Adressphase und High in der Datenphase. Nur bei einem Burst-Zyklus bleibt FRAME auch in der Datenphase (DATA-1, DATA- 2) auf Low-Pegel. Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. Kapitel 16 · POST-Code-Testkarten 593 Weitere PCI-Bus-Signale, außer natürlich den AD0–AD7-Signalen, wer- den für das POST-Code-Karten-Interface nicht benötigt. Ein Taktsignal wird also nicht mit in die Dekodierung einbezogen, was auch nicht not - wendig ist, aber von einigen Herstellern von POST-Code-Karten durch- aus praktiziert wird. Das Problem dabei ist, dass das BIOS bei einigen Mainboards den Takt für diejenigen PCI-Slots abschaltet, die nicht mit einer PCI-Karte belegt sind. Eine POST-Code-Karte gibt sich aber nicht als PCI-Karte aus, da sie quasi nur am Bus lauscht und das BIOS daher keinerlei Kenntnis über ihr Vorhandensein erhält. Derartige POST-Code- Karten können demnach bei einigen Mainboards überhaupt nichts anzei - gen. Bild 16.18: Die Schaltung der PCI-POST-Code-Karte Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. POST-Code-Karten für den PCI-Bus 594 0 magnum Wie es aus dem Schaltplan (siehe Bild 16.18) zu erkennen ist, werden jeweils mit einen 8-fach NAND (74LS30) die erläuterten Signale einmal für die Adresse und einmal für die Daten ausdekodiert, wobei bei einigen Signalen nach der zuvor genannten Pegelzuordnung mehrere Inverter in Form des Bausteins 74LS04 nötig sind (die Signale des PCI-Bus sind als Low-aktiv zu interpretieren!). Am Ausgang (Pin 8) des Bausteins IC3 liegt dann ein Low, wenn die zuvor genannte Pegelzuordnung (Adressphase, ADRESSE in der Schal - tung) gegeben ist. Des Weiteren muss zu diesem Zeitpunkt die Adresse 80h auf dem PCI-Bus anliegen. Für deren Dekodierung wird wie bei der ISA-POST-Code-Karte ein Bau- stein vom Typ 74LS688 (IC1) eingesetzt, der hier aber fest auf die Deko- dierung der Adresse 80h verdrahtet ist (Eingänge Q0–Q7). Dieses Aus- gangssignal wird invertiert (IC6A, 74LS04) und setzt mit der ansteigenden Flanke das Daten-Flip-Flop vom Typ 74LS74 (IC7A). Die Datenphase wird ebenfalls mit einem 74LS30 (IC4) sowie zwei vor- geschalteten Invertern (IC5B, IC5C) aus dem PCI-Datenstrom dekodiert. Für das Durchschalten der Daten vom PCI-Bus (AD00–AD07) ist das 8- fach-Daten-Flip-Flop vom Typ 74HC574 zuständig, welches dies bei einer Low-High-Signalflanke des CLK-Signals durchführt. Das DATA_CLK-Signal wird aus einer AND-Verknüpfung mit dem Bau- stein 74LS08 (IC8A) aus dem Datenphasensignal und dem High-Sig- nal des gesetzten Flip-Flops (74LS74, IC7A) generiert. Die POST-Code- Daten werden somit auf die Hex-Treiber (MC14495, IC9, IC10) und die nachgeschalteten Siebensegmentanzeigen gegeben, wobei ab hier das Bild 16.19: Das Timing in der Adressphase, aufgenommen mit einem Logic Analyser HP1662 Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. Kapitel 16 · POST-Code-Testkarten 595 gleiche Prinzip wie bei der ISA-POST-Code-Karte gilt und hier auch die gleiche Anzeigeplatine mit den beiden Siebensegmentanzeigen ange - schlossen werden kann. Im nächsten Schritt muss das Daten-Flip-Flop wieder zurückgesetzt wer- den, wofür das mit IC6B (74LS04) invertierte Datenphasensignal ver- wendet wird, und der Vorgang beginnt daraufhin von vorn. Über vier Leuchtdioden werden die Versorgungsspannungen des PCI-Bus angezeigt, wobei die 3,3V aber nur bei ATX-Boards vorhanden sind, die entsprechende LED (D1) bei einem BAT-Board also nicht leuchten wird. Die PCI-POST-Code-Karte stellt sich schaltungstechnisch gesehen als nicht besonders kompliziert dar, und es werden auch keinerlei spezielle Bausteine verwendet. Wie es beschrieben ist, kommen tatsächlich auch nur übliche TTL-Bausteine zum Einsatz, mit denen das PCI-Bus-Timing bei 33 MHz problemlos zu bewältigen ist. Bei höheren Taktraten sollten jedoch die schnelleren F-Typen statt der LS-Typen verwendet werden, womit man dann auch bei einem PCI-Bus-Takt von 66 MHz noch auf der sicheren Seite ist. Wichtig ist dabei, dass dann nur die beiden 74LS30- durch 74F30-Chips ersetzt werden, alle anderen Bausteine ent - sprechen weiterhin der LS- bzw. der HC-Technologie (74HC574, IC2). Bild 16.20: Das Detektieren der Adressen- und der Dateninformation sowie das Setzen des Flip-Flops (Q74) Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. POST-Code-Karten für den PCI-Bus 596 0 magnum Die Schaltung zeigt auch, dass selbst ein PCI-Bus-Interface ohne die Ver- wendung relativ komplizierter PCI-Chips oder PLDs zu realisieren ist. Man könnte glatt auf die Idee kommen, auch noch das I/O-Read-Signal (siehe Tabelle 16.5) auszudekodieren und die feste Adresseneinstellung beim 74LS688 durch einen DIP-Schalter zu ersetzen, womit man ein prima 8-Bit-PCI-Bus-Interface realisiert hätte und seine alte ISA-Schal - tung im Nu auf PCI portieren könnte. Dies hätte dann natürlich nichts mehr mit Plug&Play zu tun und würde allen derartige Bestrebungen nach einfacher konfigurierbaren PCs zuwiderlaufen, gleichwohl es ist so schön einfach und zudem noch preiswert. Der Aufbau der PCI-POST-Code ist noch einfacher und kostengünstiger als der der ISA-POST-Code-Karte, denn spezielle Funktionen wie den Step-Mode oder eine veränderbare I/O-Adresse gibt es hier ja nicht. Für die Bestückung sollte man sich an die Vorgehensweise und Reihenfolge halten, wie es bei der ISA-POST-Code-Karte erläutert worden ist. Der Preis für die Bauelemente beläuft sich dabei auf ca. 20 € (ohne Pla- tine) und die Bezugsquellen sind, wie bereits erwähnt, auf der dem Buch beiliegenden CD angegeben. Die folgende Tabelle führt die notwendigen Bauelemente an, die auch für die Version mit PALs aus dem nächsten Kapitel gültig ist. Bild 16.21: Der Bestückungsplan für die PCI-POST-Code-Karte mit MC14495-Hex- Decoder Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. Kapitel 16 · POST-Code-Testkarten 597 Bezeichnung Wert Bauteil Digitale Bauelemente IC1 74LS688 8 Bit-Adressenvergleicher IC2 74ALS574 oder 74HC(T)574 Daten-Latch IC3, IC4 74LS30 oder besser 74F30 8-fach NAND-Gatter IC5, IC6 7474LS04 6-fach Hex-Inverter IC7 74LS74 2-fach Flip-Flop IC8 74LS08 4-fach AND-Gatter IC9, IC10 MC14495 oder PAL 16L8-15CN* Siebensegment-Treiber oder PAL* Widerstände R1 180 Widerstand R2 330 Widerstand R3, R4 1,2 k Widerstand R5-R18 270 (nur PAL-Version)* Widerstand Kondensatoren C1 47–100 µF Kondensator, Elko C2-C11 100 nF Keramik-Kondensator Optisches ANZeige1, ANZeige2 MAN74 oder DL304 oder DL704 Siebensegmentanzeige mit gemeinsamer Kathode D1-D4 LEDs, 3mm-Typ Leuchtdioden, Farben nach Wahl Mechanisches IC-Fassungen 8 x 14-polig, 2 x 16-polig, 2 x 20-polig (MC14495-Version) 8 x 14-polig, 4 x 20-polig (PAL-Version)* Stiftleisten 1 Leiste mit 2 x 8 Kontakten Jumper Kodierstecker 2-polig Tab. 16.6: Stückliste für die PCI-POST-Code-Karten (* für PAL-Version) Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. POST-Code-Karten für den PCI-Bus 598 0 magnum Für den Aufbau eigener Schaltungen gibt es auch PCI-Prototyp- bzw. - Adapterplatinen, die streng genommen zwar nicht den Vorschriften des PCI-Standards entsprechen, gleichwohl für den Aufbau einer nur am Bus »lauschenden« Karte mit einfachster Schaltungstechnik geeignet sind. In Bild 16.15 ist der Prototyp der ersten PCI-POST-Karte gezeigt, wo nur der PCI-Slot einer PCI-Adapterkarte verwendet wird (der Rest wurde abgesägt), der dann auf eine übliche Lochrasterplatine geschraubt wurde. Es ist natürlich auch denkbar, den PCI-Slotanschluss von einer defekten PCI-Karte abzusägen, und man kann dann hiermit genauso ver - fahren. 16.4.3 Hex-Decoder mit PALs Wie erläutert, werden sowohl auf der ISA- als auch auf der PCI-POST- Code-Karte Standardbauelemente verwendet, die in fast jedem Elektro - nik- und Versandgeschäft wie z.B. Conrad Elektronik oder auch Reichelt Elektronik recht preisgünstig zu erwerben sind. Einzig der Siebenseg - ment-Decoderbaustein MC14495, der für die hexadezimale Anzeige der POST-Codes notwendig ist, ist im Handel mitunter schwer zu beschaffen und wird laut dem Hersteller Motorola auch nicht mehr produziert. Derlei Abkündigungen von Bauelementen gibt es in letzter Zeit immer häufiger, wobei es keine Seltenheit ist, dass dieser oder jener Baustein plötzlich wieder in ausreichender Stückzahl verfügbar ist, wie es bei dem MC14495 nun schon seit mehreren Jahren der Fall ist. Entsprechende Alternativen, die auch die Zeichen A-F darstellen können, gibt es zwar – wie beispielsweise den Typ TIL311 der Firma Texas Instruments – gleich - wohl ist es um die Verfügbarkeit derartiger Hex-Decoder generell eher schlecht bestellt. Daher wurde eine Version der PCI-POST-Code-Karte entwickelt, die statt der beiden MC14495-Chips zwei PALs (Programmable Array Logic) ver - wendet. Diese Chips bilden nunmehr den entsprechenden Decoder nach und sind zudem auch noch preisgünstiger als die Motorola-Chips. Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. Kapitel 16 · POST-Code-Testkarten 599 Die zuvor erläuterte PCI-POST-Code-Karte wurde schaltungstechnisch gesehen daher nur geringfügig verändert, sodass bei gleicher Funktionali - tät statt der beiden Hex-Decoder zwei PALs vom Typ 16L8-15 (z.B. von Texas Instruments) verwendet werden. Der Nachteil ist allerdings, dass diese PALs erst als Siebensegment-Decoder programmiert werden müs - sen, wofür ein entsprechendes Programmiergerät (siehe auch Kapitel 13.6) benötigt wird. Bild 16.22: Der geänderte Schaltungsteil für die PAL-Version Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. POST-Code-Karten für den PCI-Bus 600 0 magnum Außerdem sind nun zusätzlich 14 Widerstände (R5–R18) für die Span- nungsbegrenzung notwendig, die bei der vorherigen Version im Hex- Treiber integriert sind. Das Listing für die Programmierung der beiden PALs ist im Folgenden angegeben, die mit diesem Inhalt auch für andere Zwecke als Siebensegmenttreiber eingesetzt werden könnten. Das File ist ebenfalls auf der CD zu finden. PAL-Listing: TITLE 7SEG1 PATTERN 7SEG1 REVISION 1.0 AUTHOR KLAUS DEMBOWSKI COMPANY TUHH-HLT DATE 12.9.2000 CHIP GATES PAL16L8 ;PIN 1 2 3 4 5 6 7 8 9 10 NC NC NC NC AE BE CE DE NC GND ;PIN 11 12 13 14 15 16 17 18 19 20 NC NC G F E A B C D VCC Bild 16.23: Der Bestückungsplan für die PCI-POST-Code-Karte mit PALs Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. . Adressphase und High in der Datenphase. Nur bei einem Burst-Zyklus bleibt FRAME auch in der Datenphase (DATA-1, DATA- 2) auf Low-Pegel. Please purchase PDF Split-Merge on www.verypdf.com to. HP1662 Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. Kapitel 16 · POST-Code-Testkarten 595 gleiche Prinzip wie bei der ISA-POST-Code-Karte gilt und hier auch die gleiche. Bild 16.20: Das Detektieren der Adressen- und der Dateninformation sowie das Setzen des Flip-Flops (Q74) Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark. POST-Code-Karten