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 ...
UNE ÉQUIPE, DES COMPÉTENCES
>

Une équipe de développeurs certifiés LabVIEW

>

Un partenariat fort avec National Instrume...
QUELS DOMAINES

Applications sur mesure
Système distribué, ClientExpertise Plug-ins…
Serveur,

Formations
Toolkits LabVIEW
INTRODUCTION
> Peur du FPGA ?
> Présentation du FPGA
> Utilisation du FPGA
> Programmation
> Conclusion
PEUR DU FPGA ?
Peur du FPGA ?

INTERROGATIONS
Electronique

Composant
VHDL

Bas niveau
FPGA

Assembleur
Simulation

Mise au point diffici...
PRÉSENTATION DU FPGA
QU’EST-CE QU’UN FPGA
Présentation du FPGA

QU’EST-CE QUE LE FPGA ?
FPGA : Field Programmable Gate Array

Circuits intégrés reprogrammables inve...
Présentation du FPGA

QU’EST-CE QUE LE FPGA ?
3 parties :

- Matrice de blocs logiques programmables
- Blocs d’entrées/sor...
Présentation du FPGA

QU’EST-CE QUE LE FPGA ?
Le FPGA : composant entièrement programmable
Téléchargement possible d’une n...
Présentation du FPGA

AVANTAGE DU FPGA
Cadencement matériel

Temps réel
Fiabilité

Temps de réponse rapide et stable.

Cré...
Présentation du FPGA

FPGA CHEZ NATIONAL INSTRUMENTS
Matériel

Ethernet RIO
Single board
cRIO

CVS
Série R USB
PXI série R...
Présentation du FPGA

CHOIX DU MATÉRIEL

Entrées/Sorties

• Nombre
• Type (tension, courant,…)
• Conditionnement

Acquisit...
Présentation du FPGA

LANGAGE
Langage de programmation : VHDL (VHSIC (Very High Speed Integrated Circuits) Hardware
Descri...
Présentation du FPGA

LANGAGE
LabVIEW

Une philosophie différente

Bas niveau
Méthode identique aux habitudes (langage Gra...
UTILISATION DU FPGA
Utilisation du FPGA

QUE FAIRE AVEC UN FPGA
Acquisition
de données
Traitement
temps réel

Autre

• Acquisition / Génératio...
Utilisation du FPGA

QUELQUES EXEMPLES

Acquisition
spécifique

• Carte multi-trigger
• Fréquence variable
• Filtrage

Acq...
Utilisation du FPGA

QUELQUES EXEMPLES

Détection
d’avalanche
•
•
•
•

Embarqué
Autonome
Robuste
Environnement
sévère
Utilisation du FPGA

QUELQUES EXEMPLES
Régulation rapide
Pour tests de freins
• Acquisition
• Filtrage
• Régulation (1kHz ...
Utilisation du FPGA

QUELQUES EXEMPLES

Régulation boucle
ouverte
•
•
•
•

2 voies 750kHz
Filtrage
Calculs
Génération
750k...
Utilisation du FPGA

QUELQUES EXEMPLES

Communication
•
•
•
•
•

16 voies RS422
Acquisition
Génération
Vitesses non standa...
Utilisation du FPGA

CE QUE NE FAIT PAS LE FPGA
Stockage
de données • Limite en mémoire
Post
traitement

• Limite de place...
PROGRAMMATION
Programmation

PHILOSOPHIE
Le FPGA : composant électronique programmable.

Vous maîtrisez LabVIEW.

Oubliez ce que vous av...
Programmation

PHILOSOPHIE

Programmation
bas niveau

• Pas de problème de
système d’exploitation

Pas de CPU

• Pas de pr...
Programmation

PHILOSOPHIE

Composant
reprogrammable

Parallélisme

Trucs et astuces

• Changement
• Modification
• Evolut...
Présentation du FPGA

LANGAGE
Programmer FPGA sans maîtrise du VHDL

Vous connaissez donc déjà le langage de programmation...
Programmation

COMPARAISON D’ACQUISITION

DAQmx

FPGA
Nécessitera une seconde
Application pour afficher la
Mesure sur l’éc...
Programmation

TEMPS DE COMPILATION
Une compilation en plusieurs phases :

Compilateur
Xilinx

VI LabVIEW
LabVIEW
FPGA

VH...
Programmation

TEMPS DE COMPILATION

DAQmx

FPGA

• Quelques ms

• De quelques minutes à …

→ Réfléchissez avant de compil...
Programmation

POUR RÉDUIRE LE TEMPS DE
COMPILATION
Serveur de
compilation linux

Ferme de PC

Cloud

• Serveur dédié

• P...
Programmation

MISE AU POINT
Une fois compilé, l’utilisation des outils LabVIEW n’est plus possible !

Possibilités :
>

D...
Programmation

LABVIEW
> L’utilisation de LabVIEW.

> Boucles
> Conditions
> Séquences
> Machines à états
> ….
> Palette l...
Programmation

LABVIEW
Cahier des charges :
> Acquisition à période variable de 10ms à 100s
> Déclenchement d’alarme en ca...
Programmation

PROJET
Programmation

BOUCLE D’ACQUISITION ET DE
TRAITEMENT

L’acquisition est faite !
Il ne reste qu’à transférer les données…
Programmation

TRANSFERT DES DONNÉES

Objet de la face avant du FPGA

PC

FPGA

Utilisable pour un faible volume de
donnée...
Programmation

PARALLÉLISME
Programmation

PARALLÉLISME
Programmation

EXEMPLE DE PARALLÉLISME

Acquisition sur 7 modules en parallèles à des
fréquences potentiellement différent...
Programmation

PIPELINE

1

2
Durée : 1 + 2 + 3

3

1

2

Durée : Max (1 ; 2 ; 3)

3
Programmation

FIFO DMA

Transfert vers PC
3 voies
750kHz
I16

4,29 Mo/s
CONCLUSION
Conclusion

LABVIEW FPGA

Programmation

• Simple

Matériel

• Choisissez judicieusement

Limites

• Attention à ce qu’il ...
Conclusion

RESSOURCES

Site National Instruments
http://www.ni.com

Wikipedia
http://fr.wikipedia.org/wiki/FPGA

Formatio...
Par Frédéric BERNARD,
Responsable formation,
Responsable Technique de projet,
Développeur sénior (Certified LabVIEW Archit...
Prochain SlideShare
Chargement dans…5
×

Démystifier la programmation avec LabVIEW FPGA

2 984 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
2 984
Sur SlideShare
0
Issues des intégrations
0
Intégrations
187
Actions
Partages
0
Téléchargements
138
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

×