LE BUS INDUSTRIEL VXI

Patrice KADIONIK kadionik@enseirb.fr

http://www.enseirb.fr/~kadionik

Bernard HUMBERT (IRES) bernard.humbert@ires.in2p3.fr

barre.gif (2311 octets)

Télécharger la version : [PDF]

barre.gif (2311 octets)

TABLE DES MATIERES

1. Présentation *

1.1. Introduction au bus VXI *

1.2. Aperçu des spécifications VXI *

1.3. Sous-système VXI *

2. Architecture matérielle *

2.1. Mécanique VXI *

v Module VXI *

v Refroidissement VXI *

2.2. Caractéristiques électriques VXI *

2.3. Bus des horloges VXI *

2.4. Bus en étoile VXI *

2.5. Bus de déclenchement VXI *

2.6. Bus local VXI *

2.7. Bus de sommation analogique VXI : SUMBUS *

2.8. Bus d’identification de module VXI : MODID *

2.9. Bus d’alimentation VXI *

2.10. Broches réservées VXI *

3. Architecture logicielle *

3.1. Fonctionnement des appareils VXI *

3.2. Configuration des appareils *

3.3. Protocoles logiciels *

4. Registres d’un appareil VXI basé registres *

5. Conclusion *

6. Références *

barre.gif (2311 octets)

1. Présentation

Le bus VXI [VMEbus eXtension for Instrumentation] est une architecture matérielle ouverte proposée par différents vendeurs pour la construction modulaire d’instruments de mesure. Le bus VXI a été conçu pour satisfaire le besoin croissant d’un standard d’instrumentation qui soit à la fois modulaire et ouvert. Ce standard est élaboré à partir du bus VME pour lequel il existe déjà des milliers de cartes provenant de centaines de constructeurs. Le VXI est composé à la fois d’une architecture matérielle et logicielle. Le présent document a pour but de donner un aperçu des aspects matériels, il inclut une discussion un peu plus poussée des caractéristiques électriques. Très sommairement, il donne également un aperçu des aspects logiciels. Des exemples succincts sont donnés sur la façon d’utiliser les caractéristiques électriques du bus VXI dans un système de test et de mesure.

    1.1. Introduction au bus VXI

 

Le bus VXI a été élaboré en réponse à des appels d’offre pour les modules d’instrumentation VME, provenant en particulier du Ministère de la Défense américain. La réduction de la taille des équipements de test automatique était le principal motif qui poussait le Ministère vers le VME. De plus, la grande bande passante du VME était considérée comme un avantage, tout particulièrement pour le test numérique et les applications de traitement du signal. Les armées de l’air, de mer et de terre élaborèrent des programmes sur le sujet, respectivement nommés MATE, CASS et IFTE.

Durant l’été 1987 cinq compagnies : Colorado Data Systems, Hewlett Packard, Racal Dana Instruments, Tektronix et Wavetek annoncent leur volonté de construire des instruments basés sur un standard développé conjointement et appelé : eXtension du bus VMEbus à l’Instrumentation (VXIbus).

Depuis lors de nombreuses compagnies parmi lesquelles Bruel&Kjaer, John Fluke, Genrad, Keithley Instruments et National Instruments ont rejoint les cinq compagnies fondatrices et toutes ensembles, elles ont créé le Consortium VXIbus ("VXIbus Consortium Inc"). D’autres compagnies proposent également des produits VXI qui sont des fonds de paniers, des testeurs de bus, des modules de conversion analogique/digital et des ensembles logiciels orientés objets pour VXI. VXI est un succès puisqu’il est devenu le standard accepté par de très nombreux vendeurs pour proposer une instrumentation modulaire.

Le bus VXI est une architecture pour des instruments modulaires. Elle est basée sur le bus VME qui est rappelons-le destiné à la construction d’ordinateurs. Le but de VXI est de fournir un standard d’instrumentation basé sur le bus VME qui est ouvert à tous les constructeurs et qui soit compatible avec tous les standards actuels de l’industrie (norme VME, mécanique Eurocarte, IEEE488, etc ...). Ces spécifications publiques doivent permettre l’assemblage dans un même châssis, de produits pouvant venir de différents constructeurs.

En tant qu’architecture ouverte d’instrumentation le bus VXI répond aux besoins du marché pour la réalisation très intégrée d’instruments modulaires de hautes performances.

De plus, le bus VXI offre aux clients le choix très large d’équipements pour les tests automatiques (équipements ATE : "Automatic Test Equipement") et un support durable parmi une multitude de produits pouvant venir de différents vendeurs.

       

    1.2. Aperçu des spécifications VXI

Les dernières spécifications VXI appartiennent à la révision 1.3 qui datent, est-ce un hasard, du 14 juillet 1989. Celles-ci permettent aux concepteurs la construction d’éléments VXI qui soient compatibles avec ceux d’autres constructeurs. Les spécifications VXI sont contenues dans 228 pages et détaillent les points suivants :

      - l’implantation au bus VME.

      - les caractéristiques électriques.

      - les caractéristiques mécaniques.

      - la compatibilité électromagnétique.

      - l’alimentation électrique du système.

      - le mode opératoire d’un appareil.

      - les protocoles de communication entre appareils.

      - les ressources système.

      - les instruments.

      - l’interface IEEE488.

      - le format des commandes et événements.

      - la configuration dynamique.

      - les protocoles basés sur l’utilisation de mémoire partageable.

       

    1.3. Sous-système VXI

Un système VXI peut contenir un ou plusieurs sous-systèmes VXI. Un sous-système VXI est construit à partir d’un module central nécessaire à la mise en temps de certains signaux et qui assure également d’autres fonctions. C’est le module de l’emplacement 0 ("slot 0"). A celui-ci peut être ajouté de un à douze modules d’instrumentation. Par conséquent, un sous-système VXI contient au maximum 13 modules réunis au sein d’un même châssis.

Un système VXI peut être composé de plusieurs sous-systèmes VXI connectés les uns au autres par des interfaces appropriées. Ces interfaces peuvent être aujourd’hui : IEEE488, RS232, VME en respectant le standard. Il en existe d’autres qui sont à ma connaissance Ethernet et le bus MXI (de National Instrument). Un système VXI est composé d’au plus 256 appareils.

