Lorsque vous construisez un système de mesure automatisé, vous ne pouvez jamais atteindre un niveau de performances excessif. L’augmentation des performances a des répercussions évidentes sur les tests en production et les applications d’acquisition de données basées sur GPIB. En améliorant les performances de votre système, vous pouvez :
- Augmenter la cadence de test et tester davantage de produits en moins de temps
- Valider rapidement les nouveaux produits pour devancer la concurrence sur le marché
- Réduire les dépenses en capital en équipements de test
En substance, le gain de temps se traduit par un dépassement des attentes des clients en matière de livraison, un développement accéléré des produits et des investissements plus intelligents dans les équipements de test qui ont des effets positifs sur le résultat net. Le bus IEEE 488 (GPIB) étant l’épine dorsale de nombreux systèmes de mesure automatisés aujourd’hui, il est logique d’évaluer différentes options qui vous aideront à améliorer les performances du système GPIB. Les ingénieurs de test et de R&D continuent d’utiliser le GPIB car il s’agit d’une interface conviviale et éprouvée qui offre le plus grand choix de périphériques de mesure que vous pouvez incorporer dans un système de mesure automatisé. C’est pourquoi cette note d’application aborde huit options que vous pouvez combiner avec GPIB pour améliorer les performances du système.
Les huit solutions ci-dessous couvrent à la fois les options matérielles et logicielles que vous pouvez utiliser directement pour améliorer les performances du système GPIB. Vous pouvez utiliser ces huit solutions conjointement ou séparément, et intégrer les suggestions les plus appropriées pour votre système.
PCI offre des performances de transfert de données supérieures une fois les données reçues via GPIB. Contrairement à un ordinateur basé sur ISA, l’ordinateur basé sur PCI ne dispose pas de contrôleur DMA dédié pouvant être partagé par les cartes périphériques pour transférer les données directement vers la mémoire du PC. Pour optimiser les performances, les cartes périphériques PCI doivent disposer de leur propre contrôleur DMA embarqué pour transférer efficacement les données directement vers la mémoire du PC afin qu’elles puissent être traitées par le microprocesseur. Les cartes dotées de cette capacité sont identifiées comme maîtres de bus. Elles peuvent donc contrôler le bus PCI et transférer des données indépendamment du microprocesseur du système.
Les cartes périphériques qui n’ont pas de capacités de maître de bus interrompent le microprocesseur, l’obligeant à suspendre toutes les tâches de traitement simplement pour transférer des données. Cette interruption peut enliser votre application et affecter considérablement les performances globales du système.
HS488 est une extension haute vitesse de l’IEEE 488 qui augmente les capacités de débit maximales du GPIB pour atteindre 8 Mo/s. Les tests de performances ont permis d’améliorer les performances de 25 à 3000 %. Un test de performances récent avec un oscilloscope a démontré des vitesses de transfert de données allant jusqu’à 7,4 Mo/s entre le PC et l’instrument. HS488 est convivial car il est implémenté dans le matériel du contrôleur GPIB ; vous n’avez pas besoin de modifier le logiciel d’application pour bénéficier de meilleures performances. HS488 est testé sur le terrain et entièrement compatible avec les instruments IEEE 488 existants. Les instruments IEEE 488 haute vitesse et standard peuvent coexister dans les mêmes systèmes sans problème de compatibilité.
Les contrôleurs GPIB compatibles avec HS488 sont disponibles dès aujourd’hui auprès de NI. Pour en savoir plus sur HS488, consultez les liens ci-dessous.
Le traitement des commandes et le dépôt des informations de mesure dans le buffer de sortie GPIB de l’instrument peuvent prendre du temps lors de l’acquisition de mesures à partir d’un instrument GPIB. Les fournisseurs d’instruments doivent réduire ces goulots d’étranglement potentiels afin de garantir les performances de mesure les plus élevées possibles. La vitesse et le type de microprocesseur embarqué ainsi que le bus système interne peuvent vous donner des indications sur les capacités de traitement de l’instrument. Cependant, un matériel puissant ne peut être pleinement exploité sans un firmware optimisé. Si le fournisseur de l’instrument ne donne pas de spécifications ou d’informations de référence à cet égard, vous devrez, dans la plupart des cas, expérimenter différents instruments pour déterminer ceux qui offrent les meilleures performances lors de la configuration et de l’acquisition de mesures via GPIB.
Les drivers IVI sont conçus pour améliorer les performances du système en mémorisant l’état d’un instrument particulier. Un moteur de mise en cache d’états assure le suivi des paramètres matériels de l’instrument. Cette fonctionnalité améliore considérablement les performances des tests car elle aide votre système à se comporter intelligemment en effectuant des E/S d’instruments uniquement lorsque la valeur d’un paramètre matériel doit être modifiée. Par exemple, si vous balayez simplement la fréquence d’un signal d’excitation, vous ne souhaitez pas renvoyer sans cesse des informations sur l’amplitude, la forme d’onde, la phase et d’autres types de signaux, car elles sont redondantes. Les drivers d’instruments VXIplug&play actuels n’offrent pas de fonctionnalités de mise en cache d’état.
Avec les drivers IVI, vous pouvez également configurer vos drivers d’instruments pour qu’ils s’exécutent dans des modes spéciaux afin d’obtenir les meilleurs résultats pendant le développement des tests ou le déploiement du système. Par exemple, vous pouvez configurer le driver pour vérifier automatiquement les gammes de toutes les valeurs que vous essayez d’envoyer à l’instrument et les contraindre à des valeurs valides si nécessaire. Vous pouvez également configurer le driver pour qu’il vérifie automatiquement l’octet d’état de votre instrument une fois que chaque commande lui a été envoyée. Tous ces paramètres du « mode développement » peuvent être rapidement désactivés lorsque vous déployez votre programme de test sur la ligne de production pour une exécution aussi rapide que possible. Vous obtenez le meilleur des deux mondes : d’excellentes capacités de mise au point et des temps d’exécution plus rapides.
Reportez-vous à l’aide du driver IVI pour obtenir des informations détaillées sur la façon 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, qui regroupe plus de 20 entreprises utilisatrices et vendeuses.
Exemple de test : mesure de l’amplitude de la réponse du système par rapport à la fréquence
Considérons la tâche consistant à déterminer la réponse en fréquence d’un système non identifié. Pour cela, il faut à la fois un générateur de signaux/fonctions pour générer des signaux sinusoïdaux à diverses fréquences et un DMM ou un oscilloscope pour mesurer la ou les tensions de sortie du système testé. Vous trouverez ci-dessous le pseudo-code d’un programme de test qui utilise des appels de drivers d’instruments de haut niveau pour programmer un générateur de fonctions et un oscilloscope.
Pseudo-code et configuration pour le test de sinusoïdales balayées :
Initialiser et configurer l’oscilloscope
Initialiser et configurer le générateur de fréquence
While (fréquence < FinFréq)
COMMENCER LA BOUCLE
Générer un signal sinusoïdal
Lire un signal de stimulus (voie 1 de l’oscilloscope)
Lire un signal de réponse (voie 2 de l’oscilloscope)
Calculer l’amplitude et la différence de phase entre le stimulus et la réponse en amplitude et la phase d’augmentation de la fréquence
TERMINER LA BOUCLE
Tracer l’amplitude et la différence de phase
Fermer le DMM
Fermer le générateur de fréquence
Ce processus de test a été mis en œuvre à l’aide d’un générateur de fonctions HP 33120A et d’un oscilloscope HP 54645D. Le tableau 1 met en évidence la différence de performances entre les drivers IVI et traditionnels pour ce test.
Tableau 1. Benchmark de mise en cache d’état
Mise en cache d’état | Temps de test (secondes) | Différence de performances |
Désactivée (Drivers VXIplug&play traditionnels) | 35.0 | N/A |
Activée (Drivers IVI) | 13.2 | 265 % |
5. Envisagez de transférer le traitement des données vers le PC hôte
Nous continuons de constater des améliorations dans les capacités de traitement et d’analyse des instruments. Cependant, il est difficile pour les fournisseurs d’instruments de rester en phase avec l’industrie des PC pour vous fournir les toutes dernières technologies de traitement. Bien souvent, l’intégration d’un nouveau processeur oblige le fournisseur à revoir la conception de l’instrument. Il se peut que vous deviez acheter une nouvelle version de l’instrument pour bénéficier de capacités plus performantes.
Pour vous assurer que vous utilisez toujours les capacités de traitement les plus puissantes à votre disposition, vous devriez envisager de transférer certaines analyses à forte intensité de calculs sur votre PC plutôt que de vous fier aux capacités de traitement internes et parfois obsolètes de l’instrument. En général, les capacités des PC progressent plus rapidement que celles des instruments. Il est probable que vous remplaciez vos PC plus fréquemment que vos instruments. Chaque nouvelle génération de PC vous permet d’améliorer vos performances en choisissant d’utiliser le PC pour une partie du traitement et de l’analyse de vos mesures.
De plus, les instruments étant des boîtiers fermés, vous ne pouvez pas personnaliser l’analyse. Le PC vous permet d’ajouter facilement des analyses personnalisées car de nombreux fournisseurs de logiciels d’instrumentation proposent des bibliothèques complètes pour le traitement du signal, le filtrage et l’analyse générale, ce qui simplifie considérablement la définition de routines d’analyse personnalisées.
Le multithreading est une méthode de programmation dans laquelle le travail d’une application est divisé en différentes tâches ou threads. Ces différents threads, créés par le thread principal d’une application, peuvent s’exécuter indépendamment des autres threads du système. Lorsqu’un thread termine sa tâche, il s’arrête. Le thread principal d’une application est chargé de la fermer une fois que toutes les tâches ont été effectuées. Si votre système dispose de plusieurs processeurs, vous pouvez augmenter les performances de votre application en exécutant simultanément des threads individuels sur des processeurs distincts. Vous pouvez également adapter les systèmes à processeur unique pour obtenir de meilleures performances en allouant des tranches de temps processeur appropriées à chaque thread de votre application. La configuration du temps processeur alloué à chaque thread vous permet d’améliorer les performances de votre application car le processeur peut continuer à exécuter un thread tout en attendant des événements externes avant d’en exécuter un autre, ce qui est courant dans les applications GPIB.
Les applications GPIB peuvent tirer parti du multithreading de plusieurs manières. Le multithreading peut vous aider à séparer les tâches d’application pour gérer plus efficacement les ressources système. Vous pouvez utiliser le multithreading pour isoler les tâches critiques dans des threads séparés afin de pouvoir surveiller les événements critiques, tels qu’une demande de service (SRQ), tout en traitant simultanément les données déjà disponibles en mémoire.
Par exemple, une application peut avoir trois threads avec des responsabilités différentes : un qui gère les entrées utilisateur, un deuxième qui acquiert et enregistre les données et un troisième responsable du traitement et de l’affichage des données. Le traitement et l’affichage des données peuvent être gourmands en ressources processeur et prendre du temps. La quantité de données et leur fréquence d’acquisition peuvent varier. Souvent, les applications peuvent également vérifier constamment les SRQ des instruments. L’interaction utilisateur peut être un événement sporadique par rapport aux autres activités en cours dans l’application. Grâce au multithreading, vous pouvez isoler ces tâches et répondre aux besoins de traitement de chaque tâche individuelle. De plus, pour les applications à plusieurs interfaces GPIB, un seul thread peut être dédié à la gestion de chaque interface GPIB et à l’instrumentation de chaque commande d’interface.
Le logiciel NI-488.2 de NI est « multithread safe » et offre des fonctionnalités complètes pour les applications multithread. NI LabWindows™/CVI et LabVIEW sont également dotés de fonctionnalités multithread pour les applications de contrôle d’instruments. Reportez-vous aux sections Utilisation de LabVIEW pour créer des applications multithread pour des performances et une fiabilité maximales et Multithreading dans LabWindows/CVI pour en savoir plus sur le multithreading dans LabVIEW et LabWindows/CVI.
Les microprocesseurs effectuent des calculs de mesure au format binaire. Cependant, lors du transfert de données via GPIB, les données sont souvent converties en format alphanumérique (généralement ASCII). Les performances sont affectées par le temps passé à effectuer deux conversions de données. La première conversion a lieu dans l’instrument où les données binaires sont converties en ASCII pour être transférées via GPIB. Cette conversion peut prendre beaucoup de temps car le processeur de l’instrument ne dispose généralement que d’une fraction de la puissance de traitement des derniers PC disponibles sur le marché. La deuxième conversion a lieu sur le PC où vous écrivez une routine d’analyse de données pour convertir les données de mesure ASCII en format binaire pour un traitement et une analyse ultérieurs des données. Pour éliminer le temps système de ces deux opérations, envisagez de transférer les données dans le format de données natif de l’instrument (binaire).
Pour les applications qui requièrent un streaming de données, de petits et rapides transferts de données et des capacités de synchronisation et de déclenchement très précises, envisagez d’utiliser un instrument modulaire enfichable pour effectuer certaines de vos mesures. Ces instruments sont disponibles pour les plates-formes PCI, PXI/CompactPCI et VXI. Ces plates-formes vous permettent de contrôler facilement vos instruments GPIB et d’obtenir ainsi le meilleur des deux mondes.
En termes de coûts, PXI/CompactPCI offre une solution économique pour les environnements de test en production car il est robuste et repose directement sur le même bus PCI que celui de votre PC de bureau. L’instrumentation modulaire enfichable basée sur PXI/CompactPCI offre de nombreux avantages :
Les solutions d’instrumentation modulaire sont des options intéressantes car ces systèmes répondent à trois besoins divers des systèmes de mesure et d’automatisation. La première exigence est la capacité à transférer de grandes quantités de données vers et depuis la mémoire du PC. Les matériels tels que les oscilloscopes, les générateurs de fonctions arbitraires et les numériseurs haute vitesse requièrent une bande passante de bus suffisante pour garantir le transfert des données vers et depuis la mémoire du PC dans les plus brefs délais.
La deuxième exigence est une communication efficace avec le matériel qui transfère de très petites quantités de données, tel que les compteurs/timers, les blocs d’alimentation et les multimètres numériques. L’efficacité des communications pour ce type de matériel dépend principalement du temps nécessaire à l’envoi du premier octet d’information (latence du premier octet). Ce temps système est important car la quantité totale de données à transférer est faible. La latence du premier octet pour PCI, PXI/CompactPCI et VXI est comprise entre 10 et 100 ns. Pour GPIB, la latence du premier octet est d’environ 100 μs. Une faible latence du premier octet garantit une communication rapide pour les périphériques où la quantité de données à transférer est faible.
La troisième exigence est la capacité à s’interfacer avec des instruments GPIB existants mais non disponibles pour la plate-forme modulaire. Les cartes/modules contrôleurs GPIB de NI, facilement disponibles, répondent à cette exigence.
Il existe de nombreuses options pour améliorer les performances du système GPIB. Les options abordées dans cette note d’application concernent les instruments que vous choisissez d’utiliser, le contrôleur GPIB que vous achetez, ainsi que le logiciel et la méthodologie de conception que vous utilisez pour créer vos applications. Établissez une liste de vérification réaliste pour vous-même en vous basant sur les conseils ci-dessus ou sur d’autres idées qui vous viennent à l’esprit, puis veillez à les aborder directement avec les mesures appropriées. Il se peut que vous n’ayez pas pleinement exploité les capacités de votre système GPIB actuel.
Pour en savoir plus sur les interfaces GPIB et de contrôle d’instruments de NI, veuillez consulter les liens connexes ci-dessous.
La marque LabWindows est utilisée sous licence Microsoft Corporation. Windows est une marque déposée de Microsoft Corporation aux États-Unis et dans d’autres pays.