Prestatiekenmerken van PCI9052-interfacechip en analyse van toepassingsvoorbeelden

Update: 23 maart 2024

"Het PCI-busprotocol is erg ingewikkeld. Als u een PCI-uitbreidingskaart ontwikkelt en een programmeerbare logic array-chip gebruikt om de implementatie van het PCI-protocol te voltooien, zijn de werklast en moeilijkheidsgraad enorm, en worden over het algemeen PCI-specifieke interfacechips gebruikt. De PCI9052-interfacechip wordt hieronder geïntroduceerd.

"

Auteur: Wei Wenhua

PCI-bus (Peripheral Component Interconnect) is een lokale bus die een krachtige databus kan bieden voor de hoofd-CPU en randapparatuur. In 1992 begonnen veel groepen onder leiding van INTEL met het ontwerpen van de PCI-bus, en de V2.0-specificatie ervan werd officieel vrijgegeven in april 1993. De PCI-bus heeft strikte specificaties, wat ervoor zorgt dat deze een goede compatibiliteit heeft. Uitbreidingskaarten die voldoen aan de PCI-specificatie kunnen in elk PCI-systeem worden geplaatst om betrouwbaar te werken; de PCI-bus kan een zeer hoge gegevensoverdrachtsnelheid bieden (132 MB/S); PCI De bus heeft niets te maken met de CPU en heeft niets te maken met de klokfrequentie. Het kan op verschillende platforms worden toegepast en ondersteunt multiprocessors en gelijktijdig werken. De PCI-bus heeft ook een goede schaalbaarheid. Via de PCI-PCI-brug is onbeperkte uitbreiding mogelijk; PCI-bus Deze vervangt de lokale VESA-bus met zijn plug-and-play-functie. Een PCI-interface bevat een reeks registers. Met de informatie in deze registers kan de computer de PCI-kaart automatisch configureren. De PCI-bus is momenteel de meest geavanceerde bus op de pc.

Het PCI-busprotocol is erg ingewikkeld. Als u een PCI-uitbreidingskaart ontwikkelt en een programmeerbare logic array-chip gebruikt om de implementatie van het PCI-protocol te voltooien, zijn de werklast en moeilijkheidsgraad enorm, en worden over het algemeen PCI-specifieke interfacechips gebruikt. De PCI9052-interfacechip wordt hieronder geïntroduceerd.

1 PCI9052-chipintroductie:

PCI9052 is een interfacechip ontwikkeld door PLX Technologie Bedrijf voor uitbreidingsadapterkaarten die een hybride, krachtige PCI-bus-doelmodus (slave) kunnen bieden. De chip kan op verschillende lokale bussen worden aangesloten en ondersteunt een relatief langzame lokale bus met een burst-overdrachtssnelheid van 132 MB/S op de PCI-bus. De programmeerbare configuratie van de 9052 is rechtstreeks verbonden met de gemultiplexte of niet-gemultiplexte 8/16/32-bit lokale bus. De 8-bits en 16-bits modi maken de directe conversie van ISA-kaarten naar PCI-kaarten mogelijk.

1.1 Belangrijkste kenmerken

(1) Compatibel met PCI V2.1-protocolfuncties. De 9052-chip is compatibel met PCI-protocol V2.1 en ondersteunt slave-modusadapterapparaten met lage ontwikkelingskosten. De chip ondersteunt conversie van ISA-adapterkaarten naar PCI-adapterkaarten.

(3) Onderbrekingsgenerator. 9052 kan een PCI-interrupt genereren uit twee lokale bus-interrupt-ingangen.

(4) Klok. De lokale businterface 9052 draait op de TTL-klok en genereert de benodigde interne klok. De lokale TTL-klok werkt asynchroon met de PCI-klok en zorgt ervoor dat de lokale bus onafhankelijk van de PCI-klok kan werken. De gebufferde PCI-busklok BCLKO kan worden aangesloten op de lokale busklok LCLK.

(5) Programmeerbare lokale busconfiguratie. 9052 ondersteunt gemultiplexte of niet-gemultiplexte 8/16/32bit lokale bus. De chip heeft 4 bytes om in te schakelen, 26 adreslijnen en 32/16/8bit datalijnen.