D’un point de vue électrique un sous-système VXI respecte d’importantes règles pour que les signaux électriques du fond de panier puissent autoriser la connexion de modules pouvant avoir des origines différentes, être même issus de constructeurs différents. Un exemple typique de ces signaux sont les lignes de déclenchement et d’horloge ECL. Ces lignes d’horloge et de déclenchement peuvent être étendues à d’autres sous-systèmes VXI d’un même système VXI. Elles passent alors par un module d’interface qui apporte les remises en forme appropriées parce qu’il n’est bien sûr pas possible de se connecter directement sur les lignes de fond de panier. Le fond de panier VXI possède également des lignes ECL très performantes qui ont des retards de propagation d’au maximum 5 ns et des temps de montée d’au maximum 2 ns. C’est nécessaire pour pouvoir interconnecter des modules d’instrumentation qui imposent un couplage en temps très étroit . Le couplage étroit en temps ne peut se faire qu’à l’intérieur d’un sous-système VXI, c’est à dire sur un même fond de panier, dans un seul châssis.

     

2. Architecture matérielle

    2.1. Mécanique VXI

Les spécifications mécaniques VXI permettent une grande variété de configurations système différentes. Un système VXI peut être petit portable avec seulement quelques appareils, mais il peut également être important avec plusieurs châssis et inclure jusqu’à 256 appareils.

Quatre tailles différentes de modules VXI sont définies pour autoriser une grande variété d’applications ayant des besoins différents. Celles-ci restent compatibles avec les formats courants de cartes VME.

 

Le bloc de base mécanique de construction d’un système VXI est le module. Les modules VXI se présentent en quatre tailles appelées A,B,C et D comme le montre la figure 1. Les tailles A et B sont physiquement les mêmes que celles des cartes VME simple et double hauteur.

Les modules de taille C et D sont plus larges que les tailles standards dites "Eurocard" avec un espacement entre cartes enfichées plus grand : il est pour les modules VXI de 30,48 mm (1,2 pouce) au lieu de 20,32 (0,8 pouce) pour le VME.

L’épaisseur de module de 30,48 mm permet l’utilisation de composants analogiques plus larges et l’utilisation de cartes filles tout en conservant suffisamment de place pour un blindage de chaque face du module.

Deux modules peuvent également être séparés par un blindage du châssis.

Un module peut être une simple carte de composants ou une boite fermée qui inclut un assemblage de plusieurs cartes imprimées.

Si un instrument nécessite plus de 30,48 mm de large alors il peut occuper plusieurs emplacements d’un châssis VXI.

 

Figure 1 : Tailles des cartes VXI

 

Des cartes des quatre tailles A, B, C et D peuvent être insérées dans un panier de taille supérieure. Par exemple, les cartes de taille A et B peuvent être utilisées dans un panier C ou D. Cela permet également l’utilisation de modules VME standard et la constitution de systèmes d’une grande souplesse.

Les modules VXI sont placés dans un châssis. Le châssis comporte un panier, une carte mère, une alimentation et d’autres ressources système.

Les composants actifs pour les signaux ECL : CLK10, CLK100 et SYNC100 sont implantés sur la carte mère, pour améliorer la précision en temps.

 

Les spécifications VXI imposent que l’air de refroidissement d’un module entre par le bas et sorte par le haut (le haut du module est du côté de P1). Les besoins en refroidissement d’un module VXI et les capacités de refroidissement d’un châssis VXI doivent faire partie des caractéristiques indiquées pour ceux-ci. Ainsi, il est possible de déterminer la compatibilité entre modules et châssis pour la construction d’un sous-ensemble VXI. Les spécifications VXI n’imposent rien d’autre quant aux flux d’air d’un châssis. L’entrée d’air et la sortie restent propres à chaque vendeur ou application.

 

    2.2. Caractéristiques électriques VXI

Les spécifications électriques définissent l’architecture, la structure et les fonctions du fond de panier VXI, c’est à dire en fait les connexions électriques entre modules VXI à l’intérieur d’un même sous-ensemble VXI. Un module doit obligatoirement être connecté au sous-ensemble par l’intermédiaire du connecteur P1 et peut de façon optionnelle être relié au reste du sous-ensemble VXI par les connecteurs P2 et P3. Comme nous l’avons vu figure 1 un module VXI peut avoir l’une des quatre tailles A,B,C ou D. Seul l’utilisation du connecteur P1 est nécessaire pour répondre aux spécifications VXI quelle que soit la taille du module d’instrumentation.

Le bus VXI englobe le bus VME. Les spécifications du bus VME définissent toutes les broches du connecteur P1 et les broches de la rangée centrale du connecteur P2. Les broches des rangées latérales du connecteur P2 sont définissables par l’utilisateur d’après les spécifications VME. Les spécifications VXI définissent ces rangées latérales de P2 et l’intégralité du connecteur P3. Les cinq tables jointes à la fin de ce document donnent l’affectation de chaque broche de façon complète. Les connecteurs P1, P2 et P3 sont définis par l’IEC et sont les mêmes que les connecteurs du bus VME.

La configuration minimale de base ne nécessite que l’utilisation d’un connecteur P1. Le connecteur P1 est l’épine dorsale qui procure un bus d’ordinateur VME multi-maîtres. Ce bus informatique peut travailler avec un bus de données de 8 ou 16 bits dans un espace adressable de 64 kilo-octets ou de 16 Mégaoctets. P2 et P3 étendent les possibilités du système VXI en même temps que les différentes tailles de modules. Ces extensions se font pour améliorer les performances informatiques, obtenir de nouvelles tensions d’alimentation, plus de puissance d’alimentation, une communication privée de module à module à très haute vitesse, une synchronisation du système, des bus analogiques dédiés, la possibilité d’autoconfiguration et des ressources communes à tout le système.

Les lignes du bus VXI peuvent être logiquement groupées en huit bus et quelques broches réservées.

Ces sous-bus sont :

      BUS TYPE

      bus ordinateur VME global

      bus de déclenchement global

      bus pour sommation analogique global

      bus de distribution des alimentations global

      horloges et bus de synchronisation unique

      bus en étoile unique

      bus d’identification du module unique

      bus local privé

       

Les bus précédemment cités sont situés sur le fond de panier et chaque bus offre une nouvelle dimension au possibilités d’instrumentation. Le type de bus affecte essentiellement la meilleure façon de faire usage de celui-ci dans un système d’instrumentation ATE (équipement de tests automatiques).

L’architecture électrique du bus VXI est donnée figure 2.

