Huit moyens d'accroître les performances d'un système GPIB

Aperçu

Pour la construction d'un système de test automatisé, on peut ne jamais avoir suffisament de performances. L'accroissement des performances a des implications claires sur le test en production et les applications d'acquisition de données basées GPIB. En augmentant les performances de votre système, vous pouvez : - accroître la cadence de test et tester davantage de produits en moins de temps - valider rapidement de nouveaux produits pour remporter la compétition sur le marché - minimiser les dépenses en équipement de test Par nature, économiser du temps se traduit par le dépassement des attentes de livraison du client, par un développement de produit plus rapide et par des investissements en équipement de test plus modérés qui ont un effet positif sur le résultat final. Parce que le bus IEEE 488 (GPIB) constitue l'ossature de nombreux systèmes de mesure automatisés, l'évaluation des différentes options qui permettent d'accroître les performances d'un système GPIB a du sens. Les ingénieurs de test et de R&D continuent à utiliser le GPIB parce qu'il s'agit d'une interface reconnue facile à utiliser qui propose le plus large éventail de matériels de mesure pouvant être intégrés dans un système de mesure automatisé. Pour toutes ces raisons, ce tutorial détaille huit possibilités à utiliser en harmonie avec le GPIB pour accroître les performances du système.

Contenu

Des solutions pour étendre les capacités des logiciels et des matériels

Les huit solutions suivantes étendes les options matérielles et logicielles pouvant être utilisées ensemble ou séparément pour accroître les performances d'un système GPIB. Vous pouvez retenir les suggestions les plus appropriées pour votre système particulier.

 

1. Utilisez des contrôleurs GPIB à maîtrise de bus pour le PCI


Le PCI offre d'excellentes performances de transfert de données, une fois les données reçues par GPIB. À la différence d'un PC basé ISA, un ordinateur PCI n'est pas doté d'un contrôleur DMA dédié qui puisse être partagé par les cartes périphériques pour transférer des données directement vers la mémoire du PC. Pour atteindre des performances maximum, les cartes périphériques PCI doivent intégrer leur propre contrôleur DMA pour transférer des données directement vers la mémoire du PC de manière efficace, afin de traiter les données par le microprocesseur. Les cartes dotées de cette capacité sont identifiées en tant que maîtres du bus, ce qui signifie qu'elles peuvent prendre le contrôle du bus PCI et transférer des données dans le système indépendamment du microprocesseur.

Les cartes périphériques qui ne possèdent pas de capacités de maîtrise de bus interrompent le microprocesseur en l'amenant à arrêter toutes les tâches de traitement simplement pour transférer des données. Cette interruption peut ralentir l'application et affecter significativement les performances globales du système.

 

2. Utilisez des contrôleurs et des instruments GPIB compatibles 8 Mbit/s


Le protocole HS488 est une extension haute vitesse de l'IEEE 488 qui porte les cadences maximum du GPIB à 8 Mbit/s. Les tests de performances ont mesuré des améliorations de performance de 25 à 3 000 %. Un test de performances récent, effectué à l'aide d'un oscilloscope, a montré des vitesses de transfert de données atteignant 7,4 Mbit/s entre le PC et l'instrument. Le protocole HS488 est facile à utiliser parce qu'il est implémenté dans le contrôleur matériel GPIB ; il n'est pas nécessaire de modifier le logiciel d'application pour bénéficier des avantages de performances plus élevées. Le HS488 est testé sur le terrain et entièrement compatible avec les instruments IEEE 488 existants. Les instruments IEEE 488 standards et haute vitesse peuvent coexister dans les mêmes systèmes, sans aucun problème de compatibilité.

Les contrôleurs GPIB compatibles HS488 sont disponibles dès maintenant auprès de NI. Pour en savoir plus sur le protocole HS488, suivez les liens ci-dessous.

3. Recherchez des instruments GPIB ayant optimisé leurs capacités de mesure et d'analyse de commandes


Lors de l'acquisition de mesures à partir d'un instrument GPIB, le traitement des commandes et le dépôt d'informations de mesure dans le buffer de sortie GPIB de l'instrument peut prendre du temps. Les fournisseurs d'instruments doivent optimiser ces goulets d'étranglement pour que les performances de mesure soient les plus élevées possibles. La vitesse et le type de microprocesseur embarqué et du bus système interne peut donner des indications sur les capacités de traitement de l'instrument. Cependant, il n'est pas possible de tirer pleinement parti d'un matériel puissant sans micrologiciel optimisé. Si le fournisseur de l'instrument ne fourni pas de spécifications ni d'informations de test de performances dans cette optique, vous devrez, dans la plupart des cas, expérimenter différents instruments pour déterminer lequel présente les meilleures performances de configuration et d'acquisition de mesures par GPIB.

 

