Formation LabVIEW RT FPGA
Ce cours vise à vous préparer à traduire les exigences d'un système embarqué en une architecture logicielle et matérielle évolutive. Vous apprendrez à sélectionner les méthodes de communication inter-processus et de réseaux appropriées, à concevoir des applications temps réel fiables, et à déployer efficacement des systèmes embarqués.
Durée :4 jours
Public Cible
Ce cours s'adresse aux utilisateurs qui se préparent à développer des applications de contrôle et de surveillance embarquées avec LabVIEW Real-Time, LabVIEW FPGA, et du matériel CompactRIO (cRIO), Single-Board RIO (sbRIO) , PXI ou RIO. Il convient aux utilisateurs recherchant des cibles matérielles FPGA et temps réel fiables et hautes performances.
Objectifs de la Formation
À la fin de cette formation, vous serez en mesure de :
- Comprendre comment les VI LabVIEW sont compilés pour des cibles FPGA.
- Développer des algorithmes en utilisant le driver de périphérique NI-RIO.
- Intégrer du code existant dans des applications LabVIEW FPGA.
- Concevoir des architectures de systèmes FPGA hautes performances.
Prérequis
Il est recommandé d'avoir suivi les cours LabVIEW Niveaux 1 et 2, ou de posséder une expérience équivalente.
Programme de la Formation
- Introduction aux Systèmes de Contrôle et Surveillance Embarqués
- Description d'un système de contrôle et de surveillance embarqué
- Compréhension de FPGA
- Rôle du processeur temps réel
- Interfaces Homme-Machine (IHM)
- Exemples d'applications
- Configuration de Votre Matériel
- Configuration du matériel et de l'ordinateur
- Paramètres du système RT et logiciels
- Configuration des paramètres réseau
- Configuration d'une cible RT depuis un navigateur web
- Identification des Exigences de l'Application
- Identification des E/S et de leurs vitesses d'acquisition
- Identification des processus
- Cadencement du processus
- Types de transferts de données
- Exigences de performance et de fiabilité
- Optimisation du Code FPGA
- Quand optimiser le code ?
- Techniques d'optimisation en fonction de la taille du FPGA
- Documentation de Votre Conception
- Description de diagrammes
- Création d'un diagramme de communication
- Diagrammes classiques de contrôle et surveillance embarqués
- Documentation supplémentaire
- Accès à Vos E/S dans LabVIEW
- Configuration des cibles temps réel via le projet LabVIEW
- Accès aux E/S avec les API de driver ou le moteur de balayage
- Accès aux E/S à partir du FPGA
- Programmation avec LabVIEW FPGA
- Développement du VI FPGA
- Simulation du VI FPGA
- Compilation du VI FPGA
- Optimisations de base
- Utilisation des E/S du FPGA et Cadencement
- Utilisation des E/S FPGA
- Gestion des erreurs d'E/S FPGA
- Gestion des vitesses d'exécution de la boucle
- Synchronisation de modules d'E/S de la série C
- Création de délais entre des événements
- Mesure du cadencement entre des événements
- Test des performances de périodes de la boucle
- Traitement du Signal
- Utilisation des types de données à virgule fixe
- Utilisation de la précision simple à virgule flottante
- Calculs mathématiques et analyse FPGA
- Intégration de la propriété intellectuelle (IP) de tiers
- Communications Inter-Processus dans le FPGA
- Transfert des données les plus récentes (balise)
- Transfert de données du buffer (stream, message)
- Comparaison des méthodes de partage de données
- Communications entre les VIs FPGA et RT
- Communication par programmation avec le FPGA à partir du VI RT
- Déploiement d'un VI FPGA
- Synchronisation du VI hôte et du VI FPGA
- Implémentation d'un chien de garde FPGA
- Techniques d'optimisation en fonction de la vitesse et du débit du FPGA
- Exécution du code dans des boucles cadencées monocycle (SCTL)
- Pipelining
- Handshake à 4 voies
- Étapes suivantes avec LabVIEW FPGA
- Programmation avec LabVIEW Real-Time
- Compréhension et utilisation des niveaux de priorité
- Utilisation de la mise en veille pour garantir la disponibilité du processeur
- Boucles cadencées
- Communications Inter-Processus en RT
- Partage de données entre processus déterministes et non déterministes
- Partage de données entre processus non déterministes
- Communications entre Cible RT et Ordinateur
- Implémentation des communications réseau
- Transfert des valeurs les plus récentes (balise)
- Transfert de valeurs du buffer (stream, message)
- Gestion de la Mémoire et Surveillance de l'État du Système
- Impacts de l'utilisation de la mémoire
- Gestion de la mémoire
- Surveillance du système
- Fiabilité
- Arrêt sécurisé
- Gestion d'erreur spécifique et centrale
- Mise en œuvre d'un chien de garde
- Redondance
- Mise au Point, Test de Performances et Test
- Outils de mise au point
- Test des performances et de la durée du code
- Test d'une application temps réel
- Déploiement et Duplication
- Présentation du déploiement RT
- Communications avec des applications déployées
- Réplication de systèmes RT