Les bus globaux sont toujours accessibles et partagés par tous les modules VXI. Les bus uniques partent de l’emplacement de module le plus à gauche (l’emplacement 0, "slot 0") et vont vers chacun des autres modules sur la base d’une connexion fil à fil. Les bus privés sont des bus locaux entre deux ou plusieurs modules adjacents.

      Figure 2 : Architecture électrique du bus VXI

       

Les lignes électriques VXI sont réparties physiquement sur trois connecteurs de 96 broches chacun (P1,P2 et P3) comme cela est indiqué sur la figure 3, à l’aide d’un module de taille D.

Les spécifications VXI sont très exigeantes en ce qui concerne la compatibilité électromagnétique (CEM) des modules, et en particulier les émissions et la susceptibilité par conduction, les émissions et la susceptibilité par rayonnement. A ce propos, des méthodes de test sont suggérées.

Les spécifications des cartes mères VXI prévoit le blindage optionnel des connecteurs.

       

      Figure 3 : Fonctions disponibles sur les 3 connecteurs VXI

Redonnons très brièvement une description du bus VME (IEEE1014-1987 Std). Le VME se répartit en 4 bus : - transfert de données

      - arbitrage du bus de transfert de données

      - gestion prioritaire des interruptions

      - diverses lignes utiles.

Bus de transfert des données VME

Le bus de transfert de données VME est un bus de données asynchrone à haut débit qui permet l’échange de données 8,16 ou 32 bits entre modules.

Ce bus est composé de lignes de données, de lignes d’adresses et de lignes de contrôle. L’espace d’adressage appartient à l’une des trois grandes classes suivantes :

      - adressage court (A16) 64 kilo-octets

      - adressage standard (A24) 16 Méga-octets

      - adressage étendu (A32) 4 Giga-octets

Ces trois espaces d’adressage sont définis par les spécifications VME pour être mutuellement exclusifs grâce à l’utilisation des lignes de modification d’adresses du bus VME.

 

Bus d’arbitrage du bus de transfert de données VME

Le bus d’arbitrage des transferts de données fournit un moyen pour un système VME, de fonctionner avec plus d’un maître du bus de transfert de données et/ou plusieurs gestionnaires d’interruption. Les maîtres du bus de transfert de données peuvent être des unités centrales (CPU), des dispositifs DMA ("Direct Memory Access"), des contrôleurs d’entrées/sorties ou n’importe quel autre dispositif qui a besoin du contrôle du bus de transfert de données. L’arbitrage du bus de transfert de données permet le passage du contrôle du bus de transfert de données entre maîtres de façon ordonnée et en garantissant qu’à un instant donné, seul un maître contrôle le bus de données.

       

Bus d’interruption VME

La possibilité d’interruption prioritaire du bus VME fournit un moyen par lequel des dispositifs peuvent demander les services d’un contrôleur (gestionnaire) d’interruption. Ces demandes d’interruption ont un niveau de priorité qui peut varier de 1 à 7.

Un exemple d’utilisation du bus d’interruption prioritaire dans un système VXI peut être un instrument qui veut faire connaître son état. L’appareil VXI peut utiliser les interruptions pour communiquer à un autre appareil, qu’il a terminé le travail demandé et qu’il attend des données à transférer ou d’autres instructions.

Les avantages de l’utilisation des interruptions est l’augmentation des performances de communication du système, en évitant de faire appel à des boucles logicielles de scrutation, pour connaître l’état d’un instrument. Les interruptions du bus VME sont comme les fonctions SRQ de IEEE488.1 1987 Std.

       

Bus des utilitaires VME

Ce bus fournit la distribution de l’alimentation en puissance, de l’horloge, de l’initialisation et de la détection de défauts. Il inclut les lignes d’alimentation, les lignes de masse, une ligne d’horloge de 16 MHz, un signal d’initialisation du système, une ligne de défaut du système, une ligne de défaut en alimentation courant alternatif et deux lignes de données séries.

       

    2.2. Bus des horloges VXI

Le bus des horloges VXI fournit deux horloges et un signal de synchronisation d’horloge.

Une ligne d’horloge 10 MHz (CLK10) est placée sur P2 et une ligne d’horloge 100 MHz (CLK100) est placée sur P3 de même qu’une ligne de synchronisation (SYNC100).

Les lignes CLK10, CLK100 et SYNC100 sont toutes des signaux différentiels ECL et sont placées aux extrémités des connecteurs P2 et P3. Elles sont blindées autant que cela est possible à l’aide de lignes de masse ou d’alimentation (GND,+5V,-2V, etc) pour minimiser le bruit qui pourrait provoquer des fluctuations en temps des signaux ("jitter"). Le signal CLK100 est synchrone au signal CLK10.

Les deux horloges et le signal de synchronisation sont issus de l’emplacement 0 ("slot 0") et sont remis en forme sur le fond de panier ainsi chaque module de l’emplacement 1 à l’emplacement 12 reçoit un signal individuel et remis en forme.

La figure 4 nous montre le signal CLK10 remis en forme par le fond de panier. L’interconnexion est la même pour CLK100.

La raison de la remise en forme par le fond de panier est la possibilité d’avoir une bien meilleure isolation entre modules et de soulager la charge sur le signal d’horloge.

Le plus grand bénéfice d’une horloge remise en forme pour chaque module est l’indépendance vis à vis du nombre de modules utilisant les horloges. Ainsi, la charge de ces modules sur les horloges ne dégrade pas les signaux d’horloge des autres modules. Par exemple, la précision d’une conversion analogique/digitale (A/D) dépend des fluctuations de phase de l’horloge du convertisseur. Les effets indésirables des autres modules, sur les bonnes caractéristiques de conversion analogique/digitale, sont éliminés par l’isolation des lignes d’horloge VXI.

      Figure 4 : Schéma d’interconnexion de l’horloge CLK10

       

Les horloges sont fournies par le module de l’emplacement 0 ou un dispositif extérieur et rentrées sur le panneau avant du module de l’emplacement 0

Le connecteur P3 de VXI fournit un niveau de performance encore plus grand. L’horloge CLK100 est garantie pour répondre à une dispersion en temps inférieure à 2 ns entre les emplacements 1 à 12.

En plus du signal d’horloge de fréquence élevée CLK100 (100MHz), P3 possède un signal de synchronisation SYNC100 qui est utilisable pour synchroniser plusieurs modules en respectant un front de montée donné de CLK100. Ceci permet un couplage très étroit en temps entre des modules devant fonctionner ensemble. Les mesures multi-voie de hautes performances peuvent être faites par différents modules associés et fonctionnant sur une référence précise en temps : SYNC100.

