Démystifier la programmation avec LabVIEW FPGA
-
Upload
saphir-signal-physique-instrumentation -
Category
Technology
-
view
1.626 -
download
13
description
Transcript of Démystifier la programmation avec LabVIEW FPGA
C O M P R E N D R E L E S S P É C I F I C I T É S D U M A T É R I E L E T S A P R O G R A M M A T I O N
DÉMYSTIFIER LA PROGRAMMATION AVEC LabVIEW FPGA
NI DAYs 2014/ PARIS / 11/02/2014
UNE ÉQUIPE, DES COMPÉTENCES
> Une équipe de développeurs certifiés LabVIEW
> Un partenariat fort avec National Instrument depuis 1990
Système distribué, Client-Serveur, Plug-
ins…
LabVIEW, RT, FPGA, TestStand
Mesure, Traitementdu Signal
Intégration d’équipement mesure
Système distribué, Client-Serveur, Plug-
ins…
QUELS DOMAINES
Système distribué, Client-Serveur, Plug-
ins…
Applications sur mesure
Expertise
Formations
Toolkits LabVIEW
INTRODUCTION
> Peur du FPGA ?
> Présentation du FPGA
> Utilisation du FPGA
> Programmation
> Conclusion
PEUR DU FPGA ?
INTERROGATIONS
Electronique
Peur du FPGA ?
VHDL
Bas niveauAssembleur
Et LabVIEW dans tout ça ?
FPGA
Composant
Mise au point difficile
Simulation
PRÉSENTATION DU FPGAQ U ’ E S T - C E Q U ’ U N F P G A
QU’EST-CE QUE LE FPGA ?
FPGA : Field Programmable Gate Array
Circuits intégrés reprogrammables inventés en 1985
Présentation du FPGA
QU’EST-CE QUE LE FPGA ?
3 parties :
- Matrice de blocs logiques programmables
- Blocs d’entrées/sorties
- Interconnections programmables
Présentation du FPGA
QU’EST-CE QUE LE FPGA ?
Le FPGA : composant entièrement programmable
Téléchargement possible d’une nouvelle application.
Modification
Mise à jour
Changement d’utilisation
Présentation du FPGA
AVANTAGE DU FPGA
Cadencement matériel
Temps réel
Fiabilité
Temps de réponse rapide et stable.
Création de fonctionnalités personnalisées
Présentation du FPGA
FPGA CHEZ NATIONAL INSTRUMENTS
Matériel
Présentation du FPGA
cRIOSingle board
Ethernet RIO
FlexRIO
PXI série R
CVS
Série R USB
CHOIX DU MATÉRIEL
Présentation du FPGA
•Nombre•Type (tension, courant,…)•Conditionnement
Entrées/Sorties
•Fréquence•Précision
Acquisition
•Facture de forme•Environnement d’utilisation
Intégration
•TailleFPGA
LANGAGE
Langage de programmation : VHDL (VHSIC (Very High Speed Integrated Circuits) Hardware Description Language)
Langage décrit par la norme IEEE-1607 daté de 1987 pour sa première version.
Présentation du FPGA
LANGAGE
LabVIEW
Une philosophie différente
Bas niveau
Méthode identique aux habitudes (langage Graphique)
Présentation du FPGA
UTILISATION DU FPGA
QUE FAIRE AVEC UN FPGA
Utilisation du FPGA
•Acquisition / Génération•Analogique•Digitale
Acquisition de données
•Régulation•Filtrage•FFT
Traitement temps réel
•Tout ce que vous pouvez imaginerAutre
QUELQUES EXEMPLES
•Carte multi-trigger•Fréquence variable•Filtrage
Acquisition spécifique
•FFT à 200MHz point par point (FlexRIO)
Acquisition rapide
•Analyse et comparaison d’images
Traitement vidéo
Utilisation du FPGA
QUELQUES EXEMPLES
Utilisation du FPGA
Détection d’avalanche•Embarqué•Autonome•Robuste•Environnement sévère
QUELQUES EXEMPLES
Utilisation du FPGA
Régulation rapide Pour tests de
freins•Acquisition•Filtrage•Régulation (1kHz pour un moteur de 450kW)•Sécurité
QUELQUES EXEMPLES
Utilisation du FPGA
Régulation boucle ouverte
•2 voies 750kHz•Filtrage•Calculs•Génération 750kHz•Retard 2,6.10-6s
QUELQUES EXEMPLES
Utilisation du FPGA
Communication
•16 voies RS422•Acquisition •Génération•Vitesses non standard•Maîtrise du temps
CE QUE NE FAIT PAS LE FPGA
Utilisation du FPGA
•Limite en mémoireStockage de données
•Limite de place sur le FPGA
Post traitement
•Pas d’affichage direct
Affichage
PROGRAMMATION
PHILOSOPHIE
Le FPGA : composant électronique programmable.
Vous maîtrisez LabVIEW.
Oubliez ce que vous avez appris.
Programmation
PHILOSOPHIE
•Pas de problème de système d’exploitation
Programmation bas niveau
•Pas de priorité d’exécution•Pas de partage de temps
Pas de CPU
•Période constanteDétermin
iste
Programmation
PHILOSOPHIE
Programmation
•Changement•Modification•Evolutions
Composantreprogramma
ble
•Sans déphasage•Sans retard
Parallélisme
•Pipeline•Concaténation de données•Boucles non cadencées
Trucs et astuces
LANGAGE
Programmer FPGA sans maîtrise du VHDL
Vous connaissez donc déjà le langage de programmation …
Un projet,
Des boucles
Des structures
Des conditions
Des fonctions
Des VIs
Des méthodes
Des propriétés
Etc.
Présentation du FPGA
COMPARAISON D’ACQUISITION
Programmation
FPGA
Nécessitera une seconde
Application pour afficher la
Mesure sur l’écran du PC
DAQmx
TEMPS DE COMPILATION
Une compilation en plusieurs phases :
Programmation
VI LabVIEW VHDL Bitfile
LabVIEW FPGA
Compilateur Xilinx
Cible
TEMPS DE COMPILATION
• Quelques msDAQmx
• De quelques minutes à … FPGA
Programmation
→ Réfléchissez avant de compiler
POUR RÉDUIRE LE TEMPS DE COMPILATION
• Serveur dédiéServeur de compilation
linux
• Plusieurs machines pour compiler plusieurs codes en parallèleFerme de PC
• Serveur National Instruments dédiéCloud
Programmation
MISE AU POINT
Une fois compilé, l’utilisation des outils LabVIEW n’est plus possible !
Possibilités :
> Démarrer la face avant, indicateurs et contrôles sont accéssibles.
> Emuler le FPGA en activant le mode simulation sur les cartes.
Programmation
LABVIEW
> L’utilisation de LabVIEW.
> Boucles
> Conditions
> Séquences
> Machines à états
> ….
> Palette limitée
> Des sous-palettes supplémentaires
> (FPGA Math & Analysis)
> Des sous-palettes en moins (chaînes de caractères)
Programmation
LABVIEW
Cahier des charges :
> Acquisition à période variable de 10ms à 100s
> Déclenchement d’alarme en cas de dépassement de seuil
> Démarrage automatique du code
Organigramme :
Programmation
PROJET
Programmation
BOUCLE D’ACQUISITION ET DE TRAITEMENT
Programmation
L’acquisition est faite !
Il ne reste qu’à transférer les données…
TRANSFERT DES DONNÉES
Objet de la face avant du FPGA
Programmation
FPGA
PC
Utilisable pour un faible volume de données à une fréquence faible
PARALLÉLISME
Programmation
PARALLÉLISME
Programmation
EXEMPLE DE PARALLÉLISME
Acquisition sur 7 modules en parallèles à des fréquences potentiellement différentes de 10Hz à 10kHz
Chaque module gère ses anomalies
Programmation
PIPELINE
Programmation
1
1
2
2
3
3
Durée : 1 + 2 + 3
Durée : Max (1 ; 2 ; 3)
FIFO DMA
Programmation
Transfert vers PC
3 voies 750kHz 4,29 Mo/sI16
CONCLUSION
LABVIEW FPGA
Conclusion
• SimpleProgrammation
• Choisissez judicieusementMatériel
• Attention à ce qu’il ne sait pas faire Limites
RESSOURCES
Site National Instruments
http://www.ni.com
Wikipedia
http://fr.wikipedia.org/wiki/FPGA
Formations
LabVIEW FPGA Module
High-Throughput LabVIEW FPGA
Conclusion
Par Frédéric BERNARD, Responsable formation, Responsable Technique de projet, Développeur sénior (Certified LabVIEW Architect).
[email protected] / +33 (0)4 38 92 15 50