Simulation de capteurs sur matériel FPGA
Les systèmes de test automatique peuvent évaluer les fonctionnalités du matériel de mesure et de contrôle en simulant des signaux du monde physique et en vérifiant la réponse attendue.
La simulation des capteurs est le processus qui consiste à fournir des signaux réalistes identiques aux capteurs sur les entrées d'une unité sous test tout en évaluant la façon dont un élément de l'équipement réagit sur une large gamme de fonctionnements.
Le principal intérêt de simuler des capteurs est la capacité d'outrepasser les limites opérationnelles d'un environnement spécifique et de tester les conditions de rupture qui seraient, sinon, dangereuses ou dommageables, donnant à votre test une plus grande étendue avec un risque minimal. Vous pouvez mettre en œuvre et tester des modifications apportées aux composants du système sans craindre de détruire un équipement coûteux. Par exemple, vous pouvez vérifier une unité de contrôle de moteur (ECU) sans faire fonctionner de moteur réel à des températures élevées pendant des périodes de temps assez longues. Les signaux simulés vont des simples formes d'ondes analogiques aux protocoles numériques personnalisés. En profitant du traitement parallèle inhérent, le matériel FPGA offre les performances et la souplesse nécessaires pour simuler de façon simultanée toute une variété de capteurs en temps réel.
Figure n°1. Fonctionnant sous Windows ou LabVIEW Real-Time,
ce code hôte communique avec la simulation d'un LVDT sur le FPGA.
Pourquoi utiliser les FPGA ?
Les FPGA sont idéaux pour la simulation de capteurs, tout d'abord parce qu'ils peuvent s'adapter à plusieurs types de capteurs avec des besoins en synchronisation très précis. Vous pouvez personnaliser chaque sortie de capteur en quelques nanosecondes seulement et synchroniser complètement différents signaux pour créer de façon réaliste un état particulier de fonctionnement. Dans bon nombre de cas toutefois, les capteurs fonctionnent de façon indépendante et se mettent à jour à des rythmes différents. Avec la nature vraiment parallèle des FPGA, des blocs dédiés de silicium peuvent aussi fonctionner sans aucune interférence d'autres parties de l'application.
Tandis que la majorité des capteurs produisent un signal analogique basé sur leurs mesures, il existe un grand nombre de capteurs qui acheminent des informations de façon numérique, en utilisant des méthodes comme la modulation à largeur d'impulsion ou des protocoles série. Une approche basée FPGA peut facilement intégrer le traitement nécessaire pour générer des signaux numériques complexes ainsi que des formes d'ondes analogiques arbitraires sans affecter les performances d'autres tâches dans l'application.
Historiquement, la technologie FPGA a été limitée aux ingénieurs de conception matérielle dotés d'une connaissance approfondie des langages de description matérielle (HDL). Bon nombre d'experts dans le domaine des tests ATE (équipement de test automatisé) ou HIL (hardware-in-the-loop) ont une connaissance limitée du développement FPGA. Au fur et à mesure que la technologie FPGA gagne en popularité, l'industrie doit fournir aux experts du domaine et aux ingénieurs en conception un langage de niveau supérieur pour programmer les FPGA. L'environnement de programmation graphique NI LabVIEW a toujours apporté une puissance logicielle performante aux experts du domaine, et NI LabVIEW FPGA offre la capacité matérielle aux ingénieurs et aux scientifiques.
Figure n°2. Ce code LabVIEW FPGA simule les deux bobines d'un LVDT
à partir d'un choix d'excitationet du facteur de mise à l'échelle depuis l'hôte.
Exemple d'application : simuler les LVDT
Un transformateur différentiel variable linéaire (LVDT) est un capteur qui incorpore un transformateur différentiel avec un noyau magnétique coulissant. Piloté par une source d'excitation à courant alternatif, le LVDT génère deux signaux de sorties à courant alternatif qui sont modulés en fonction de la position mécanique (déplacement) du noyau. La sortie idéale d'un LVDT sans conditionnement de signaux est une version à l'échelle du signal d'excitation. Ce facteur de mise à l'échelle peut être positif ou négatif et est proportionnel à la distance par rapport au centre mécanique du capteur. L'ordinateur hôte transmet la valeur du déplacement sous la forme d'un facteur de mise à l'échelle qui sera multiplié soit avec le signal généré soit avec le signal d'excitation du monde physique. Le VI hôte utilise des entrées de la position simulée et de la sensibilité voulue pour calculer un facteur de mise à l'échelle. Ceci est transmis vers le FPGA via la variable Sim LVDT Scaling. La Figure n°1 illustre le sous-VI de l'interface hôte graphique pour la simulation LVDT.
Sur le FPGA, vous pouvez décider par programmatoin si vous souhaitez utiliser une excitation interne ou externe et acheminer la valeur via le registre à décalage vers le multiplicateur et la remise en forme des bits. Cela applique la mise à l'échelle appropriée au signal basé sur le déplacement simulé et finit par fournir la bonne valeur vers la sortie analogique. La technique qui consiste à acheminer les données vers la prochaine itération est la méthode graphique du pipelining pour l'optimisation en FPGA. Avec le nouveau VI Express Générateur de bruit dans LabVIEW 8.5, vous pouvez même ajouter du bruit à la sortie pour donner à votre unité sous test une simulation plus réaliste.
Avec la sortie de LabVIEW 8.5, vous pouvez trouver cet exemple LVDT ainsi que d'autres blocs PI de simulation de capteurs sur le nouveau IPNet FPGA en ligne. Semblable à l'Instrument Driver Network (ni.com/idnet), IPNet (ni.com/ipnet) est un site qui permet de rechercher, de télécharger et même de partager la PI FPGA sous la forme de fonctions modulaires ou d'exemples FPGA complets.
Avec la simulation de capteurs, vous pouvez incorporer des signaux du monde physique dans vos systèmes de test afin de simuler une vaste gamme d'environnements OS. Une fois que vous avez vérifié toutes les fonctionnalités en utilisant l'environnement simulé, vous pouvez connecter le matériel sous test critique au système réel pour envisager un déploiement final. La nature modulaire des FPGA avec un vrai parallèlisme en fait des outils idéaux pour simuler de façon simultanée plusieurs types de capteurs. En utilisant un langage de programmation de haut niveau comme LabVIEW, vous pouvez profiter de la technologie FPGA pour n'importe quelle industrie. En utilisant du matériel standard vendu dans le commerce, vous pouvez aussi développer des systèmes de test avec efficacité, sans expérience préalable de la conception de matériel FPGA.
Rick Kuhlman est Responsable Produits pour LabVIEW FPGA. Il est diplômé en ingénierie électrique de l'Université du Tennessee.
Vineet Aggarwal est Responsable Produits pour les produits NI d'acquisition de données intelligente. Il est diplômé en ingénierie électrique de l'Université d'Ohio.
Quelles sont les nouveautés de LabVIEW FPGA ?
Les nouvelles fonctionnalités du Module LabVIEW 8.5 FPGA incluent :
l'Assistant LabVIEW FPGA Project – un parcours basé configuration depuis l'écran de démarrage jusqu'au code généré pour bon nombre d'applications FPGA
le support du Module LabVIEW Statechart – abstraction de la conception FPGA de haut niveau avec représentation sous la forme de diagrammes d'état industriels
Les nouvelles initiatives PI FPGA incluent :
- de nouveaux VIs Express pour la génération et le filtrage de signaux
- des filtres et PID multivoies pour une meilleure utilisation du FPGA
- un nouveau site pour rechercher, télécharger et partager la PI LabVIEW FPGA sur ni.com/ipnet
- des fonctionnalités de modularité et de réutilisation du code pour construire votre propre PI
Des mathématiques à virgule fixe - un tout nouveau type de données LabVIEW supportant pour la première fois une décimale et des largeurs de bits arbitraires dans les applications LabVIEW FPGA
Cet article a fait l'objet d'une parution dans l'exemplaire du 3ème trimestre 2007 de l'Instrumentation Newsletter.
Législation
Ce tutorial a été développé par National Instruments. Bien qu'un support technique puisse être fourni pour ce tutorial, il n'a pas été complètement testé ni vérifié, et NI ne garantit pas sa qualité, ni qu'il continuera à être supporté pour les nouvelles versions des produits et drivers qui y sont rattachés. CE TUTORIAL EST FOURNI "EN L'ÉTAT" SANS GARANTIE D'AUCUNE SORTE, ET EST SUJET À CERTAINES RESTRICTIONS COMME PLUS SPÉCIFIQUEMENT DÉTERMINÉES DANS LES CONDITIONS D'UTILISATION DE NI.COM (http://ni.com/legal/termsofuse/unitedstates/us/).