Par exemple, dans un système de mesure sur plusieurs voies en parallèle (multi-voie), plusieurs modules de conversion analogique/digitale peuvent être synchronisés pour effectuer leurs mesures sur les mêmes fronts de l’horloge CLK100. De la même façon, ils peuvent effectuer en séquence leurs mesures pour obtenir un enregistrement étendu.

       

    2.4. Bus en étoile VXI

Le bus très rapide en étoile VXI est placé sur P3. Ce bus en étoile est composé de deux lignes en étoile STARX et STARY qui sont connectées dans une liaison point à point entre chaque module et le module d’emplacement 0 comme cela nous est montré sur la figure 5. STARX et STARY sont des lignes bidirectionnelles et différentielles ECL. L’emplacement 0 peut être vu comme le centre d’une étoile à douze branches. Chaque branche a un module à son extrémité. Les lignes STARX et STARY courent le long de chaque branche. STARX et STARY sont des lignes très performantes qui ont une dispersion en temps inférieure à 2 ns entre n’importe lesquels de deux signaux X et Y en étoile et un retard maximum de 5 ns entre l’emplacement 0 et n’importe quel module.

Les bus en étoile fournissent un moyen de communication à haute vitesse entre modules. Ce moyen de communication peut être une horloge, un signal de synchronisation ou différentes formes de déclenchement. Par exemple, une horloge haute vitesse d’un appareil en test (DUT "Device Under Test") et un signal arrêt/marche ("start/stop") peuvent être utilisés par n’importe quel module après un passage par l’emplacement 0. L’emplacement 0 peut en plus supporter une matrice de routage commutable qui permet ainsi une redirection sélective des signaux DUT vers les autres modules comme des convertisseurs A/D, D/A, des modules d’analyse logique...... Ainsi ces modules d’instrumentation seront étroitement couplés en temps avec les signaux de l’appareil DUT.


      Figure 5 : Le bus en étoile du VXI

       

      2.5. Bus de déclenchement VXI

Le bus de déclenchement VXI peut être réparti en 8 lignes de déclenchement TTL (TTLTRG0* à TTLTRG7*) et 6 lignes de déclenchement ECL (ECLTRG0 à ECLTRG5). Toutes les lignes de déclenchement TTL et deux des lignes de déclenchement ECL sont situées sur le connecteur P2. Les quatre lignes de déclenchement ECL restantes se trouvent sur le connecteur P3.

Le bus de déclenchement VXI est utilisé pour une communication entre modules. N’importe quel module, y compris celui de l’emplacement 0, peut émettre ou recevoir une information sur ces lignes. Ce sont des lignes logiques d’usage général qui peuvent être utilisées pour du déclenchement, de l’accord confirmé ("handshake"), de la mise en phase ou une transmission de données. Les lignes de déclenchement TTL sont actives au niveau bas contrairement aux lignes de déclenchement ECL

Toutes les lignes de déclenchement sont maintenues dans un état inactif à l’aide des terminaisons du fond de panier. La différence essentielle entre les lignes de déclenchement TTL et ECL est la rapidité de transmission de signaux. A titre d’exemple, disons que la vitesse de transmission maximale d’une horloge pour une ligne TTLTRGn* est de 12.5 MHz à comparer à celle d’une ligne ECL qui est de 62.5 MHz.

Les lignes TTLTRGn* sont des lignes TTL à collecteur ouvert qui parcourent toute la longueur du fond de panier d’un sous-système VXI et sont terminées sur le fond de panier conformément aux spécifications du bus VME. Ceci est illustré sur la figure 6. Les terminaisons de fond de panier des lignes TTLTRGn* fournissent un état haut en l’absence d’envoi de signaux actifs sur ces lignes. Dans une transmission en temps, il est évidemment recommandé d’utiliser les fronts de descente, plutôt que ceux de montée. Ceci tient au fait que le temps de montée dû à l’utilisation de collecteurs ouverts est beaucoup plus important que le temps de descente et que ce temps est fonction de la charge sur la ligne. La différence entre les temps de montée et de descente provient du fait que les émetteurs à collecteur ouvert absorbent plus de courant à l’état bas qu’ils n’en fournissent à l’état haut.

Les lignes TTLTRGn* peuvent être utilisées en respectant un des 6 protocoles définis par les spécifications VXI. Ces protocoles définis sont les suivants :

      - TTLTRGn* déclenchement synchrone

      - TTLTRGn* déclenchement semi-synchrone

      - TTLTRGn* déclenchement asynchrone

      - TTLTRGn* transmission d’horloge

      - TTLTRGn* transmission de données

      - TTLTRGn* Départ/Arrêt

Si besoin est, il est possible pour tout fabricant de module VXI de définir d’autres protocoles pour les lignes TTLTRGn*.

      Figure 6 : Bus de déclenchement VXI

       

      - TTLTRGn* Protocole de déclenchement synchrone : SYNC -

Le protocole de déclenchement synchrone (SYNC) consiste en une ligne unique de diffusion du déclenchement qui ne nécessite pas un acquittement de la part de chaque accepteur de déclenchement. La fréquence maximale de répétition est de 12.5 MHz.

      - TTLTRGn* Protocole de déclenchement semi-synchrone : SEMI-SYNC -

Le protocole de déclenchement semi-synchrone (SEMI-SYNC) consiste en une ligne unique de diffusion du déclenchement avec un protocole d’accord accepté ("handshake") avec les multiples accepteurs. Une source de déclenchement unique active une ligne TTLTRGn* à l’état bas, si nécessaire les accepteurs activent la même ligne à l’état bas et maintiennent la ligne basse jusqu’à ce qu’ils soient prêts pour l’opération suivante. L’utilisation d’un OU câblé sur le bus à collecteur ouvert permet à la ligne de conserver l’état bas jusqu’à ce que la source de déclenchement et tous les accepteurs désactivent cette ligne. Ceci permet de garantir que tous les appareils ont effectué leur accord accepté.

Un avantage du protocole semi-synchrone SEMI-SYNC est que l’appareil source et tous les appareils accepteurs utilisent une seule ligne. Du fait que l’échange d’informations est terminé par l’accepteur le plus lent, aucune donnée n’est perdue. Le débit d’information augmente automatiquement dès que les appareils les plus lents ne sont plus impliqués dans le protocole d’accord accepté. En prenant la source et les accepteurs les plus rapides, la fréquence maximale d’accords acceptés est de 12.5 MHz.