4. Utilisez des drivers d'instruments GPIB hautes performances


Une nouvelle classe de drivers, dénommés drivers IVI, est conçue pour augmenter les performances du système en mémorisant l'état d'un instrument particulier. Un moteur de mise en mémoire cache d'états conserve la trace de l'état des paramètres matériels de l'instrument. Cette fonctionnalité améliore les performances de test de manière significative parce qu'elle permet au système de se comporter de manière intelligente en opérant des E/S d'instrument uniquement lorsque la valeur d'un paramètre matériel doit être modifiée. Par exemple, il serait redondant de renvoyer en permanence l'amplitude, la forme du signal, la phase ou d'autres types d'information du signal, si vous balayez simplement la fréquence d'excitation d'un signal. Les drivers d'instrument VXI Plug&Play actuels n'offrent pas ces capacités de mise en mémoire cache d'états.

Pour de meilleurs résultats lors du développement des tests ou du déploiement du système, les drivers d'instrument IVI peuvent également être configurés pour fonctionner dans des modes spéciaux. Par exemple, le driver peut être configuré pour vérifier automatiquement les gammes de l'ensemble des valeurs que vous tentez d'envoyer à l'instrument et pour les forcer à des valeurs valides si nécessaire. Le driver peut également être réglé pour vérifier automatiquement l'octet d'état de l'instrument après chaque envoi de commande. Tous ces réglages en "mode développement" peuvent être rapidement désactivés pour le déploiement du programme de test en production, l'exécution pouvant être potentiellement accélérée. Vous bénéficiez des avantages de ces deux modes : d'excellentes capacités de mise au point et des temps d'exécution plus rapides.

Cliquez sur le lien suivant, Amélioration des performances de test grâce à la gestion de l'état du driver d'instrument, pour en savoir plus sur les moyens de tirer parti de ces capacités. Les drivers IVI sont créés sur la base d'une spécification industrielle ouverte publiée par la Fondation IVI, constituée de plus de 20 entreprises utilisatrices et de fournisseurs. Des informations supplémentaires concernant la Fondation IVI et la spécification IVI peuvent être trouvées sur la page Web IVI correspondante. Ci-dessous, un test de performances montre comment la mise en mémoire cache d'états permet d'accroître les performances d'un système GPIB.

Exemple de test de performances : mesure de l'amplitude de la réponse du système en fonction de la fréquence
Examinez la tâche qui consiste à déterminer la réponse de fréquence d'un système non identifié. Elle nécessite à la fois un générateur de fonctions ou de signaux pour générer des signaux sinusoïdaux à différentes fréquences et un multimètre numérique (DMM) ou un oscilloscope pour mesurer la ou les tension(s) de sortie du système sous test. Ci-dessous figure le pseudocode d'un programme de test qui utilise des appels de driver d'instrument haut niveau pour programmer un générateur de fonctions et un oscilloscope.

Pseudocode et paramètres de test pour un test en sinus balayé :

Initialize and Configure Oscilloscope
Initialize and Configure Frequency Generator
While (frequency < EndFreq)
BEGIN LOOP
Generate Sine Wave
Read Stimulus Waveform (Scope Channel 1)
Read Response Waveform (Scope Channel 2)
Calculate Magnitude and Phase Difference between Stimulus and Response Store Magnitude and Phase Increase Frequency
END LOOP
Plot Magnitude and Phase Difference
Close Oscilloscope
Close Frequency Generator


Ce test a été implémenté en utilisant un générateur de fonctions HP 33120A et un oscilloscope HP 54645D. Le Tableau 1 met en évidence les différences de performance entre les drivers traditionnels et les drivers IVI pour ce test particulier.

Tableau 1. Test de performances de mise en mémoire cache d'états
Mise en mémoire cache d'états
Temps de test (secondes)
Différences de performances
Désactivée
(drivers VXI Plug&Play traditionnels)
35,0
N/A
 
Activée
(drivers IVI)
13,2
265 %
Voir aussi :
Page Web IVI
Amélioration des performances de test grâce à la gestion de l'état du driver d'instrument

5. Pensez au traitement de données hors chargement vers le PC hôte


