Caractéristiques de performance de la puce d'interface PCI9052 et analyse d'exemples d'application

Mise à jour : 23 mars 2024

"Le protocole du bus PCI est très compliqué. Si vous développez une carte d'extension PCI et utilisez une puce de matrice logique programmable pour terminer la mise en œuvre du protocole PCI, la charge de travail et la difficulté sont énormes, et des puces d'interface dédiées PCI sont généralement utilisées. La puce d'interface PCI9052 est présentée ci-dessous.

"

Auteur : Wei Wenhua

Le bus PCI (Peripheral Component Interconnect) est un bus local qui peut fournir un bus de données hautes performances pour le processeur principal et les périphériques. En 1992, de nombreux groupes dirigés par INTEL ont commencé à concevoir le bus PCI, et sa spécification V2.0 a été officiellement publiée en avril 1993. Le bus PCI a des spécifications strictes, ce qui garantit une bonne compatibilité. Les cartes d'extension conformes à la spécification PCI peuvent être insérées dans n'importe quel système PCI pour fonctionner de manière fiable ; le bus PCI peut fournir un taux de transfert de données très élevé (132 Mo/s) ; PCI Le bus n'a rien à voir avec le processeur et n'a rien à voir avec la fréquence d'horloge. Il peut être appliqué à diverses plates-formes et prend en charge plusieurs processeurs et le travail simultané. Le bus PCI présente également une bonne évolutivité. Grâce au pont PCI-PCI, il peut permettre une expansion illimitée ; Bus PCI Il remplace le bus local VESA par sa fonctionnalité plug-and-play. Une interface PCI comprend une série de registres. Les informations contenues dans ces registres permettent à l'ordinateur de configurer automatiquement la carte PCI. Le bus PCI est actuellement le bus le plus avancé sur PC.

Le protocole du bus PCI est très compliqué. Si vous développez une carte d'extension PCI et utilisez une puce de matrice logique programmable pour terminer la mise en œuvre du protocole PCI, la charge de travail et la difficulté sont énormes, et des puces d'interface dédiées PCI sont généralement utilisées. La puce d'interface PCI9052 est présentée ci-dessous.

1 introduction de la puce PCI9052

PCI9052 est une puce d'interface développée par PLX Technologie Société de cartes d'adaptation d'extension pouvant fournir un mode cible (esclave) de bus PCI hybride hautes performances. La puce peut être connectée à une variété de bus locaux et prend en charge un bus local relativement lent avec un taux de transfert en rafale de 132 Mo/s sur le bus PCI. La configuration programmable du 9052 est directement connectée au bus local 8/16/32 bits multiplexé ou non. Les modes 8 bits et 16 bits facilitent la conversion directe des cartes ISA en cartes PCI.

1.1 Principales caractéristiques

(1) Compatible avec les fonctionnalités du protocole PCI V2.1. La puce 9052 est compatible avec le protocole PCI V2.1 et prend en charge les dispositifs adaptateurs en mode esclave à faible coût de développement. La puce prend en charge la conversion des cartes adaptateur ISA en cartes adaptateur PCI.

(3) Générateur d'interruption. Le 9052 peut générer une interruption PCI à partir de deux entrées d'interruption de bus local.

(4) Horloge. L'interface de bus local 9052 fonctionne sur l'horloge TTL et génère l'horloge interne nécessaire. L'horloge TTL locale fonctionne de manière asynchrone avec l'horloge PCI et permet au bus local de fonctionner indépendamment de l'horloge PCI. L'horloge du bus PCI tamponnée BCLKO peut être connectée à l'horloge du bus local LCLK.

(5) Configuration du bus local programmable. Le 9052 prend en charge le bus local 8/16/32 bits multiplexé ou non. La puce dispose de 4 octets à activer, de 26 lignes d'adresse et de lignes de données 32/16/8 bits.

(6) Lire le premier mode. Le 9052 prend en charge le mode lecture en premier, c'est-à-dire que les données pré-verrouillées peuvent être lues à partir du registre FIFO interne du 9052 avant le bus local.

(7) Chauffeur d'autobus. Tous les signaux de contrôle, d'adresse et de données sont directement générés par 9052, qui sont utilisés pour piloter les bus PCI et locaux sans circuits de pilotage supplémentaires.

(8) Interface série EEPROM. 9052 contient une interface série EEPROM pour charger les informations de configuration, pour charger des informations spécifiques sur un appareil adapté ? C'est très utile. L'EEPROM série est également nécessaire lors de la conversion du 9052 en mode interface ISA.

(9) Quatre signaux de sélection de puce locale. 9052 fournit quatre signaux de sélection de puce locaux, l'adresse de base et la plage de chaque sélection de puce peuvent être programmées indépendamment par l'EEPROM série ou le contrôleur principal

(10) Cinq espaces d'adressage locaux. L'adresse de base et la plage de chaque espace d'adressage local peuvent être programmées indépendamment par l'EEPROM série ou le contrôleur principal.

(11) Délai de stockage en lecture/écriture et rétention du cycle d'écriture. Pour le bus ISA, le signal de lecture/écriture peut être retardé dès le début du cycle d'horloge.

(12) État d'attente du bus local. Le signal d'établissement de liaison LRDYi supplémentaire est utilisé pour générer divers états d'attente, et le 9052 dispose d'un générateur d'état d'attente interne.

(13) Compteur de pré-verrouillage programmable. Le compteur de pré-verrouillage du bus local peut être programmé en mode 0 (pas de pré-verrouillage), 4, 8, 16 ou valeur continue (compteur de pré-verrouillage désactivé).

1.2 Fonction de broche