Pour ceux qui connaissent l’IEEE488, le protocole SEMI-SYNC est comparable au transfert de données faisant appel aux émetteurs DAV ("DAta Valid") et aux récepteurs NDAC ("Not Data ACcepted").

      - TTLTRGn* Protocole déclenchement asynchrone : ASYNC -

Le protocole de déclenchement asynchrone (ASYNC) utilise deux lignes et fait appel à un seul accepteur. En utilisant une paire de lignes TTLTRGn* la source démarre une opération en plaçant un niveau bas sur la ligne TTLTRGi* d’indice i le plus faible, tandis que l’accepteur reconnaît la demande sur la ligne TTLTRGj* d’indice j le plus élevé. Ceci est illustré sur la figure 7.

C’est un mode de déclenchement fort utile pour établir un protocole accord confirmé entre des modules VXI et des instruments extérieurs au système VXI. A fortiori, il est très utile pour établir un protocole accord accepté entre des systèmes VXI.

La fréquence maximale de déclenchement est de 12.5 MHz dans des conditions idéales.

       

      Figure 7 : Protocole de déclenchement asynchrone du VXI

       

      - TTLTRGn* Protocole transmission d’horloge -

Une ligne TTLTRGn* peut être utilisée pour la transmission d’une horloge dont la fréquence varie entre 0 et 12.5 MHz.

      - TTLTRGn* Protocole transmission de données -

Deux ou plusieurs lignes TTLTRGn* peuvent être groupées ensemble pour faire de la transmission de données parallèle. Une des lignes TTLTRGn* est utilisée comme horloge ou signal d’échantillonnage et les autres lignes sont utilisées pour le transfert de données. Les données peuvent être synchronisées soit par le front montant, soit par le front descendant de l’horloge ou par les deux fronts.

Par exemple, en utilisant les 8 lignes TTLTRGn*, une pour avoir un front d’horloge descendant et les 7 autres pour la transmission de données, la vitesse de transfert de données maximale, d’un sous-système VXI d’un module vers les 12 autres modules, peut atteindre 12.5 Méga-mots à la seconde : un mot tenant sur 7 bits.

      - TTLTRGn* Protocole Départ/Arrêt : STST -

Le protocole de déclenchement STST ("STart/STop") propose une méthode de démarrage et d’arrêt de groupe de modules d’une manière synchrone. Une ligne TTLTRGn* est activée par le module de l’emplacement 0 et son état signifie un ordre de démarrage ou d’arrêt pour les autres modules. Tous les modules participant répondent à cette ligne de façon synchrone au prochain front montant de l’horloge CLK10. L’intérêt de ce mode de fonctionnement STST est de verrouiller ensemble les chronogrammes de modules monovoie d’instrumentation pour réaliser ainsi un instrument multi-voie bien géré en temps.

      - Les lignes de déclenchement ECL ECLTRGn -

Les lignes de déclenchement ECLTRGn parcourent le long du fond de panier du sous-système et sont terminées par 50 Ω au -2V à chaque extrémité du fond de panier.

Toutes les lignes ECLTRGn sont placées à l’extrémité de la rangée "a" des connecteurs P2 et P3 et sont blindées le plus possible à l’aide de lignes de masse et d’alimentation (GND,+5V,-2V,etc...) de façon à minimiser le bruit qui entraîne une plus grande dispersion en temps des signaux. N’importe quel module y compris le module de l’emplacement 0 peut activer ces lignes ou recevoir des informations sur ces lignes.

Ces lignes sont ECL simple et ont une impédance de 50 Ω.

Le niveau actif est défini comme étant le niveau logique haut.

Les lignes ECLTRGn* sont utilisables avec le même ensemble de protocoles que les lignes TTLTRGn* du point de vue fonctionnel et avec de bien meilleures performances. Ceci est vrai à l’exception du protocole Départ/Arrêt STST étendu. Ces protocoles et leurs performances en temps sont les suivants :

      - ECLTRGn déclenchement synchrone 62.5 MHz

      - ECLTRGn déclenchement semi-synchrone 50 MHz

      - ECLTRGn déclenchement asynchrone 62.5 MHz

      - ECLTRGn transmission d’horloge 62.5 MHz

      - ECLTRGn transmission de données 62.5 MHz

Si besoin est, il est possible pour tout fabricant de module VXI de définir d’autres protocoles pour les lignes ECLTRGn qui satisfassent encore mieux les nécessités de leurs applications.

       

      - ECLTRGn Protocole étendu Départ/Arrêt ESTST -

Le protocole de déclenchement ESTST n’est pas une simple amélioration en vitesse du protocole STST des lignes TTLTRGn*. Les lignes ECLTRGn sont utilisées en un sur-ensemble des lignes STST (d’où le terme étendu) pour synchroniser des modules utilisant P3 avec des modules STST utilisant P2.

Tous les signaux du protocole ESTST sont synchronisés avec l’horloge CLK100 et le signal SYNC100. Ils sont qualifiés par une ligne ECLTRG. Ainsi, c’est une fonction des lignes ECLTRGn qui indique à un module ESTST que le signal SYNC100 est valide. Le module ESTST utilise alors les lignes TTLTRGn* pour savoir s’il s’agit d’un ordre d’arrêt ou de démarrage. Celui-ci est déclenché par un front valide de l’horloge CLK100. L’intérêt du protocole ESTST tient à la relation en temps fixe qui existe entre les modules STST de P2 et les modules ESTST de P3.

Cette relation en temps fixe tient au fait que les horloges CLK10 et CLK100 sont synchrones et que le module de l’emplacement 0 peut verrouiller les déclenchements sur l’horloge CLK10 à celui de l’horloge CLK100 de manière précise. Il en résulte que les instruments les plus rapides P3 peuvent être coordonnés en temps et de façon étroite aux instruments les moins rapides P2 en faisant appel au protocole ESTST.


      2.6. Bus local VXI

Le bus local VXI est une voie de communication privée entre modules adjacents. La figure 8 nous montre les connexions du bus local sur le fond de panier VXI.

       

      Figure 8 : Connexions du bus local VXI sur P2

