Démystifier la programmation avec LabVIEW FPGA

Preview:

DESCRIPTION

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.

Citation preview

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

Recommended