Des améliorations des capacités de traitement et d'analyse des instruments peuvent être continuellement constatées. Cependant, il est difficile pour un fournisseur d'instruments de suivre de près l'industrie du PC pour offrir les toutes dernières technologies de traitement. Souvent, l'intégration d'un nouveau processeur nécessite que le fournisseur repense la conception de l'instrument. Il est possible que vous ayez à acheter une nouvelle version de l'instrument pour tirer parti de performances plus élevées.

Pour faire en sorte de toujours utiliser les capacités de traitement les plus puissantes disponibles, pensez à effectuer les analyses gourmandes en capacité de calcul hors chargement vers le PC, plutôt que de vous appuyer sur les capacités de traitement internes et parfois obsolètes de l'instrument. En général, les capacités des PC augmentent à un rythme plus rapide que celles des instruments. Vous remplacerez probablement les PC plus fréquemment que les instruments. Avec chaque nouvelle génération de PC, vous pourrez réaliser de nouveaux gains de performance en choisissant d'utiliser le PC pour certains de vos traitements et analyses de mesure.

De plus, parce qu'un instrument est une boîte fermée, il n'est pas possible de personnaliser les analyses. Comme de nombreux fournisseurs de logiciels d'instrumentation offrent des bibliothèques complètes pour le traitement du signal, le filtrage, et les analyses générales, des analyses personnalisées peuvent être facilement ajoutées pour simplifier grandement la tâche de définition de routines d'analyse personnalisées avec le PC.

 

6. Pensez à l'utilisation du multithreading dans les logiciels


Le multithreading est une méthode de programmation dans laquelle le travail d'une application est divisé en différentes tâches, ou threads. Chaque thread, créé par le thread principal d'une application, peut s'exécuter dans le système indépendamment des autres. Lorsqu'un thread a exécuté ses tâches, il se termine. Lorsque toutes les tâches ont été exécutées, le thread principal d'une application est responsable de la fermeture de l'application. Si votre système intègre plus d'un processeur, les performances de votre application peuvent être augmentées en exécutant simultanément des threads individuels sur des processeurs séparés. Il est également possible de régler les systèmes monoprocesseur pour accroître les performances en allouant des intervalles de temps processeur appropriés à chaque thread de l'application. En gérant la quantité de temps processeur alloué à chaque thread, les performances de l'application peuvent être améliorées parce que le processeur peut continuer à exécuter un thread tout en attendant des événements externes avant d'en exécuter un autre, un scénario courant dans les applications GPIB.

Les applications GPIB tirent parti du multithreading de plusieurs façons. Le multithreading permet d'isoler des tâches de l'application séparées, pour gérer plus efficacement les ressources du système. Le multithreading peut être utilisé pour isoler des tâches prioritaires dans des tâches séparées, pour pouvoir surveiller les événements prioritaires, comme une requête de service (SRQ), tout en traitant simultanément les données déjà disponibles en mémoire.

Par exemple, une application peut comporter trois threads ayant différentes responsabilités : l'un qui gère les entrées utilisateur, un deuxième qui acquiert et enregistre les données, ainsi qu'un troisième responsable du traitement et de l'affichage des données. Le traitement et l'affichage de données peut prendre du temps et utiliser intensément le processeur. La quantité de données et la fréquence d'acquisition peuvent varier. Souvent, les applications peuvent également vérifier en permanence les SRQ provenant des instruments. Une interaction utilisateur peut constituer un événement sporadique comparé aux autres activités en cours dans l'application. En utilisant le multithreading, ces tâches peuvent être isolées et il est possible de cibler les besoins de traitement de chaque tâche individuelle. De plus, pour des applications qui utilisent plus d'une interface GPIB, un unique thread peut être dédié à la gestion de chaque interface GPIB et à l'instrumentation de chaque contrôle d'interface.

Le driver NI-488.2 pour Windows NT/98/95 de National Instruments est optimisé pour le multithread et offre des fonctionnalités complètes destinées aux applications multithreads. Pour plus d'information, suivez le lien ci-dessous, Développement d'applications GPIB multithread dans Windows NT et Windows 95. NI LabWindows™/CVI et NI LabVIEW comportent également des capacités de multithreading destinées aux applications de contrôle d'instruments. Pour en savoir plus sur le multithreading avec LabVIEW, cliquez sur le lien suivant, Utilisation de LabVIEW pour créer des applications multithreads, pour atteindre des performances et une fiabilité maximum.

Voir aussi :
Développement d'applications GPIB multithreads pour Windows NT et Windows 95

7. Utilisation de formats de données d'instruments natifs