Les connexions électriques vont seulement d’un côté d’un module au côté adjacent du module suivant. Tous les modules de 1 à 11 ont deux bus locaux séparés : un bus sur la droite du module et un bus sur la gauche du module. Le module de l’emplacement 0 ne possède un bus local que du côté intérieur du châssis : celui de l’emplacement 1 qui lui est adjacent. Le module de l’emplacement 12 ne possède un bus local que du côté intérieur du châssis pour établir éventuellement des connexions avec le module 11 qui lui est adjacent.

Un module possède le plus souvent (module taille D 1 à 11) 72 lignes au total pour les deux bus locaux. Ces lignes se répartissent en 36 lignes de chaque côté du module comme cela est indiqué sur la figure 9. Ces 36 lignes par côté sont à nouveau réparties en 12 lignes sur le connecteur P2 et 24 lignes sur le connecteur P3.

       

      Figure 9 : Connexions du bus local VXI sur P2 et P3

Les signaux sur le bus local peuvent avoir des tensions comprises entre -42V et +42V et un courant maximal de 50 mA. Ces plages de tensions sont divisées en cinq classes qui sont les suivantes :

Classe limite inférieure limite supérieure

      TTL -0,50V +5,50V

      ECL -5,46V +0,00V

      analogique basse -5,50V +5,50V

      analogique moyenne -16,0V +16,0V

      analogique haute -42,0V +42,0V

Le but du bus local est de diminuer le besoin de câbles (internes ou en face avant) entre modules adjacents. Ceci rend l’intégration et la maintenance des systèmes beaucoup plus simple. Le bus local fournit des communications locales entre deux ou plusieurs modules sans faire appel à une ressource des bus globaux. Il donne également la possibilité d’avoir des architectures flexibles qui peuvent être adaptées par le client pour un besoin privé de communication module à module. Chaque bus local est ainsi optimisé pour un besoin particulier en fonction de l’application.

Par exemple, comme indiqué sur la figure 10, un module de conversion analogique/numérique placé à l’emplacement 6 peut convertir des entrées analogiques du panneau avant en un flot continu de mots de 10 bits et en temps réel. Ces résultats de conversion peuvent être immédiatement véhiculés vers un module de traitement digital du signal (DSP "Digital Signal Processing") placé à l’emplacement 7. Cette transmission de données s’effectue en utilisant le bus local de P3. En temps réel, le module DSP peut traiter les données et fournir des résultats flottants contenus sur des mots de 24 bits aussitôt transmis à un module mémoire situé à l’emplacement 8 toujours en utilisant le bus local P3. Un module de visualisation placé à l’emplacement 9 peut utiliser le bus local de P3 pour acquérir en temps réel les données contenues en mémoire et fournir des images. Dans cet exemple, les chemins privés de données entre modules ont des largeurs de mots différentes. Ce système analyse en temps réel sans perturber le bus VME et les autres lignes globales du bus VXI. Ceci permet également d’obtenir de meilleures performances qu’en utilisant le bus de transfert de données VME.

      Figure 10 : Utilisation du bus local pour un transfert de données privé

       

      Figure 11 : Clés de détrompage sur la face avant VXI

Des clés de détrompage sont exigées sur les faces avant VXI si le module utilise le bus local. Ces clés, montrées sur la figure 11 assurent la compatibilité de modules adjacents. La clé P2, située en haut de la face avant, garantit la compatibilité des signaux du bus local du connecteur P2. La clé P3 assure la même fonction pour P3.

       

      2.7. Bus de sommation analogique VXI : SUMBUS

Le bus de sommation analogique SUMBUS parcourt tout le fond de panier VXI. Ce bus est terminé par une résistance de 50 Ω reliée à la masse à chaque extrémité du fond de panier. La réalisation du circuit imprimé pour la ligne SUMBUS est faite de sorte à éloigner celle-ci des signaux digitaux et autres signaux actifs. La ligne SUMBUS est placée à l’extrémité du connecteur P2 (broche 32a) et est blindée par deux lignes de masse et une ligne d’alimentation +5 V (broches 31a, 31b et 32b). N’importe quel module peut émettre un signal sur cette ligne en utilisant un générateur de courant. N’importe quel module peut recevoir un signal sur cette ligne à travers un circuit de mise en forme à entrée haute impédance.

Un exemple d’utilisation de la ligne SUMBUS est indiqué sur la figure 12, il s’agit de la génération de forme d’onde complexe. Deux générateurs arbitraires de forme d’onde (AWG "Arbitrary Waveform Generator") sont programmés pour fournir différentes parties d’une forme de signal sur la ligne SUMBUS. Les sorties de chaque AWG sont combinées de manière additive sur la ligne SUMBUS. Le signal de la ligne SUMBUS peut être remis en forme et amené sur la face avant d’un module et/ou utilisé par un module. L’avantage de cette technique est qu’en mettant en œuvre plusieurs AWG de faible coût, il est possible de créer un générateur de signal complexe qui autrement aurait pu coûter plus cher.

       

       

      Figure 12 : Exemple d’utilisation de la ligne SUMBUS

      2.8. Bus d’identification de module VXI : MODID

Le bus d’identification de module (MODID01-MODID12) peut permettre de connaître l’emplacement d’un instrument VXI. Ces lignes MODID partent du module de l’emplacement 0 et arrivent individuellement à chaque emplacement (1 à 12). Ces lignes sont donc au nombre de 12 et sont situées sur le connecteur P2. Ceci est représenté sur la figure 13.

A l’aide de la ligne MODID d’un emplacement, le module de l’emplacement 0 peut détecter la présence d’un module même si celui-ci est en panne. Un module peut même avoir une panne d’alimentation et être malgré tout détecté. Il suffit pour cela que le connexion entre la ligne MODID et la masse existe par l’intermédiaire d’une résistance de 825 Ω.

       

      Figure 13 : Bus d’identification de module VXI

       

Une ligne MODID peut être utilisée pour connaître l’emplacement d’un appareil donné. Pour ce faire, les lignes MODID sont activées (niveau haut) les unes après les autres et en scrutant pour chaque emplacement le bit MODID contenu dans le registre d’autoconfiguration de l’appareil recherché.

Les lignes MODID fournissent également un moyen pour un système VXI de s’autoconfigurer. L’autoconfiguration évite l’emploi de cavaliers, de commutateurs sur les modules.

       

      2.9. Bus d’alimentation VXI

