Conception et mise en uvre des systèmes à base de FPGA -AET CPCI

0 introduction

La plupart des systèmes actuels utilisent instruments industriels ou un châssis industriel intégré, l'interface de fond de panier du châssis en général toutes les cartes par CPCI (PCI Compact), y compris une variété d'ordinateurs et de la carte d'acquisition industrielle, une carte de contrôle. conseils CPCI doivent être pris en considération lors de la conception de l'interface et les mécanismes de communication, dédié classique carte à puce multi-interfaces, par exemple puce PCI9054, ces puces peuvent être étendus pas forte, puce expansion externe besoin de FPGA, en utilisant inflexible, FPGA et utilisé directement les outils de base IP l'accord CPCI occupent plus de ressources, les coûts de développement plus élevés, les inconvénients se dilatent quand il y a des besoins particuliers.

Cet article présente la conception et la mise en uvre basée sur le système FPGA CPCI, en utilisant une puce peu coûteux FPGA protocole de communication CompactPCI, tandis que la réalisation de FPGA caractéristiques de commande de puissance programmable, interruption souple, déclenchement externe, spécifique à l'application fonction de communication externe et analogues, pour résoudre accord CPCI après le conflit quand pont CPCI.

1 Conception du système

1.1 Bloc système Schéma

Comme représenté sur la. Figure 1, le système comprend principalement incorporé panneaux CPCI et châssis industriel, est insérée dans la fente pour carte fond de panier du châssis CPCI. FPGA et intégré dans les fentes de carte CPCI entre l'utilisateur et l'utilisation du bus IO CPCI, liaison par bus entre le FPGA et ARM obtenus grâce à l'IO spécifié, un transistor de commande connecté à la fois le relais sur le FPGA.

1.2 Fonction système