Les microprocesseurs réalisent les calculs sur les mesures au format binaire. Cependant, lors du transfert de données par GPIB, de nombreuses données temporelles sont converties en un format alphanumérique (typiquement, en ASCII). Les performances sont affectées parce que du temps est consacré à effectuer deux conversions de données. La première conversion se produit dans l'instrument, où des données binaires sont converties en ASCII pour leur transfert par GPIB. Cette conversion peut prendre du temps parce que le processeur de l'instrument n'est typiquement doté que d'une partie de la puissance de calcul trouvée dans les tout derniers PC disponibles sur le marché actuel. La seconde conversion a lieu dans le PC où une routine d'analyse des données est écrite pour convertir les données de mesure de l'ASCII en binaire, pour les traitements et les analyses supplémentaires des données. Afin de supprimer le temps système alloué à ces opérations, pensez à transférer les données au format natif de l'instrument (binaire).

 

8. Pensez à utiliser les instruments modulaires enfichables pour les applications exigeantes


Pour les applications qui nécessitent un streaming de données, des transferts de données courts et rapides, ainsi qu'une grande précision de synchronisation et des capacités de déclenchement, pensez à utiliser un instrument modulaire enfichable pour effectuer certaines de vos mesures. Ces instruments sont disponibles pour les plates-formes PCI, PXI/CompactPCI et VXI. Les instruments GPIB peuvent être facilement contrôlés par l'une quelconque de ces plates-formes, pour vous permettre de tirer le meilleur de ces deux architectures.

Du point de vue du coût, le PXI/CompactPCI offre une solution économique pour les environnements de test de production parce qu'il est durci et qu'il est directement basé sur le même bus PCI que celui des PC de bureau. L'instrumentation modulaire enfichable basée sur le PXI/CompactPCI offre de nombreux avantages :

  • sept emplacements PCI,
  • des capacités DMA de maîtrise de bus, pour un streaming de données directement vers la mémoire de l'ordinateur,
  • un boîtier modulaire particulièrement durci,
  • un cadencement et un déclenchement par le fond de panier,
  • un logiciel Windows "sur étagère" standard : à utiliser de la même manière que sur un PC de bureau,
  • des logiciels provenant de systèmes sur PC de bureau qui fonctionnent sur les ordinateurs PXI/CompactPCI embarqués,
  • une réduction du coût des instruments et des numériseurs sans sacrifier la précision de mesure,
  • une réduction de la latence de premier octet,
  • un contrôle facile des matériels de mesure GPIB.


Les solutions d'instrumentation modulaire sont des options attractives parce que ces systèmes satisfont trois des exigences qui concernent les systèmes de mesure et d'automatisation. La première exigence est la capacité à transférer de grandes quantités de données en continu depuis et vers la mémoire d'un PC. Les matériels tels que les oscilloscopes, les générateurs de fonctions arbitraires et les numériseurs haute vitesse nécessitent une bande passante suffisante pour permettre un transfert de données depuis et vers la mémoire d'un PC le plus rapide possible.

La deuxième exigence est une communication efficace avec les matériels qui transfèrent de très petites quantités de données, comme les compteurs/timers, les alimentations et les multimètres numériques. Pour ces matériels, des communications efficaces dépendent à la base du temps qu'il faut pour envoyer le premier octet d'informations (latence de premier octet). Ce temps système est significatif parce que la quantité globale de données à transférer est petite. Pour le PCI, le PXI/CompactPCI et le VXI, la latence de premier octet est comprise entre 10 et 100 ns. Pour le GPIB, elle est d'environ 100 µs. Une faible latence de premier octet permet des communications rapides pour des matériels où la quantité de données à transférer est faible.

La troisième exigence est la capacité à s'interfacer aux instruments GPIB existants qui ne sont pas disponibles pour la plate-forme modulaire. Les modules/cartes de contrôle GPIB de NI, disponibles dès maintenant, répondent à cette exigence.

 

Conclusion


Il existe de nombreuses possibilités d'augmenter les performances d'un système GPIB. Les options présentées dans ce tutorial améliorent les instruments que vous avez choisi d'utiliser, le contrôleur GPIB en votre possession et les logiciels et la méthodologie de conception que vous utilisez pour construire vos applications. Formulez une liste réaliste des points à vérifier sur la base des conseils précédents ou sur la base d'autres idées personnelles, puis déterminez les mesures appropriées pour ces vérifications. Vous pourrez trouver que les capacités de votre système GPIB actuel ne sont pas entièrement exploitées.

 

 

LabWindows est utilisé sous licence Microsoft Corporation. Windows est une marque déposée de Microsoft Corporation aux États-Unis et dans d'autres pays.