Chaque module VXI de taille D peut consommer jusqu’à 268 W. Cette puissance est délivrée par la carte mère sous sept tensions régulées différentes. Le tableau 14 présente la puissance disponible sur chaque connecteur.

La norme VME définit +5 V, +5 V stand-by, +12 V et -12 V sur les connecteurs P1 et P2. Les spécifications VXI ajoutent +24 V, -24 V, -5,2 V et - 2 V à P2 et P3. Le ± 24 V sert aux signaux analogiques , - 5,2 V et - 2 V à la logique ECL.

Ces tensions forment une base qui permet de satisfaire la plupart des besoins d’instrumentation.

Des tensions différentes comme le ± 15 V peuvent être obtenues à partir du ± 24 V par des régulateurs ou des convertisseurs continu/continu placés dans le module.

       

      Figure 14 : Distribution des alimentations pour les modules VXI de tailles A,B,C et D


      2.10. Broches réservées VXI

Les spécifications VXI réservent un total de 7 broches pour des usages futurs. Une autre broche était déjà réservée par les spécifications VME (sauf pour la future révision D). Elle est sur la rangée centrale de P2 (3b). Trois broches sont réservées sur le connecteur P2 et quatre autres sur le connecteur P3. Ces broches seront probablement définies lorsque le besoin s’en fera sentir. Les fonds de panier et les modules ne doivent en aucun cas faire usage de ces broches réservées.

 

3. Architecture logicielle

    L’architecture VXI autorise une large gamme d’instruments, de cartes d’interface et de calculateurs de différents fabricants à cohabiter dans le même châssis. Le VXI ne définit pas de hiérarchie système spécifique ou de topologie, ni ne spécifie le type de microprocesseur, de système d’exploitation ou d’interface avec l’ordinateur hôte. Les spécifications VXI ne définissent qu’une base qui permet la compatibilité entre fabricants différents.

    Il existe de nombreuses topologies possibles dans une architecture VXI : les systèmes monoprocesseur, multiprocesseur à intelligence répartie et autonomes. Chacune de ces topologies a des besoins de communication différents qui sont satisfaits par un ensemble de protocoles de communication en couche, comme cela est montré sur la figure 15.

     

    Figure 15 : Couches de communication VXI


    De manière à ce que la configuration système et mémoire soit automatique, les spécifications VXI exigent un nombre minimum de possibilités sur chaque appareil, indépendamment de sa fonction.

    Un appareil VXI, étant au niveau le plus bas de la hiérarchie de la communication, possède un ensemble de registres de configuration qui sont accessibles par le connecteur P1. Ces registres permettent au système d’identifier l’appareil, sa classe, son modèle, son fabricant, son espace d’adressage, ses exigences mémoire et d’autres caractéristiques de gestion. Les appareils VXI qui ne disposent que de ce minimum sont appelés : appareils communiquant par registres ["register based device"].

    Le VXI définit également les appareils mémoire ["memory device"], qui sont de la RAM,ROM ou tout autre type de mémoire. Cela permet de définir des blocs de mémoire contigus (selon la vitesse et le type de la mémoire).

    Pour obtenir un niveau de communication plus élevé entre modules, les spécifications VXI définissent une classe d’appareils appelés : appareils communiquant par message ["message based device"]. En plus des registres mentionnés ci avant, les appareils communiquant par message doivent posséder des registres de communication accessibles aux autres modules du système. Chaque appareil du système peut alors utiliser des protocoles spécifiques, comme le protocole Série Mot ["Word Serial Protocol"] pour communiquer avec les autres. Ceci a pour but de créer un environnement logiciel favorable à la standardisation.

    La communication entre instruments VXI est basée sur une relation hiérarchique des appareils comportant des commandants ["commander"] et des serviteurs ["servants"]. Les commandants sont des appareils capables d’entrer en communication avec des serviteurs. Si les serviteurs communiquent par messages, ces communications peuvent utiliser des commandes qui sont décrites par les protocoles série mot. La communication avec les serviteurs communiquant par registres dépend de l’appareil et peut varier d’un système à l’autre. La hiérarchie commandant/serviteur peut être imbriquée puisqu’un appareil communiquant par message peut être un commandant aussi bien qu’un serviteur.

    Les instruments peuvent partager une interface avec l’ordinateur hôte. Une interface VXI IEEE-488 en est un exemple. Le VXI définit ce cas comme un appareil à fonction spécifique communiquant par message, avec protocole de communication supportant l’IEEE-488. Cet appareil peut être partagé par les instruments qui ont besoin d’accéder à l’ordinateur hôte. D’autre interfaces (telles que RS-232 ou Ethernet) peuvent être implantées de la même manière.

    L’architecture multi-maître du VME doit être supportée quelle que soit la topologie du système VXI. Cela exige du contrôleur de ressource ["Resource Manager"] qu’il effectue un minimum de tâches système, dont celles-ci :

    - Configuration de l’espace d’adressage. Cela configure les espaces A24 et A32 et assigne des blocs d’adresse aux appareils qui le demandent.

    - Hiérarchisation système. Il existe, dans un système multiprocesseur, une possibilité qu’un même appareil soit commandé par deux processeurs. La hiérarchie commandant/serviteur déterminée par le contrôleur des ressources empêche ce type de conflits.

    - Allocation des ressources partagées. Le contrôleur de ressource met en place des blocs de mémoire partagées pour la communication et d’autres ressources matérielles (comme les bus de déclenchement par exemple).

    - Autotests et diagnostics.

    - Initialisation de tous les commandants.

     

      3.1. Fonctionnement des appareils VXI

Les appareils sont les composants de plus bas niveau logique dans un système VXI. Normalement, un appareil se compose d’un module VXI, mais les appareils multi-carte et les cartes multi-appareil sont autorisés. Il y a une adresse logique unique associée à chaque appareil du système. Voici des exemples d’appareils : calculateurs, multimètres, multiplexeurs, oscillateurs, interface homme-machine et compteurs. Les appareils peuvent être répartis en quatre classes selon les protocoles supportés : appareils communiquant par message, par registre, appareils mémoire et étendus. Deux autres types, les appareils hybrides et non-VXI se rapportent à des modules compatibles VME.

Les appareils communiquant par registre supportent l’adressage VXI mais pas les protocoles de communication. Les appareils communiquent par registre sont typiquement des modules simples et bon marché tels que des commutateurs, des Entrées/Sorties numériques, des E/S série ou tout autre fonction qui ne nécessite pas d’intelligence locale.

