Démystifier la programmation avec LabVIEW FPGA

3 012 vues

Publié le

Découvrez les principes liés à la programmation FPGA d'un point de vu matériel comme logiciel et lancer vous sans crainte dans le développement d'applications à l'aide de LabVIEW FPGA.

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
3 012
Sur SlideShare
0
Issues des intégrations
0
Intégrations
193
Actions
Partages
0
Téléchargements
141
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Démystifier la programmation avec LabVIEW FPGA

  1. 1. DÉMYSTIFIER LA PROGRAMMATION AVEC LabVIEW FPGA COMPRENDRE LES SPÉCIFICITÉS DU M AT É R I E L E T S A P R O G R A M M AT I O N NI DAYs 2014/ PARIS / 11/02/2014
  2. 2. UNE ÉQUIPE, DES COMPÉTENCES > Une équipe de développeurs certifiés LabVIEW > Un partenariat fort avec National Instrument depuis 1990 Mesure, Traitement LabVIEW, RT, FPGA, Système distribué, ClientTestStand du Signal Serveur, Plug-ins… Intégration d’équipement mesure Système distribué, ClientServeur, Plug-ins…
  3. 3. QUELS DOMAINES Applications sur mesure Système distribué, ClientExpertise Plug-ins… Serveur, Formations Toolkits LabVIEW
  4. 4. INTRODUCTION > Peur du FPGA ? > Présentation du FPGA > Utilisation du FPGA > Programmation > Conclusion
  5. 5. PEUR DU FPGA ?
  6. 6. Peur du FPGA ? INTERROGATIONS Electronique Composant VHDL Bas niveau FPGA Assembleur Simulation Mise au point difficile Et LabVIEW dans tout ça ?
  7. 7. PRÉSENTATION DU FPGA QU’EST-CE QU’UN FPGA
  8. 8. Présentation du FPGA QU’EST-CE QUE LE FPGA ? FPGA : Field Programmable Gate Array Circuits intégrés reprogrammables inventés en 1985
  9. 9. Présentation du FPGA QU’EST-CE QUE LE FPGA ? 3 parties : - Matrice de blocs logiques programmables - Blocs d’entrées/sorties - Interconnections programmables
  10. 10. 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
  11. 11. 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
  12. 12. Présentation du FPGA FPGA CHEZ NATIONAL INSTRUMENTS Matériel Ethernet RIO Single board cRIO CVS Série R USB PXI série R FlexRIO
  13. 13. Présentation du FPGA CHOIX DU MATÉRIEL Entrées/Sorties • Nombre • Type (tension, courant,…) • Conditionnement Acquisition • Fréquence • Précision Intégration • Facture de forme • Environnement d’utilisation FPGA • Taille
  14. 14. Présentation du FPGA 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.
  15. 15. Présentation du FPGA LANGAGE LabVIEW Une philosophie différente Bas niveau Méthode identique aux habitudes (langage Graphique)
  16. 16. UTILISATION DU FPGA
  17. 17. Utilisation du FPGA QUE FAIRE AVEC UN FPGA Acquisition de données Traitement temps réel Autre • Acquisition / Génération • Analogique • Digitale • Régulation • Filtrage • FFT • Tout ce que vous pouvez imaginer
  18. 18. Utilisation du FPGA QUELQUES EXEMPLES Acquisition spécifique • Carte multi-trigger • Fréquence variable • Filtrage Acquisition rapide • FFT à 200MHz point par point (FlexRIO) Traitement vidéo • Analyse et comparaison d’images
  19. 19. Utilisation du FPGA QUELQUES EXEMPLES Détection d’avalanche • • • • Embarqué Autonome Robuste Environnement sévère
  20. 20. Utilisation du FPGA QUELQUES EXEMPLES Régulation rapide Pour tests de freins • Acquisition • Filtrage • Régulation (1kHz pour un moteur de 450kW) • Sécurité
  21. 21. Utilisation du FPGA QUELQUES EXEMPLES Régulation boucle ouverte • • • • 2 voies 750kHz Filtrage Calculs Génération 750kHz • Retard 2,6.10-6s
  22. 22. Utilisation du FPGA QUELQUES EXEMPLES Communication • • • • • 16 voies RS422 Acquisition Génération Vitesses non standard Maîtrise du temps
  23. 23. Utilisation du FPGA CE QUE NE FAIT PAS LE FPGA Stockage de données • Limite en mémoire Post traitement • Limite de place sur le FPGA Affichage • Pas d’affichage direct
  24. 24. PROGRAMMATION
  25. 25. Programmation PHILOSOPHIE Le FPGA : composant électronique programmable. Vous maîtrisez LabVIEW. Oubliez ce que vous avez appris.
  26. 26. Programmation PHILOSOPHIE Programmation bas niveau • Pas de problème de système d’exploitation Pas de CPU • Pas de priorité d’exécution • Pas de partage de temps Déterministe • Période constante
  27. 27. Programmation PHILOSOPHIE Composant reprogrammable Parallélisme Trucs et astuces • Changement • Modification • Evolutions • Sans déphasage • Sans retard • Pipeline • Concaténation de données • Boucles non cadencées
  28. 28. Présentation du FPGA 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.
  29. 29. Programmation COMPARAISON D’ACQUISITION DAQmx FPGA Nécessitera une seconde Application pour afficher la Mesure sur l’écran du PC
  30. 30. Programmation TEMPS DE COMPILATION Une compilation en plusieurs phases : Compilateur Xilinx VI LabVIEW LabVIEW FPGA VHDL Bitfile Cible
  31. 31. Programmation TEMPS DE COMPILATION DAQmx FPGA • Quelques ms • De quelques minutes à … → Réfléchissez avant de compiler
  32. 32. Programmation POUR RÉDUIRE LE TEMPS DE COMPILATION Serveur de compilation linux Ferme de PC Cloud • Serveur dédié • Plusieurs machines pour compiler plusieurs codes en parallèle • Serveur National Instruments dédié
  33. 33. 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.
  34. 34. 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)
  35. 35. 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 :
  36. 36. Programmation PROJET
  37. 37. Programmation BOUCLE D’ACQUISITION ET DE TRAITEMENT L’acquisition est faite ! Il ne reste qu’à transférer les données…
  38. 38. Programmation TRANSFERT DES DONNÉES Objet de la face avant du FPGA PC FPGA Utilisable pour un faible volume de données à une fréquence faible
  39. 39. Programmation PARALLÉLISME
  40. 40. Programmation PARALLÉLISME
  41. 41. 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
  42. 42. Programmation PIPELINE 1 2 Durée : 1 + 2 + 3 3 1 2 Durée : Max (1 ; 2 ; 3) 3
  43. 43. Programmation FIFO DMA Transfert vers PC 3 voies 750kHz I16 4,29 Mo/s
  44. 44. CONCLUSION
  45. 45. Conclusion LABVIEW FPGA Programmation • Simple Matériel • Choisissez judicieusement Limites • Attention à ce qu’il ne sait pas faire
  46. 46. Conclusion RESSOURCES Site National Instruments http://www.ni.com Wikipedia http://fr.wikipedia.org/wiki/FPGA Formations LabVIEW FPGA Module High-Throughput LabVIEW FPGA
  47. 47. Par Frédéric BERNARD, Responsable formation, Responsable Technique de projet, Développeur sénior (Certified LabVIEW Architect). LinkedIn Frederic.bernard@saphir.fr / +33 (0)4 38 92 15 50

×