PCI9052 est une structure de boîtier PQFP en plastique à 160 broches. Les fonctions de chaque broche sont répertoriées dans les tableaux 1 à 7 selon les blocs fonctionnels.

2 L'utilisation de la puce PCI9052

Puce d'interface PCI9052 en tant qu'interface PCI générale, ses possibilités d'application et sa portée sont étendues. Avec la diminution progressive du nombre de connecteurs d'extension ISA dans les PC jusqu'à leur annulation, les connecteurs d'extension PCI sont devenus le courant dominant de la configuration des cartes mères PC, et le développement des futures cartes d'extension doit être basé sur l'interface PCI.

Cependant, de nombreuses cartes d'extension existantes avec des interfaces ISA, en particulier les cartes d'extension avec certaines fonctions spéciales développées indépendamment par moi-même, comment les faire continuer à être utilisées dans le slot PCI, semblent être très significatives. Ce qui suit se concentre sur l'application de la puce d'interface PCI9052 pour convertir directement la carte d'extension ISA en carte d'extension PCI.

2.1 Introduction au mode d'interface ISA

La structure interne de PCI9052 contient une interface logique ISA indépendante, à travers laquelle la conversion en douceur d'ISA à PCI peut être effectuée. Il prend en charge les périphériques ISA avec des largeurs de données de 8 bits et 16 bits, qui peuvent être mappées en mémoire ou en E/S. Le mode lecture en premier est utilisé pour améliorer le débit des données de lecture. Une fois le mode d'interface ISA activé, le PCI9052 n'exécute qu'une opération à un seul cycle. En particulier, l'EEPROM série doit activer le mode d'interface ISA.

2.1.1 Méthode de configuration

Il existe deux manières de configurer PCI9052 pour le mode d'interface ISA.

Méthode 1 : méthode de gravure EEPROM série. Utilisez l'enregistreur pour écrire les données dans l'EEPROM série, reportez-vous au Tableau 8 pour utiliser les données appropriées. Il est à noter que, pour le mode ISA, la broche LRESET# (132) doit toujours être haute, et confirmer que la broche MODE (68) est à 0, ce qui est en mode non multiplexé.

Méthode 2 : Méthode de configuration thermique. Utilisez les mêmes données que la première méthode pour programmer l'EEPROM série du bus PCI via la puce PCI9052. Cette méthode doit faire attention au fait que la polarité de la broche LRESET# (132) passe de faible à élevée en mode ISA, et confirmer que la broche MODE (68) est définie sur 0.

2.1.2 Remarques sur la configuration

Lors de la configuration pour le mode interface ISA, vous devez faire attention aux points suivants :

Lors de l'accès aux broches de l'interface ISA, veuillez vous référer au schéma des broches du mode C/ISA de la broche PCI9052 pour vous connecter.

L'espace 0 est alloué à l'accès mémoire de l'interface ISA.

L'espace 1 est alloué pour l'accès E/S de l'interface ISA.

④ Peu importe que l'adresse locale de l'espace 0 soit dans la plage de CS0# ou que l'adresse locale de l'espace 1 soit dans la plage de CS1#, l'accès ISA est valide.

Le cycle esclave standard peut utiliser l'espace 2, l'espace 3 et l'EEPROM série pour accéder.

2.2 Exemples d'applications

Un exemple d'application d'un Electronique Le contrôleur de commutateur de transfert est donné ci-dessous. La fonction du contrôleur est d'envoyer un code de contrôle C0H au port 200H lorsqu'une condition de déclenchement est détectée pour contrôler le Relais pour terminer l'action de commutation. Cet exemple est destiné à illustrer comment utiliser PCI9052 pour convertir une carte d'extension ISA en carte d'extension PCI.

2.2.1 Conception matérielle

Le matériel circuit Le schéma de structure du contrôleur est représenté comme sur la Fig. 1.

Le circuit est divisé en trois parties. La première partie est la ligne de signal de connexion entre le 9052 et le slot PCI. Ces signaux comprennent le signal de multiplexage des données d'adresse AD? 31h0 ? , Le signal de commande du bus C/BE? 3h0 ? # Et les signaux de contrôle du protocole PCI PAR, FRAME#, IRDY#, TRDY#, STOP#, IDSEL, DEVSEL#, PERR#, SERR#. La deuxième partie est la connexion avec l'EEPROM série. Il existe quatre lignes de signal : EESK, EEDO, EEDI et EECS. Les données EEPROM série peuvent être gravées à l'avance avec un graveur ou en ligne. La troisième partie est la connexion entre le 9052 et le circuit d'application. Dans cet exemple, le signal du bus local ISA est principalement utilisé. Existe-t-il une ligne de données LAD ? 7:0, ligne d'adresse ISAA ? 1:0 ? , Los Angeles ? 23h2 ? , E/S lire et écrire des lignes de signal IOWR#, IORD#, verrou d'adresse BALE.

2.2.2 Conception du logiciel

Le programme est divisé en deux parties. Une partie attribue des valeurs à chaque registre de configuration du PCI9052 et initialise la puce. L'autre partie est le programme principal. La tâche consiste à interroger en permanence les valeurs clés pertinentes dans le registre. Une fois les conditions remplies, il envoie des codes de contrôle au port. Le programme est complété en langage DELPHI. La principale raison du choix de DELPHI est qu'il peut être compilé dans un fichier exécutable indépendant sans aucune bibliothèque de liens dynamiques, le programme est court et puissant, et la compatibilité entre les versions de DELPHI est relativement bonne. L'organigramme du programme est présenté comme dans la Fig. 2.

Le lien:   SKIIP31NAB12T11 TPS24751RUVR