Leistungsmerkmale des Schnittstellenchips PCI9052 und Analyse von Anwendungsbeispielen

Aktualisierung: 23. März 2024

"Das PCI-Busprotokoll ist sehr kompliziert. Wenn Sie eine PCI-Erweiterungskarte entwickeln und einen programmierbaren Logik-Array-Chip verwenden, um die Implementierung des PCI-Protokolls abzuschließen, sind der Arbeitsaufwand und die Schwierigkeiten enorm, und im Allgemeinen werden PCI-dedizierte Schnittstellenchips verwendet. Im Folgenden wird der Schnittstellenchip PCI9052 vorgestellt.

"

Autor: Wei Wenhua

Der PCI-Bus (Peripheral Component Interconnect) ist ein lokaler Bus, der einen Hochleistungsdatenbus für die Haupt-CPU und Peripheriegeräte bereitstellen kann. Im Jahr 1992 begannen viele von INTEL geleitete Gruppen mit der Entwicklung des PCI-Busses, und seine V2.0-Spezifikation wurde im April 1993 offiziell veröffentlicht. Der PCI-Bus verfügt über strenge Spezifikationen, die eine gute Kompatibilität gewährleisten. Erweiterungskarten, die der PCI-Spezifikation entsprechen, können in jedes PCI-System eingesetzt werden, um zuverlässig zu funktionieren; Der PCI-Bus kann eine sehr hohe Datenübertragungsrate (132 MB/s) bieten. PCI Der Bus hat nichts mit der CPU und nichts mit der Taktfrequenz zu tun. Es kann auf verschiedenen Plattformen angewendet werden und unterstützt Multiprozessoren und gleichzeitiges Arbeiten. Der PCI-Bus verfügt außerdem über eine gute Skalierbarkeit. Durch die PCI-PCI-Brücke ist eine unbegrenzte Erweiterung möglich; PCI-Bus Ersetzt den VESA-Lokalbus durch seine Plug-and-Play-Funktion. Eine PCI-Schnittstelle umfasst eine Reihe von Registern. Die Informationen in diesen Registern ermöglichen es dem Computer, die PCI-Karte automatisch zu konfigurieren. Der PCI-Bus ist derzeit der fortschrittlichste Bus im PC.

Das PCI-Busprotokoll ist sehr kompliziert. Wenn Sie eine PCI-Erweiterungskarte entwickeln und einen programmierbaren Logik-Array-Chip verwenden, um die Implementierung des PCI-Protokolls abzuschließen, sind der Arbeitsaufwand und die Schwierigkeiten enorm, und im Allgemeinen werden PCI-dedizierte Schnittstellenchips verwendet. Im Folgenden wird der Schnittstellenchip PCI9052 vorgestellt.

1 PCI9052-Chip-Einführung

PCI9052 ist ein von PLX entwickelter Schnittstellenchip Technologie Unternehmen für Erweiterungsadapterkarten, die einen hybriden Hochleistungs-PCI-Bus-Zielmodus (Slave) bereitstellen können. Der Chip kann an verschiedene lokale Busse angeschlossen werden und unterstützt einen relativ langsamen lokalen Bus mit einer Burst-Übertragungsrate von 132 MB/s auf dem PCI-Bus. Die programmierbare Konfiguration des 9052 ist direkt mit dem gemultiplexten oder nicht gemultiplexten 8/16/32-Bit-Lokalbus verbunden. Die 8-Bit- und 16-Bit-Modi ermöglichen die direkte Konvertierung von ISA-Karten in PCI-Karten.

1.1 Hauptmerkmale

(1) Kompatibel mit den Funktionen des PCI V2.1-Protokolls. Der 9052-Chip ist mit dem PCI-Protokoll V2.1 kompatibel und unterstützt Slave-Modus-Adaptergeräte mit geringen Entwicklungskosten. Der Chip unterstützt die Konvertierung von ISA-Adapterkarten auf PCI-Adapterkarten.

(3) Interrupt-Generator. 9052 kann einen PCI-Interrupt aus zwei lokalen Bus-Interrupt-Eingängen generieren.

(4) Uhr. Die 9052-Lokalbus-Schnittstelle läuft mit dem TTL-Takt und erzeugt den notwendigen internen Takt. Der lokale TTL-Takt arbeitet asynchron mit dem PCI-Takt und ermöglicht es dem lokalen Bus, unabhängig vom PCI-Takt zu arbeiten. Der gepufferte PCI-Bustakt BCLKO kann mit dem lokalen Bustakt LCLK verbunden werden.