(6) Lees de eerste modus. De 9052 ondersteunt de read-first-modus, dat wil zeggen dat de vooraf vergrendelde gegevens kunnen worden gelezen uit het interne FIFO-register van de 9052 vóór de lokale bus.

(7) Buschauffeur. Alle besturings-, adres- en datasignalen worden rechtstreeks gegenereerd door 9052, die worden gebruikt om PCI en lokale bussen aan te sturen zonder extra aandrijfcircuits.

(8) Seriële EEPROM-interface. 9052 een seriële EEPROM-interface bevat voor het laden van configuratie-informatie, voor het laden van specifieke aangepaste apparaatinformatie? Dit is erg handig. Seriële EEPROM is ook nodig bij het converteren van 9052 naar ISA-interfacemodus.

(9) Vier lokale chipselectiesignalen. 9052 biedt vier lokale chipselectiesignalen, het basisadres en het bereik van elke chipselectie kunnen onafhankelijk worden geprogrammeerd door seriële EEPROM of de hoofdcontroller

(10) Vijf lokale adresruimten. Het basisadres en het bereik van elke lokale adresruimte kunnen onafhankelijk worden geprogrammeerd door de seriële EEPROM of de hoofdcontroller.

(11) Lees/schrijf opslagvertraging en schrijfcyclusbehoud. Voor de ISA-bus kan het lees-/schrijfsignaal worden vertraagd vanaf het begin van de klokcyclus.

(12) Wachtstatus lokale bus. Het extra LRDYi-handshakesignaal wordt gebruikt om verschillende wachtstatussen te genereren, en de 9052 heeft een interne wachtstatusgenerator.

(13) Programmeerbare voorvergrendelingsteller. De pre-latch-teller van de lokale bus kan worden geprogrammeerd als 0 (geen pre-latch), 4, 8, 16 of continue waarde (pre-latch-teller uit).

1.2 Pin-functie

PCI9052 is een 160-pins plastic PQFP-pakketstructuur. De functies van elke pin worden vermeld in Tabel 1 tot Tabel 7 volgens functionele blokken.

2 Het gebruik van PCI9052-chip:

PCI9052-interfacechip als een algemene PCI-interface, de toepassingsmogelijkheden en reikwijdte zijn uitgebreid. Met de geleidelijke afname van het aantal ISA-uitbreidingsslots in pc's totdat ze worden geannuleerd, zijn PCI-uitbreidingsslots de hoofdstroom geworden van pc-moederbordconfiguraties en moet de ontwikkeling van toekomstige uitbreidingskaarten gebaseerd zijn op de PCI-interface.

Veel bestaande uitbreidingskaarten met ISA-interfaces, met name de uitbreidingskaarten met enkele speciale functies die ik zelf heb ontwikkeld, hoe je ze kunt blijven gebruiken in het PCI-slot, lijken echter erg zinvol. Het volgende richt zich op de toepassing van de PCI9052-interfacechip om de ISA-uitbreidingskaart rechtstreeks naar de PCI-uitbreidingskaart te converteren.

2.1 Inleiding tot de ISA-interfacemodus

De interne structuur van PCI9052 bevat een onafhankelijke ISA logische interface, waarmee de soepele conversie van ISA naar PCI kan worden voltooid. Het ondersteunt ISA-apparaten met 8-bits en 16-bits gegevensbreedten, die kunnen worden toegewezen aan het geheugen of aan I/O-toewijzing. De lees-eerst-modus wordt gebruikt om de doorvoer van leesgegevens te verbeteren. Zodra de ISA-interfacemodus is ingeschakeld, voert PCI9052 slechts een enkele cyclusbewerking uit. In het bijzonder moet de seriële EEPROM de ISA-interfacemodus inschakelen.

2.1.1 Configuratiemethode

Er zijn twee manieren om PCI9052 te configureren voor de ISA-interfacemodus.

