Grâce à la technologie d'E/S reconfigurables (RIO) de NI, vous pouvez définir votre propre circuit matériel de mesure personnalisé à l'aide de puces FPGA reconfigurables et des outils de développement graphique NI LabVIEW. Les périphériques RIO multifonctions de la Série R offrent la meilleure combinaison de valeur et de performances en intégrant cette technologie FPGA avec huit entrées analogiques, huit sorties analogiques et jusqu'à 96 lignes d'E/S numériques dans un seul périphérique qui est offert sur les facteurs de forme PC standard tels que PCI, PCI Express, PXI/CompactPCI et USB. En utilisant LabVIEW FPGA Module, vous pouvez créer vos propres personnalités matérielles pour l'acquisition de données personnalisées, le contrôle haute vitesse, les protocoles de communications numériques, la simulation de capteurs et le traitement du signal embarqué sans connaissance approfondie des langages de description du matériel.
Figure 1 Les périphériques de la série R sont proposés sur des facteurs de forme PC standard tels que PCI, PCI Express, PXI/CompactPCI et USB.
Les appareils RIO multifonctions les plus récents se trouvent sur les pages de boutique suivantes :
Les nouveaux périphériques de la Série R sont équipés de FPGA Kintex-7 hautes performances, qui offrent des capacités d'optimisation améliorées pour obtenir une exécution de code plus rapide et une plus grande capacité de code LabVIEW que les périphériques de la Série R de génération précédente. Les nouveaux FPGA Kintex-7 conviennent parfaitement aux périphériques USB de la Série R. Cette famille de périphériques a la capacité et les performances des FPGA haut de gamme de génération précédente mais à la moitié de la puissance. La réduction impressionnante de la puissance a permis d’emballer jusqu’à 10 fois la capacité de traitement du signal numérique (DSP) par périphérique comme la génération précédente de périphériques de la série R. Avec cette augmentation de la logique et des ressources DSP, vous pouvez implémenter des algorithmes plus complexes avec une utilisation plus étendue du traitement du signal et de l’analyse en temps réel et répondre aux débits de données d’E/S croissants et à la complexité des applications actuelles. Pour en savoir plus sur les FPGA Kintex-7, consultez [Avantages des modules FPGA Xilinx de la série 7].
De plus, les nouveaux périphériques NI USB-785xR peuvent échantillonner jusqu'à 1 M/s sur les huit voies d'entrée analogique avec une résolution de 16 bits et une résolution de gain sélectionnable de ±10 V, ±5 V, ±2 V et ±1 V. Avec une exécution parallèle basée sur FPGA, plusieurs boucles de contrôle n'ont pas à rivaliser pour la bande passante du processeur. Des fréquences d'entrée analogique plus élevées améliorent également la précision du déclenchement analogique et les capacités de mesure de fréquence. Les nouveaux périphériques NI USB-785xR prennent également en charge nativement les E/S à virgule fixe, ce qui vous permet de travailler directement avec les unités ingénieur du FPGA.
Enfin, les nouveaux périphériques de la série R incluent des voies d’E/S numériques plus rapides qui peuvent basculer à des vitesses allant jusqu’à 80 MHz. De plus, vous pouvez sélectionner les niveaux de tension des lignes d'E/S numériques directement depuis LabVIEW FPGA. Les niveaux logiques disponibles sont 3,3 V, 2,5 V, 1,8 V, 1,5 V et 1,2 V.
Le nombre de portes était traditionnellement un moyen de comparer les puces FPGA à la technologie ASIC, mais il ne décrit pas vraiment le nombre de composants individuels à l’intérieur d’un FPGA. C'est une des raisons pour lesquelles Xilinx a délaissé la spécification du nombre de portes dans un FPGA. Au lieu de cela, ils comparent sur quelques composants différents, y compris les bascules, les tables de correspondance (LUT), les slices DSP et les blocs RAM disponibles. Consultez les tableaux du guide Slices on a FPGA Chip pour en savoir plus.
Malheureusement, il est difficile de déterminer si une application ou un programme nécessitera un FPGA plus grand ou plus petit. LabVIEW FPGA Module et le driver NI-RIO vous donnent la possibilité de compiler des diagrammes sans avoir de matériel du tout, donc le meilleur moyen de voir le nombre de ressources dont vous avez besoin est de l'essayer.
Vous pouvez utiliser ce qui suit comme ligne directrice générale lorsque vous décidez quel FPGA fonctionne pour votre application : Pour une application qui effectue un cadencement, un déclenchement et une synchronisation de base sur le FPGA, vous pouvez utiliser un FPGA plus petit. Si l'application inclut le cadencement, le déclenchement et la synchronisation ainsi que le traitement du signal supplémentaire sur le FPGA (commande, filtrage numérique, déclenchement analogique complexe), vous aurez besoin d'un FPGA plus grand qui dispose de plus de ressources pour implémenter ces opérations.
En général, un programme compilé pour un FPGA Virtex-II 1M gate devrait aussi compiler pour un Virtex-5 LX30 ou plus, et un programme compilé pour un FPGA Virtex-II 3M gate devrait également compiler pour un Virtex-5 LX50 ou plus. En raison des différences architecturales entre les deux familles FPGA, il n’y a aucune garantie, et la seule façon de voir si un programme migre entre les familles est de l’essayer. Avec LabVIEW FPGA Module et le driver NI-RIO, vous pouvez compiler des diagrammes sans avoir de matériel du tout.
Non. En utilisant LabVIEW FPGA Module, vous pouvez synthétiser du code graphique directement de LabVIEW au FPGA sur les périphériques de la série R. Bien que savoir comment LabVIEW compile le diagramme graphique en VHDL puisse vous aider à cerner les compromis d'optimisation, vous n'avez pas besoin de comprendre les FPGA ou VHDL pour utiliser LabVIEW. LabVIEW est idéal pour les ingénieurs qui ont besoin de la personnalisation matérielle qu'offre la technologie FPGA mais qui ne connaissent ou ne comprennent pas les langages de description de matériel de bas niveau tels que VHDL ou Verilog.
Oui, vous devez utiliser LabVIEW FPGA Module pour programmer des périphériques de la série R. Cependant, si vous avez des cœurs IP VHDL existants ou un autre code VHDL que vous souhaitez utiliser, vous pouvez intégrer VHDL dans un diagramme LabVIEW en utilisant le nœud d'interface HDL.
Lisez cette note pour apprendre à intégrer VHDL dans un diagramme LabVIEW.
Avec l'API FPGA-Interface C, vous pouvez programmer le processeur temps réel sur du matériel basé sur FPGA NI à l'aide d'outils C tels que NI LabWindowsTM/CVI et Microsoft Visual Studio, et vous interfacer avec le code LabVIEW FPGA s'exécutant sur le FPGA. Autrement dit, le code qui s'exécute sur votre machine hôte peut être écrit en C/C++ ou LabVIEW, alors que le code réellement déployé sur le FPGA doit être écrit dans LabVIEW FPGA.
En savoir plus sur l'API C FPGA-Interface.
Au lieu d’un ASIC fixe pour contrôler la fonctionnalité du périphérique, les périphériques d’acquisition de données (DAQ) de la Série R offrent une puce FPGA programmable par l’utilisateur pour le traitement embarqué et le fonctionnement flexible des E/S. Les matériels de la série R intègrent un convertisseur analogique/numérique (C A/N) dédié par voie, pour un cadencement et un déclenchement indépendants. Ce périphérique offre des fonctionnalités telles que l'échantillonnage multifréquence et le déclenchement par voie individuelle, qui vont au-delà des capacités d'un matériel d'acquisition de données classique. Vous pouvez définir les E/S numériques à cadencement matériel sur les périphériques de la série R comme compteurs, voies PWM, encodeurs flexibles ou lignes pour les protocoles de communication numérique.
Tous les périphériques RIO multifonctions de la Série R utilisent le driver NI-RIO ; ils ne sont pas compatibles avec NI-DAQmx ou NI-DAQmx Base. Toutefois, le Kit NI Measurement Hardware (Kit de développement de driver) prend en charge le développement de drivers personnalisés via la programmation au niveau des registres. Une fois que vous avez compilé et téléchargé une application LabVIEW FPGA sur une cible de la série R, le DDK NI Measurement Hardware fournit de la documentation permettant à l'application hôte de s'interfacer avec les registres sur le FPGA.
Le LabVIEW FPGA Module comprend une palette de traitement du signal avec de nombreuses fonctions telles que:
Oui. Tous les périphériques multifonctions de la Série R ont des convertisseurs A/N et des convertisseurs numériques/analogiques (C N/A) dédiés sur chaque voie d’entrée/sortie analogique, ce qui permet d’échantillonner/mettre à jour toutes les voies simultanément ou à des fréquences différentes. Avec des C A/N indépendants, vous pouvez échantillonner chaque voie du périphérique à la fréquence maximale (jusqu'à 1 Méch./s). Vous pouvez programmer les C N/A indépendants pour mettre à jour les voies de sortie analogique à des vitesses allant jusqu'à 1 Méch./s.
Le diagramme LabVIEW FPGA de la figure 2 montre à quel point il est facile d'implémenter des entrées/sorties analogiques simultanées sur les FPGA de la série R. En utilisant un nœud d'E/S analogiques LabVIEW FPGA qui lit les huit voies du périphérique de la série R dans la même boucle While, le programme échantillonne simultanément les huit voies. La boucle inférieure s'exécutant en parallèle utilise le nœud d'E/S de sortie analogique LabVIEW FPGA et met à jour les huit voies de sortie analogique à 1 Méch./s.
Figure 2. Entrées/sorties analogiques simultanées avec Série R et LabVIEW FPGA