(5) Programmierbare lokale Buskonfiguration. 9052 unterstützt gemultiplexte oder nicht gemultiplexte 8/16/32-Bit-Lokalbusse. Der Chip verfügt über 4 zu aktivierende Bytes, 26 Adressleitungen und 32/16/8-Bit-Datenleitungen.

(6) Erster Modus lesen. Der 9052 unterstützt den Read-First-Modus, d. h. die vorgespeicherten Daten können vor dem lokalen Bus aus dem internen FIFO-Register des 9052 gelesen werden.

(7) Busfahrer. Alle Steuer-, Adress- und Datensignale werden direkt vom 9052 generiert, die zum Ansteuern von PCI- und lokalen Bussen ohne zusätzliche Ansteuerschaltungen verwendet werden.

(8) Serielle EEPROM-Schnittstelle. 9052 enthält eine serielle EEPROM-Schnittstelle zum Laden von Konfigurationsinformationen, zum Laden spezifischer angepasster Geräteinformationen? Das ist sehr nützlich. Bei der Umstellung von 9052 auf den ISA-Schnittstellenmodus ist auch ein serielles EEPROM erforderlich.

(9) Vier lokale Chipauswahlsignale. 9052 bietet vier lokale Chipauswahlsignale, die Basisadresse und der Bereich jeder Chipauswahl können unabhängig vom seriellen EEPROM oder dem Hauptcontroller programmiert werden

(10) Fünf lokale Adressräume. Die Basisadresse und der Bereich jedes lokalen Adressraums können unabhängig vom seriellen EEPROM oder der Hauptsteuerung programmiert werden.

(11) Lese-/Schreibspeicherverzögerung und Schreibzyklusbeibehaltung. Für den ISA-Bus kann das Lese-/Schreibsignal ab dem Beginn des Taktzyklus verzögert werden.

(12) Lokaler Bus-Wartezustand. Das zusätzliche LRDYi-Handshake-Signal wird verwendet, um verschiedene Wartezustände zu erzeugen, und der 9052 verfügt über einen internen Wartezustandsgenerator.

(13) Programmierbarer Pre-Latch-Zähler. Der lokale Bus-Pre-Latch-Zähler kann als 0 (kein Pre-Latch), 4, 8, 16 oder kontinuierlicher Wert (Pre-Latch-Zähler aus) programmiert werden.

1.2 Pin-Funktion

PCI9052 ist eine 160-Pin-PQFP-Gehäusestruktur aus Kunststoff. Die Funktionen jedes Pins sind in Tabelle 1 bis Tabelle 7 nach Funktionsblöcken aufgelistet.

2 Die Verwendung des PCI9052-Chips

PCI9052-Schnittstellenchip als allgemeine PCI-Schnittstelle, seine Anwendungsmöglichkeiten und sein Umfang sind umfangreich. Mit der allmählichen Abnahme der Anzahl von ISA-Erweiterungssteckplätzen in PCs bis zu deren Absetzung sind PCI-Erweiterungssteckplätze zum Mainstream der PC-Motherboard-Konfiguration geworden, und die Entwicklung zukünftiger Erweiterungskarten muss auf der PCI-Schnittstelle basieren.

Sehr sinnvoll erscheinen jedoch viele vorhandene Erweiterungskarten mit ISA-Schnittstellen, insbesondere die Erweiterungskarten mit einigen von mir selbst entwickelten Sonderfunktionen, wie man sie im PCI-Steckplatz weiterverwenden kann. Das Folgende konzentriert sich auf die Anwendung des PCI9052-Schnittstellenchips, um die ISA-Erweiterungskarte direkt in die PCI-Erweiterungskarte umzuwandeln.

2.1 Einführung in den ISA-Schnittstellenmodus

Die interne Struktur von PCI9052 enthält eine unabhängige ISA-Logikschnittstelle, über die die reibungslose Konvertierung von ISA auf PCI abgeschlossen werden kann. Es unterstützt ISA-Geräte mit 8-Bit- und 16-Bit-Datenbreiten, die speicher- oder I/O-zugeordnet werden können. Der Read-First-Modus wird verwendet, um den Durchsatz von Lesedaten zu verbessern. Sobald der ISA-Schnittstellenmodus aktiviert ist, führt PCI9052 nur eine Operation mit einem einzigen Zyklus durch. Insbesondere muss das serielle EEPROM den ISA-Schnittstellenmodus aktivieren.

2.1.1 Konfigurationsmethode

Es gibt zwei Möglichkeiten, PCI9052 für den ISA-Schnittstellenmodus zu konfigurieren.