l'interface de fond de panier CPCI et interfaces FPGA, des protocoles de communication par CPCI, le protocole de bus de bras à l'aide d'un cache de RAM personnalisé pour écrire des données dans le FPGA, puis envoyé à l'ordinateur hôte en utilisant les interfaces de CPCI, et vice versa. Reconnaît FPGA génère un signal d'interruption au CPCI ARM, le bras est possible d'identifier le signal d'interruption actif au CPCI généré, l'alimentation peut également être commandé par une carte de relais, la puissance inférieure, remise à zéro, par la commande ARM IO du fournisseur de services Internet (mise à niveau en ligne, seulement une fonction d'axe de commande de bras) et génère un fond de panier du signal de déclenchement.

Ci-après sera décrit les trois conception FPGA, des mécanismes de conception et de communication ARM.

conception FPGA 2

2, le FPGA comprend le protocole CPCI, IO_MEM, décodeur ARM, lu interruption est généré, interruption CPCI, le module de commande de puissance . L'utilisation des ressources et des coûts de puce FPGA de Xilinx XC2S100 sélectionné en fonction de la dernière utilisation du registre 387 tranche (représentant 16%), les LUTs 882 (soit 36%).

2.1 module de protocole CPCI

2.1.1 Accord

protocole d'accord PCI2.2 extension CPCI conforme à une partie de l'interface utilisateur, le module est terminé selon le protocole standard PCI2.2, l'espace pour la gestion de configuration, l'écriture IO, mot mémoire morte, mémoire burst lire et écrire, et les fonctions d'arbitrage d'interruption. les détails du protocole, voir le document , .

2.1.2 simulation FPGA

Une fois le fichier avec ModelSimXE la simulation de synchronisation de l'ISE, la simulation effectuée est donnée ci-dessous en bus mémoire CPCI lecture en rafale et d'écriture, et lu par IO mot Mémoire lu moment de l'éclatement est similaire au lecteur, ce qui est répéter .

3 La moitié supérieure est un cadencement processus d'écriture éclatement mémoire, écriture incrémenté séquentiellement 10 sur 32 bits à l'adresse 0xd000 consécutive, les données initial est 0x15896345. partie inférieure de la mémoire est terminée après une salve séquence lue, visible à partir de plusieurs consécutifs 0xd00032 données de bit lues, exactement comme écrit.

Cette planche à CPCI un tel problème lors du châssis de la fente d'insertion réelle: une fente d'insertion du fabricant châssis accident particulier. Le problème avec l'utilisation du marché panneaux CPCI finis rencontrera, après analyse, le protocole modifié dans l'interface de carte CPCI sur le pont CPCI, les accidents ne se produisent pas.

2.2 le module IO_MEM

Ce module se compose de trois RAM à double accès, qui peut être nommé BA0, BAR1 dans le système CPCI, BAR2, l'espace IO sont BAR2 BAR0 et 16 B, et ne supporte qu'un seul mot lu, de l'espace BAR1 de MEM 2 mot de support 048 B éclater lecture et écriture. Dans lequel l'espace BAR11 B supports uniquement accès et le contrôle de puissance est utilisé uniquement pour le fournisseur d'accès Internet, non accessible par d'autres périphériques.

2.3 Module de décodage ARM

Ce module implémente la synchronisation de l'interface mémoire et IO entre le FPGA et ARM, parce que les deux sensiblement le même moment, le timing de la mémoire à un exemple, la définition représentée sur les figures 4 et 5. Interface matérielle par la validation d'horloge, la sélection de RAM, lecture et écriture sélectionner, l'adresse de bus de données (8) de la composition. On notera en particulier que la ligne d'horloge doit être connecté à la broche globale d'horloge du FPGA.

Mémoire de lecture / écriture synchronisation doit être valide pour que, après l'adresse A deuxième cycle d'horloge commence à recevoir / entrée de données, 32 bits de données composées de 4 B, l'ordre octet de poids faible de l'octet haut de l'entrée / sortie, les données d'assemblage / démontage minutes pour terminer l'ARM. Réception de données / écriture sur les différentes adresses doivent être en_arm valide donc, puis activé.

2.4 ARM lecture d'interruption

Lorsque BAR0 écrit à l'intérieur du FPGA permettra efficacement int_arm, le signal déclenche l'interruption externe IO ARM. En écrivant toutes les données à BAR0 de CPCI peut produire un signal de déclenchement d'impulsion, ce signal peut être utilisé pour interrompre l'ARM.

2,5 CPCI pause

ARM doit générer une interruption au CPCI, le mécanisme est le suivant:

(1) ARM 2 pour adresse d'écriture IO0 décalage spatial 0x01, apparaissent sur le signal de déclenchement de niveau bas INTA n;

(2) le maître détecte cette interruption déclenché par niveau, interrompt immédiatement, désactiver l'adresse 0 à écrire 0xFB IO1 décalage spatial, puis INTA # est tiré à ce moment ne peut pas envoyer un bras d'interruption à nouveau par l'étape (1), et C'est, INTA # ARM ne peut être tiré vers le bas;

(3) Après l'article maître traité critique, le décalage d'adresse 0 à écrire espace IO10xFA, ARM permet de générer une interruption, à savoir, une interruption peut être généré de nouveau par l'étape de bras (1).

2,6 commande périphérique

signaux de commande de puissance et de déclenchement sont écrits à une information CPCI espace particulier prédéterminé par l'ordinateur hôte ou ARM, faire le traitement approprié après les informations de détection.

(1) est déplacé à 0 BAR2 écrire espace maître 0xFF, 0xFE, 0xFD, 0xFC atteindre la puissance, la mise hors tension, remise à zéro, la fonction de fournisseur de services Internet;

(2) 0 BAR2 espace maître d'écrire un nombre de décalage est inférieur à 128, cette valeur est le nombre d'impulsions de déclenchement généré au fond de panier;

(. 3) à un espace ARM BAR0 décalage est inférieur à 256 écrit un certain nombre, ce nombre est le nombre d'impulsions de déclenchement généré au fond de panier, l'impulsion de déclenchement ARM peut générer deux fois plus de maître.

3 conception ARM

Dans le système actuel, ARM et FPGA IO Port connexion de bus de simulation. Selon la séquence décrite ci-dessus, ARM a des interfaces fonctions liées:

(1) en réponse au signal d'interruption, lire, exécuter la commande IO;

(2) lire les données d'entrées-sorties;

(3) Mémoire de lecture et d'écriture des données.

En raison du code de synchronisation d'interface ARM est relativement simple à réaliser, ne se répète pas ici, la référence à un mécanisme de mise en uvre spécifique conception du mécanisme de communication ultérieure.

4 communication conception du mécanisme

Du point de vue CPCI, ARM, et le dispositif basé sur l'ordinateur hôte, FPGA de l'appareil. Pour FPGA est, les interfaces CPCI et de l'interface ARM est totalement indépendant, mais les deux peuvent lire et écrire dans la mémoire vive, sans mécanisme de coordination, il est possible de lire et de conflit d'écriture, il est nécessaire de coordonner les données de la règle de transfert . Parce que les interfaces standard CPCI, je suis nécessaire de définir l'interface et le lecteur maître FPGA et ARM à lire et les règles d'écriture, décrit ci-dessous, et les interfaces de l'ordinateur hôte à lire et à écrire des règles FPGA et ARM.

Les données doivent interagir avec l'ordinateur hôte dans l'ensemble FPGA ARM dans une RAM en mémoire tampon. Appliquent les règles sont les suivantes:

(1) l'espace alloué seulement IO 1 B, commande de mémorisation maître transmis;

(2) un espace d'écriture en mémoire séparément, est décalée 0-999 écriture maître, lire les données de l'espace de ARM 1000 ~ 2048 est un maître lire, écrire l'espace de données ARM.

La figure 6 illustre le flux de données lues et les processus d'écriture ARM, CPCI et le maître. Pour éviter les lecture du système et les conflits d'écriture, d'effectuer des opérations selon les règles suivantes:

Avant l'espace mémoire (1) ARM lire CPCI faire read_acc de write_acc ou invalide, lecture et écriture est terminée pour être efficace.

(2) lecture maître Première lecture mémoire read_acc, si elle est efficace, a commencé à lire la mémoire requise, ou attendre un nouvel essai de temps; write_acc première mémoire lecture-écriture, si elle est efficace, a commencé à écrire des données dans la mémoire spécifiée, ou attendre pendant un certain temps Retry, maître à IO ne écrit pas besoin de lire write_acc.

(3) Procédure générale pour le maître d'écriture de mémoire: premières données d'écriture qui doit être déterminée conformément à l'espace requis pour la commande, puis écrire les données de configuration dans la mémoire, IO commande de commande d'écriture enfin l'espace, mémoire morte lire directement données.

Le programme utilisé pour la carte d'acquisition de données, une carte analogique en bande de base numériques, les cartes signal d'oscillateur local se produit, le reçu si les demandes de carte de fréquence et d'autres fonctions, Advantech compatible, AdLINK plusieurs grands fabricants d'enceinte industrielle.

5 Conclusion

Cet article présente une conception de système à base de FPGA CPCI, du mode de réalisation décrit le cadre de base, CPCI protocole de communication de bus de protocole et d'un mécanisme d'évitement de collision de communication sur mesure, un faible coût et à haute densité selon la conception, facile à étendre la CPCI de communication système, l'ingénierie est facile à réaliser, et peut être largement utilisé dans la mesure industrielle, fournit une référence de conception similaire.

références

Renyong Feng, Pengqiao juin Liu Zhanfeng. CPCI FPGA haute vitesse de lecture Interface Design L'électronique, 2015 (1): 148-151.

Tian, Alex Wang, Yan Xiang, et. FPGA + CPCI Basé sur la carte de communication WTB . Electric Drive pour Locomotives, 2014 (4): 28-32,56.

Rui Wang, Zhang amical, Chen Yanyun, etc. Interface CPCI carte d'acquisition de données à base de FPGA conception Technologie électronique, 2010,37 (2): 35-37.

PICMG2.0R3.0, CompactPCI Spécification 0,1999.

PCI local Spécification Bus (révision 2.3) .PCI Bus local, 2001.

Liu, MA Tianyi .CPCI Conception et implémentation de l'interface de bus de données La science et la technologie, 2011,24 (6): 95-96,100.

SHANLEY T, ANDERSON configuration du système D.PCI . Pékin: Electronic Industry Press, 2000.

Shan Gui, Guide de Qi Dehu .PCI bus local développeur Xi'an: Xi'an Université des sciences et de la technologie électronique Press, 1997.

CPCI développement du pilote d'interface de bus et de conception sorcière Masked, SU Tao, l'histoire Jiahuan. Conseil de processus de signal des composants électroniques d'outre-mer, 2007 (2): 26-30.

Guo Lijun, Tanjian Bo. Bus CPCI basé sur un modèle d'interface FPGA Méthode Hefei Université de technologie (sciences naturelles), 2014 (5): 596-599.

Informations sur l'auteur:

weijian Yong

(Wuhan Hong Asahi Information Technology Co., Ltd, Wuhan 430074, Chine)

Jouez vraiment bien! « Brave jeu » babes sexy déesse avis professeur tourné « Oncle gras »
Précédent
Quatre hot-vente petit SUV, moins de 100000 indépendants
Prochain
conception « académique » de UWB à base de système de positionnement intérieur robot mobile
Li Guoqing excuses pour les remarques inappropriées, « canon bouche » remarques scandaleuses n'est pas la première fois
100000 seront en mesure de conduire la maison? Vos rêves voiture compacte ont tous!
le film Jackie Chan « Machine Blood » Manlianshixue évidemment blessé, il a dit qu'il est allé à l'hôpital n'est pas mal
expérience du site: il y a seulement 21 des parents de Jingdong sciés? Quelle est alors la différence entre-jambe AI?
Bihanlanda longue 30mm, la valeur de couleur sur frontière nette, vendu 250000 SUV de taille moyenne ajouter de nouvelles forces
Profitez de l'expérience de nettoyage unique, Philips S série d'expérience de traînée machine de nettoyage humide rapport
Une grande partie de mon pays, notre pays a dépassé le nombre de demandes de brevets d'intelligence artificielle
La montre de forme Game Boy, réveil est une chanson thème « continent Mario »
Tencent documents sélectionnés Interspeech 2017: Applications de réseau neuronal de formation en profondeur dans l'optimisation de la séparation de la parole à canal unique
Chongqing est devenu le lieu à venir 4A sites pittoresques, il est un excellent endroit pour jouer d'hiver!
Philips Sonicare Nouvel An koi boîte-cadeau: faire la déesse de la fortune, choisissez Nouvel An « Koi »