Methode 1: Brandende seriële EEPROM-methode. Gebruik de schrijver om de gegevens naar de seriële EEPROM te schrijven, raadpleeg Tabel 8 om de juiste gegevens te gebruiken. Opgemerkt moet worden dat, voor de ISA-modus, de LRESET# (132)-pin altijd hoog moet zijn, en moet bevestigen dat de MODE (68)-pin is ingesteld op 0, wat in niet-gemultiplexte modus is.

Methode 2: Thermische configuratiemethode. Gebruik dezelfde gegevens van methode één om seriële EEPROM van PCI-bus via PCI9052-chip te programmeren. Deze methode moet erop letten dat de polariteit van de LRESET# (132)-pin verandert van laag naar hoog in ISA-modus, en bevestigen dat de MODE (68)-pin is ingesteld op 0.

2.1.2 Configuratie-opmerkingen

Bij het configureren voor de ISA-interfacemodus moet u op de volgende punten letten:

①Bij toegang tot de ISA-interfacepinnen, raadpleegt u het C/ISA-modus-pindiagram van de PCI9052-pin om verbinding te maken.

②Space 0 wordt toegewezen aan de geheugentoegang van de ISA-interface.

③Ruimte 1 is toegewezen voor I/O-toegang van de ISA-interface.

④ Ongeacht het lokale adres van ruimte 0 binnen het bereik van CS0# of het lokale adres van ruimte 1 binnen het bereik van CS1# is, ISA-toegang is geldig.

⑤De standaard slave-cyclus kan ruimte 2, ruimte 3 en seriële EEPROM gebruiken om toegang te krijgen.

2.2 Toepassingsvoorbeelden

Een toepassingsvoorbeeld van een elektronisch transfer switch controller wordt hieronder gegeven. De functie van de controller is om een ​​besturingscode C0H naar poort 200H te sturen wanneer een triggerconditie wordt gedetecteerd om de Relais om de schakelactie te voltooien. Dit voorbeeld is bedoeld om te illustreren hoe u PCI9052 kunt gebruiken om van een ISA-uitbreidingskaart naar een PCI-uitbreidingskaart te converteren.

2.2.1 Hardware-ontwerp

De hardware circuit structuurdiagram van de controller wordt getoond zoals in Fig. 1.

Het circuit is verdeeld in drie delen. Het eerste deel is de verbindingssignaallijn tussen 9052 en PCI-slot. Deze signalen omvatten het adresgegevensmultiplexsignaal AD? 31:0? , Het buscommandosignaal C/BE? 3:0? # En PCI-protocolbesturingssignalen PAR, FRAME#, IRDY#, TRDY#, STOP#, IDSEL, DEVSEL#, PERR#, SERR#. Het tweede deel is de verbinding met de seriële EEPROM. Er zijn vier signaallijnen: EESK, EEDO, EEDI en EECS. De seriële EEPROM-gegevens kunnen vooraf worden gebrand met een schrijver of online. Het derde deel is de verbinding tussen 9052 en het applicatiecircuit. In dit voorbeeld wordt hoofdzakelijk het lokale ISA-bussignaal gebruikt. Is er een datalijn LAD? 7:0, adresregel ISAA? 1:0? , LA? 23:2? , I/O lees- en schrijfsignaallijnen IOWR#, IORD#, adresvergrendeling BALE.

2.2.2 Software-ontwerp

Het programma is opgedeeld in twee delen. Een deel wijst waarden toe aan elk configuratieregister van PCI9052 en initialiseert de chip. Het andere deel is het hoofdprogramma. De taak is om continu de relevante sleutelwaarden in het register op te vragen. Zodra aan de voorwaarden is voldaan, stuurt het controlecodes naar de haven. Het programma is voltooid in DELPHI-taal. De belangrijkste reden om voor DELPHI te kiezen is dat het kan worden gecompileerd tot een onafhankelijk uitvoerbaar bestand zonder dynamische linkbibliotheek, het programma kort en krachtig is en de compatibiliteit tussen DELPHI-versies relatief goed is. Het programmastroomschema wordt getoond zoals in Fig. 2.

De connecties:   SKIIP31NAB12T11 TPS24751RUVR