Methode 1: Brennen der seriellen EEPROM-Methode. Verwenden Sie den Schreiber, um die Daten in das serielle EEPROM zu schreiben, siehe Tabelle 8, um die entsprechenden Daten zu verwenden. Es sollte beachtet werden, dass für den ISA-Modus der Pin LRESET# (132) immer hoch sein muss und dass der Pin MODE (68) auf 0 gesetzt ist, was im nicht gemultiplexten Modus ist.

Methode 2: Thermische Konfigurationsmethode. Verwenden Sie die gleichen Daten von Methode eins, um das serielle EEPROM vom PCI-Bus über den PCI9052-Chip zu programmieren. Bei dieser Methode muss darauf geachtet werden, dass sich die Polarität des LRESET# (132)-Pins im ISA-Modus von Low nach High ändert und dass der MODE (68)-Pin auf 0 gesetzt ist.

2.1.2 Konfigurationshinweise

Bei der Konfiguration für den ISA-Schnittstellenmodus müssen Sie folgende Punkte beachten:

①Wenn Sie auf die Pins der ISA-Schnittstelle zugreifen, beachten Sie bitte das Pin-Diagramm des C/ISA-Modus des PCI9052-Pins, um eine Verbindung herzustellen.

②Space 0 wird dem Speicherzugriff der ISA-Schnittstelle zugewiesen.

③Platz 1 ist für den E/A-Zugriff der ISA-Schnittstelle belegt.

④ Unabhängig davon, ob die lokale Adresse von Space 0 im Bereich von CS0# liegt oder die lokale Adresse von Space 1 im Bereich von CS1# liegt, ist der ISA-Zugriff gültig.

⑤Der Standard-Slave-Zyklus kann Platz 2, Platz 3 und das serielle EEPROM für den Zugriff verwenden.

2.2 Anwendungsbeispiele

Ein Anwendungsbeispiel für eine elektronisch Transfer Switch Controller ist unten angegeben. Die Funktion des Controllers besteht darin, einen Steuercode C0H an den Port 200H zu senden, wenn eine Triggerbedingung erkannt wird, um den Relais um den Schaltvorgang abzuschließen. Dieses Beispiel soll veranschaulichen, wie PCI9052 verwendet wird, um von einer ISA-Erweiterungskarte zu einer PCI-Erweiterungskarte zu konvertieren.

2.2.1 Hardware-Design

Die Hardware Schaltung Strukturdiagramm der Steuerung ist wie in Abb. 1 dargestellt.

Die Strecke ist in drei Teile gegliedert. Der erste Teil ist die Verbindungssignalleitung zwischen 9052 und PCI-Steckplatz. Zu diesen Signalen gehört das Adressdaten-Multiplexsignal AD? 31:0? , Das Busbefehlssignal C/BE? 3:0? # Und PCI-Protokoll-Steuersignale PAR, FRAME#, IRDY#, TRDY#, STOP#, IDSEL, DEVSEL#, PERR#, SERR#. Der zweite Teil ist die Verbindung mit dem seriellen EEPROM. Es gibt vier Signalleitungen: EESK, EEDO, EEDI und EECS. Die seriellen EEPROM-Daten können vorab mit einem Brenner oder online gebrannt werden. Der dritte Teil ist die Verbindung zwischen 9052 und der Anwendungsschaltung. In diesem Beispiel wird hauptsächlich das ISA-Lokalbussignal verwendet. Gibt es eine Datenleitung LAD? 7:0, Adresszeile ISAA? 1:0? , LA? 23:2? , E/A-Lese- und Schreibsignalleitungen IOWR#, IORD#, Adresslatch BALE.

2.2.2 Softwaredesign

Das Programm ist in zwei Teile gegliedert. Ein Teil weist jedem Konfigurationsregister von PCI9052 Werte zu und initialisiert den Chip. Der andere Teil ist das Hauptprogramm. Die Aufgabe besteht darin, kontinuierlich die relevanten Schlüsselwerte in der Registry abzufragen. Sobald die Bedingungen erfüllt sind, sendet er Steuercodes an den Port. Das Programm wird in der Sprache DELPHI abgeschlossen. Der Hauptgrund für die Wahl von DELPHI ist, dass es ohne Dynamic Link Library in eine unabhängige ausführbare Datei kompiliert werden kann, das Programm kurz und leistungsstark ist und die Kompatibilität zwischen DELPHI-Versionen relativ gut ist. Der Programmablaufplan ist wie in Abb. 2 dargestellt.

Die Links:   SKIIP31NAB12T11 TPS24751RUVR