Les appareils mémoire disposent de registres de configuration, et possèdent certains attributs des mémoires, comme le type et le temps d’accès, mais n’ont pas d’autre registre ou protocole défini par le VXI. Les cartes de RAM et de ROM entrent dans cette catégorie.

Les appareils étendus sont des modules VXI à usage spécial qui possèdent des registres de configuration pour pouvoir être identifiés par le système. Cette catégorie autorise la définition de futures classes et de niveaux de compatibilité additionnels.

Les appareils hybrides sont des modules compatibles VME qui connaissent les appareils VXI et ont la capacité de communiquer avec ceux-ci ou de les utiliser. Ils n’ont pas à respecter les exigences des appareils VXI. Les cartes VME existantes entrent dans cette catégorie.

Les appareils non VXI sont les modules VME qui ne respectent aucune exigence du VXI, ni ne l’utilisent.

       

      3.2. Configuration des appareils

Tous les appareils VXI doivent comporter des registres de configuration situés dans l’espace d’adressage A16.

Ces registres sont compatibles D16, et leur contenu est montré sur la figure 16. L’adresse de base des registres de configuration est :

      Adresse de base = (V x 64) + 49152

où V est l’adresse logique de l’appareil. Les adresses logiques vont de 0 à 255 et sont fixées par commutateur (configuration statique) ou par logiciel (configuration dynamique). Les appareils qui supportent l’option dynamique reçoivent une adresse logique au moment de l’autoconfiguration.

Les appareils qui supportent l’option de configuration dynamique doivent placer leur adresse logique à 255 à la mise sous tension. Comme plusieurs appareils auraient la même adresse à ce moment (255), les lignes de sélection MODID sont utilisées comme qualificateurs d’adresse. Pendant l’initialisation qui suit la mise sous tension, chaque module est sélectionné individuellement par les lignes MODID, et son adresse logique est mise à jour en écrivant à l’adresse de base occupée par l’adresse logique 255. Le module assume immédiatement la nouvelle adresse logique.

       

      Figure 16 : Couches de communication VXI

       

Les 32 registres de configuration VXI offrent diverses fonctions dont :

      Adresse logique

      Code d’identification du fabricant

      Type d’espace d’adressage (A16,A24,A32, réservé)

      Classe de l’appareil (registre, message, mémoire, étendu)

      Taille mémoire demandée (si besoin est)

      Etat de la ligne d’identification du module (MODID) de l’appareil

      Résultats des autotests

      Etat et commande du SYSFAIL* du VME

      Réinitialisation de l’appareil

      Registre d’adresse VME (pour indiquer l’adresse de base de l’appareil)

      Registres liés à l’appareil (usage déterminé par la classe de celui-ci)

       

      3.3. Protocoles logiciels

    Il existe deux formes générales d’appareils VXI : ceux qui communiquent par registres, et ceux qui communiquent par message. Les premiers ne répondent pas à un protocole prédéfini (les registres de la carte ne dépendent que d’elle). Les seconds, par contre, en respectent plusieurs.

    Dans la terminologie VXI, il existe deux types d’instruments : les commandants et les serviteurs. Un commandant est un appareil communiquant par message qui est aussi un maître VME du bus, et peut commander un serviteur ou plus. Un serviteur est un appareil contrôlé par un commandant; ils communiquent soit par registre, soit par message. Cette terminologie provient de celle de l’IEEE-488 (GPIB/HPIB).

    Comme les appareils communiquant par registres dépendent entièrement de la carte, ils ne sont pas traités par les spécifications VXI. Par contre, les appareils communiquant par message utilisent des protocoles standards. Ils sont généralement capables d’exécuter des commandes complexes, et peuvent également commander d’autres appareils dans un système d’instrumentation hiérarchique. Les serviteurs communiquant par message utilisent les protocoles du VXI.

    Les commandants communiquant par message disposent d’interfaces capables d’exercer un contrôle sur d’autres appareils. Ils utilisent les protocoles du VXI.

    Les protocoles concernant la communication commandant/serveur mettent en oeuvre les registres de protocole, de réponses, de données et de signaux du serviteur. Ces registres sont un sous-ensemble des registres VXI dépendant de la classe de l’appareil. Les communications les plus simples utilisent les registres de données et de réponses pour transférer les données en mots successifs. Ce mode est défini comme le protocole série mot.

    Le protocole série mot est la méthode de base définie pour les appareils communiquant par message. Il est simple à implanter et fournit les possibilités de communication requises. Une fois que la communication est établie entre appareils par ce protocole (et que tous les appareils sont prévenus), ils peuvent accéder aux protocoles séries plus sophistiqués : long mot (32 bits) et long mot étendu (48 bits).

    Les protocoles séries sont basés sur le modèle généralisé d’un DUART (double émetteur/récepteur asynchrone) "full duplex". Chaque implantation utilise des registres de donnée et de réponse bidirectionnels. Les registres de donnée sont dits "full duplex", parce que les écritures et les lectures sont totalement indépendantes. Chaque écriture dans les registres de donnée est interprétée comme une commande, à moins qu’une commande précédente ne l’ait définie comme une donnée. Les commandes peuvent contenir des données ou requérir que celles-ci soient transférées par des écritures successives. Les données valides, lues ou écrites dans les registres, sont qualifiées par les bits prêt/écriture et prêt/lecture du registre de réponse.

     

4. Registres d’un appareil VXI basé registres

    On trouvera ci après le mapping des registres d’un appareil VXI basé registres qu’implémente bien sûr aussi un appareil VXI basé messages.

     

    Figure 17 : Registres d’un appareil VXI basé registres

     

    5. Conclusion

    La norme VXI apparue en 1987 a comblé le vide laissé par la norme VME dans le domaine important de l’instrumentation. Il est vrai que le VXI s’est rapidement imposé dans ce domaine et notamment dans la mise en oeuvre de bancs de test VXI complet.

    National Instrument avec des logiciels comme LabWindows et LabView a permis une intégration logicielle très simple des équipements VXI, ce qui est aussi contribué au succès du VXI.

    Un bémol est à noter et non des moindres : la technologie VXI est encore chère ce qui a permis le développement de la norme PXI qui est l’extension à l’instrumentation de la norme PCI. Mais ceci est une autre histoire.

     

    6. Références

http://www.vita.com/

http://digital.natinst.com

http://www.vxijournal.com/