3. Das LPC-Interface
Transcription
3. Das LPC-Interface
PCTEC14 Seite 1 3. Das LPC-Interface 3.1. Grundlagen 3.1.1. Einsatzgebiet LPC = Low Pin Count Interface Specification (= “Interface mit geringer Anschlußzahl”). Das LPC-Interface ist ein synchroner Zeitmultiplex-Bus, an den vorzugsweise PC-typische “Standard- und Klein-Peripherie” angeschlossen werden soll. Das betrifft Floppy-Disk-Controller, Tastatur-Controller, Realzeituhr, Schnittstellen-Controller, Audio-Hardware, Systemverwaltungseinrichtungen usw. sowie ROM-Speicheranordnungen (für POST, BIOS, Systemverwaltung usw.). LPC ist ein Interface zwischen Schaltkreisen auf jeweils einer einzigen Leiterplatte (vorzugsweise: auf einem PC-Motherboard); Steckplätze (Slots) sind nicht vorgesehen. LPC soll den bisher als Schaltkreis-Interface verwendeten ISA- bzw. X-Bus ablösen (Abbildungen 3.1 bis 3.3). Die LPC-Spezifikation wurde von Intel entwickelt und 1997 erstmals veröffentlicht (sie ist im Internet zugänglich). Die Entwicklungsziele: # # # # # # # # etwas Moderneres als den ISA- oder X-Bus, beträchtliche Verringerung der Leitungs- und Anschlußzahlen (Kostensenkung), funktionelle Abwärtskompatibilität zum ISA- bzw. X-Bus (LPC soll dieselben Zugriffe ausführen können: Speicherzugriffe, E-A-Zugriffe, DMA-Betrieb, Busmasterbetrieb, Unterstützung von Wartezuständen, Interruptsignalisierung), Unterstützung des gesamten linearen Speicheradreßraums (4 GBytes), Unterstützung von Sonderfunktionen und -betriebsarten (Stromsparsteuerung, Systemverwaltung), synchrone Arbeitsweise, Datenraten und Latenzzeiten in derselben Größenordnung wie beim ISA- bzw. X-Bus (LPC muß nicht “schneller” sein; eine Datenrate von 1...2 MBytes/s genügt vollkommen), Unterstützung weiterer (moderner) Bussysteme (z. B. USB) ist nicht erforderlich (an ein LPC-Interface werden grundsätzlich keine USB-Controller o. dergl. angeschlossen). Abbildung 3.1 Herkömmliches Motherboard mit X-Bus (nach: Intel) Erklärung: Die in der Abbildung dargestellten Speicher- und E-A-Schaltkreise werden herkömmlicherweise direkt an den ISABus oder an den X-Bus angeschlossen. Der X-Bus ist praktisch ein abgezweigter ISA-Bus mit folgenden Merkmalen: # # # # # Datenwegbreite: 8 Bits, Adresse: bis zu 24 Bits (16-MByte-Speicheradreßraum), Funktionsweise: wie ISA (bei Beschränkung auf 8-Bit-Zugriffe), maximale Datenrate: knapp über 1 MBytes/s, keine Steckkarten-Slots; alle am X-Bus angeschlossenen Einrichtungen sind fest auf dem Motherboard angeordnet. Hinweis: Zum Anschluß der Peripherie auf dem Motherboard vgl. auch Abbildung 1.37. Der X-Bus ist an sich kein “echter” Standard, sondern eine (für die Intel-Schaltkreissätze typische) “Anschluß-Philosophie”. Der Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 2 Koppelschaltkreis (82371 PCI ISA IDE Xcelerator PIIX) hat keinen kompletten X-Bus-Anschluß; er enthält lediglich Unterstützungsschaltungen (X-Bus Support Logic), die es ermöglichen, vom ISA-Bus die X-Bus-Signale abzuzweigen (und - falls notwendig - über Treiberschaltkreise zu führen). Diese Unterstützungsschaltungen enthalten u. a. Adreßdecoder, die “fertige” Auswahlsignale (Chip Enables) für den Tastaturcontroller, die Realzeituhr, den BIOS-ROM usw. bereitstellen. Implementierungsbeispiel In einer typischen Ausführung umfaßt der X-Bus folgende - vom ISA-Bus her bekannten - Signale: # # # # Daten: D7...0, Adresse: SA15...0 (Beschränkung auf den E-A-Adreßraum), Steuersignale: IOR# (Lesen), IOW# (Schreiben), IOCHRDY (Wartezustand), DMA: DREQ3...0, DACK3#...0#, TC. Abbildung 3.2 Motherboard mit LPC-Interface (Ausschnitt) Erklärung: LPC ersetzt den X-Bus durch ein “mehr serielles” synchrones Interface. Hierdurch wird eine beträchtliche Anzahl von Signalleitungen eingespart (Tabelle 3.1). Die Vorteile: # # es wird weniger Platz auf dem Motherboard belegt, es ist möglich, E-A-Schaltkreise in kleinere Gehäuse einzubauen. Interface Anzahl der Signalleitungen einfacher X-Bus (nur E-A-Zugriffe)*) 36 voll ausgebauter ISA-Bus, 8 Bits 54 voll ausgebauter ISA-Bus, 16 Bits 88 LPC, einfachste Auslegung 7 (6 + Bustakt) LPC mit allen wahlfreien Signalen *): gemäß obigem Implementierungsbeispiel 13 (12 + Bustakt) Tabelle 3.1 Signalleitungen verschiedener Motherboard-Interfaces Abbildung 3.3 Das LPC-Interface im System (Intel) Erklärung: Die Abbildung veranschaulicht anhand eines sehr allgemeinen Blockschaltbildes, wie LPC in das System eingeordnet ist. # # # Host: hier die Gesamtheit der Steuerschaltkreise (Zusammenfassung der Host-to-PCI- und der PCI-toLPC Bridges). Das LPC-Interface wird zentral vom Host gesteuert (genauer gesagt: von dem Schaltkreis, der die PCI-to-LPC Bridge enthält). Super I/O: Beispiel eines E-A-Schaltkreises, der an das LPC-Interface angeschlossen ist (KBC = Tastaturcontroller, SP = serielle Schnittstelle, PP = parallele Schnittstelle, FDC = Floppy-DiskController). ISA: das System kann (wahlweise) nach wie vor einen ISA-Bus enthalten. Dieser wird aber von einer PCIto-ISA-Bridge angesteuert und ist nicht direkt mit dem LPC-Interface verbunden (beide PCI-Brücken (zu Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 3 LPC und ISA) sind typischerweise in einem Schaltkreis (PIIX; vgl. Abbildung 1.37) zusammengefaßt. Wie der ISA- bzw. X-Bus ist LPC ein Interface, das meistens unter zentraler Steuerung zu einfachen Lese- und Schreibzugriffen auf einzelne Bytes im E-A- oder Speicheradreßraum verwendet wird. Die zentralen Steuerschaltungen (PCI-to-LPC Bridge) sind hierbei der Busmaster, die angeschlossenen Einrichtungen die Targets. Darüber hinaus werden aber auch DMA- und Busmaster-Zugriffe unterstützt (und zwar mit Zugriffsbreiten von 1, 2 oder 4 Datenbytes je Buszyklus). Hinweis: Die Begriffsbildungen (Master, Target usw.) entsprechen jenen des PCI-Bus (vgl. Abschnitt 1.1.1.). Adressen: # # bei Speicherzugriffen: 32 Bits, bei E-A-Zugriffen: 16 Bits. Tabelle 3.2 gibt einen Überblick über die verschiedenen Einrichtungen, die an ein LPC-Interface angeschlossen werden können. Zugriffe Einrichtung E-A-Adreßraum Speicheradreßraum DMA-Betrieb Busmasterbetrieb Tastaturcontroller1) ja - - - serielle Schnittstelle1) ja - - - parallele Schnittstelle1) ja - ja2) ja2), 3) IrDA-Schnittstelle1) ja - ja2) ja2) Audio-Hardware ja - ja2) ja2) Realzeituhr ja - - - Floppy-Disk-Controller1) ja - ja - Systemverwaltungssteuerung ja - - ja Speicher (einschließlich BIOS-ROM) - ja - - 1): typischerweise in einem Schaltkreis zusammengefaßt (Super bzw. Ultra I/O); 2): DMA- oder Busmasterbetrieb je nach Auslegung des Steuerschaltkreises; 3): in den Betriebsarten ECP oder EPP gemäß IEEE 1284 Tabelle 3.2 Anschließbare Einrichtungen (Auswahl) Konfigurationssteuerung Hierzu ist nichts spezifiziert. Die LPC-Einrichtungen müssen vom BIOS konfiguriert werden. Erforderlichenfalls sind Konfigurationsregister vorzusehen, die über den Plattform-E-A-Adreßbereich (Adressen 00H...FFH) Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 4 zugänglich sind. 3.1.2. Übersicht über die LPC-Signale LPC ist ein zentral gesteuertes synchrones Bussystem mit zeitmultiplexer Übertragung von Adressen, Kommandos und Daten über einen 4-Bit-Signalweg. Seine Wirkprinzipien beruhen auf jenen des PCI-Bus. Es arbeitet mit dem gleichen Bustakt (33 MHz). Die Grundausstattung umfaßt nur 7 Signale*), die bedarfsweise um weitere Signale ergänzt werden können (Abbildung 3.4, Tabellen 3.3, 3.4). *): einschließlich Bustakt. Abbildung 3.4 Die LPC-Signale. a) obligatorische, b) wahlfreie Signale Signaltyp2) Signal 1) Erklärung LAD3...0 bidirektional (Busleitungen) LFRAME# Eingang Zyklussteuersignal. Kennzeichnet Beginn eines Buszyklus (ähnlich FRAME# beim PCI-Bus) LRST#3) Eingang Rücksetzen (wie RST# beim PCI-Bus) LCLK Eingang Bustakt (33 MHz; wie CLK beim PCI-Bus) Multiplexed Command, Address and Data. 4-Bit-Signalweg zur zeitmultiplexen Übertragung von Kommandos, Adressen und Daten #: Signal wirkt aktiv Low; 1): Bezeichnung gemäß Intel: LAD[3:0] - wie in der PCI-Dokumentation (wir verwenden die vereinfachte Darstellung gemäß Kapitel 1); 2): aus Sicht der angeschlossenen Einrichtungen; 3): andere Bezeichnung: LRESET# Tabelle 3.3 Obligatorische Signale des LPC-Interfaces Signal Signaltyp*) LDRQ# Ausgang; Einzelsignal SERIRQ bidirektional; OD-Busleitung Serialized IRQ. Dient zur seriellen Übertragung von Interrupt-Anforderungen CLKRUN# bidirektional; ODBusleitung Clock Run. Wirkt wie das gleichnamige PCI-Signal. Steuert das Anhalten des Bustaktes PME# Ausgang; OD-Busleitung LPCPD# Eingang LSMI# Ausgang; OD-Busleitung Erklärung Encoded DMA/Bus Master Request. Anforderungssignal für DMA- oder Busmaster-Anforderungen Power Management Event. Wirkt wie das gleichnamige PCI-Signal. Dient zum Signalisieren von Stromsparereignissen Power Down. Kennzeichnet ein bevorstehendes Ausschalten System Management Interrupt. Zum Auslösen entsprechender Anforderungen #: Signal wirkt aktiv Low; OD = Open Drain (wie beim PCI-Bus; vgl. Abschnitt 1.2.1.); *): aus Sicht der angeschlossenen Einrichtungen Tabelle 3.4 Wahlfreie Signale des LPC-Interfaces (jeweils nur vorzusehen, wenn benötigt) 3.1.3. Elektrische Auslegung Die elektrische Auslegung entspricht jener des PCI-Bus (vgl. Abschnitte 1.1. und 1.2.). Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 5 Hinweise: 1. 2. 3. 4. Vorzugsweise Auslegung: 3,3 V. Die Pegel des Takt- und des Rücksetzsignals (LCLK, LRST#) entsprechen typischerweise jenen des im System vorhandenen PCI-Bus (5 V bzw. 3,3 V). In einer 5-V-PCI-Umgebung müssen LPC-Einrichtungen bei 3,3-V-Betrieb 5-V-tolerante Eingänge für LCLK und LRST# haben. Zu weiteren Einzelheiten siehe Abschnitt 3.2. 3.1.4. Mechanische Auslegung LPC ist ein reines Schaltkreis- bzw. Motherboard-Interface. Es gibt keine Slots und demzufolge auch keine standardisierten Anschlußbelegungen. Die Anforderungen an Leitungslängen, Leiterzugführung usw. entsprechen jenen des PCI-Bus. 3.2. Einzelbeschreibung der Signale 3.2.1. LCLK: Bustakt LPC ist ein synchrones Bussystem. Alle anderen Bussignale mit Ausnahme von LRST# werden auf die Low-HighFlanke des Bustaktes LCLK bezogen. Signaltyp: Eingang. Taktfrequenz (Richtwert): 33 MHz. LCLK wird von einem zentralen Taktgenerator erzeugt. Es entspricht dem Taktsignal CLK des PCI-Bus (vgl. Abschnitt 1.2.2.). 3.2.2. LRST#: Rücksetzen Über die Leitung LRST# wird allen Einrichtungen am LPC-Interface ein Rücksetzsignal zugeführt. Signaltyp: Eingang. LRST# wird von den zentralen Steuerschaltungen erregt. Es entspricht dem Rücksetzsignal RST# des PCI-Bus (vgl. Abschnitt 1.2.3.). Rücksetzwirkung Alle Signale werden in ihren inaktiven Zustand versetzt bzw. nicht ausgewertet (Tabelle 3.5). Rücksetzwirkung in den zentralen Steuerschaltungen Lokale Bussysteme in den Einrichtungen Kapitel 3: Das LPC-Interface PCTEC14 P P Seite LFRAME# wird auf High-Pegel getrieben, LAD3...0 werden hochohmig geschaltet*), 6 P LFRAME# wird ignoriert, P LAD3...0 werden hochohmig geschaltet*), P die LDRQ-Signale werden auf HighP die LDRQ-Signale werden ignoriert Pegel getrieben *): die Signale werden über ihre Pull-up-Widerstände nach High gezogen Tabelle 3.5 Rücksetzwirkungen am LPC-Interface 3.2.3. Adressen, Kommandos, Daten: LAD3...0 Diese 4 Signale werden zeitmultiplex zum Übertragen von Adressen, Zugriffskommandos, weiteren Steuerangaben und Daten verwendet. In einem laufenden Buszyklus hat in jedem Takt die Belegung von LAD3...0 eine bestimmte Bedeutung. Die verschiedenen Belegungen werden in Abschnitt 3.3.2. näher erklärt. Signaltyp: Tri-State-Busleitung, bidirektional. Mit hochohmigem Pull-up-Widerstand beschaltet (Richtwert: 100 kS). 3.2.4. Zyklussteuerung: LFRAME# Das Signal kennzeichnet den Beginn bzw. den Abbruch eines Buszyklus. Signaltyp: Eingang. LFRAME# wird von den zentralen Steuerschaltungen erregt. Die Einrichtungen beobachten LFRAME#, um zu erkennen, wann ein Buszyklus gestartet wird. (Befindet sich der Bus in Ruhe, so können die Einrichtungen intern in einen Stromsparzustand übergehen. Dieser ist zu verlassen, sobald LFRAME# aktiv ist.) Ist LFRAME# aktiv, so müssen die Einrichtungen LAD3...0 im nächsten Takt hochohmig schalten. 3.2.5. Wahlfreie Signale 3.2.5.1. DMA- oder Busmaster-Anforderungen: LDRQ# LDRQ# dient zum bitseriellen Übertragen von DMA- und Busmaster-Anforderungen. Jede Einrichtung, die solche Anforderungen stellen kann, erregt ein eigenes LDRQ-Signal. DMA- oder Busmaster-Anforderungen werden mit kennzeichnenden Bitfolgen signalisiert. Die zentralen Steuerschaltungen müssen für jede entsprechende Einrichtung einen LDRQ-Eingang (und die zugehörigen Auswerteschaltungen) haben. Ungenutzte LDRQEingänge sind typischerweise mit einem Pull-up-Widerstand (Richtwert: 100 kS) beschaltet. Signaltyp: Ausgang. 3.2.5.2. Interruptsignalisierung: SERIRQ SERIRQ dient zum bitseriellen Übertragen von Interrupt-Anforderungen. Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 7 Signaltyp: # # *): für die zentralen Steuerschaltungen: Tri-State-Busleitung mit Pull-up-Widerstand, bidirektional (Signal läßt sich auf Low, auf High oder hochohmig schalten)*), für die anderen Einrichtungen: Open-Drain-Ausgang + Eingang (Ziehen nach Low, “Zurücklesen” der Belegung). Signaltyp ähnlich CLKRUN#. Weitere Einzelheiten in Abschnitt 3.3.7. Anstelle der seriellen Interruptsignalisierung können unabhängige Einzelsignale (IRQ-Signale) vorgesehen sein (herkömmliche Interruptsignalisierung). 3.2.5.3. Taktsteuerung: CLKRUN# Dieses Signal dient der Taktsteuerung (d. d. dem Anhalten und Starten des Taktes), insbesondere in mobilen Systemen. Es entspricht dem CLKRUN-Signal des PCI-Bus. Signaltyp: # # für die zentralen Steuerschaltungen: Tri-State-Busleitung mit Pull-up-Widerstand, bidirektional (STS), für die anderen Einrichtungen: Open-Drain-Ausgang + Eingang (zum “Zurücklesen” der Belegung). Hinweise: 1. 2. 3. Eine Einrichtung, die über LDRQ# eine DMA- oder Busmaster-Anforderung stellen möchte, benötigt hierzu einen laufenden Takt. Sie muß deshalb ggf. über CLKRUN# das Starten des Taktes veranlassen. Wird gerade über LDRQ# eine DMA- oder Busmaster-Anforderung signalisiert, darf der Takt nicht angehalten werden (die zentralen Steuerschaltungen dürfen also CLKRUN# nicht deaktivieren). Zu Einzelheiten siehe Abschnitte 1.2.16. und 1.6.5. 3.2.5.4. Stromspar-Ereignissignalisierung: PME# Mit diesem Signal können LPC-Einrichtungen ein Stromsparereignis (Power Management Event) anfordern. Es entspricht dem PME-Signal des PCI-Bus. Signaltyp: Open-Drain-Busleitung mit Pull-up-Widerstand, die von jeder Einrichtung erregt werden kann (Ausgang). Auswertung: durch die zentralen Steuerschaltungen. Siehe auch Abschnitt 1.6.5. Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 8 3.2.5.5. Ausschaltanzeige: LPCPD# Dieses Signal dient dazu, den Einrichtungen anzukündigen, daß ein Übergang zwischen ein-. und ausgeschaltetem Zustand bevorsteht. Signaltyp: Eingang. Wird von den zentralen Steuerschaltungen typischerweise mit 3,3-V-Signalpegel belegt. # # LPCPD# = Low: kennzeichnet ein bevorstehendes Ausschalten, LPCPD# = High: Einrichtung eingeschaltet. Weitere Einzelheiten in Abschnitt 3.3.8. 3.2.5.6. Systemverwaltungs-Interrupt: LSMI# Dieses Signal dient zum Auslösen von Systemverwaltungs-Interrupts. Mehrere Einrichtungen können LSMI# gleichzeitig erregen. Signaltyp: Open-Drain-Busleitung mit Pull-up-Widerstand, die von jeder Einrichtung erregt werden kann (Ausgang). Auswertung: durch die zentralen Steuerschaltungen. Die Aktivierung von LSMI# bewirkt im Prozessor einen Übergang in den Systemverwaltungszustand (System Management Mode). In dieser Betriebsart werden Programme der Systemverwaltung und Stromsparsteuerung ausgeführt, und zwar vollkommen transparent gegenüber der üblichen System- und Anwendungssoftware. 3.3. Buszyklen und Signalfolgen 3.3.1. Übersicht Kennzeichnend für LPC ist eine “seriell-parallele” Übertragung von Adressen, Zugriffskommandos, Steuerangaben und Daten in 4 Bits breiten Abschnitten. Es gibt verschiedene Arten von Buszyklen (Tabelle 3.6). zentrale Steuerschaltungen*) sind Busmaster Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite Buszyklus 9 unterstützte Übertragungsbreiten Speicher Lesen 1 Byte Speicher Schreiben 1 Byte Eingabe (E-A Lesen) 1 Byte Ausgabe (E-A Schreiben) 1 Byte DMA Lesen 1, 2 oder 4 Bytes DMA Schreiben 1, 2 oder 4 Bytes Einrichtung ist Busmaster Buszyklus unterstützte Übertragungsbreiten Speicher Lesen 1, 2 oder 4 Bytes Speicher Schreiben 1, 2 oder 4 Bytes Eingabe (E-A Lesen) 1, 2 oder 4 Bytes Ausgabe (E-A Schreiben) 1, 2 oder 4 Bytes *): × “Host” bzw. PCI-to-LPC Bridge Tabelle 3.6 Buszyklen des LPC-Interfaces Hinweise: 1. 2. 3. 4. Die zentralen Steuerschaltungen unterstützen typischerweise alle Zyklen. Die Auslegung der einzelnen Einrichtungen ist eine Frage der Zweckmäßigkeit (und dem Entwickler freigestellt). Eine Einrichtung sollte nur Busmaster-Zyklen ausführen, die von den zentralen Steuerschaltungen auch unterstützt werden. Wird eine Einrichtung mit einem Buszyklus angesprochen, den sie nicht unterstützt, so muß sie diesen Buszyklus ignorieren. 3.3.2. Der Ablauf eines Buszyklus Der Beginn eines Buszyklus wird durch Aktivieren von LFRAME# angezeigt. In jedem Takt des Buszyklus hat die jeweilige Belegung der LAD-Leitungen eine bestimmte Bedeutung (Abbildung 3.5). Abbildung 3.5 LPC-Buszyklen (Intel). Beispiele für Lesezugriffe. a) mit normaler, b) mit erweiterter LFRAME*) Aktivierung (Extended LFRAME# Timing) Erklärung: Die Abbildung zeigt einfache Leseabläufe unter Vernachlässigung von Einzelheiten. Es wird jeweils 1 Byte gelesen. 1) 2) jeder Buszyklus beginnt mit aktivem LFRAME# und einer Start-Belegung, mit dem darauffolgenden Takt wird das Zugriffskommando übertragen (CYCTYPE = Typ des Buszyklus), Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 3) 4) 5) 6) 7) 8) *): Seite 10 die Adresse wird übertragen. Je nach Länge der Adresse werden hierfür 4 oder 8 Takte benötigt, Busumschaltung (TAR = Turnaround). Beim Lesen muß der Master zunächst den Bus auf das Target umzuschalten, damit dieses die Daten liefern kann. Jede Umschaltung dauert 2 Takte. Synchronisation (SYNC). Dient entweder zum Anzeigen, daß der Buszyklus fortgesetzt werden kann, zum Einfügen von Wartezuständen oder zur Fehlersignalisierung. (Gibt es keinen Wartezustand, wird nur eine einzige SYNC-Belegung übertragen.) Datenübertragung. Um ein Byte zu übertragen, werden 2 Takte benötigt. abschließende Busumschaltung (2 Takte). Das Target muß den Bus wieder auf den Master umschalten (so daß dieser den nächsten Buszyklus starten kann). früheste Gelegenheit zum Starten des nächsten Buszyklus. LFRAME# darf für mehr als einen Taktzyklus aktiv sein. Maßgebend für die Einrichtungen ist die Startbelegung während des jeweils letzten Taktzyklus. Jeder Buszyklus läuft als Folge solcher Busbelegungen ab. Es gibt folgende Busbelegungen: # # # # # # # # Startbelegung (START), Zugriffskommando (CYCTYPE + DIR), Zugriffsbreite (SIZE), Adresse (ADDR), DMA-Kanal (CHANNEL), Busumschaltung (TAR), Daten (DATA), Synchronisation (SYNC). Im folgenden erklären wir zunächst die einzelnen Busbelegungen. Die verschiedenen Buszyklen stellen praktisch fest formatierte Aneinanderreihungen solcher Busbelegungen dar*). Diese werden (von Abschnitt 3.3.4. an) in Tabellenform beschrieben. *): die LPC-Einrichtungen enthalten - ähnlich wie die PCI-Einrichtungen - State Machines, die den Bus beobachten und gleichsam die Taktzyklen mitzählen. Bei LPC sind aber die State Machines wesentlich einfacher als bei PCI. Man kann deren Funktionsweise mit einem Schrittschaltwerk vergleichen: nach dem Start kommt das Zugriffskommando, daraus folgt, welche Belegung als nächstes zu erwarten ist (z. B. bei E-A-Zugriffen - eine 16-Bit-Adresse) usw. Startbelegung (START) Als Startbelegung gilt die Belegung der LAD-Leitungen während des jeweils letzten (bzw. einzigen) Taktzyklus, in dem LFRAME# aktiv ist (Tabelle 3.7). LAD3...0 0H Lokale Bussysteme Bedeutung Start eines Buszyklus für eine (Target-) Einrichtung1) Kapitel 3: Das LPC-Interface PCTEC14 Seite 1H reserviert 2H Bestätigung für Busmaster Nr. 02) 3H Bestätigung für Busmaster Nr. 12) 4H...EH 11 reserviert3) FH Buszyklus anhalten/abbrechen (Stop/Abort)4) 1)...5): siehe Erklärung im Text Tabelle 3.7 Startbelegungen Erklärung: 1) 2) 3) 4) Master ist die PCI-to-LPC Bridge, derzeit werden 2 Busmaster-Einrichtungen unterstützt (Abschnitt 3.3.6.), mögliche Nutzung: als Bestätigungs-Code für weitere Busmaster-Einrichtungen, siehe Abschnitt 3.3.3. Zugriffskommando (CYCTYPE + DIR) Die LAD-Belegung beschreibt den Typ des Buszyklus (CYCTYPE) und die Übertragungsrichtung (DIR; Tabellen 3.8, 3.9). LAD3...0 3 2 Typ des Buszyklus: 1 0 Übertragungsrichtung: reserviert1) P 0H: E-A-Zugriff, P 0: Lesen, P 1H: Speicherzugriff, P 1: Schreiben P 2H: DMA-Zugriff, P 3H: reserviert2) 1), 2): siehe Erklärung im Text Tabelle 3.8 Zugriffskommandos (1): Format der LAD-Belegung Erklärung: 1) 2) Bit ist vom jeweiligen Master auf Low zu treiben und vom jeweiligen Target zu ignorieren, Belegung darf nicht verwendet werden. Erkennt eine Einrichtung (als Target) diese Belegung, muß sie den gesamten Buszyklus ignorieren. Legt eine Einrichtung (als Master) diese Belegung auf den Bus, beenden die zentralen Steuerschaltungen den Buszyklus, indem sie LFRAME# aktivieren. LAD3...0*) 0H Lokale Bussysteme Bedeutung Eingabe (E-A Lesen) Kapitel 3: Das LPC-Interface PCTEC14 Seite 2H Ausgabe (E-A Schreiben) 4H Speicher Lesen 6H Speicher Schreiben 8H DMA Lesen 12 AH DMA Schreiben *): Bit LAD0 zu Null angenommen (vgl. obige Erklärung 1) Tabelle 3.9 Zugriffskommandos (2): Übersicht Zugriffsbreite (SIZE) Diese Belegung ist in Speicher- und DMA-Zyklen vorgesehen, um die Anzahl der zu übertragenden Bytes anzuzeigen (Tabelle 3.10). LAD3...0 Bedeutung 0H 1 Byte 1H 2 Bytes 2H reserviert*) 3H 4 Bytes *): siehe folgenden Hinweis 1 Tabelle 3.10 Codierung der Zugriffsbreite Hinweise: 1. 2. Die Belegungen 2H und 4H...FH sind reserviert. Sie dürfen nicht verwendet werden. Erkennt eine Einrichtung (als Target) eine solche Belegung, muß sie den gesamten Buszyklus ignorieren. Legt eine Einrichtung (als Master) eine solche Belegung auf den Bus, beenden die zentralen Steuerschaltungen den Buszyklus, indem sie LFRAME# aktivieren. E-A-Zugriffe betreffen stets nur 1 Datenbyte. Deshalb wird die Zugriffsbreite nicht übertragen. Adresse (ADDR) Die Adresse ist bei Speicherzugriffen 32 Bits und bei E-A-Zugriffen 16 Bits lang. Demzufolge erfordert die Adreßübertragung 8 bzw. 4 Taktzyklen. Es wird der höchstwertige 4-Bit-Abschnitt zuerst übertragen (bei Speicherzugriffen: Bits 31...28, bei E-A-Zugriffen: Bits 15...12). In DMA-Zyklen entfällt die Adreßübertragung. Adreßdecodierung Alle Einrichtungen beobachten den Bus, verfolgen die Buszustände und decodieren ggf. die Adresse (wie bei den anderen Bussystemen (z. B. PCI) auch müssen jeder Einrichtung bestimmte Adreßbereiche zugeordnet sein). Erkennt eine Einrichtung, daß die angebotene Adresse ihren Bereich (im jeweiligen Adreßraum) betrifft, so beteiligt sie sich als Target am weiteren Verlauf des Buszyklus. Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 13 In DMA-Zyklen “erkennt sich” eine Einrichtung als Target anhand der Nummer des DMA-Kanals. DMA-Kanal (CHANNEL) In DMA-Zyklen wird diese Belegung (anstelle der Adresse) von den zentralen Steuerschaltungen auf den Bus gelegt (Tabelle 3.11). LAD3...0 3 2 0 TC (Terminal Count)*) Nummer des DMA-Kanals (7...0) *): Längenzähler im DMA-Kanal auf Zählwert Null (= Ende der DMA-Übertragung) Tabelle 3.11 Angabe des DMA-Kanals Busumschaltung (Turnaround; TAR) Jede Busumschaltung erfordert zwei Takte: mit dem ersten Takt werden LAD3...0 auf High getrieben, mit dem zweiten hochohmig geschaltet (sie werden dann ggf. durch die Pull-up-Widerstände weiterhin auf High gehalten)*). *): vgl. “Sustained Tri State” beim PCI-Bus (Abschnitt 1.2.1.). Daten (DATA) In einem Buszyklus können 1, 2 oder 4 Datenbytes übertragen werden*). Es wird jeweils der niedrigstwertige 4Bit-Abschnitt zuerst übertragen (1. Takt: Bits 3..0, 2. Takt: Bits 4...7). Bei größeren Zugriffsbreiten wird zuerst Byte 0 übertragen (Bits 7...0), dann Byte 1 (Bits 15...8) usw. Hierbei werden zwischen die einzelnen Datenbytes Busumschaltungen und Synchronisationsbelegungen eingefügt *): 2 oder 4 Bytes nur in Speicher- und DMA-Zyklen. Die Übertragungsbreite wird hierbei gesondert mitgeteilt (vgl. Tabelle 3.10). Synchronisation (SYNC) Diese Belegung (SYNC) wird vom jeweiligen Target*) auf dem Bus gelegt. Hiermit zeigt das Target an, daß der Buszyklus fortgesetzt werden kann, daß Wartezustände einzufügen sind oder daß ein Fehler aufgetreten ist (Tabelle 3.12). *): im Normalfall: die jeweilige Einrichtung, bei Busmasterbetrieb: die zentralen Steuerschaltungen. LAD3...0 0H Bedeutung Zyklus fortsetzen (Ready). Kein Wartezustand. In DMA-Zyklen auch: keine weitere DMAAnforderung Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 1H...4H Seite reserviert 5H Wartezustand, kurz (Short Wait) 6H Wartezustand, kann lange dauern (Long Wait) 7H, 8H 14 reserviert 9H nur in DMA-Zyklen: Zyklus fortsetzen. Es stehen aber weitere DMA-Anforderungen an (Ready More) AH Fehleranzeige (Error) BH...FH reserviert Tabelle 3.12 Synchronisation (SYNC) Buszyklus ohne Wartezustand Es wird sofort eine SYNC-Belegung 0H (in DMA-Zyklen ggf. 9H) auf den Bus gelegt. Einfügen kurzer Wartezustände Dauert der Wartezustand nur wenige (maximal 8) Taktzyklen, so wird zunächst eine SYNC-Belegung 5H auf den Bus gelegt und so lange gehalten, wie der Wartezustand besteht. Aufheben des Wartezustandes: durch eine nachfolgende SYNC-Belegung 0H (in DMA-Zyklen ggf. 9H). Einfügen langer Wartezustände Dauert der Wartezustand vergleichsweise lange, so wird zunächst eine SYNC-Belegung 6H auf den Bus gelegt und so lange gehalten, wie der Wartezustand besteht. Aufheben des Wartezustandes: durch eine nachfolgende SYNCBelegung 0H (in DMA-Zyklen ggf. 9H). Zeitkontrollen: # # # sehen die zentralen Steuerschaltungen innerhalb von 3 Taktzyklen gar keine gültige SYNC-Belegung, so können sie den Buszyklus abbrechen (Abschnitt 3.3.3.), liegt ein kurzer Wartezustand (SYNC-Belegung 5H) für mehr als 8 Taktzyklen an, so können die zentralen Steuerschaltungen den Buszyklus abbrechen, die Dauer eines langen Wartezustandes (SYNC-Belegung 6H) wird nicht überwacht. Einfügen der SYNC-Belegungen: # # beim Schreiben: nach der Datenübertragung. Hierzu sind 2 Busumschaltungen erforderlich (Folge TAR 6 SYNC 6 TAR). beim Lesen: vor der Datenübertragung (keine besondere Busumschaltung erforderlich: SYNC hat dieselbe Übertragungsrichtung wie die Lesedaten). Fehlersignalisierung Hat die Target-Einrichtung einen Fehler festgestellt, so legt sie die SYNC-Belegung AH auf den Bus. Daraufhin wird der Buszyklus abgebrochen. (Handelt es sich um einen Lesezugriff, so wird das unmittelbar folgende Datenbyte noch gelesen.) Die weitere Fehlersignalisierung ist dem Systementwickler freigestellt. (Es kann z. B. das ISA-Fehlersignal IOCHK# oder das PCI-Fehlersignal SERR# erregt werden. Beides bewirkt typischerweise ein NMI im Prozessor also eine recht “harte” Fehler-Reaktion. Vgl. auch Abschnitt 1.3.10.) Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 15 3.3.3. Abbrechen von Buszyklen Um einen laufenden Buszyklus abzubrechen, erregen die zentralen Steuerschaltungen LFRAME# (Abbildung 3.6) Abbildung 3.6 Abbrechen eines Buszyklus. Ablaufbeispiel (Intel) Erklärung: Im Ablaufbeispiel wird ein laufender Lesezugriff wegen Zeitüberschreitung (zuviele SYNC-Belegungen 5H) abgebrochen. Das Abbrechen ist Angelegenheit der zentralen Steuerschaltungen. 1) 2) 3) 4) LFRAME# muß über wenigstens 4 Taktzyklen hinweg aktiv gehalten werden, daraufhin muß die betroffene Einrichtung ggf. LAD3...0 hochohmig schalten (d. h., die Einrichtung darf diese Signale nicht mehr treiben), spätestens mit dem 4. Takt müssen die zentralen Steuerschaltungen LAD3...0 auf FH (High) treiben (Abbruchbelegung; vgl. Tabelle 3.7), nach dem Abbruch muß LFRAME# wenigstens 1 Taktzyklus lang inaktiv sein. Hinweise: 1. 2. Ein Buszyklus kann auch vor dem Eintreffen einer SYNC-Belegung abgebrochen werden. Das Abbrechen beeinflußt nicht die DMA- oder Busmaster-Anforderungen über die LDRQ-Leitungen. 3.3.4. Einfache Speicher- und E-A-Zugriffe In diesen Zugriffen wirken die zentralen Steuerschaltungen (Host) als Busmaster. In jedem Buszyklus wird nur ein einziges Datenbyte übertragen (Tabellen 3.13, 3.14). Takte Belegung Bus getrieben von E-A-Zugriff Speicherzugriff Start (0H) 1 1 Zugriffskommando (2H1), 6H2)) 1 1 4 8 Datenbyte 2 2 Busumschaltung 2 Adresse (16 oder 32 Bits) Host 2 3) 1+W 1 + W3) 2 2 Taktzyklen je Buszyklus 13 + W3) 17 + W3) maximale Datenrate4) 2,5 MBytes/s 1,9 MBytes/s Synchronisation (0H, 5H, 6H) Target Busumschaltung 1)...4): siehe Erklärung im Anschluß an Tabelle 3.14 Tabelle 3.13 Einfache Schreibzugriffe Belegung Start (0H) Lokale Bussysteme Bus getrieben von Host Takte E-A-Zugriff Speicherzugriff 1 1 Kapitel 3: Das LPC-Interface PCTEC14 Seite 16 Zugriffskommando (0H5), 4H6)) 1 1 Adresse (16 oder 32 Bits) 4 8 Busumschaltung 2 2 3) 1+W 5 (1 + W3)) 2 2 2 2 Taktzyklen je Buszyklus 13 + W3), 8) 219) maximale Datenrate4) 2,5 MBytes/s 1,5 MBytes/s9) Synchronisation (0H, 5H, 6H) Datenbyte Target Busumschaltung 7) 3)...9): siehe Erklärung im Text Tabelle 3.14 Einfache Lesezugriffe Erklärung: 1) 2) 3) 4) 5) 6) 7) 8) 9) E-A-Zugriff (Ausgabe), Speicherzugriff, Wartezustände werden, wenn erforderlich, “nach Bedarf”eingefügt (SYNC-Belegung 5H oder 6H), bei fortlaufender Aneinanderreihung der jeweiligen Zyklen (Werte abgerundet), E-A-Zugriff (Eingabe), Speicherzugriff, allgemein gilt “1 + W”. Praktische Annahme: 4 Wartezustände = 120 ns (als typische Zugriffszeit auf herkömmliche EPROMs). bei E-A-Zugriffen wurden keine Wartezustände eingerechnet, da solche Lesezugriffe typischerweise FIFOAnordnungen in den E-A-Schaltkreisen betreffen, Wert bei 4 Wartezuständen. 3.3.5. DMA-Betrieb DMA-Anforderungen Einrichtungen signalisieren ihre DMA-Anforderungen über ihre LDRQ-Leitung (Abbildung 3.7, Tabellen 3.15, 3.16). Abbildung 3.7 Signalisieren von DMA-Anforderungen über LDRQ# (Intel) Erklärung: Die Anforderungen werden bitseriell übertragen. Jede Einrichtung, die den DMA- bzw. Busmasterbetrieb benötigt, ist über eine eigene LDRQ-Leitung mit den zentralen Steuerschaltungen verbunden (und diese müssen für jeden LDRQ-Anschluß eine State Machine enthalten, die die beschriebenen Bitfolgen auswerten kann). 1) 2) 3) 4) 5) Ruhezustand; LDRQ# ist inaktiv (keine Anforderung), Beginn der Signalisierung durch Aktivieren von LDRQ# während eines Taktzyklus (Startbit), in den folgenden 3 Takten wird die Nummer des gewünschten DMA-Kanals bitseriell übertragen (das höchstwertige Bit (MSB = 22) zuerst), dieses Bit kennzeichnet den Zweck der Übertragung (Aktivieren/Deaktivieren), LDRQ# muß wenigstens während eines Taktzyklus inaktiv sein, Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 6) Seite 17 frühestmöglicher Beginn einer neuen Signalisierung. serielle Bitposition (Taktzyklus); Zeitverlauf: 6 1. 2. 0 (Startbit) 3. 4. 5. Nummer des DMA-Kanals 22 21 6. 0: inaktiv, 1: aktiv 20 1 (Pause) Tabelle 3.15 Format der bitseriellen DMA-Anforderungen Nummer des DMA-Kanals Anforderung Nummer des DMA-Kanals Anforderung 0 DMA-Kanal 0 4 Busmaster*) 1 DMA-Kanal 1 5 DMA-Kanal 5 2 DMA-Kanal 2 6 DMA-Kanal 6 3 DMA-Kanal 3 7 DMA-Kanal 7 *): Einzelheiten in Abschnitt 3.3.6. Tabelle 3.16 Codierung der DMA-Kanäle Hinweis: DMA-Kanal 4 ist beim herkömmlichen PC zur Kaskadierung der beiden DMA-Steuerschaltkreise vorgesehen. Somit ist die Kanalnummer frei. Sie wird hier verwendet, um Busmaster-Anforderungen zu codieren (Näheres in Abschnitt 3.3.6.). Stellen der Anforderung Die Einrichtung überträgt auf beschriebene Weise die gewünschte Kanalnummer, wobei die 5. Bitposition mit 1 belegt ist (× Aktivieren). Zurücknehmen/Löschen der Anforderung Die Einrichtung überträgt auf beschriebene Weise die gewünschte Kanalnummer, wobei die 5. Bitposition mit 0 belegt ist (× Deaktivieren). (Dies ist eine Vorkehrung für Fehlerfälle. Hat die DMA-Datenübertragung bereits begonnen, kann ein “auf’s Byte genaues”Anhalten nicht garantiert werden.) Normalablauf einer DMA-Übertragung Die betreffende Einrichtung fordert eine DMA-Übertragung auf vorstehend beschriebene Weise über ihre LDRQLeitung an. Die zentralen Steuerschaltungen führen dann DMA-Zyklen mit der betreffenden Einrichtung aus, und zwar so lange, bis der Längenzähler des DMA-Kanals auf Null gezählt wurde (Terminal Count TC). Die DMAZyklen sind in den Tabellen 3.17 und 3.18 dargestellt. Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 18 Hinweis: DMA-Übertragungen betreffen sowohl eine E-A-Einrichtung als auch den Speicheradreßraum. In herkömmlichen PCs (XT, AT) liegt in einem DMA-Zyklus die Speicheradresse auf dem Bus, und die betreffende E-A-Einrichtung ist über ihr DACK-Signal ausgewählt. In einer LPC-Umgebung werden die Zugriffe gleichsam serialisiert: 1. 2. Zugriffe auf die E-A-Einrichtungen über den LPC-Bus mittels DMA-Zyklen, Speicherzugriffe über den Bus, an den der adressierte Teil des Speicheradreßraums angeschlossen ist. (Das ist typischerweise der Arbeitsspeicher - und der ist von der DMA-Hardware aus nur in Aufwärtsrichtung über mehrere Bussysteme hinweg erreichbar (PCI-to-LPC Bridge 6 PCI-Bus 6 Host-to-PCI-Bridge 6 Arbeitsspeicher-Interface auf der Prozessorseite; vgl. auch Abbildung 1.37).) Zur Bezeichnung Die Zugriffsbezeichnung bezieht sich auf den jeweiligen Speicherzugriff: # # DMA Schreiben = Schreiben in den Speicher, Lesen von der E-A-Einrichtung, DMA-Lesen = Lesen aus dem Speicher, Schreiben in die E-A-Einrichtung. Belegung Bus getrieben von Start (0H) Takte Besonderheiten 1 Zugriffskommando (AH) 1 1) Kanalnummer Host Zugriffsbreite (0H, 1H, 3H) 1 1 Busumschaltung 2 2) 3) 2) 3) 1 + W4) Synchronisation (9H , 5H, 6H, 0H ) 1. Datenbyte 2 1 + W4) Synchronisation (9H , 5H, 6H, 0H ) 2. Datenbyte Busumschaltung5) 2 Synchronisation (9H2), 5H, 6H, 0H3)) 3. Datenbyte Target 1 + W4) 2 Synchronisation (9H2), 5H, 6H, 0H3)) 4. Datenbyte Busumschaltung6) 1 + W4) 2 Busumschaltung 1)...6): siehe Erklärung im Anschluß an Tabelle 3.18 2 Tabelle 3.17 Ablauf DMA-Schreiben (= Lesezugriff auf E-A-Einrichtung) Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite Belegung Bus getrieben von Takte Start (0H) 1 Zugriffskommando (8H) 1 Kanalnummer1) Host Zugriffsbreite (0H, 1H, 3H) 1. Datenbyte 19 Besonderheiten 1 1 2 Busumschaltung 2 2) 3) Synchronisation (9H , 5H, 6H, 0H ) Busumschaltung 2. Datenbyte Target Host Busumschaltung Synchronisation (9H2), 5H, 6H, 0H3)) Busumschaltung 3. Datenbyte Target Host Busumschaltung 2) 3) Synchronisation (9H , 5H, 6H, 0H ) Busumschaltung 4. Datenbyte Target Host Busumschaltung Synchronisation (9H2), 5H, 6H, 0H3)) Busumschaltung 1)...6): siehe Erklärung im Text Target 1 + W4) 2 Ende5) 2 2 1 + W4) 2 Ende6) 2 2 1 + W4) 2 2 2 1 + W4) 2 Tabelle 3.18 Ablauf DMA-Lesen (= Schreibzugriff auf E-A-Einrichtung) Erklärung: Die Tabellen zeigen DMA-Zyklen, in denen bis zu 4 Bytes übertragen werden. 1) 2) 3) 4) 5) 6) angezeigte Kanalnummer enthält Terminal Count in Bit 3, DMA-Übertragung weiterführen, DMA-Übertragung beenden, Verlängerung durch Wartezustände (W) bzw. Beenden der Übertragung, Beenden des DMA-Zyklus bei Zugriffsbreite = 1 Byte, Beenden des DMA-Zyklus bei Zugriffsbreite = 2 Bytes. Weiterführen der Übertragung Eine SYNC-Belegung 9H zeigt den zentralen Steuerschaltungen an, daß die Einrichtung die DMA-Übertragung weiterführen möchte. Wird der gesamte DMA-Zyklus mit 9H als letzter SYNC-Belegung beendet, so bieten die zentralen Steuerschaltungen nachfolgend einen weiteren DMA-Zyklus an (ohne daß die Einrichtung dies über LDRQ# anfordern muß). Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 20 Beenden der Übertragung Eine SYNC-Belegung 0H zeigt den zentralen Steuerschaltungen an, daß die Einrichtung die DMA-Übertragung beenden möchte. Endebedingungen können u. a. sein: # # der Nulldurchgang des Längenzählers im DMA-Kanal (Blockende). Hierzu muß die Einrichtung das übertragene Bit Terminal Count entsprechend auswerten. intern erkannte Endebedingungen. Des weiteren beendet eine Fehlersignalisierung (SYNC-Belegung AH) die DMA-Übertragung. Hinweis: Das Beenden (über die SYNC-Belegungen 0H oder AH) muß immer mit dem letzten Byte des jeweiligen DMAZyklus verbunden sein. Wird bei einer Zugriffsbreite von 2 Bytes eine solche SYNC-Belegung im Zusammenhang mit der Übertragung des 1. Bytes erkannt, so wird dies als Fehlerbedingung gewertet (das gilt sinngemäß bei einer Zugriffsbreite von 4 Bytes für die Übertragung des 1. bis 3. Bytes). Neue DMA-Anforderung Hat eine Einrichtung eine DMA-Übertragung durch eine entsprechende SYNC-Belegung beendet, so muß sie eine Karenzzeit von wenigstens 8 Taktzyklen abwarten, bevor sie erneut eine DMA-Anforderung über LDRQ# stellen darf. Maximale Datenraten Tabelle 3.19 enthält die maximalen Datenraten, die sich beim lückenlosen Aneinanderreihen von DMA-Zugriffen (ohne Wartezustände) ergeben. Taktzyklen Datenrate*) 1 Byte 11 3 MBytes/s 2 Bytes 14 4,7 MBytes/s 4 Bytes 20 6,6 MBytes/s 1 Byte 11 3 MBytes/s 2 Bytes 18 3,7 MBytes/s 4 Bytes 32 4,1 MBytes/s Zugriff DMA Schreiben DMA Lesen *): abgerundet Tabelle 3.19 Maximale Datenraten von DMA-Übertragungen 3.3.6. Busmasterbetrieb Busmaster-Anforderungen Eine Einrichtung, die Busmaster werden will, fordert über ihre LDRQ-Leitung die Busherrschaft an, und zwar durch Senden der DMA-Kanalnummer 4 (vgl. Tabelle 3.16). Bestätigen der Busherrschaft und Zugriffsablauf Die Anforderungen werden zentral vermittelt. Jede Master-Einrichtung hat ihre eigene Master-Nummer, die in der Startbelegung übertragen wird. Es werden (gemäß aktuellem Stand) bis zu 2 Master-Einrichtungen unterstützt. Die Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 21 zentralen Steuerschaltungen übergeben die Busherrschaft an die jeweils ausgewählte Einrichtung, indem sie einen Buszyklus mit der entsprechenden Startbelegung 2H oder 3H; vgl. Tabelle 3.7) beginnen und anschließend den Bus umschalten (Tabellen 3.20, 3,21). Belegung Bus getrieben von Takte E-A-Zugriff Speicherzugriff 1 1 Busumschaltung 2) 2 2 Zugriffskommando (2H, 6H) 1 1 4 8 Datenbyte 2 2 Busumschaltung 2 2 1+W 1+W 2 2 Start (2H oder 3H)1) Host Adresse (16 oder 32 Bits) Master Synchronisation (0H, 5H, 6H) Target Busumschaltung3) 1)...3): siehe Erklärung unter Tabelle 3.21 Tabelle 3.20 Busmaster-Zugriff. Ablaufbeispiel 1: Schreibzugriff (1 Byte) Belegung Bus getrieben von Takte E-A-Zugriff Speicherzugriff 1 1 2 2 Zugriffskommando (0H, 4H) 1 1 Zugriffsbreite (1H) 1 1 4 8 Busumschaltung 2 2 Synchronisation (0H, 5H, 6H) 2 2 1+W 1+W 1+W 1+W 2 2 2 2 Start (2H oder 3H)1) Busumschaltung 2) Adresse (16 oder 32 Bits) Host Master 1. Datenbyte Synchronisation (0H, 5H, 6H) 2. Datenbyte Busumschaltung3) 1)...3): siehe Erklärung im Text Target Tabelle 3.21 Busmaster-Zugriff. Ablaufbeispiel 2: Lesezugriff (2 Bytes) Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 22 Erklärung: 1) 2) 3) Bestätigung der Anforderung, Übergabe der Busherrschaft, Rückgabe der Busherrschaft. Hinweis: Busmaster-Zugriffe betreffen typischerweise die “Plattform”, demgemäß werden die zentralen Steuerschaltungen als Target wirksam (um den Zugriff in Aufwärtsrichtung zum jeweils “zuständigen” Bus weiterzuleiten). 3.3.7. Serielle Interruptsignalisierung Die Interruptanforderungen werden synchron zum Bustakt (LCLK) von den einzelnen Einrichtungen nacheinander über die SERIRQ-Leitung geliefert. Dies erfolgt in einem bestimmten Zeitraster (serielles IRQ-Paket; Abbildung 3.8). Abbildung 3.8 Serielle Interruptsignalisierung (nach: Texas Instruments). a) Beginn, b) Ende eines seriellen IRQ-Pakets Erklärung: 1) 2) 3) 4) 5) 6) im Ruhezustand wird SERIRQ über den Pull-up-Widerstand auf High gehalten, die Übertragung beginnt damit. daß SERIRQ über eine bestimmte Anzahl von Takten hinweg auf Low gehalten wird (Start Frame). Die einzelnen Einrichtungen beobachten SERIRQ und erkennen anhand des Start Frame, daß ein IRQ-Paket beginnt. Dauer des Start Frame: 4...8 Takte. nach dem Start Frame wird SERIRQ hochohmig geschaltet; das Signal wird vom Pull-up-Widerstand auf High gehalten. Es kann von den Einrichtungen bedarfsweise auf Low geschaltet werden (Open-DrainPrinzip). Bevor die erste Einrichtung aufschalten darf, sind noch 2 Takte (R, T; siehe unten) abzuwarten. das eigentliche Paket ist fest formatiert; für jeden möglichen Interrupt (IRQ0, IRQ1 usw.) gibt es ein “Zeitfenster” (Data Frame) aus 3 Taktzyklen. Die einzelnen Einrichtungen zählen die Takte mit. Eine Einrichtung, die z. B. IRQ3 auslösen möchte, zieht mit dem entsprechenden Takt SERIRQ nach Low. das einzelne Zeitfenster (Data Frame) besteht aus 3 Takten: S, R, T (siehe unten). Die Einrichtungen dürfen SERIRQ nur mit dem ersten dieser Takte (S) belegen. Es sind insgesamt 32 solcher Data Frames spezifiziert; in üblichen PCs werden die ersten 21 ausgenutzt (Tabelle 3.22). Als Beispiel ist in der Abbildung das Signalisieren von IRQ3 und IRQ15 dargestellt. das serielle IRQ-Paket endet mit einem Stop Frame. Hierbei wird SERIRQ über 2 bzw. 3 Takte hinweg Low gehalten. 2 Takte später (d. h. im Anschluß an die Taktfolge R, T; siehe unten) darf SERIRQ wieder auf Low geschaltet werden (nächstes Start Frame). Taktphasen: # # S = Sample (Abfragen). Signal wird über Pull-up-Widerstand auf High gehalten. Eine Einrichtung, die einen Interrupt signalisieren möchte, zieht in ihrem Zeitfenster das Signal auf Low. (In Zeitfenstern, in denen kein Interrupt zu signalisieren ist, wird das Signal nicht getrieben. Es wird dann über den Pull-upWiderstand auf High gehalten.) R = Recovery (Wiederherstellen). Eine Einrichtung, die in Taktphase S einen Interrupt signalisiert hat, muß das Signal jetzt aktiv nach High treiben*). (Wurde kein Interrupt signalisiert, so wird auch das Signal Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 23 # nicht getrieben.) T = Turnaround (Signalumschaltung). Die zentralen Steuerschaltungen schalten das Signal hochohmig, so daß es allein über den Pull-up-Widerstand auf High gehalten wird. *): vgl. das Schaltverhalten der PCI-Signale vom Typ Sustained Tri State (STS; Abschnitt 1.2.1.). Betriebsarten Es sind 2 Betriebsarten vorgesehen: # # *): Aktivierungsmodus (Quiet Mode). SERIRQ wird über den Pull-up-Widerstand auf High gehalten (Ruhezustand). Wenn eine Einrichtung eine Interruptanforderung absetzen möchte, aktiviert sie die serielle Signalisierung, indem sie SERIRQ eine Takt lang auf Low zieht (und anschließend wieder freigibt). Die zentralen Steuerschaltungen reagieren darauf, indem sie vom 2. Takt an ihrerseits SERIRQ auf Low schalten. Damit wandeln sie die Aktivierung durch die Einrichtung in ein Start Frame um, so daß das eigentliche serielle IRQ-Paket übertragen werden kann. Abfragemodus (Continuous Mode). Die zentralen Steuerschaltungen bestimmen allein, wann ein serielles IRQ-Paket übertragen wird. Hiermit kann u. a. eine zyklische Abfrage (Polling) aller Interruptanforderungen organisiert werden. (Beispiel: serielles IRQ-Paket - einige Takte Pause*) - serielles IRQ-Paket - einige Takte Pause usw.) das nächste Start Frame darf bereits 2 Takte nach der Low-High-Flanke des vorausgegangenen Stop Frames beginnen**) (vgl. die letzte Taktfolge R, T in Abbildung 3.8b). Üblich sind Pausen von 16...20 Takten. **): das gilt auch sinngemäß für das Signalisieren einer erneuten Anforderung im Aktivierungsmodus. Die jeweilige Betriebsart ist typischerweise entweder programmseitig oder durch Beschaltung eines entsprechenden Schaltkreis-Eingangs wählbar. Länge des Start Frame Es sind 4 bis 8 Takte spezifiziert (programmseitig einstellbar). Im Aktivierungsmodus ist die anfängliche Belegung seitens der anfordernden Einrichtung mit eingerechnet. Länge des Stop Frame Die zentralen Steuerschaltungen ziehen SERIRQ über 2 oder 3 Takte hinweg nach Low. Die Dauer bestimmt die nachfolgende Betriebsweise: # # Stop Frame = 2 Takte: Fortsetzung im Aktivierungsmodus (Quiet Mode), Stop Frame = 3 Takte: Fortsetzung im Abfragemodus (Continuous Mode). Nummer des Data Frame 1 Lokale Bussysteme Belegung IRQ0 (nicht belegt; × Intervallzeitgeber)2) Takte1) 2 Kapitel 3: Das LPC-Interface PCTEC14 Seite 2 IRQ1 24 5 2) 3 IRQ2 (SMI) 8 4 IRQ3 11 5 IRQ4 14 6 IRQ5 17 7 IRQ6 20 8 IRQ7 23 9 IRQ8 26 10 IRQ9 (nicht belegt; für Plattform reserviert)2) 29 11 IRQ10 32 12 IRQ11 25 13 IRQ12 14 IRQ13 (nicht belegt; × FPU) 41 15 IRQ14 44 16 IRQ15 47 17 IOCHK (Fehlersignal vom ISA-Bus) 50 18 INTA (PCI-Bus) 53 19 INTB (PCI-Bus) 56 20 INTC (PCI-Bus) 59 21 INTD (PCI-Bus) 62 38 2) 22...32 reserviert 1): Takte vom Ende des Start Frame an; 2): typische Nutzung in PCs (nach: Intel) 95 Tabelle 3.22 Belegung der seriellen IRQ-Pakete Erklärung: Die Tabelle enthält die gesamte spezifizierte Belegung der seriellen IRQ-Pakete. Es ist ersichtlich, daß alle in üblichen PCs vorgesehenen Interruptsignale erfaßt werden. Es werden aber typischerweise nicht alle Interrupts auf diesem Wege signalisiert. (Die betreffenden Data Frames bleiben dann ungenutzt.) Hinweis: Die serielle Interruptsignalisierung ist keine Besonderheit des LPC-Interfaces. Maßgebend hierfür ist die Spezifikation “Serialized IRQ Protocol for PCI Systems”. Diese ist vor allem für das CardBus-Interface entwickelt worden. Lokale Bussysteme Kapitel 3: Das LPC-Interface PCTEC14 Seite 25 3.3.8. Stromsparsteuerung über LPCPD# Abbildung 3.9 zeigt, wie Stromsparzustände in den LPC-Einrichtungen über das Signal LPCPD# gesteuert werden. Abbildung 3.9 Steuerung von Stromsparzuständen über LPCPD# Erklärung: 1) 2) 3) 4) 5) mit dem Aktivieren von LPCPD# wird den Einrichtungen angezeigt, daß ein Stromsparzustand eingeleitet wird (typischerweise wird der Takt abgestellt, ggf. werden die Einrichtungen auch abgeschaltet), nach dem Aktivieren von LPCPD# dauert es noch wenigstens 30 µs, bis der Stromsparzustand wirksam wird, beim Verlassen des Stromsparzustandes werden die Einrichtungen über LRST# zurückgesetzt, der Takt wird wenigstens 100 µs vor dem Deaktivieren von LPCD# wieder eingeschaltet, nach dem Einschalten des Taktes werden die Einrichtungen wenigstes für weitere 60 µs im Rücksetzzustand gehalten. Hinweis: Vgl. auch Abschnitt 1.6.5. 4. Anhang 4.1. Sonderbauformen des PCI-Bus Sonderbauformen unterscheiden sich vom “gewöhnlichen” PCI-Bus im wesentlichen lediglich in der mechanischen Auslegung; in funktioneller Hinsicht entsprechen sie vollkommen der jeweiligen PCI-Spezifikation (von Ausgabe 2.0 an). Sie wurden entwickelt, um die Vorteile des PCI-Bus auch in Umgebungen nutzen zu können, für die er ursprünglich nicht ausgelegt worden war. (Die Vorteile betreffen nicht nur das Leistungsvermögen (Datenraten und Latenzzeiten), sondern sie ergeben sich vor allem auch aus der Verfügbarkeit von Software-Unterstützung, Entwurfserfahrung und “Silizium”, also fertigen Schaltkreisen.) Hinweis: Im folgenden wollen wir einige Sonderbauformen kurz vorstellen. Es gibt aber noch weitere Ausführungen, beispielsweise PCI-Aufsteck-Platinen (Mezzanine Cards), die auf größere Leiterplatten (z. B. von VME-Bus-Systemen) gesteckt werden. 4.1.1. Small PCI (SPCI) Die Small-PCI-Spezifikation wurde von der PCI SIG herausgegeben. Small PCI (SPCI; früher: SFF PCI*)) betrifft die Nutzung des “elementaren” PCI-Bus (32 Bits, 33 MHz; maximale Datenrate 132 MBytes/s) für kleine steckbare Funktionseinheiten im Innern von Geräten. Anwendungsmöglichkeiten werden in “mobilen” PCs gesehen, aber auch in “ortsfesten” PCs (vor allem in miniaturisierten Bauformen) und in “PC-ähnlichen” Geräten (das betrifft Fernseh-Vorsatzgeräte (Set Top Boxes), Spielkonsolen, Meßgeräte usw., die einen eingebauten (Embedded) PC enthalten). *): SFF = Small Form Factor. 4.1.1.1. Die Funktionseinheiten Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 26 Die steckbaren Funktionseinheiten entsprechen in ihren Abmessungen (in andere Redeweise: in ihrem “Formfaktor”) den üblichen Speicherkarten gemäß PC-Card-Spezifikation. Aus den Einsatzbedingungen (im Innern von Geräten) ergeben sich folgende Besonderheiten: # # # die Funktionseinheiten werden wie übliche Steckkarten gehandhabt, nicht wie Speicherkarten. Das heißt, sie werden typischerweise einmal eingebaut und dann in Ruhe gelassen, nicht aber ständig gewechselt. Vorkehrungen zum Stecken bei eingeschaltetem Gerät (Hot Plugging) sind demzufolge nicht erforderlich. der busseitige Steckverbinder ist für lediglich 100 Steckzyklen spezifiziert (zum Vergleich: PC-Card- und CardBus-Steckverbinder müssen wenigstens 10 000 Steckzyklen aushalten), eine Vollverkapselung der Funktionseinheiten ist nicht erforderlich. Die Funktionseinheiten sind kleine Leiterplatten, die in einem Montagerahmen (Card Frame) gehalten werden (Abbildungen 4.1, 4.2). Der Zweck des Rahmens besteht darin, die vergleichsweise empfindliche Leiterplatte vor mechanischer Beanspruchung (Verbiegen usw.) zu schützen (es handelt sich typischerweise um dünne (0,5...0,9 mm) Mehrebenen-Leiterplatten, die (womöglich beidseitig) mit größeren SMT-Gehäusen bestückt sind). Abbildung 4.10 Small-PCI-Funktionseinheit (PCI SIG). Leiterplatte in Montagerahmen (Card Frame). Links: Draufsicht, rechts: Ansicht von E-A-Seite Erklärung: 1 - busseitiger Steckverbinder; 2 - an diesem Ende können E-A-Anschlüsse angeordnet sein; 3 - Beispiel eines EA-Anschlusses (vgl. Abschnitt 4.1.1.5.); 4 - Kerben (zur Arretierung; wahlweise). Abbildung 4.11 Small-PCI-Leiterplatte (Draufsicht; PCI SIG). Grundabmessungen Erklärung: 1 - busseitiger Steckverbinder; 2 - Freiflächen für Montagerahmen (Card Frame); 3 - Beispiel eines E-A-Anschlusses (vgl. Abschnitt 4.1.1.5.). Maßangaben in mm, eingeklammerte Angaben in Zoll. Bauhöhen Es sind 2 Ausführungen vorgesehen (Abbildung 4.3): # # Typ A (Style A): Höhe H maximal 5 mm, Typ B (Style B): Höhe H maximal 10,5 mm. Abbildung 4.12 Small-PCI-Funktionseinheit (PCI SIG). Seitenansicht. 1 - PCI-Steckverbinder; H - maximale Bauhöhe 4.1.1.2. Anordnung im Gerät Die Funktionseinheiten werden typischerweise parallel zum Motherboard gesteckt (Abbildung 4.4). Es gibt Steckverbinder (Header) für eine Funktionseinheit und solche für 2 Funktionseinheiten übereinander (Stacked Headers). Abbildung 4.13 Small-PCI-Steckverbinder auf dem Motherboard (Seitenansicht, vereinfacht) Erklärung: 1 - Motherboard; 2 - Steckverbinder (Header); 3 - Lötstifte; 4 - gesteckte Funktionseinheit (nur Leiterplatte dargestellt). Lokale Bussysteme Kapitel 4: Anhang PCTEC14 a) b) Seite 27 nur eine Funktionseinheit steckbar. Es können Funktionseinheiten vom Typ A oder vom Typ B gesteckt werden. zwei Funktionseinheiten steckbar. Steckmöglichkeiten: C unten: nur Typ A (5 mm), C oben: wahlweise Typ A oder Typ B (5 oder 10,5 mm). 4.1.1.3. Der PCI-Steckverbinder Der PCI-Steckverbinder ist ein zweireihiger indirekter Steckverbinder mit 108 Kontakten (Buchsen (Beams) auf Leiterplatte, Stifte (Pins) auf Motherboard). Tabelle 4.1 enthält die Anschlußbelegung, Abbildung 4.5 zeigt die Anordnung der Anschlüsse auf dem Motherboard. Anschluß Kontaktreihe B Kontaktreihe A Anschluß Kontaktreihe B Kontaktreihe A 01 GND GND 28 AD17 AD16 02 INTB# + 12 V 29 C/BE2# + 3,3 V 03 +5V INTA# 30 GND FRAME# 04 INTD# INTC# 31 IRDY# GND 05 - 12 V +5V 32 + 3,3 V TRDY# 06 PRSNT1# res. 33 DEVSEL# GND# 07 res. res. 34 GND STOP# 08 PRSNT2# +5V 35 LOCK# + 3,3 V 09 CLK RST# 36 PERR# SDONE 10 GND GNT# 37 GND SBO# 11 REQ# GND 38 SERR# GND 12 +5V CLKRUN# 39 + 3,3 V PAR 13 AD31 AD30 40 C/BE1# AD15 14 AD29 +5V 41 AD14 + 3,3 V 15 GND AD28 42 GND AD13 16 AD27 AD26 43 AD12 AD11 17 AD25 GND 44 AD10 M66EN 18 + VE-A AD24 45 + VE-A AD09 19 res. + VE-A 46 AD08 C/BE0# 20 GND res. 47 AD07 + VE-A 21 C/BE3# GND 48 +5V AD06 22 + 3,3 V IDSEL 49 AD05 AD04 23 AD23 + 3,3 V 50 AD03 +5V 24 GND AD22 51 +5V AD02 25 AD21 AD20 52 AD01 AD00 26 AD19 GND 53 ACK64# GND Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 27 + 3,3 V AD18 Zu + VE-A siehe den folgenden Abschnitt 4.1.1.4. 54 GND 28 REQ64# Tabelle 4.23 Anschlußbelegung des PCI-Bus Hinweise: 1. 2. 3. 4. 5. 6. 7. Es handelt sich um den “gewöhnlichen” PCI-Bus (32 Bits, 33 MHz; vgl. Abschnitt 1.1.5.1.). Jede Funktionseinheit darf Busmaster werden (die erforderlichen Signale REQ# und GNT# sind vorgesehen). Anders als bei den “gewöhnlichen” PCI-Slots ist hier das Signal CLKRUN# verfügbar. Lage der Kontakte im Steckverbinder: Reihe A oben, Reihe B unten. Bei Blick von vorn auf Steckverbinder der Leiterplatte liegen A01 und B01 rechts außen (vgl. Abbildung 4.7). Der Steckverbinder ist mechanisch so gestaltet, daß PC-Karten beliebiger Art (die von den Außenabmessungen her passen würden) sich nicht stecken lassen (und daß auch Steckversuche nicht zu Beschädigungen führen können)**). Die zulässige Steckkraft (wenn sich die Funktionseinheit ordnungsgemäß stecken läßt) beträgt maximal 6 kg. Nicht unterstützt werden: C die 64-Bit-Erweiterung*), C der 66-MHz-Betrieb*), C das JTAG-Testinterface. *): die Signale REQ64#, ACK64# und M66EN sind demzufolge mit den entsprechenden Festwerten belegt (vgl. Kapitel 1). **): bei solchen Versuchen darf eine maximale Steckkraft (Keep-Out Force) von 8 kg wirken (d. h., die Steckverbinder müssen dies aushalten) - gegen Übereifrige, die noch mehr Gewalt anwenden, ist natürlich kein Kraut gewachsen... Erklärung zu Abbildung 4.5: a) b) auf dem Motherboard ist nur eine Funktionseinheit steckbar (vgl. Abbildung 4.4a). Des weiteren sind einige Grundmaße angegeben (in mm, eingeklammerte Angaben in Zoll). auf dem Motherboard sind zwei Funktionseinheiten steckbar (vgl. Abbildung 4.4b). BOT = Anschlüsse des unteren, TOP = Anschlüsse des oberen Steckverbinders. Hinweis: Die Abbildung soll - ähnlich Abbildung 1.11 - die Zählweise der Anschlüsse veranschaulichen. Sie zeigt aber den Blick auf die Bestückungsseite (= von oben). Abbildung 4.14 Anschlußbelegungen auf dem Motherboard (Draufsicht; PCI SIG). L - Leiterplatte; H - Steckverbinder auf Motherboard (Header) Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 29 4.1.1.4. Signalpegel, Speisespannungen, Ströme Wie bei “richtigen” PCI-Slots unterscheiden wir: # # 5-V-Systeme und 3,3-V-Systeme, 5-V-Funktionseinheiten, 3,3-V-Funktionseinheiten und universelle Funktionseinheiten. In einem 5-V-System sind die Anschlüsse + VE-A (vgl. Tabelle 4.1) mit + 5 V belegt, in einem 3,3-V-System mit + 3,3 V. Um welches System es sich handelt, wird durch Sperren im Steckverbinder des Motherboards gekennzeichnet (Abbildung 4.6). Abbildung 4.15 Kennzeichnung des Signalpegels im System (PCI SIG). Blick in Steckrichtung auf den leeren Steckverbinder Erklärung: a) b) 5-V-System. Kenntlich an den Sperren 1 und 2. 3,3-V-System. Sperre 1 wie beim 5-V-System, Sperre 2 fehlt. Stattdessen Sperre 3 in der rechten oberen Ecke. Die Funktionseinheiten haben entsprechende Kerben bzw. abgesetzte Kanten im Montagerahmen, der den Steckverbinder seitlich umgibt (Abbildung 4.7). Abbildung 4.16 Kennzeichnung des Signalpegels der Funktionseinheiten. Blick von vorn auf Steckverbinder Erklärung: a) b) c) 5-V-Funktionseinheit. Die beiden Kerben 1, 2 passen in die Sperren 1, 2 gemäß Abbildung 4.6a. 3,3-V-Funktionseinheit. Kerbe 1 und abgesetzte Kante 3 passen in die Sperren 1, 3 gemäß Abbildung 4.6b. universelle Funktionseinheit. Kerbe 1 paßt in Sperre 1. Der Absatz der linken Kante 4 ist so breit, daß weder Sperre 2 noch Sperre 3 (Abbildung 4.6) das Einschieben der Funktionseinheit verhindern können. Tabelle 4.2 gibt einen Überblick über die Speisespannungen (vgl. Abschnitt 1.1.7.). Grenzwerte minimal maximal Strombelastbarkeit je Anschluß + 5 V (± 5%) 4,75 V 5,25 V max. 2 A + 3,3 V (± 0,3 V = 9,1%) 3,00 V 3,60 V max. 3 A + 12 V (± 5%) 11,40 V 12,60 V 500 mA - 12 V (± 10%) - 10.80 V - 13.20 V 100 mA Speisespannung Tabelle 4.24 Speisespannungen für Small-PCI-Funktionseinheiten Hinweise: Lokale Bussysteme Kapitel 4: Anhang PCTEC14 1. 2. 3. Seite 30 Die Angaben zur Strombelastbarkeit sind praktisch Maximalforderungen. Diese werden vor allem in mobilen Systemen nicht immer erfüllt (entsprechende Funktionseinheiten haben Verlustleistungen von höchstens 2 W). Die 12-V-Spannungen werden vor allem in mobilen Systemen nicht immer bereitgestellt. Die Small-PCISpezifikation empfiehlt, diese Spannungen, falls benötigt, auf der Funktionseinheit aus 3, 3 V abzuleiten (Gleichspannungswandler). Zur Abfrage des Strombedarfs (bzw. der Leistungsaufnahme) stehen - wie bei den “richtigen” PCI-Slots jeweils 2 Signale PRSNT2#, 1# zur Verfügung (Tabelle 4.3). Beschaltung Signalbelegung PRSNT2#, 1# Bedeutung PRSNT2# PRSNT1# offen offen 1, 1 keine Funktionseinheit anwesend offen Masse 1, 0 Funktionseinheit anwesend, Leistungsaufnahme maximal 10 W Masse offen 0, 1 Funktionseinheit anwesend, Leistungsaufnahme maximal 5 W Masse Masse 0, 0 Funktionseinheit anwesend, Leistungsaufnahme maximal 2 W Tabelle 4.25 Codierung der Signale PRSNT2#, 1# Hinweise: 1. 2. Funktionseinheiten, die mehr als 2 W verbrauchen, sollten einen Stromsparmodus haben, in dem die Leistungsaufnahme 2 W nicht überschreitet. Dieser Zustand muß nach dem Einschalten bzw. Rücksetzen automatisch eingenommen werden. Er muß die zum Starten erforderlichen Funktionen ermöglichen (u. a. Zugriffe auf den Konfigurationsadreßraum). Zu den PRSNT-Signalen vgl. auch Abschnitt 1.2.14. 4.1.1.5. E-A-Anschlüsse Die E-A-Anschlüsse liegen auf der anderen Schmalseite der Funktionseinheit (vgl. die Abbildungen 4.1 und 4.2). Die Small-PCI-Spezifikation nennt 2 Anschlußweisen (darüber hinaus ist aber mit spezifischen Anschlüssen zu rechnen, z. B. mit SMB-Anschlüssen für Koaxialkabel oder mit Anschlüssen für Glasfaserkabel). 1. Anschlußweise: 2 mm Hierfür wird ein 2-reihiger Pfosten-Steckverbinder (Pin Header) mit 2 mm Kontaktabstand verwendet (Abbildung 4.8). Abbildung 4.17 Small-PCI-Funktionseinheit mit 2-mm-E-A-Anschluß (PCI SIG). 1 - busseitiger Steckverbinder; 2 - E-A-Anschluß Erklärung: Die Steckverbinder sind allgemein marktgängig. Steckerteil in Funktionseinheit, Buchsenteil (typischerweise) an Flachbandkabel*) (Schneidklemmverbindung). Der “Formfaktor” der Funktionseinheiten erlaubt den Einsatz von Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 31 Steckverbindern mit maximal 34 Kontakten. Vorzugsvarianten sind Steckverbinder mit 9, 15 oder 33 Kontakten (wobei jeweils der Anschluß 10, 16 bzw. 34 nicht belegt ist, um ein verwechslungssicheres Stecken zu gewährleisten**)). *): grundsätzlich können verschiedene Kabelarten kontaktiert werden (auch Einzelleitungen, paarweise verdrillte Leitungen usw.) **): im Buchsenteil befindet sich dann an der entsprechenden Position keine Öffnung, so daß sich die Steckverbindung nicht “verkehrt herum” zusammenfügen läßt. 2. Anschlußweise: 0,8 mm Es werden miniaturisierte Steckverbinder mit einem Anschlußabstand (Pin Pitch) von 0,8 mm eingesetzt (vgl. Position 3 in Abbildung 4.1). Der “Formfaktor” der Funktionseinheiten erlaubt den Einsatz von Steckverbindern mit maximal 41 Kontakten (einreihig) bzw. 82 Kontakten (zweireihig). Vorzugsvarianten sind Steckverbinder mit 9, 15 oder 33 Kontakten. Das Anschlußkabel ist typischerweise ein Flachbandkabel (vgl. auch obige Anmerkung (*)). 4.1.2. PCI/ISA Passive Backplane Allen Lösungen, die im folgenden (bis hin zu Abschnitt 4.1.4.) beschrieben werden, liegt die Absicht zugrunde, ein im industriellen Bereich seit langem bewährte Prinzip auf die PC-Technik zu übertragen: alle elektronischen Funktionseinheiten sind steckbare (und somit leicht austauschbare) Baugruppen, fest eingebaut sind nur Strukturen, die die Verbindung der Baugruppen untereinander gewährleisten (Verdrahtungspaneele, Backplanes). Dieses Prinzip ermöglicht ein gleichsam baukastenmäßiges Umbauen, Erweitern und Instandhalten der Hardware (man vergleiche das Wechseln einer - wenn auch größeren - Steckkarte mit dem Aus- und Wiedereinbauen eines üblichen PC-Motherboards). Die Nutzung der PC-Technik ergibt weitere Vorteile, nämlich (1) Kostensenkung und (2) die Möglichkeit, auf ein geradezu riesiges Angebot an System-, Entwicklungs- und Anwendungssoftware zurückgreifen zu können. PCI/ISA Passive Backplane ist im wesentlichen eine mechanische Spezifikation, die es ermöglichen soll, ISA- und PCI-Steckkarten in PC-typischen Ausführungen (vgl. Abschnitt 1.1.4.4.) in industriellen Systemen auszunutzen. Die Spezifikation wurde von der PICMG ausgearbeitet. (PICMG = PCI Industrial Computers Manufacturers Group: eine Vereinigung von Industrie-PC-Herstellern, die den PCI-Bus unterstützen.) Die Abbildungen 4.9 bis 4.14 veranschaulichen den Aufbau solcher Systeme. Abbildung 4.18 PCI/ISA Passive Backplane. Prinzipaufbau einer passiven Busplatine (Backplane). 1 - PCISlots; 2 - SBC-Slot (ISA + PCI); 3 - PCI-Leitungsführung; 4 - ISA-Slots An Stelle des Motherboards tritt eine Steckkarte, die Prozessor, Speicher, Steuerschaltkreise usw. enthält: der Single Board Computer (SBC). Die Busplatine enthält lediglich die Slot-Steckverbinder sowie die Busleitungen und die Speisespannungszuführungen. Die Slots können mit an sich beliebigen Steckkarten bestückt werden. Die Steckkartenabmessungen (Stichwort: Formfaktor) entsprechen jenen der üblichen PCs; es sind also praktisch alle für übliche PCs vorgesehenen ISA- und PCI-Steckkarten einsetzbar. Dies ermöglicht eine weitgehende Modularität der Systemkonfiguration (Abbildung 4.10). Aus verschiedenen Typen von SBCs (auch: mit unterschiedlichen Prozessoren), Gehäusen und Busplatinen lassen sich Systeme für vielfältige Anforderungen konfigurieren. Abbildung 4.19 Modularität durch PCI/ISA Passive Backplane (DEC/Compaq). a) - SBCs (hier: mit Pentium-, Pentium-II- und Alpha-Prozessoren und verschiedenen Taktfrequenzen); b) Gehäuse; c) Busplatinen Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 32 Hinweise: 1. 2. 3. 4. 5. 6. 7. SBCs stehen - trotz der geringeren Abmessungen - in ihrer Ausstattung (Prozessor, Speicherkapazität usw.) den üblichen Motherboards nicht nach. Sie werden oftmals mit besonders hochwertigen Bauteilen bestückt (erweiterter Temperaturbereich, erhöhte Zuverlässigkeit). Auch bemühen sich die Hersteller, baugleiche Ersatzteile über Jahre hinweg anbieten zu können. SBCs sind deshalb merklich teurer als gleichartig ausgestattete Motherboards. Die höhere Zuverlässigkeit ist gelegentlich auch Anlaß, nicht nur Computer für den “richtigen” industriellen Einsatz, sondern auch Server auf diese Weise aufzubauen. Was nach wie vor problematisch ist: der - wie beim Motherboard - recht bastelhafte Anschluß der weiteren Interfaces (Parallelschnittstelle, IDE/ATA-Interfaces usw.) sowie die Arretierung der Karten und die Kühlung (wofür es allerdings ein reichhaltiges - wenngleich nicht gerade billiges - Angebot an Niederhaltern, Lüftern, Luftführungs-Zubehör usw. gibt). Anzahl der Slots: Abbildung 4.10c zeigt Beispiele für typische Auslegungen. Im Datenmaterial wird stets die Gesamtzahl der Slots (PCI + SBC + ISA) angegeben. Gängig sind 5, 7, 14 und 19 Slots. Die Spezifikation unterstützt an sich keinen Multiprozessorbetrieb mit mehreren SBCs (der einzelne SBC darf aber ohne weiteres mehr als einen Prozessor enthalten - vgl. auch Abbildung 4.12). Hat eine Busplatine 2 SBC-Slots (= ISA-PCI-Reihen gemäß Abbildung 4.9), so handelt es sich entweder um 2 unabhängige Busstrukturen, oder in einen dieser Slots dürfen nur bestimmte SBC-Typen gesteckt werden (betrifft u. a. einige Typen des hier gezeigten Sortiments). Die Busplatinen sind nicht immer wirklich “passiv”. Sie können u. a. Überwachungsschaltungen, PCI-toPCI Bridges und Schaltmittel der Unterbrechungssteuerung enthalten . Der SBC enthält typischerweise einen internen PCI-Bus (Bus Nr. 0). Der PCI-Bus auf der Busplatine ist dann über eine PCI-to-PCI Bridge angeschlossen (z. B. als Bus Nr. 1). Abbildung 4.20 Hauptabmessungen einer SBC-Karte. Blick auf Bestückungsseite (Anordnung wie bei ISAKarten). R - Rückseite (Slot-Abdeckblech); A1, E1 - Beginn der Kontaktzählung am ISA- und PCISteckverbinder Erklärung: Die Karte enthält hintereinander einen ISA- und einen PCI-Steckverbinder. Beide entsprechen den üblichen Spezifikationen der PC-Technik. Meistens wird ein 32-Bit-PCI-Bus unterstützt; die Karte kann aber auch eine 64Bit-Erweiterung enthalten. Abbildung 4.21 Ausführungsbeispiel einer SBC-Karte (DEC/Compaq). Blick auf Bestückungsseite Erklärung: 1 - Speichermoduln (SIMMs); 2 - Cache-Modul (gemäß COASt-Spezifikation); 3 - maximal 2 PentiumProzessoren; 4 - eingezeichnete Erklärungs-Tabelle für die oben angeordneten Jumper, 5- PC-typische Interfaces (IDE, Floppy Disk, Parallelschnittstelle); 6 - Batterie für CMOS-RAM; 7 - Rückseite mit Slotabdeckung und Schnittstellen-Anschlüssen. Die Karte unterstützt einen 32-Bit-PCI-Bus. Abbildung 4.22 SBC-Karten im Vergleich (DEC/Compaq). Ansicht von unten (= Blick auf Kontaktreihen) Erklärung: Bei Bestückung mit modernen Bauelementen (Speichermoduln, Pentium-II-Steckkassetten) werden die Karten doch recht sperrig. Sorgfältige Planung erforderlich! (Vor dem Beschaffen Datenmaterial - vor allem die Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 33 Maßzeichnungen und Montageanleitungen - genau studieren.) a) b) Karte mit Pentium-Prozessoren und Cache-Modul (vgl. Abbildung 4.12). Speicher mit SIMMs bestückt. Cache-Modul bestimmt Bauhöhe H (ca. 36 mm). Karte mit Pentium II. Speicher mit DIMMs bestückt. Hier bestimmt die Prozessor-Kassette (SEC) die Bauhöhe H (ca. 68 mm). Hinweis: Die Darstellung zeigt die Ansicht von unten (= von den Kontaktreihen aus). Die Anordnung von Bestückungs- und Lötseite entspricht jener der ISA-Karten. Abbildung 4.23 Der SBC-Slot auf der Busplatine (DEC/Compaq). Ansicht von oben (= von Bestückungsseite). R - Rückseite; 32 - Anschlüsse des 32-Bit-PCI-Bus; 64 - Anschlüsse der 64-BitErweiterung Erklärung: Die Abbildung zeigt die Bohrungen im Motherboard, die die Slot-Steckverbinder aufnehmen. Der ISA-Steckverbinder entspricht in Ausführung und Anschlußbelegung vollkommen dem herkömmlichen “Industriestandard”. Der PCI-Steckverbinder entspricht in der Ausführung vollkommen und in der Anschlußbelegung weitgehend der PCI-Spezifikation, Ausgabe 2.1 (vgl. Abschnitte 1.1.4.3., 1.1.4.4. und 1.1.6.). Wird die 64-Bit-Erweiterung nicht unterstützt, so entfällt der entsprechende Teil des Steckverbinders. Tabelle 4.4 gibt einen Überblick über die Anschlußbelegungen des PCI-Steckverbinders. (Vgl. Tabelle 1.9). Im Gegensatz zu Tabelle 1.9 berücksichtigen wir hier nur den 5-V-Bus. Zudem ist die Tabelle aus 2 nebeneinander angeordneten Teilen aufgebaut (Platzersparnis). Anschluß Kontaktreihe F Kontaktreihe E Anschluß Kontaktreihe F Kontaktreihe E 1 - 12 V TRST# 32 AD17 AD16 2 TCK +12 V 33 C/BE2# + 3,3 V 3 GND TMS 34 GND FRAME# 4 TDO TDI 35 IRDY# GND 5 +5V +5V 36 + 3,3 V TRDY# 6 +5V INTA#1) 37 DEVSEL# GND 7 INTB#1) INTC#1) 38 GND STOP# 8 1) INTD# +5V 39 LOCK# + 3,3 V 9 REQ3#2) CLKC3) 40 PERR# SDONE 10 REQ1#2) +5V 41 + 3,3 V SBO# 11 GNT3# 2) CLKD 42 SERR# GND 12 GND GND 43 + 3,3 V PAR 13 GND GND 44 C/BE1# AD15 3) 3) 14 CLKA GNT1# 45 AD14 + 3,3 V 15 GND RST# 46 GND AD13 Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite Anschluß Kontaktreihe F 3) 34 Kontaktreihe E Anschluß Kontaktreihe F Kontaktreihe E 16 CLKB +5V 47 AD12 AD11 17 GND GNT0#2) 48 AD10 GND GND 49 GND AD09 18 REQ0# 2) 2) 19 +5V REQ2# 50 Sperre in Slot, Kerbe in Karte 20 AD31 AD30 51 21 AD29 + 3,3 V 52 AD08 C/BE0# 22 GND AD28 53 AD07 + 3,3 V 23 AD27 AD26 54 + 3,3 V AD06 24 AD25 GND 55 AD05 AD04 25 + 3,3 V AD24 56 AD03 GND 26 C/BE3# GNT2#2) 57 GND AD02 27 AD23 + 3,3 V 58 AD01 AD00 28 GND AD22 59 + 5 V (E-A) + 5 V (E-A) 29 AD21 AD20 60 ACK64# REQ64 30 AD19 GND 61 +5V +5V 31 + 3,3 V AD18 62 +5V +5V - Ende des 32-Bit-Steckverbinders Sperre in 64-Bit-Slot, Kerbe in 64-Bit-Karte - Beginn der 64-Bit-Erweiterung Anschluß Kontaktreihe F Kontaktreihe E Anschluß Kontaktreihe F Kontaktreihe E 63 reserviert GND 79 +5V AD48 64 GND C/BE7# 80 AD47 AD46 65 C/BE6# C/BE5# 81 AD45 GND 66 C/BE4# +5V 82 GND AD44 67 GND PAR64 83 AD43 AD42 68 AD63 AD62 84 AD41 +5V 69 AD61 GND 85 GND AD40 70 +5V AD60 86 AD39 AD38 71 AD59 AD58 87 AD37 GND 72 AD57 GND 88 +5V AD36 73 GND AD56 89 AD35 AD34 74 AD55 AD54 90 AD33 GND 75 AD53 +5V 91 GND AD32 76 GND AD52 92 reserviert reserviert Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 35 Anschluß Kontaktreihe F Kontaktreihe E Anschluß Kontaktreihe F Kontaktreihe E 77 AD51 AD50 93 reserviert GND 78 AD49 GND 94 GND reserviert 1)...3): siehe Erklärung im Text. Kontaktreihe F auf Lötseite, Kontaktreihe E auf Bestückungsseite der SBC-Karte Tabelle 4.26 Anschlußbelegung (Pinout) des PCI-Steckverbinders im SBC-Slot Erklärung: Das Problem einer solchen PCI-Anordnung besteht grundsätzlich darin, die Einzelleitungen zwischen den Slots und den zentralen Steuerschaltungen über einen Steckverbinder zu führen (der SBC muß auch die Takterzeugung, Busvermittlung (Arbitrierung) usw. enthalten). Hierfür hat man einige der bisher reservierten Anschlüsse belegt: 1) 2) 3) Anschluß der 4 Interruptsignale INTA#...INTD#, Anschluß von 4 Signalpaaren (REQ#/GNT#) zur Master-Auswahl (Arbitrierung), Anschluß von 4 Taktsignalen zu den PCI-Slots. PCI-Slots Auf einfachen Busplatinen sind bis zu 4 PCI-Slots vorgesehen. Jeder Slot hat dann ein eigenes REQ-GNTSignalpaar und ein eigenes Taktsignal. Um mehr Slots zu betreiben, müssen entsprechende PCI-to-PCI Bridges angeordnet werden. Unterstützte PCI-Auslegungen Dem Stand der Technik entspricht die Unterstützung des 32-Bit-Bus mit 33 MHz und 5-V-Signalisierung. Weiterhin sind Busplatinen und SBCs am Markt, die den 64-Bit-Bus unterstützen. Die Einführung des 66-MHzBetriebs erscheint problematisch (vergleichsweise lange Signalwege (vgl. Abbildung 4.9) sowie der notwendige Übergang auf 3,3-V-Signalisierung). Hinweise: 1. 2. 3. Auf der Busplatine können in alle PCI-Slots Busmasterkarten gesteckt werden. Nicht alle SBCs unterstützen aber Mastereinrichtungen in allen Slots. Es kann sein, daß manche SBCs mit 64-Bit-PCI nicht in einen 32-Bit-Slot passen. Busplatinen mit 64-Bit-PCI enthalten typischerweise nur 1 oder 2 64-Bit-Slots (die verbleibenden PCISteckplätze sind 32-Bit-Slots). Geographische Adressierung Die IDSEL-Eingänge der einzelnen PCI-Slots sind folgendermaßen mit bestimmten AD-Leitungen zu verbinden (vgl. Abschnitt 1.4.1.): # # # IDSEL von Slot 1 mit AD31, IDSEL von Slot 2 mit AD30, IDSEL von Slot 3 mit AD29 usw. Zählweise: Slot 1 liegt unmittelbar neben dem SBC-Slot. Strombedarf Hierfür gelten die entsprechenden Faustregeln und Richtlinien der einschlägigen “Industriestandards”. Der Gesamtbedarf größerer Konfigurationen ist allerdings beachtlich (Tabelle 4.5). Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 36 maximale Stromflüsse auf Busplatinen Speisespannung mit 5 Slots mit 7 Slots mit 14 Slots mit 19 Slots + 3,3 V 15 A 20 A 30 A 25 A +5V 20 A 20 A 20 A 75 A + 12 V 5A 8A 5A 25 A - 12 V 0,5 A 0,5 A 0,5 A 1A -5V 0,5 A 0,3 A 0,5 A 1A + 5 V Hilfsspannung 0,3 A 0,3 A 0,5 A 0,5 A Tabelle 4.27 Maximal zulässige Stromflüsse auf Busplatinen (DEC/Compaq) Erklärung: Die Tabelle nennt maximal zulässige Stromflüsse (Current Ratings), bezogen auf die verschiedenen Speisespannungen. Sie gelten für ein bestimmtes Typenspektrum von Busplatinen und werden hier im Sinne von Anhaltswerten mitgeteilt. Beachten Sie die geradezu riesigen Ströme, die in Platinen mit 19 Slots fließen dürfen (und durchaus auch fließen, falls nahezu alle Slots bestückt sind): also Vorsicht beim Montieren und Fehlersuchen: 75 A liegen schon in der Größenordnung von Elektro-Schweißgeräten! Strombedarfsanzeige der PCI-Karten Die PRSNT-Signale der PCI-Karten werden nicht von vornherein unterstützt. Eine entsprechende Busplatine müßte hierfür gesonderte Abfragewege vorsehen (die z. B. über den ISA-Bus zugänglich sein können). 4.1.3. PISA PISA entspricht als PCI-ISA-Kombination dem Prinzip der vorstehend beschriebenen passiven Busplatine. Der Unterschied liegt im SBC-Slot und demgemäß in der Auslegung der SBC-Karten: die beiden Steckverbinder (für ISA und PCI) sind nicht hintereinander, sondern in 2 Reihen untereinander angeordnet (Abbildungen 4.15, 4.16). Dies entspricht der Kontaktanordnung des EISA-Bus, und es werden auch EISA-Steckverbinder eingesetzt. Abbildung 4.24 PISA. a) Grundabmessungen einer SBC-Karte, b) Prinzip der zweireihigen Kontaktanordnung (Jump Industrial Computer GmbH) Abbildung 4.25 PISA-Busplatine mit 4 PCI- und 4 ISA-Slots (Jump Industrial Computer GmbH) PISA wurde 1996 von der Fa. Giantec (Taiwan) eingeführt. Das System wird derzeit von mehreren Anbietern weltweit unterstützt. Die Vorteile: # # # # Nutzbarkeit herkömmlicher Steckkarten der PC-Technik, PISA-SBC-Karten müssen nur halb so lang sein wie jene gemäß PCI/ISA Passive Backplane, in einen PISA-SBC-Slot kann auch ein ISA-SBC gesteckt werden (reine ISA-Karten lassen sich nicht (vgl. EISA) in die untere Kontaktreihe drücken), der Übergang auf 66 MHz erscheint möglich (infolge der kürzeren Leitungen des PCI-Bus; es sind - vgl. Abbildung 4.9 - keine Querverbindungen erforderlich). Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 37 Tabelle 4.6 gibt einen Überblick über die Anschlußbelegung des PISA-Steckverbinders. AnschlußNr.1) Lokale Bussysteme ISA-Bus: oben2) PCI-Bus: unten Reihe A Reihe B Reihe A Reihe B 01 IOCHK# GND I2CLK3) I2DAT3) 02 SD7 RESET GND GND 03 SD6 +5V INTB# INTA# 04 SD5 IRQ9 INTD# INTC# 05 SD4 -5V +5V +5V 06 SD3 DRQ2 07 SD2 - 12 V +5V + VE-A4) 08 SD1 SRDY# RST# PCICLK25) 09 SD0 + 12 V GNT0#6) GND 10 IOCHRDY GND REQ0#6) GNT1#6) 11 AEN /SMEMW# GND GND 12 SA19 /SMEMR# PCICLK15) REQ1#6) 13 SA18 IOW# GND AD31 14 SA17 IOR# AD30 AD29 15 SA16 DACK3# REQ2#6) PCICLK35) 16 SA15 DRQ3 17 SA14 DACK1# GNT2#6) PCICLK45) 18 SA13 DRQ1 AD28 AD27 19 SA12 REFRESH# AD26 AD25 20 SA11 BCLK AD24 C/BE3# 21 SA10 IRQ7 AD22 AD23 22 SA9 IRQ6 AD20 AD21 23 SA8 IRQ5 AD18 AD19 24 SA7 IRQ4 PWRGDIN7) REQ3#6) 25 SA6 IRQ3 26 SA5 DACK2# GND GNT3#6) 27 SA4 TC AD16 AD17 28 SA3 BALE FRAME# IRDY# 29 SA2 +5V C/BE2# DEVSEL# 30 SA1 OSC TRDY# LOCK# 31 SA0 GND STOP# PERR# Kapitel 4: Anhang PCTEC14 Seite AnschlußNr.1) ISA-Bus: oben2) Reihe A 38 PCI-Bus: unten Reihe B Reihe A Reihe B GND SERR# 32 33 34 - - res. AD15 35 SBHE# MEMCS16# C/BE1# AD14 36 LA23 IOCS16# PAR AD12 37 LA22 IRQ10 GND GND 38 LA21 IRQ11 39 LA20 IRQ12 GND M66EN 40 LA19 IRQ15 AD13 AD10 41 LA18 IRQ14 AD11 AD08 42 LA17 DACK0# AD09 AD07 43 MEMR# DRQ0 C/BE0# AD05 44 MEMW# DACK5# AD06 AD03 45 SD8 DRQ5 AD04 AD01 46 SD9 DACK6# AD02 AD00 47 SD10 DRQ6 48 SD11 DACK7# +5V + VE-A4) 49 SD12 DRQ7 +5V +5V 50 SD13 +5V GND GND 51 SD154 MASTER16# GND GND GND res. res. 52 SD15 1)...7): siehe Erklärung im Text Tabelle 4.28 PISA: Anschlußbelegung des SBC-Slots Erklärung: 1) 2) 3) 4) 5) 6) 7) die Anschlüsse wurden hier, wie bei PCI-Steckverbindern üblich, fortlaufend durchnumeriert, ohne Rücksicht auf Freiflächen, Sperren, Kerben usw. (siehe auch den folgenden Hinweis 1). reine ISA-SBCs könnten eingesteckt werden. Deren Kontakte können nicht in die untere Reihe vordringen. zusätzliche Vorkehrungen zum Anschluß eines I2C-Bus. Dieser ist vor allem für Systemverwaltungszwecke nützlich (Stichworte: SMBus, Abfrage von Hardware-Monitorschaltkreisen (z. B. LM 75, LM 78), Abfrage seriell zugänglicher Konfigurationsangaben (Serial Presence Detect SPD)), Speisespannung für die PCI-Treiberstufen (vgl. Abschnitt 4.1.1.4. sowie den folgenden Hinweis 3), Taktausgänge zu den einzelnen PCI-Slots, Signale der einzelnen PCI-Slots zwecks Master-Anforderung, zusätzlicher Eingang für Power-Good-Signal aus Stromversorgung. Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 39 Hinweise: 1. 2. 3. 4. Insgesamt sind in der oberen Reihe 2 @ 49 = 98 Anschlüsse nutzbar, in der unteren Reihe 2 @ 45 = 90 Anschlüsse (vgl. EISA-Bus). Die Anordnung von Bestückungs- und Lötseite entspricht jener der ISA-Karten. Kontaktreihen A: auf Bestückungsseite, Kontaktreihen B: auf Lötseite. Zählung von hinten nach vorn (am Slot-Abdeckblech beginnend). PISA-Konfigurationen könnten grundsätzlich einen 3,3-V-PCI-Bus enthalten. Dann wäre + VE-A mit 3,3 V zu beschalten, und die PCI-Slots wären als 3,3-V-Slots auszuführen (vgl. Kapitel 1). Die PISA-Karte müßte dies aber unterstützen. Nicht unterstützt werden folgende Signale des PCI-Bus: C das JTAG-Testinterface, C die Signale der Cache-Steuerung SBO, SDONE#, C die 64-Bit-Erweiterung. Geographische Adressierung Die IDSEL-Eingänge der einzelnen PCI-Slots sind folgendermaßen mit bestimmten AD-Leitungen zu verbinden (vgl. Abschnitt 1.4.1.): # # # # IDSEL von Slot 1 mit AD19, IDSEL von Slot 2 mit AD20, IDSEL von Slot 3 mit AD21, IDSEL von Slot 4 mit AD22. Hinweis: Typischerweise enthält die SBC-Karte einen internen PCI-Bus (Bus Nr. 0). Der PCI-Bus auf der Busplatine ist dann über eine PCI-to-PCI Bridge angeschlossen (z. B. als Bus Nr. 1). Die Signale AD11...16 sind für die interne Adressierung auf der SBC-Karte reserviert. Strombedarf Für das Gesamtsystem gelten die entsprechenden Faustregeln und Richtlinien der einschlägigen “Industriestandards”. Für PISA-SBCs gelten folgende Maximalwerte: + 5 V: 9 A, + 12 V, - 12 V, - 5 V: jeweils 1 A, + VE-A: 2 A. 4.1.4. IndustrialPCI (IPCI) und CompactPCI (CPCI) Beiden - miteinander um Marktanteile konkurrierenden - Systemen liegt der Gedanke zugrunde, den PCI-Bus in Einschubsystemen anzuwenden, deren Funktionseinheiten auf sog. Europakarten untergebracht sind. Europakarten gibt es in 2 Hauptabmessungen: 1. 2. einfache Bauhöhe: Hauptabmessungen 100 mm @ 160 mm, doppelte Bauhöhe: Hauptabmessungen 233 mm @ 160 mm. Europakarten werden typischerweise in 19-Zoll-Einschübe*) eingesteckt. Die Leiterplatte wird dabei meistens in eine Metallkassette eingebaut, an deren Frontplatte Bedien- und Anzeigeelemente, Steckverbinder für Interfaces usw. angebracht sein können (Abbildungen 4.17, 4.18). *): die einfache Bauhöhe entspricht im 19"-System 3 Höheneinheiten (3 HE bzw. 3 U), die doppelte Bauhöhe 6 Höheneinheiten (6 HE bzw. 6 U). Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 40 Abbildung 4.26 Zum 19-Zoll-System. a) einfacher Einbaurahmen (19" Rack), b) Einschubkassette (kann Europakarten aufnehmen). (Darstellungen a), b) in unterschiedlichen Maßstäben.) Erklärung: 1 - Seitenteile mit Flanschen zur Befestigung in Schränken; 2 - Rückseite (hier wird die Verdrahtungs- bzw. Busplatine (Backplane) befestigt); 3 - Frontplatte; 4 - Rückwand (enthält Durchbrüche für die Steckverbinder an den eingebauten Europakarten); 5 - obere und untere Abdeckungen mit Langlöchern für Kühlluftdurchtritt. Die Kassetten (b) werden in Rahmen (a) eingeschoben. Abbildung 4.27 Europakartenformate (PICMG) Erklärung: 1 - einfache Bauhöhe (100 mm @ 160 mm); 2 - doppelte Bauhöhe (233 mm @ 160 mm); S - Steckseite (der Busplatine zugewandt; die Steckverbinderbezeichnungen entsprechen CompactPCI); F - Frontplatte (trägt zumeist LEDs, Schalter, Interfacestecker usw.); K - Aushebelgriffe (erleichtern das Entnehmen der Leiterplatte bzw. Einschubkasette). Beide Bussysteme nutzen hochpolige indirekte Steckverbinder, um sowohl die Signalwege für den PCI-Bus und ggf. zusätzliche Signale (anwendungsspezifische und für weitere Bussysteme) als auch genügend Anschlüsse für Speisespannungen und Masse bereitzustellen. Die Vorteile der Bauweise: # # # # # seit langem in der Industrie bewährtes mechanisches Aufbausystem, hohe mechanische Robustheit (sichere Kontaktgabe der Steckverbindungen, Karten und Kabel halten von Hause aus wirklich fest), Zerlegen, Tauschen, Erweitern ist wesentlich einfacher als bei Systemen, die auf der herkömmlichen PCTechnik beruhen (man muß wirklich nur die Kassette ziehen bzw. stecken; es gibt keine zusätzlichen Flachbandkabel o. dergl.)*), es ist grundsätzlich - von der Mechanik her - möglich, Funktionseinheiten bei laufendem Betrieb zu tauschen (Hot Plugging)**), verschiedene Bussysteme, Interfaces und anwendungsspezifische Verbindungen lassen sich miteinander kombinieren (und zwar ohne den von den üblichen PCs her bekannten “Kabelsalat” - es läßt sich alles auf der “Backplane” als gedruckte Verdrahtung ausführen). *): vor allem beim Einsatz von Europakarten doppelter Bauhöhe ist es möglich, alle Interfaces über die Verdrahtungsplatine (Backplane) zu führen. Man kann dann die Karten bzw. Kassetten tauschen, ohne sich um Interfacekabel o. dergl. kümmern zu müssen (vgl. die NLX-Motherboards). Aus Kostengründen bevorzugt man aber zumeist Europakarten einfacher Bauhöhe und bringt Interfaceanschlüsse (Video, serielle und parallele Schnittstellen usw.) auf der Frontplatte an. Dem Nachteil (doch noch ein gewisser Kabelwirrwarr) steht allerdings der Vorteil gegenüber, ohne weiteres Kassetten verschiedener Anbieter gegeneinander austauschen zu können). **): man versuche dies einmal bei einer SBC-Karte (z. B. gemäß Abbildung 4.12): eine praktische Unmöglichkeit, selbst wenn man auf der Busplatine entsprechende Vorkehrungen (vgl. Abschnitt 1.6.6.) getroffen hätte. Die Nachteile: (1) infolge der erforderlichen Miniaturbauweise sind die Funktionseinheiten sehr teuer, (2) übliche PC-Steckkarten lassen sich gar nicht einsetzen. Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 41 Die Gemeinsamkeiten und Unterschiede beider Bussysteme sollen nachfolgend anhand von Tabelle 4.7 erläutert werden. Zu Einzelheiten müssen wir auf die einschlägigen Spezifikationen verweisen. Bussystem IndustrialPCI (IPCI) CompactPCI (CPCI) Standardisierungsgremium1) SiPS e. V.; SIPS-Group PCIMG Maximalausbau eines Bussegments2) 5 Slots (Systemslot + 4 Peripherieslots) 8 Slots (Systemslot + 7 Peripherieslots) Steckverbinder3) 2 mm Kontaktabstand, 5 Kontaktreihen (Handelsnamen z. B. MILLIPACS, METPAK 2, METRAL usw.) 2 mm Kontaktabstand, 7 Kontaktreihen (davon 5 nutzbar) gemäß IEC 917 und 1076-4-101 Kontaktzahl des Steckverbinders 60, 120, 240 ( 5 Reihen zu 12, 24 oder 48 Kontakten) 329 (7 Reihen zu 47 Kontakten) Besonderheiten der elektrischen Auslegung volle Entsprechung zu Ausgabe 2.0 der PCI-Spezifikation infolge der längeren Signalwege sind Serienwiderstände in den Busleitungen vorgeschrieben PCI-Signalpegel es werden sowohl 5-V- als auch 3,3-V-Systeme unterstützt 64-Bit-Erweiterung 1)...3: siehe Erklärung im Text vorgesehen Tabelle 4.29 IndustrialPCI und CompactPCI im Vergleich Erklärung: 1) 2) 3) *): Abbildung 4.19 zeigt die typischen Schriftzüge und Logogramme. Zur Erreichbarkeit der Gremien siehe Abschnitt 4.4. das Prinzip entspricht den weiter oben beschriebenen Lösungen: der PCI-Bus wird über eine passive Platine geführt. Alle zentralen Schaltmittel sind auf einer Steckkarte zusammengefaßt (die typischerweise auch den Prozessor, den Arbeitsspeicher usw. enthält*)). Für diese ist eine besondere Steckposition vorgesehen (hier als Systemslot bezeichnet). Des weiteren wird eine gewisse Anzahl an Peripherieslots (zum Stecken von PCI-Einrichtungen) vorgesehen. Jeder dieser Slots hat ein eigenes Taktsignal sowie ein REQ-GNT-Signalpaar (Master-Auswahl). Die Eigenheiten des PCI-Bus (vgl. Kapitel 1) lassen nur kurze Signalwege zu, so daß die Anzahl der Slots begrenzt ist (Abbildungen 4.20, 4.21). Größere Konfigurationen erfordern das Zwischenschalten von PCI-to-PCI Bridges. IPCI verwendet kostengünstigere Steckverbinder als CPCI. Der aus dem Telekommunikationsbereich stammende CPCI-Steckverbinder enthält allerdings wesentlich mehr Masseverbindungen (die beiden äußeren Kontaktreihen sind mit Masse belegt: besseres Abschirmverhalten). Siehe weiterhin die Abbildungen 4.22 bis 4.25. meistens handelt es sich um einen kompletten PC in einer Einschubkassette. Abbildung 4.28 Kennzeichnende Schriftzüge und Logogramme Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 42 Abbildung 4.29 IPCI-Busplatine (SIPS e. V.) Erklärung: Neben dem Systemslot können bis zu 4 Peripherieslots angeordnet sein. Die insgesamt 5 Slots entsprechen den gemäß PCI-Spezifikation zulässigen 10 Buslasten (vgl. Abschnitt 1.1.8.2.). Aus elektrischer Sicht handelt es sich um einen “reinen” PCI-Bus (ohne Serienwiderstände in den Signalleitungen), bei dem die erste rücklaufende Welle in den Schaltvorgang einbezogen wird (Reflective Wavefront Switching). Deshalb wird auch eine Erweiterung auf 66-MHz-Betrieb ohne weiteres für möglich gehalten. Abbildung 4.30 CPCI-Busplatine (PICMG). S - Systemslot Erklärung: Neben dem Systemslot können bis zu 7 Peripherieslots angeordnet sein. Da mit größeren Leitungslängen zu rechnen ist*), werden auf den einzelnen Funktionseinheiten Serienwiderstände in den Busleitungen gefordert (unmittelbar am Steckverbinder; Richtwert: 10 S). Diese führen naturgemäß zu weniger steilen Signalflanken und somit zu einer gewissen Abweichung von der PCI-Spezifikation. *): das betrifft vor allem die Stichleitungen (Stubs) von der Busplatine zu den Schaltkreisen auf den Funktionseinheiten. Infolge der indirekten Steckverbinder ergeben sich deutlich längere Leitungen als auf üblichen PC-Steckkarten. Abbildung 4.31 IPCI-Steckkarte (SiPS e. V.). Einfache Bauhöhe. F - Frontplatte; D - Fortsetzung bei doppelter Bauhöhe Erklärung: Der Steckverbinder ist in 3 Abschnitte unterteilt: 1) 2) 3) 32-Bit-PCI-Bus: 24 @ 5 = 120 Kontakte, 64-Bit-Erweiterung: 12 @ 5 = 60 Kontakte, universeller E-A-Bereich (UNI I/O BUS): 12 @ 5 = 60 Kontakte. Es werden jeweils nur die benötigten Abschnitte bestückt (so kann es Karten geben, die nur den universellen E-ABereich benötigen). Abbildung 4.32 Kontaktbelegung eines IPCI-Systemslots (SiPS e. V.) Erklärung: Es ist lediglich der 32-Bit-PCI-Bus im einzelnen dargestellt. Die Belegung des universellen E-A-Bereichs ist an sich freigestellt, es gibt aber standardisierte Belegungen für verschiedene Bussysteme und Interfaces (u. a. für Varianten des ISA-Bus und des VME-Bus). Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 43 Abbildung 4.33 Kontaktbelegung eines CPCI-Systemslots (PICMG) Erklärung: 1) 2) 32-Bit-PCI-Bus, 64-Bit-Erweiterung. In beiden Teilen (1, 2) des Steckverbinders werden die Kontakte von 1 an gezählt. Beachten Sie die Massebelegung in den beiden äußeren Kontaktreihen (Z und F). Abbildung 4.34 Industrie-PC in 19"-Einbaurahmen (Gespac) Erklärung: 1- Einbaurahmen (vgl. Abbildung 4.17); 2 - Netzteil mit Netzschalter und IEC-Steckdose; 3 - CPCI-Slots; 4 SBC-Kassette in CPCI-Systemslot (an der Frontplatte die Anschlüsse der üblichen PC-Schnittstellen (1 @ parallel (P), 2 @ seriell (S), Video (V), Tastatur/Maus (T; PS/2-Anschluß); 5 - Floppy-Disk-Laufwerk. Hinweise: 1. 2. Bei beiden Systemen sind die Slots mit zusätzlichen Signalen belegt, die nicht in der PCI-Spezifikation definiert sind. Hierzu sei auf die jeweilige Original-Dokumentation verwiesen. PCI-Anschluß bei Funktionseinheiten doppelter Bauhöhe: C bei IPCI oben (vgl. Abbildung 4.22), C bei CPCI unten (vgl. Abbildung 4.18). 4.1.5. PC/104-Plus Diese Spezifikation betrifft die kleinen stapelbaren PC-104-Moduln, die um einen PCI-Bus erweitert werden. Die Spezifikation wurde vom PC/104 Consortium herausgegeben. Sie soll anhand der folgenden Abbildungen 4.26 bis 4.28 kurz erläutert werden. Abbildung 4.35 Leiterplattenformat PC/104-Plus. 1, 2 - ISA-Bus (Steckverbinder 64- und 40-polig), 3 - PCIBus (Steckverbinder 120-polig) Erklärung: Der PCI-Steckverbinder ist ein 120-poliger Typ mit 4 Reihen zu 30 Kontakten und 2 mm Kontaktabstand. Hinweis: Es gibt auch Moduln, die nur den PCI-Steckverbinder enthalten (nicht aber den ISA-Bus). Der PCI-Bus entspricht der Ausgabe 2.1 der PCI-Spezifikation. Es ist ein 32-Bit-Bus, der mit maximal 33 MHz betrieben wird. PC/104-Plus erlaubt es, sowohl 5-V- als auch 3,3-V-Konfigurationen aufzubauen. Nicht unterstützt werden: # # # # die 64-Bit-Erweiterung, der 66-MHz-Betrieb, das JTAG-Testinterface, das Signal CLKRUN#, Lokale Bussysteme Kapitel 4: Anhang PCTEC14 # Seite 44 die PRSNT-Signale. Abbildung 4.36 Anschlußbelegung des PCI-Steckverbinders (PC/104 Consortium) . *): die Kontaktpositionen sind so belegt, daß sich in 5-V-Umgebungen keine 3,3-V-Moduln stecken lassen und umgekehrt: die jeweilige Buchse ist verschlossen, so daß das Stecken eines Stifts unmöglich ist. Bei 5-V-Moduln fehlt der Stift in Position A1, bei 3,3 V- Moduln in Position D30. Universalmoduln haben an beiden Positionen keine Stifte. Auch bei dieser Auslegung sind die zentralen Steuerschaltungen auf einem der Moduln untergebracht, und der Steckverbinder enthält Kontaktpositionen für mehrere Taktsignale, REQ-GNT-Signalpaare usw. Beachten Sie, daß auch “fertige” IDSEL-Signale über den Steckverbinder geführt sind. Abbildung 4.37 Signalauswahl auf den Funktionseinheiten (Schaltungsvorschlag; PC/104 Consortium) Erklärung: 1- Auswahlschalter; 2 - Takt- und IDSEL-Auswahl; 3 - REQ-GNT-Auswahl (nur auf Mastereinrichtungen erforderlich); 4- Auswahl der Interruptleitungen. Das Stapelprinzip erfordert besondere Vorkehrungen: da es keine Busplatine gibt, kann man auch keine slotspezifischen Leitungen vom jeweiligen Slot zum Systemslot führen. Vielmehr werden allen Funktionseinheiten über die aufeinandergestapelten Steckverbinder alle Signale gleichermaßen angeboten, und jede Funktionseinheit muß sich “ihre” Signale selbst auswählen. Der Schaltungsvorschlag sieht zwei 4:1-Busschalter (z. B. QuickSwitch QS3253)*) vor, die jeweils auf den Funktionseinheiten angeordnet sind. Über einen kleinen Drehschalter (1) können so die jeweiligen Signale ausgewählt werden (Takt (CLK), IDSEL, REQ#/GNT#, und 2 Interruptsignale). Stapelt man mehrere solcher Funktionseinheiten aufeinander, so muß jeder der Drehschalter (1) in eine andere Position gestellt werden. *): diese wirken bidirektional, gestatten also den Signalfluß in beiden Richtungen. Somit ist es ohne weiteres möglich, die beiden auswärtsführenden Interruptsignale (INT0, INT1) auf die PCI-Signale INTA#...INTD# zu verteilen. 4.2. Klassencodes Der Klassencode (Class Code) ist ein 3-Byte-Feld im generellen Bereich des Konfigurationsadreßraums*) der einzelnen Einrichtungen (vgl. Abschnitt 1.4.2.). Aus dieser Angabe (die von der PCI SIG festgelegt wird) ist ersichtlich, um welche Art von Einrichtung es sich handelt. Anhand der Tabellen 4.8 bis 4.26 geben wir einen Überblick über typische Klassencodes. *): er belegt die 3 höherwertigen Bytes im Konfigurationsregister 02H (vgl. Tabelle 1.36). Hinweis: Es werden immer wieder neue Klassencodes vergeben; die folgenden Tabellen können deshalb keineswegs dem wirklich aktuellsten Stand entsprechen. (Trotzdem sind sie zur Orientierung brauchbar, da einmal vergebene Klassencodes in der Regel nicht mehr geändert werden.) Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 45 Byteadresse 0BH 0AH 09H Basisklasse (Base Class Code) Unterklasse (Sub-Class Code) Programmschnittstelle (Programming Interface) Tabelle 4.30 Der Klassencode im Konfigurationsadreßraum Basisklasse Diese Angabe beschreibt den allgemeinen Typ der Einrichtung (Tabelle 4.9). Basisklasse Typ der Einrichtung 00H ältere Einrichtung (wurde vor der endgültigen Definition der Klassencodes gefertigt) 01H Massenspeichersteuerung (Mass Storage Controller) 02H Netzwerksteuerung (Network Controller) 03H Bildschirm- bzw. Anzeigesteuerung (Display Controller) 04H Multimedia-Einrichtung 05H Speichersteuerung (Memory Controller) 06H Brücke 07H einfache Kommunikationssteuereinrichtungen (Simple Communication Controllers) 08H “Plattform”-Peripherie (Base System Peripherals) 09H Eingabeeinrichtungen 0AH Koppeleinrichtungen für mobile Systeme (Docking Stations) 0BH Prozessoren 0CH Steuereinrichtungen für serielle Bussysteme (Serial Bus Controllers) 0DH Steuereinrichtungen für drahtlose Schnittstellen (Wireless Controllers) 0EH “intelligente” E-A-Steuereinrichtungen (Intelligent I/O Controllers) 0FH Steuereinrichtungen für Satellitenkommunikation (Satellite Communication Controllers) 10H Ver- und Entschlüsselungseinrichtungen (Encryption and Decryption Controllers) 11H Datenerfassung und Signalverarbeitung (Date Acquisition and Signal Processing Controllers) 12H...FEH FFH reserviert undefinierbare Zuordung (Einrichtung paßt in keine der vorgegebenen Klassen) Tabelle 4.31 Basisklassen Programmschnittstellen Die Angabe ist vorgesehen, um zu kennzeichnen, über welche hersteller-unabhängige Programmschnittstelle die jeweilige Einrichtung angesprochen werden kann. Eine solche Schnittstelle ist typischerweise gegeben durch bestimmte Registeradressen und Registerbelegungen, wie wir dies u. a. von den Einrichtungen auf dem Motherboard (DMA, Interruptcontroller, Floppy-Disk-Controller usw.) her kennen. Die Absicht ist offenbar nicht allzu begeistert aufgenommen worden, denn man hat bisher nur wenige solcher Schnittstellen definiert. Meistens enthält dieses Byte die Belegung 00H = “keine hersteller-unabhängige Programmschnittstelle vorgesehen”. Wir werden in Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 46 den folgenden Tabellen die Belegung dieses Bytes nur dann erwähnen, wenn darin irgendwelche Besonderheiten codiert sind (ist es nicht erwähnt, so ist die übliche Belegung = 00H). Unterklassen Die Unterklassen dienen zur genaueren Kennzeichnung der einzelnen Einrichtungen (Tabellen 4.11 bis 4.26). Unterklasse Typ der Einrichtung 00H alle sonstigen Einrichtungen 01H alle VGA-kompatiblen Video-Controller Tabelle 4.32 Unterklassen der Basisklasse 00H (ältere Einrichtungen) Unterklasse Typ der Einrichtung 00H SCSI-Controller 01H IDE-Controller1) 02H Floppy-Disk-Controller 03H IPI-Controller 2) 04H RAID-Controller3) 80H andere Massenspeichersteuerung 1)...3): siehe Erklärung im Text Tabelle 4.33 Unterklassen der Basisklasse 01H (Massenspeichersteuerung) Erklärung: 1) 2) 3) hier sind im Byte “Programmschnittstelle” verschiedene Angaben codiert, IPI = Intelligent Peripheral Interface, RAID = Verbund-Anordnung mehrerer Festplattenlaufwerke. Unterklasse Typ der Einrichtung 00H Ethernet-Controller 01H Token-Ring-Controller 02H FDDI-Controller 03H ATM-Controller 04H andere Netzwerksteuereinrichtung Tabelle 4.34 Unterklassen der Basisklasse 02H (Netzwerksteuerung) Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite Unterklasse 47 Typ der Einrichtung 00H Videocontroller; VGA- bzw. 8514-kompatibel*) 01H XGA-Videocontroller 02H 3D-Videocontroller 80H anderer Videocontroller *): siehe Erklärung im Text Tabelle 4.35 Unterklassen der Basisklasse 03H (Bildschirmsteuerung) Erklärung: Zur weiteren Unterscheidung dient das Byte “Programmschnittstelle”: # # 00H: VGA-kompatibel. Speicheradressen A 0000H... B FFFFH; E-A-Adressen 3B0H...3BBH und 3C0H...3CFH sowie alle entsprechenden Alias-Adressen, 01H 8514-kompatibel. E-A-Adressen 2E8H (einschließlich Alias-Adressen) sowie 2EAH...2EFH. Unterklasse Typ der Einrichtung 00H Video-Einrichtung 01H Audio-Einrichtung 80H andere Multimedia-Einrichtung Tabelle 4.36 Unterklassen der Basisklasse 04H (Multimedia-Einrichtungen) Unterklasse Typ der Einrichtung 00H RAM 01H Flash-ROM 80H andere Speichereinrichtung Tabelle 4.37 Unterklassen der Basisklasse 05H (Speichersteuerung) Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite Unterklasse 48 Typ der Einrichtung 00H Brücke zum Prozessor (Host Bridge) 01H ISA Bridge 02H EISA Bridge 03H MC Bridge (Microchannel) 04H PCI-to-PCI Bridge*) 05H PCMCIA (PC Card) Bridge 06H NuBus Bridge (z. B. Macintosh) 07H CardBus Bridge 80H andere Brücken-Einrichtung *): Programmschnittstelle = 01: Brücke unterstützt subtraktive Adreßdecodierung Tabelle 4.38 Unterklassen der Basisklasse 06H (Brücken) Unterklasse 00H 01H 02H Typ der Einrichtung serielle Schnittstelle: P PS = 00H: XT-kompatibel, P PS = 01H: 16450-kompatibel, P PS = 02H: 16550-kompatibel parallele Schnittstelle: P PS = 00H: herkömmliche Parallelschnittstelle (Centronics; Standard Printer Port), P PS = 01H: bidirektionale Parallelschnittstelle (PS/2-kompatibel), P PS = 02H: Parallelschnittstelle gemäß ECP 1.x (IEEE 1284) Steuereinrichtung für mehrere serielle Schnittstellen (Multiport Serial Controller)*) 80H andere Schnittstellensteuerung PS = Byte “Programmschnittstelle”; *): z. B. Terminaladapter für Mehrplatzsysteme Tabelle 4.39 Unterklassen der Basisklasse 07H (einfache Kommunikationssteuereinrichtungen) Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite Unterklasse 00H 01H 02H 03H 49 Typ der Einrichtung Unterbrechungssteuerung (Interrupt Controller)1): P PS = 00H: Allgemeintyp 8259, P PS = 01H: Interrupt-Controller am ISA-Bus, P PS = 02H: Interrupt-Controller am EISA-Bus, P PS = 03H: erweiterte Unterbrechungssteuerung (APIC) DMA-Steuerung 1): P PS = 00H: Allgemeintyp 8237, P PS = 01H: DMA-Controller am ISA-Bus, P PS = 02H: DMA-Controller am EISA-Bus Systemzeitgeber (System Timer)1): P PS = 00H: Allgemeintyp 8254, P PS = 01H: Systemzeitgeber am ISA-Bus, P PS = 02H: Systemzeitgeber am EISA-Bus (2 Zeitgeber) Tageszeituhr (Real Time Clock (RTC) Controller): P PS = 00H: Allgemeintyp 1287, P PS = 01H: Tageszeituhr am ISA-Bus 04H PCI Hot Plug Controller*) 80H andere periphere Einrichtung PS = Byte “Programmschnittstelle”; *): vgl. Abschnitt 1.6.6., bes. Abbildung 1.112 Tabelle 4.40 Unterklassen der Basisklasse 08H (Plattform-Peripherie) Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite Unterklasse 50 Typ der Einrichtung 00H Tastaturcontroller 01H Digitalisiertablett 02H Maussteuerung 03H Scanner-Steuerung 04H Steuerhebel-Interface (Gameport Controller) 80H andere Eingabeeinrichtung Tabelle 4.41 Unterklassen der Basisklasse 09H (Eingabeeinrichtungen) Unterklasse Typ der Einrichtung 00H Allgemeintyp (Generic Docking Station) 80H andere Docking Station Tabelle 4.42 Unterklassen der Basisklasse 0AH (Koppeleinrichtungen) Unterklasse Typ der Einrichtung 00H 386 01H 486 02H Pentium 10H Alpha 20H PowerPC 40H Coprozessor Tabelle 4.43 Unterklassen der Basisklasse 0BH (Prozessoren) Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite Unterklasse 51 Typ der Einrichtung 00H IEEE 1394 01H ACCESS-Bus 02H SSA (Serial Storage Architecture) 03H USB: P PS = 00H: gemäß Universal Host Controller Interface Specification (UHC), P PS = 10H: gemäß Open Host Controller Interface Specification (OHC) 04H Fibre Channel 05H SMBus (System Management Bus) PS = Byte “Programmschnittstelle” Tabelle 4.44 Unterklassen der Basisklasse 0CH (serielle Bussysteme) Unterklasse Typ der Einrichtung 00H IrDA-kompatible Schnittstelle 01H Infrarotschnittstelle für Heimgeräte (Consumer IR Controller) 10H HF-Schnittstelle (RF Controller) 80H andere drahtlose Schnittstelle Tabelle 4.45 Unterklassen der Basisklasse 0DH (drahtlose Schnittstellen) Unterklasse Typ der Einrichtung I2O-Architektur gemäß Spezifikation 1.0. Genaue Bestimmung in Byte “Programmschnittstelle” 00H Tabelle 4.46 Unterklassen der Basisklasse 0EH (“intelligente” E-A-Steuereinrichtungen) Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite Unterklasse 52 Typ der Einrichtung 00H Steuereinrichtung für Fernsehübertragung 01H Steuereinrichtung für Audio-Übertragung 03H Steuereinrichtung für Sprachübertragung 04H Steuereinrichtung für Datenübertragung Tabelle 4.47 Unterklassen der Basisklasse 0FH (Satellitenkommunikation) Unterklasse Typ der Einrichtung 00H Ver- und Entschlüsselung in Netzwerken 01H Ver- und Entschlüsselung im Unterhaltungsbereich 80H andere Einrichtung zur Ver- und Entschlüsselung Tabelle 4.48 Unterklassen der Basisklasse 10H (Ver- und Entschlüsselungseinrichtungen) 4.3. Herstellerkennungen Die Herstellerkennung (Vendor ID) ist ein 2-Byte-Feld im generellen Bereich des Konfigurationsadreßraums der einzelnen Einrichtungen (vgl. Abschnitt 1.4.2.). Dieses Feld enthält eine vorzeichenlose 16-Bit-Binärzahl, die den Hersteller durch eine Art laufender Nummer kennzeichnet. Die Kennung wird von der PCI SIG vergeben*). Die PCI SIG hält eine Liste der vergebenen Kennungen bereit, engagiert sich aber ansonsten in dieser Hinsicht nicht weiter (Stichwort: Neutralität). Wer genauere Angaben zu einer bestimmten Einrichtung braucht, dem bleibt kaum etwas anders übrig, als zu versuchen, anhand der Herstellerkennung den Hersteller zu ermitteln und dort weiterzufragen (Internet, Kundendienst usw.). *): um eine Kennung zu erhalten, ist die Mitgliedschaft in der PCI SIG erforderlich. Quellen für Herstellerkennungen: # # die PCI SIG: http://www.pcisig.com/siginfo/vendors.html, unabhängige Sites im Internet. Beispiele (ohne Gewähr): C http://www.halcyon.com/scripts/jboemler/pci/pcicode, C http://www.sun.com/pci/pci.cards.ihv.html. C allgemein: mit Suchmaschine (z. B. Alta Vista) z. B. nach PCI AND Vendor AND ID suchen. Die folgende Liste wurde aus frei verfügbaren Angaben des Internets zusammengestellt. Sie ist nach (hexadezimal angegebenen) Herstellerkennungen sortiert*) (praktische Anwendung: eine Dienstsoftware liefert uns die Herstellerkennung einer Einrichtung, und wir wollen den zugehörigen Hersteller wissen). *): im Internet finden wir auch anders herum (alphabetisch nach Herstellern) sortierte Listen. Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 44 Herstellerkennungen (Vendor IDs) Sortiert nach Kennungen (hexadezimal). (*) = Kennung doppelt vergeben. 003D 0E11 1000 1000 1001 1002 1002 1003 1004 1005 1006 1007 1008 100A 100B 100C 100D 100E 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 101A 101B 101C 101E 101F 1020 1021 1022 1023 1024 1025 1028 1029 102A 102B 102C 102D 102E 102F 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 103A 103B 103C 00.. Lockheed Martin Corp Compaq 10.. Symbios Logic Inc.(*) LSI Logic (*) KOLTER ELECTRONIC ATI 3D Rage Pro (*) ATI Technologies (*) ULSI VLSI Technology Avance Logic Inc. Reply Group Netframe Systems Epson Phoenix Technologies Ltd. National Semiconductor Tseng Labs AST Research Weitek Video Logic Ltd. Digital Equipment Corporation Micronics Computers Inc. Cirrus Logic IBM LSI Logic Corp of Canada Fujitsu ICL Computers Spea Software AG Unisys Systems Elitegroup Computer Sys NCR/AT&T GIS Vitesse Semiconductor Western Digital American Megatrends Inc. PictureTel Corp. Hitachi Computer Electronics Oki Electric Industry Advanced Micro Devices Trident Microsystems Zenith Data Systems Acer Incorporated Dell Computer Corporation Siemens Nixdorf AG LSI Logic, Headland Div Matrox Chips And Technologies Wyse Technologies Olivetti Advanced Technology Toshiba America TMC Research miro Computer Products AG Compaq NEC Corporation Burndy Corporation Computer & &Communication Research Lab Future Domain Hitachi Micro Systems Inc AMP Incorporated Silicon Integrated System Seiko Epson Corporation Tatung Corp. Of America Hewlett-Packard Company Lokale Bussysteme 103E 103F 1040 1041 1042 1043 1044 1045 1046 1047 1048 1048 1049 104A 104B 104B 104C 104D 104E 104F 1050 1051 1052 1054 1055 1056 1057 1058 1059 105A 105B 105C 105D 105E 105F 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 106A 106B 106C 106D 106E 106F 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 107A 107B Solliday Engineering Logic Modeling Kubota Pacific Computer Inc. Computrend PC Technology Asustek Computer Inc. Distributed Processing Tech OPTi IPC Corporation LTD Genoa Systems Corp. ELSA GmbH (*) ELSA AG (*) Fountain Technology SGS Thomson Microelectric Buslogic (*) Mylex Corporation (*) Texas Instruments Sony Corporation Oak Technology Co-Time Computer Ltd. Winbond Electronics Corp. Anigma Corp. Young Micro Systems Hitachi LTD EFAR Microsystems ICL Motorola Electronics & Teleccommunication Research Teknor Microsystems Promise Technology Foxconn International Wipro Infotech Limited Number Nine Visual Technology Vtech Engineering Canada Ltd. Infotronic America Inc. United Microelectronics 8x8 Inc. Maspar Computer Corp. Ocean Office Automation Alcatel Cit Texas Microsystems Picopower Technology Mitsubishi Electronics Diversified Technology Mylex Corporation Aten Research Inc. Apple Computer Inc. Hyundai Electronics America Sequent DFI Inc. City Gate Development LTD Daewoo Telecom Ltd. Mitac GIT Co. Ltd. Yamaha Corporation Nexgen Microsysteme Advanced Integration Research Chaintech Computer Co. Ltd. Q Logic Cyrix Corporation I-Bus Networth Gateway 2000 Kapitel 4: Anhang PCTEC14 107C 107D 107E 107F 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 108A 108C 108D 108E 108F 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 109A 109B 109C 109D 109E 109F 10A0 10A1 10A2 10A3 10A4 10A5 10A6 10A7 10A8 10A9 10AA 10AB 10AC 10AD 10AE 10AF 10B0 10B1 10B2 10B3 10B4 10B5 10B6 10B7 10B8 10B9 10BA 10BB 10BC 10BD 10BE 10BF 10C0 10C1 10C2 10C3 10C4 Seite Goldstar Co. Ltd. Leadtek Research Interphase Corporation Data Technology Corporation Contaq Microsystems Supermac Technology Inc. EFA Corporation Of America Forex Computer Corporation Parador Tulip Computers Int’l BV J. Bond Computer Systems Cache Computer Microcomputer Systems (M) Son Data General Corporation Bit3 Computer Elonex PLC c/o Oakleigh Systems Inc. Olicom Sun Microsystems Systemsoft Corporation Encore Computer Corporation Intergraph Corporation Diamond Computer Systems National Instruments First Int’l Computers CMD Technology Inc. Alacron Appian Graphics Quantum Designs Ltd. Samsung Electronics Co. Ltd. Packard Bell Gemlight Computer Ltd. Megachips Corporation Zida Technologies Ltd. Brooktree Corporation Trigem Computer Inc. Meidensha Corporation Juko Electronics Inc. Ltd. Quantum Corporation Everex Systems Inc. Globe Manufacturing Sales Racal Interlan Informtech Industrial Ltd. Benchmarq Microelectronics Sierra Semiconductor Silicon Graphics ACC Microelectronics Digicom Honeywell IASD Symphony Labs Cornerstone Technology Micro Computer Systems Inc. Cardexpert Technology Cabletron Systems Inc. Raytheon Company Databook Inc. STB Systems PLX Technology Madge Networks 3Com Corporation Standard Microsystems Acer Labs Inc. Mitsubishi Electronics Corp. Dapha Electronics Corporation Advanced Logic Research Inc. Surecom Technology Tsenglabs International Corp. MOST Corp. Boca Research Inc. ICM Corp. Ltd. Auspex Systems Inc. Samsung Semiconductors Award Software Int’l Inc. Lokale Bussysteme 10C5 10C6 10C7 10C8 10C9 10CA 10CB 10CC 10CD 10CE 10CF 10D0 10D1 10D2 10D3 10D4 10D5 10D6 10D7 10D8 10D9 10DA 10DB 10DC 45 10F8 10F9 10FA 10FB 10FC 10FD 10FE 10FF Xerox Corporation Rambus Inc. Media Vision Neomagic Corporation Dataexpert Corporation Fujitsu Omron Corporation Mentor Arc Inc. Advanced System Products Radius Inc. Citicorp TTI Fujitsu Limited Future+ Systems Molex Incorporated Jabil Circuit Inc. Hualon Microelectronics Autologic Inc. Cetia BCM Advanced Research Advanced Peripherals Labs Macronix International Co. Ltd. Thomas-Conrad Corporation Rohm Research CERN-European Lab. for Particle Physics (*) CERN/EPC/EDU (*) Evans & Sutherland Nvidia Corporation Emulex Corporation Integrated Micro Solutions Tekram Technology Corp. Ltd. Aptix Corporation Tundra Semiconductor Corp. Tandem Computers Micro Industries Corporation Gainbery Computer Products Inc. Vadem Applied Micro Circuits Corp. Alps Electronic Corp. Ltd. Integraphics Systems Artist Graphics Realtek Semiconductor Ascii Corporation Xilinx Corporation Racore Computer Products Peritek Corporation Tyan Computer Achme Computer Inc. Alaris Inc. S-Mos Systems NKK Corporation Creative Electronic Systems SA Matsushita Electric Industrial Corp. Lt Altos India Ltd. PC Direct Truevision Thesys Microelectronic’s I-O Data Device Inc. Soyo Technology Corp. Ltd. Fast Electronic GmbH Ncube 1100 1101 1102 1103 1104 1105 1106 1107 11.. Jazz Multimedia Initio Corporation Creative Labs Triones Technologies Inc. Rasterops Sigma Designs Inc. Via Technologies Stratus Computer 10DC 10DD 10DE 10DF 10E0 10E1 10E2 10E3 10E4 10E5 10E6 10E7 10E8 10E9 10EA 10EB 10EC 10ED 10EE 10EF 10F0 10F1 10F2 10F3 10F4 10F5 10F6 10F7 Kapitel 4: Anhang PCTEC14 1108 1109 110A 110B 110C 110D 110E 110F 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 111A 111B 111C 111D 111E 111F 1120 1121 1122 1123 1124 1125 1126 1127 1129 112A 112B 112C 112D 112E 112F 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 113A 113B 113C 113D 113E 113F 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 114A 114B 114C 114D 114E 114F Seite Proteon Inc. Cogent Data Technologies Siemens AG / Siemens Nixdorf AG Chromatic Research Inc Mini-Max Technology Inc. ZNYX Corporation CPU Technology Ross Technology Powerhouse Systems Santa Cruz Operation Osicom Technologies, Inc. Accton Technology Corporation Atmel Corp. Dupont Pixel Systems Ltd. Data Translation Datacube Inc. Berg Electronics Vortex Computersysteme GmbH Efficent Networks Teledyne Electronic Systems Tricord Systems Inc. Integrated Device Technology, Inc. Eldec Corp. Precision Digital Images EMC Corp. Zilog Multi-Tech Systems Inc. Excellent Design, Inc. Leutron Vision AG Eurocore/Vigra Vigra FORE Systems Firmworks Hermes Electronics Co. Ltd. Linotype - Hell AG Zenith Data Systems Ravicad Infomedia Imaging Technology Computervision Philips Semiconductors Mitel Corp. Eicon Technology Corporation Mercury Computer Systems, Inc. Fuji Xerox Co Ltd Momentum Data Systems Cisco Systems Inc Ziatech Corporation Dynamic Pictures Inc FWB Inc Network Computing Devices Cyclone Microsystems Leading Edge Products Inc Sanyo Electric Co Equinox Systems Intervoice Inc Crest Microsystem Inc Alliance Semiconductor Netpower Inc Cincinnati Milacron Workbit Corp Force Computers Interface Corp Schneider & Koch Win System Corporation VMIC Canopus Co. Ltd Annabooks IC Corporation Nikon Systems Inc Stargate Lokale Bussysteme 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 115A 115B 115C 115D 115E 115F 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 116A 116B 116C 116E 116F 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 117A 117B 117C 117D 117E 117F 1180 1181 1183 1184 1185 1186 1187 1188 1189 118A 118B 118C 118D 118E 118F 1191 1192 1193 1194 1195 1196 1197 1198 1199 46 Thinking Machines Corporation JAE Electronics Inc. Megatek Land Win Electronic Corp Melco Inc Pine Technology Ltd Periscope Engineering Avsys Corporation Voarx R&D Inc Mutech Harlequin Ltd Parallax Graphics Photron Ltd. Xircom Peer Protocols Inc Maxtor Corporation Megasoft Inc PFU Ltd OA Laboratory Co Ltd Rendition Inc Advanced Peripherals Tech Imagraph Corporation Pequr Technology Inc. Mutoh Industries Inc Thine Electronics Inc Centre f/Dev. of Adv. Computing Polaris Communications Connectware Inc Intelligent Resources Electronics for Imaging Workstation Technology Inventec Corporation Loughborough Sound Images Altera Corporation Adobe Systems Bridgeport Machines Mitron Computer Inc. SBE Silicon Engineering Alfa Inc Toshiba America Info Systems A-Trend Technology LG Electronics Inc. Atto Technology Becton & Dickinson T/R Systems Integrated Circuit Systems Ricoh Co Ltd Telmatics International Fujikura Ltd Forks Inc Dataworld D-Link System Inc Advanced Technology Laboratories Shima Seiki Manufacturing Ltd. Matsushita Electronics Hilevel Technology Hypertec Pty Ltd Corollary Inc BitFlow Inc Hermstedt GmbH Green Logic Artop Electric Densan Co. Ltd Zeitnet Inc. Toucan Technology Ratoc System Inc Hytec Electronics Ltd Gage Applied Sciences Inc. Lambda Systems Inc Attachmate Corp. Kapitel 4: Anhang PCTEC14 119A 119B 119C 119D 119E 119F 11A0 11A1 11A2 11A3 11A4 11A5 11A6 11A7 11A8 11A9 11AA 11AB 11AC 11AD 11AE 11AF 11B0 11B1 11B2 11B3 11B4 11B5 11B6 11B7 11B8 11B9 11BA 11BB 11BC 11BD 11BE 11BF 11C0 11C1 11C2 11C3 11C4 11C5 11C6 11C7 11C8 11C9 11CA 11CB 11CC 11CD 11CE 11CF 11D0 11D1 11D2 11D3 11D4 11D5 11D6 11D7 11D8 11D9 11DA 11DB 11DC Seite Mind Share Inc. Omega Micro Inc. Information Technology Inst. Bug Sapporo Japan Fujitsu Bull Hn Information Systems Convex Computer Corporation Hamamatsu Photonics K.K. Sierra Research and Technology Deuretzbacher GmbH & Co. Eng. KG Barco MicroUnity Systems Engineering, Inc. Pure Data Power Computing Corp. Systech Corp. InnoSys Inc. Actel Galileo Technology Ltd. Canon Information Systems Lite-On Communications Inc Scitex Corporation Ltd Pro-Log Corporation V3 Semiconductor Inc. Apricot Computers Eastman Kodak Barr Systems Inc. Leitch Technology International Radstone Technology Plc United Video Corp Motorola Xpoint Technologies Inc Pathlight Technology Inc. Videotron Corp Pyramid Technology Network Peripherals Inc Pinnacle Systems Inc. International Microcircuits Inc Astrodesign Inc. Hewlett-Packard AT&T Microelectronics Sand Microelectronics NEC Corporation Document Technologies Ind. Shiva Corporatin Dainippon Screen Mfg. Co D.C.M. Data Systems Dolphin Interconnect Solutions MAGMA LSI Systems Inc Specialix Research Ltd. Michels & Kleberhoff Computer GmbH HAL Computer Systems Inc. Primary Rate Inc Pioneer Electronic Corporation Loral Frederal Systems - Manassas AuraVision Corporation Intercom Inc. Trancell Systems Inc Analog Devices Ikon Corp Tekelec Technologies Trenton Terminals Inc Image Technologies Development Tec Corporation Novell Sega Enterprises Ltd Questra Corp Lokale Bussysteme 11DD 11DE 11DF 11E0 11E1 11E2 11E3 11E4 11E5 11E6 11E7 11E8 11E9 11EA 11EB 11EC 11ED 11EE 11EF 11F0 11F1 11F2 11F3 11F4 11F5 11F6 11F7 11F8 11F9 11FA 11FB 11FC 11FD 11FE 11FF 11af 1200 1201 1202 1203 1204 1205 1206 1208 1209 120A 120B 120D 120E 120F 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 121A 121B 121C 121D 121E 121F 1220 47 Crosfield Electronics Ltd Zoran Corporation New Wave Pdg Cray Communications A/S Gec Plessey Semi Inc Samsung Information Systems America Quicklogic Corp Second Wave Inc IIX Consulting Mitsui-Zosen System Research Toshiba America, Elec. Co Digital Processing Systems Inc Highwater Designs Ltd Elsag Bailey Formation Inc Coreco Inc Mediamatics Dome Imaging Systems Inc Nicolet Technologies BV Compu-Shack GmbH Symbios Logic Inc Picture Tel Japan KK Keithley Metrabyte Kinetic Systems Corporation Computing Devices Intl Powermatic Data Systems Ltd Scientific Atlanta PMC-Sierra Inc. I-Cube Inc Kasan Electronics Co Ltd Datel Inc Silicon Magic High Street Consultants Comtrol Corp Scion Corp Avid Technology Inc. 12.. CSS Corp Vista Controls Corp Network General Corp Bayer Corporation, Agfa Div Lattice Semiconductor Corp Array Corp Amdahl Corp Parsytec GmbH Sci Systems Inc Synaptel Adaptive Solutions Compression Labs, Inc. Cyclades Corporation Essential Communications Hyperparallel Technologies Braintech Inc Kingston Technology Corp Applied Intelligent Systems Inc Performance Technologies Inc Interware Co Ltd Purup Prepress A/S 2 Micro Inc Hybricon Corp First Virtual Corp 3dfx Interactive Inc Advanced Telecommunications Modules Nippon Texa Co Ltd Lippert Automationstechnik GmbH CSPI Arcus Technology Inc Ariel Corporation Kapitel 4: Anhang PCTEC14 1221 1222 1223 1224 1225 1227 1228 1229 122A 122B 122C 122D 122E 122F 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 123A 123B 123C 123D 123F 1240 1241 1243 1244 1245 1246 1247 1248 1249 124A 124B 124C 124D 124E 124F 1250 1251 1253 1254 1255 1256 1257 1258 1259 125A 125B 125C 125D 125E 125F 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 126A Seite Contec Co Ltd Ancor Communications Inc Heurikon/Computer Products Interactive Images Power I/O Inc. Tech-Source Norsk Elektro Optikk A/S Data Kinesis Inc. Integrated Telecom LG Industrial Systems Co. Ltd. Sican GmbH Aztech System Ltd Xyratex Andrew Corp. Fishcamp Engineering Woodward McCoach Inc. GPT Ltd. Bus-Tech Inc. Technical Corp Risq Modular Systems Inc. Sigma Designs Corp. Alta Technology Corp. Adtran The 3DO Company Visicom Laboratories Inc. Seeq Technology Inc. Century Systems Inc. Engineering Design Team Inc. C-Cube Microsystems Marathon Technologies Corp. DSC Communications Delphax AVM APD S.A. Dipix Technologies Inc Xylon Research Inc. Central Data Corp. Samsung Electronics Co. Ltd. AEG Electrocom GmbH GreenSpring Computers Solitron Technologies Inc. Stallion Technologies Cylink Infortrend Technology Inc Hitachi Microcomputer System Ltd. VLSI Solution OY Guzik Technical Enterprises Linear Systems Ltd. Optibase Ltd. Perceptive Solutions Inc. Vertex Networks Inc. Gilbarco Inc. Allied Telesyn International ABB Power Systems Asix Electronics Corp. Aurora Technologies, Inc. ESS Technology Specialvideo Engineering SRL Concurrent Technologies Inc. Harris Semiconductor Matsushita-Kotobuki Electronics Industr ES Computer Co. Ltd. Sonic Solutions Aval Nagasaki Corp. Casio Computer Co. Ltd. Microdyne Corp. S.A. Telecommunications Tektronix Thomson-CSF/TTM Lexmark International Inc. Lokale Bussysteme 126B 126C 126D 126E 126F 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 127A 127B 127C 127D 127E 127F 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 128A 128B 128C 128D 128E 128F 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 129A 129B 129D 129E 129F 12A0 12A1 12A2 12A3 12A4 12A5 12A6 12A7 12A8 12A9 12AA 12AB 12AC 12AD 12AE 12AF 48 Adax Inc. Northern Telecom Splash Technology Inc. Sumitomo Metal Industries Ltd. Silicon Motion Olympus Optical Co. Ltd. GW Instruments Telematics International Hughes Network Systems Ensoniq Network Appliance Switched Network Technologies Inc. Comstream Transtech Parallel Systems Transmeta Corp. Rockwell Semiconductor Systems Pixera Corp Crosspoint Solutions Inc. Vela Research Winnov, L.P. Fujifilm Photoscript Group Ltd. Yokogawa Electronic Corp. Davicom Semiconductor Inc. Integrated Technology Express Inc. Sahara Networks Inc. Platform Technologies Inc. Mazet GmbH LuxSonor Inc. Timestep Corp. AVC Technology Inc. Asante Technologies Inc. Transwitch Corp. Retix Corp. G2 Networks Inc. Samho Multi Tech Ltd. Tateno Dennou Inc. Sord Computer Corp. NCS Computer Italia Tritech Microelectronics Intl PTE Media Reality Technology Rhetorex Inc. Imagenation Corp. Kofax Image Products Holco Enterprise Spellcaster Telecommunications Inc. Knowledge Technology Laboratories VMETRO Image Access CompCore Multimedia Inc. Victor Co. of Japan Ltd. OEC Medical Systems Inc. Allen Bradley Co. Simpact Inc NewGen Systems Corp. Lucent Technologies NTT Electronics Technology Co. Vision Dynamics Ltd. Scalable Networks Inc. AMO GmbH News Datacom Xiotech Corp. SDL Communications Inc. Yuan Yuan Enterprise Co. Ltd. MeasureX Corp. Multidata GmbH Alteon Networks Inc. TDK USA Corp. Kapitel 4: Anhang PCTEC14 12B0 12B1 12B2 12B3 12B4 12B5 12B6 12B7 12B8 12B9 12BA 12BB 12BC 12BD 12BE 12BF 12C0 12C1 12C2 12C3 12C4 12C5 12C6 12C7 12C8 12C9 12CA 12CA 12CB 12CC 12CD 12CE 12CF 12D0 12D1 12D2 12D3 12D4 12D5 12D6 12D7 12D8 12D9 12DA 12DB 12DC 12DD 12DE 12DF 12E0 12E1 12E2 12E3 12E4 12E6 12E7 12E8 12E9 12EA 12EB 12EC 12ED 12EE 12EF 12F0 12F1 12F2 Seite Jorge Scientific Corp. GammaLink General Signal Networks Inter-Face Co. Ltd. Future Tel Inc. Granite Systems Inc. Natural Microsystems Acumen Korg US Robotics Bittware Research Systems Inc Nippon Unisoft Corp. Array Microsystems Computerm Corp. Anchor Chips Inc. Fujifilm Microdevices Infimed GMM Research Corp. Mentec Ltd. Holtek Microelectronics Inc. Connect Tech Inc. Picture Elements, Inc. Mitani Corp. Dialogic Corp. G Force Co. Ltd. Gigi Operations Integrated Computing Engines (*) Integrated Computing Engines, Inc. (*) Antex Electronics Corp. Pluto Technologies International Aims Lab Netspeed Inc. Prophet Systems Inc. GDE Systems Inc. PsiTech NVidia / SGS Thomson Vingmed Sound A/S DGM & S Equator Technologies Analogic Corp. Biotronic SRL Pericom Semiconductor Aculab Plc. True Time Annapolis Micro Systems Inc. Symicron Computer Communication Ltd. Management Graphics Inc. Rainbow Technologies SBS Technologies Inc. Chase Research PLC Nintendo Co. Ltd. Datum Inc., BancommTiming Division Imation Corp. Medical Imaging Systems Brooktrout Technology Inc. Cirel Systems Sebring Systems Inc CRISC Corp. GE Spacenet Zuken Aureal Semiconductor 3A International Inc. Optivision Inc. Orange Micro Vienna Systems Pentek Sorenson Vision Inc. Gammagraphx Inc. Lokale Bussysteme 12F4 12F5 12F6 12F7 12F8 12F9 12FE 1331 1335 1347 135D 137E 1390 49 Megatel Forks Dawson France Cognex Electronic-Design GmbH FourFold Technologies ESD Electronic System Design GmbH 13.. RadiSys Corporation Videomail Inc. Odetics ABB Network Partner AB Patriot Scientific Corp. Concept Development Inc. 144B 14.. Loronix Information Systems, Inc. 1C1C Symphony 1DE1 Tekram 270F 27.. ChainTech Computer Co. Ltd. 3000 3142 3D3D 3D3D 3... Hansol Electronics Inc. Post Impressions Systems 3DLabs(*) 3Dlabs, Inc. Ltd(*) 4005 4594 4680 4B10 4... Avance Logic Inc. Cogetec Informatique Inc. UMAX Computer Corp. Buslogic Inc 5333 5455 5519 5700 5... S3 Incorporated Technische Universtiaet Berlin Cnet Technoliges, Inc. Netpower 1C.. 1D.. 6374 8008 6... c’t Magazin f r Computertechnik 8... Quancom Electronic GmbH (*) Kapitel 4: Anhang PCTEC14 8008 Seite 8086 8800 8888 8E0E QUANCOM Informationssysteme GmbH (*) Intel Corporation Trigem Computer Silicon Magic Computone Corporation 9004 907F Adaptec Atronics C0FE C... Motion Engineering Inc. D4D4 D... DY4 Systems Inc. E159 EDD8 E... Tiger Jet Network Inc ARC Logic FFFF unzul ssige Herstellerkennung 50 9... 4.4. Informationsquellen Hinweis: Das naheliegende Informationsmittel ist das Internet. Viele Spezifikationen, Applikationsschriften usw. kann man sich direkt herunterladen, zu anderen sind Bestellmöglichkeiten, Preise usw. ersichtlich. Wir begnügen uns im folgenden damit, die jeweils primären bzw. offiziellen Quellen anzugeben (Standardisierungsgremien, Firmen, die einschlägige Standards entwickelt haben usw.). Es versteht sich von selbst, die Vorteile des Internets ausgiebig zu nutzen (Verweisen (Links) nachzugehen, Suchfunktionen und Suchmaschinen zu verwenden usw.). 4.4.1. PCI und Small PCI Die erste Informationsquelle ist das offizielle Standardisierungsgremium, die Peripheral Components Interconnect Special Interest Group (PCI SIG). http://www.pcisig.com PCI-Spezifikationen Die Spezifikationen müssen gesondert bestellt (und bezahlt) werden. Auf der Web-Site der PCI SIG finden Sie ein Bestellformular (mit Preisangaben) sowie ergänzende Literaturangaben. Hinweis: Wer PCI-Einrichtungen wirklich selbst entwerfen will, wird womöglich alles benötigen (die Preise sind zwar nicht gering, aber durchaus bezahlbar) - und sich sorgfältig in die Dokumentation einlesen müssen (wobei es nicht schadet, neben den eigentlichen Standards auch ergänzende Literatur durchzuarbeiten). Weitere nützliche Informationen Über die Web-Site der PCI SIG sind zusätzliche Schriften zu Einzelfragen*) und verschiedene Testprogramme zugänglich. *): u. a. eine sog. Compliance Checklist - eine umfangreiche Aufstellung von Prüfpunkten, die im besonderen für Entwickler gedacht sind (als Anregung, den Entwurf auf bestimmte Spitzfindigkeiten hin zu kontrollieren). Womöglich ist diese Liste aber auch beim Fehlersuchen nützlich. Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 51 Mitgliedschaft in der PCI SIG Die Vorteile, die sich daraus ergeben, und die Bedingungen sind über die Web-Site der PCI SIG abfragbar. Ist nicht an eigene Entwicklungen (und an ein Auftreten auf dem Markt) gedacht, lohnen sich die Kosten (Richtwert: 2 500$ jährlich) wohl kaum. PCI-Entwicklungsunterstützung Wer PCI-Einrichtungen entwickeln will, kann auf ein recht breites (wenngleich nicht gerade billiges) Angebot an Hardware und Dienstleistungen (einschließlich spezieller Seminare) zurückgreifen. Es gibt 2 Ansätze: 1. 2. *): Nutzung geeigneter*) programmierbarer Schaltkreise. Hierzu werden fertige Logikentwürfe (der PCISchnittstellenhardware) angeboten, die man sich nach Bedarf abwandeln kann. Man kommt so zu kompakten Lösungen (da meistens die eigene funktionelle Logik auch noch in den programmierbaren Schaltkreis paßt), die Entwicklungsaufwendungen sind aber doch recht hoch (Entwicklungssystem + Lizenz für den fertigen Logikentwurf). Nutzung fertiger PCI-Schaltkreise, die einerseits eine komplette PCI-Schnittstelle und andererseits allgemein und bequem nutzbare Interfaces haben (an diese kann man dann die eigene funktionelle Logik auf vergleichsweise einfache Weise anschließen; Abbildung 4.29). Fachbegriff: PCI Compliant. Informationsquellen (Auswahl): Ansatz 1: http://www.xilinx.com http://www.altera.com http://www.actel.com Ansatz 2: http://www.amcc.com Abbildung 4.38 PCI Controller S5933 (AMCC). a) PCI-Seite, b) Anwenderseite Erklärung: Der Schaltkreis enthält die Register, State Machines usw., die auf der PCI-Seite (a) die Funktionen einer vollständigen PCI-Schnittstelle*) verwirklichen. Auf der Anwenderseite (b) stehen die Adreß- und Datenbelegungen direkt zur Verfügung (1). Des weiteren werden mehrere nützliche Formen der Zwischenspeicherung und Pufferung angeboten (2). Auf der PCI-Seite sind Adreßzähler für Burst-Zugriffe vorgesehen (3). Die erforderlichen Konfigurationsregister sind bereits eingebaut (4). *): es gibt Schaltkreise mit Master-Funktionalität und solche, die nur als Targets eingesetzt werden können. Testausrüstung Es gibt spezielle Logikanalysatoren in Form von PCI-Steckkarten (die einen PC zur Bedienung und Anzeige benötigen). Sie sind im PC-Service allerdings nur von beschränktem Wert, da die zur Ablaufverfolgung notwendige Dokumentation (z. B. der Quellcode einschlägiger Programme) nicht zur Verfügung steht. Man könnte also bestenfalls verfolgen, ob sich überhaupt etwas tut (und dafür wäre ein solches Gerät doch recht teuer). Informationsquelle: http://www.vmetro.com Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 52 Zumeist ausreichend: einige “garantiert funktionsfähige” PCI-Karten und ein Prüf-PC (z. B. auf Grundlage eines älteren, aber mit PCI-Bus ausgestatteten Motherboards*)) sowie bedarfsweise eine einfache (passive) Testkarte die lediglich Meßpunkte zum bequemen Abgreifen der PCI-Signale bereitstellt bzw. eine PCI-Steckkarte so weit anhebt, daß sie zum Messen zugänglich wird (Card Extender). Informationsquelle: http://www.az-com.com *): das reicht für Wald-und-Wiesen-Aufgaben im Service (die meisten PCs haben einen PCIBus mit 5 V, 32 Bits und 33 MHz). Geht es um 3,3 V, 66 MHz usw., müßte man die Prüfmaschine mit einem entsprechend modernen Motherboard aufbauen. Weiterentwicklungen des PCI-Bus Die folgende Auswahl betrifft Entwicklungen, die wir in Abschnitt 1.7. kurz vorgestellt haben. Es gibt aber immer wieder Neues. Praxistip: Neuigkeitsmeldungen (z. B. in Zeitschriften) enthalten oft Links auf die Homepages der jeweiligen Urheber. http://www.compaq.com http://www.ibm.com http://developer.intel.com http://www.sebringring.com 4.4.2. AGP und LPC Diese Spezifikationen wurden von Intel ausgearbeitet. Sie sind im Internet zugänglich. Das AGP Implementors Forum ist eine lose Vereinigung von Herstellern, die AGP unterstützen. Dessen WebSite enthält Informationen zu Einzelheiten sowie einschlägige Links. http://developer.intel.com http://www.agpforum.org 4.4.3. PCI/ISA Passive Backplane und CompactPCI Diese Spezifikationen werden von der PCI Industrial Computers Manufacturers Group (PICMG) betreut. Kurzdarstellungen beider Spezifikationen sind im Internet zugänglich; die ausführlichen Spezifikationen müssen bei der PICMG bestellt (und bezahlt) werden. http://www.picmg.com http://www.compactpci.org 4.4.4. PISA Die Spezifikation wird von den einschlägigen Herstellern verwaltet. Sie ist im Internet zugänglich. Eine Quelle: http://www.jumptec.com Lokale Bussysteme Kapitel 4: Anhang PCTEC14 Seite 53 4.4.5. IndustrialPCI Das zuständige Standardisierungsgermium heißt SiPS e. V. (Standard Industrial PC Systems). Die Spezifikation ist im Internet zugänglich. http://www.sips.com 4.4.6. PC/104-Plus Die Spezifikation wird vom PC/104 Consortium betreut. Sie ist im Internet zugänglich. http://www.controlled.com/pc104 http://www.versalogic.com. Lokale Bussysteme Kapitel 4: Anhang