Vous êtes sur la page 1sur 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Projet ralis par : Yannick CORNET Li Bao Qian Projet encadr par : Monsieur Grard Leroy

Page 1 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Objectif : Nous nous somme fix comme objectif pour ce projet didentifier les capacits du module LabVIEW FPGA et de raliser un montage en utilisant la carte de dveloppement Nexys. Introduction : Nous allons vous introduire dans ce rapport le module LabVIEW FPGA et aussi faire un tat des lieux des quipements National Instruments disponible dans les salles de TP. Ensuite nous allons aussi explique pourquoi nous avons choue dans la mise en place dun montage qui aurais utilis la carte de dveloppement Nexys. Nous allons donc dbute ce rapport par ltat des lieux des quipements disponible, puis la prsentation du Module LabVIEW FPGA qui est le thme principale de notre tude et enfin les problmes rencontre pour raliser un systme oprationnel avec ce module. Etats des lieux : Nous avons ralis un bilan des matriels disponible et nous avons recens les matriels suivants :
Reference PCI 6221 SCXI 1000 SCXI 1341 SCXI 1321 SCXI 1121 PXI 8461 PXI 5102 PXI 1408 PXI 4060 PCI 6025E USB-6229 PXI 1409 PXI 8156b PXI 1000B PXI8175 PCI-GPIB Cable IEEE 488.2 USB-GPIB 82357A Materiel En Salle A112 A112 A112 A112 A112 A112 A112 A112 A112 A112 A112 A104 A104 A104 A104 A112 A112

On peut constate que nous avons que de chssis PXI et des carte dacquisition DAQ. Donc les quipements qui sont actuellement disponible dans les salles A112 et A104 ne nous permettre pas de faire des dveloppements de systmes qui soient programmable avec le module FPGA. Il nous faudrait lun des produits National Instruments suivants NI CompactRIO, NI Single-Board

Page 2 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

RIO, NI FlexRIO, Sries R RIO ou un Compact Vision Systems pour pouvoir dvelopper un systme avec ce module. Nous allons maintenant prsenter quelquune des ses cibles compatible avec le Module FPGA : NI CompactRIO :

y y y y y y

Systme embarqu compact et durci pour le contrle et l'acquisition de donnes Programmation graphique NI LabVIEW, pour un dveloppement rapide Processeur temps rel embarqu, pour des oprations autonomes ou distribues fiables Intgre un circuit FPGA qui offre la flexibilit, les performances et la fiabilit du matriel personnalis Inclut des modules industriels d'E/S changeables chaud avec un conditionnement du signal intgr, pour une connexion directe un large ventail de capteurs et d'actionneurs Offre des certifications et des classements industriels extrmes :  Temprature de fonctionnement de - 40 70 C (- 40 158 F)  Isolation (soutenue) jusqu' 2300 Veff  Classement de rsistance aux chocs de 50 g  Certifications de scurit internationales, EMC et environnementales  Classement pour les emplacements dangereux de Classe I, Division 2  Alimentations doubles de 9 35 Vcc, faible consommation (typique de 7 10 W)

Le contrleur d'automatismes programmables CompactRIO est un systme de contrle et d'acquisition de donnes embarqu avanc, destin aux applications qui ncessitent des performances et une fiabilit leves. Grce l'ouverture du systme, l'architecture embarque, sa taille compacte, son extrme robustesse et sa flexibilit, on peut utiliser du matriel standard pour btir rapidement des systmes embarqus personnaliss. Le NI CompactRIO est accompagn des technologies LabVIEW FPGA et LabVIEW Real-Time, qui permettent de concevoir, programmer et personnaliser le systme embarqu CompactRIO, grce des outils de programmation graphique. Le CompactRIO combine un processeur temps rel embarqu, un FPGA hautes performances et des modules d'E/S changeables chaud. Chaque module d'E/S est directement connect au FPGA, en offrant une personnalisation bas niveau du cadencement et du traitement des signaux d'E/S. Le FPGA est connect un processeur temps rel embarqu via un bus PCI haute vitesse. Cette architecture faible cot est constitue d'accs ouverts aux

Page 3 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

ressources matrielles bas niveau. LabVIEW contient des mcanismes de transfert intgrs, afin de transmettre les donnes des modules d'E/S vers le FPGA, et galement du FPGA vers le processeur embarqu, pour une analyse, un post-traitement, un enregistrement de donnes ou des communications, tous embarqus, vers un ordinateur hte en rseau.

Modules d'E/S de la Srie C

Il existe un large ventail de module d'E/S pour CompactRIO, y compris des entres de tension, d'intensit, de thermocouple, de RTD, d'acclromtre et de jauge de contrainte ; des E/S chantillonnage simultan jusqu' 60 V ; des E/S numriques industrielles 12, 24 et 48 V ; des E/S numriques TTL/5 V ; des compteurs/timers ; une gnration d'impulsions et des relais haute tension/intensit. Comme les modules peuvent contenir un conditionnement du signal intgr pour des gammes de tension ou des types de signaux industriels tendus, il est habituellement possible de connecter des fils directement partir des modules de la Srie C aux capteurs et aux actionneurs. FPGA Le circuit FPGA embarqu est un circuit hautes performances et reconfigurable, que lon peut programmer grce aux outils LabVIEW FPGA. Traditionnellement, les concepteurs de systmes FPGA taient obligs d'apprendre et d'utiliser des langages de conception complexes, tels que le VHDL, pour programmer des FPGA. Dsormais, n'importe qui peut utiliser les outils graphiques LabVIEW pour programmer et personnaliser des FPGA. En utilisant le matriel FPGA embarqu dans CompactRIO, il est possible d'implmenter un cadencement, un dclenchement, une synchronisation, un contrle et un traitement du signal personnaliss, pour les E/S analogiques et numriques. Processeur temps rel Le systme embarqu CompactRIO offre galement un processeur industriel MPC5200 400 MHz de Freescale, qui excute de manire dterministe les applications LabVIEW Real-Time sous le systme d'exploitation temps rel fiable VxWorks de Wind River. LabVIEW possde des fonctions intgres pour le transfert de donnes entre le FPGA et le processeur temps rel, dans le systme embarqu CompactRIO. On a le choix entre plus de 600 fonctions intgres pour btir

Page 4 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

notre systme embarqu multithread, pour le contrle, l'analyse, l'enregistrement de donnes et les communications temps rel. Il est galement possible d'intgrer du code existant C/C++ au code LabVIEW Real-Time pour conomiser du temps de dveloppement. Taille et poids La taille, le poids et la densit des E/S sont des exigences de conception critiques dans de nombreuses applications embarques. Un systme embarqu reconfigurable quatre emplacements mesure 179,6 mm X 88,1 mm X 88,1 et pse seulement 1,58 kg. Exemples d'applications Grce au faible cot et la fiabilit de la plate-forme CompactRIO, ainsi que grce son adaptation aux applications embarques de mesure et de contrle d'envergure, il est possible de l'adapter pour rsoudre un large ventail de dfis de l'industrie et de dfis d'application. Parmi les exemples, citons les activits suivantes :
y y y y y y y y y y

Acquisition de donnes, enregistrement de donnes et contrle bord de vhicules Surveillance et protection de fonctionnement des machines Prototypage de systmes embarqus Surveillance distance et distribue Enregistrement embarqu de donnes Contrle personnalis de moteurs multi-axes Surveillance de la puissance lectrique et contrle de l'lectronique de puissance Commandes servo-hydrauliques et de machines lourdes Contrle discret et par lots Analyses de bruit, vibrations et rudesse (BVR) mobiles/portables

La plate-forme CompactRIO est disponible en trois configurations : Le systme embarqu reconfigurable est dclin en deux configurations : modulaire et intgre. Dans la configuration modulaire, le contrleur embarqu et le chssis contenant le FPGA sont vendus sparment. La configuration modulaire offre le plus de flexibilit en termes de configuration du systme et de slection des performances. La configuration intgre combine le contrleur et le chssis contenant le FPGA dans un seul module. Cette configuration offre un niveau lev de performances du systme et reprsente une solution idale pour les applications d'envergure. Systme d'extension CompactRIO de la Srie R Dans cette configuration, un chssis d'extension CompactRIO se connecte au port numrique d'un matriel d'acquisition de donnes intelligent PCI ou PXI bas FPGA de la Srie R. Il est possible d'installer le matriel de la Srie R dans n'importe quel PC de bureau, dans un ordinateur une seule

Page 5 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

carte ou dans un systme PXI sous Windows ou sous LabVIEW Real-Time. Le FPGA rside sur le matriel de la Srie R. Le chssis d'extension cRIO-9151 et les modules d'E/S de la Srie C ajoutent un conditionnement du signal et une isolation hautes performances au matriel de la Srie R. Systme d'interface haute vitesse distance CompactRIO Dans cette configuration, le contrleur distance haute vitesse NI cRIO-9052 remplace un contrleur temps rel CompactRIO pour offrir une interface haute vitesse entre n'importe quel chssis FPGA reconfigurable NI cRIO-910x et un ordinateur portable, un systme PXI ou un PC. Avec le NI cRIO-9052, on peut s'interfacer avec le FPGA dans un chssis CompactRIO, des vitesses pouvant atteindre 50 Mo/s. Le rsultat est une solution distance, reconfigurable, idale pour des applications qui ncessitent la flexibilit d'un FPGA et une interface haute vitesse, destines un ordinateur portable ou un PC. Il est possible de choisir d'interfacer le systme distance haute vitesse CompactRIO une application Windows LabVIEW qui s'excute sur un ordinateur portable, un PC ou un systme PXI, ou une application LabVIEW Real-Time qui s'excute sur un systme PC ou PXI. NI Single-Board RIO Introduction
y y y y y

Solutions de carte lectronique embarque pour applications OEM de contrle et d acquisition de donnes Systme fonctionnant avec les outils de programmation graphique NI LabVIEW pour un dveloppement rapide Processeur temps rel intgr permettant un fonctionnement distribu fiable et autonome Circuit FPGA intgr pour un traitement et un cadencement des E/S personnaliss E/S analogiques et numriques intgres.

Page 6 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Les produits NI Single-Board RIO sont conus pour des applications de dploiement en volume et les applications OEM de contrle et dacquisition de donnes embarques, qui ncessitent un haut degr de performance et de fiabilit. Ces matriels "sur tagre" offrent un systme souple et compact, dont larchitecture est ouverte et embarque. On peut donc les utilis pour mettre sur le march rapidement des systmes embarqus personnaliss. La NI Single-Board RIO fonctionne avec les logiciels LabVIEW FPGA et LabVIEW Real-Time, et permet ainsi de concevoir, programmer et personnaliser leur systme avec des outils de programmation graphique simples d'emploi.

Architecture du matriel NI Single-Board RIO Chaque NI Single-Board RIO est quipe dun processeur temps rel, dun FPGA hautes performances et de modules dE/S analogiques et numriques sur une seule et mme carte. Toutes les E/S sont connectes directement au FPGA, offrant ainsi une personnalisation bas niveau du cadencement et du traitement des signaux dE/S. Caractristiques et priphriques
y y y y y y

Temprature de stockage : -20 70 C Temprature de fonctionnement : -20 55 C Alimentation lectrique : 19 30 VDC Port srie RS232 pour la connexion des priphriques et autres matriels Port Ethernet 10/100 pour la mise en rseau Horloge temps rel avec alimentation de secours.

E/S Les E/S disponibles avec la NI Single-Board RIO sont les suivantes : y 110 lignes d'E/S numriques 5 V TTL y jusqu' 32 entres analogiques 10 V, 250 kch./s, 16 bits y jusqu' 4 sorties analogiques 10 V, 100 kch./s, 16 bits

Page 7 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

y y

jusqu' 32 lignes d'entres numriques industrielles 32 V jusqu' 32 lignes de sorties numriques industrielles 32 V.

Il est aussi possible de connecter jusqu trois modules dE/S de la Srie C sur chaque systme Single-Board RIO. La Srie C offre un large ventail de types dE/S, notamment des entres de tension, de courant, de thermocouple, de RTD, dacclromtre et de jauge de contrainte ; des E/S analogiques chantillonnage simultan jusqu 60 V ; des E/S numriques industrielles 12, 24 et 48 V ; des E/S numriques TTL/5 V ; des compteurs/timers ; des gnrateurs dimpulsions et des relais haute tension/intensit. Comme ces modules intgrent le conditionnement des signaux pour des gammes de tensions tendues ou des types de signaux industriels, on peut gnralement cbler directement les capteurs et actionneurs aux modules. Grce l'ouverture du systme, il est galement possible de construire ses propres modules d'E/S personnaliss aux besoins spcifiques de notre application en termes d'E/S ou de communication. FPGA Le FPGA embarqu est un circuit hautes performances reconfigurable que lon peut programmer avec l'environnement ouvert LabVIEW FPGA, on peut aussi y intgrer le code VHDL ou des c urs de proprit intellectuelle existants. Processeur temps rel Le produit NI Single-Board RIO intgre un processeur industriel MPC5200 266 MHz ou 400 MHz de Freescale, qui excute de manire dterministe les applications LabVIEW Real-Time sous le systme d'exploitation temps rel fiable VxWorks de Wind River. Exemples d'applications Grce au faible cot de la NI Single-Board RIO, sa fiabilit et son adaptation aux applications en volume de mesure et de contrle embarques, il est possible de rsoudre un grand nombre de dfis en termes d'industrie et d'applications. Citons par exemple : y le contrle de dispositifs mdicaux y le contrle de robots et de vhicules automatiss y la surveillance et la protection des conditions de fonctionnement de machines y l'enregistrement de donnes embarqu y la surveillance de la puissance lectrique et contrle de l'lectronique de puissance y l'analyse de bruit, vibrations et rudesse (NVH). NI FlexRIO Le FlexRIO est la nouvelle famille de produits de National Instruments permettant de tirer parti de la technologie FPGA. Il offre des E/S personnalisables et souples, utilisables avec le logiciel NI LabVIEW FPGA pour crer des instruments reconfigurables trs performants. Grce un frontal ouvert et adaptable, il permet de rpondre aux exigences prcises d'un systme de test ou embarqu. Il est possible de concevoir des convertisseurs analogique/numrique, des buffers

Page 8 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

numriques, des connecteurs et mme un nombre de voies spcifiques, le tout sinterfaant harmonieusement avec une cible FPGA programmable sous NI LabVIEW.

Figure: NI FlexRIO

Les lments dun systme FlexRIO Un systme FlexRIO est compos de deux modules : un NI FlexRIO FPGA et un NI FlexRIO Adapter. Les Modules NI FlexRIO FPGA sont bass sur la plate-forme PXI et intgrent un FPGA Virtex-5 de Xilinx, avec jusqu' 128 Mo de mmoire DRAM embarque. L'application FPGA se programme graphiquement avec le logiciel LabVIEW FPGA, et permet d'effectuer du traitement embarqu avec cadencement et dclenchement personnaliss. La plate-forme PXI offre en outre un streaming de donnes et une synchronisation haute vitesse. Le tableau indique les Modules FlexRIO FPGA actuellement disponibles. Les Modules NI FlexRIO Adapter permettent de dfinir les entres et sorties physiques d'un systme NI FlexRIO ; ils sont interchangeables et personnalisables. National Instruments, ainsi que des fournisseurs tiers, proposent diffrents modules adaptateurs. Vous pouvez galement concevoir des modules adaptateurs personnaliss en utilisant le kit de dveloppement de module (NI FlexRIO Adapter MDK) et vos propres outils de conception de circuits imprims. Modules NI FlexRIO FPGA FPGA NI PXI-7951R Virtex-5 LX30 Mmoire embarque E/S d'usage gnral (DRAM) 0 Mo 128 Mo 128 Mo 128 Mo intgrent jusqu' 128 Mo

66 diffrentielles 132 asymtriques 66 diffrentielles NI PXI-7952R Virtex-5 LX50 132 asymtriques 66 diffrentielles NI PXI-7953R Virtex-5 LX85 132 asymtriques 66 diffrentielles NI PXI-7954R Virtex-5 LX110 132 asymtriques Tableau: Les Modules FlexRIO FPGA intgrent des FPGA Virtex-5 et de mmoire, s'adaptant ainsi aux applications les plus exigeantes.

Page 9 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Les Modules FlexRIO Adapter Trois options sont offre pour les modules adaptateurs d'E/S de la famille FlexRIO. En premier lieu, National Instruments dveloppe des modules adaptateurs pour des applications spcifiques, qui offrent une intgration logicielle parfaite avec le Module LabVIEW FPGA et le driver NI-RIO. Le premier de ces modules est le NI 6581, avec des E/S numriques 100 MHz et des niveaux de tension modifiables. Par ailleurs, il y a des dveloppeurs tiers partenaires de National Instruments qui conoivent galement des modules adaptateurs pour le NI FlexRIO. Enfin, si on ne trouve aucun module adaptateur rpondant aux besoins spcifiques de nos application, nous pouvons concevoir et construire notre propre module. Le kit de dveloppement de modules adaptateurs NI FlexRIO Adapter MDK est prvu cet effet. Notez bien que la construction d'un module adaptateur personnalis demande de l'exprience en matire de conception de circuits imprims et de VHDL. Plusieurs des partenaires National Instruments proposent galement leurs services de conception personnalise. Kit NI FlexRIO Adapter MDK (Module Development Kit) Le kit de dveloppement de module NI FlexRIO Adapter MDK est destin aux personnes expriments qui souhaitent dvelopper leurs propres modules adaptateurs FlexRIO. Ce kit fournit une documentation complte donnant des dtails lectriques et mcaniques, ainsi que des fichiers de CAO et pour le trac de circuits imprims, et enfin des botiers mtalliques d'usage gnral. On peut utiliser ces aides lors du dveloppement de schmas de circuits personnaliss et choisir parmi une trs large slection de logiciels de CAO pour concevoir leur carte de circuit imprim. Une fois la carte fabrique, ils peuvent y ajouter des composants, ainsi que les connecteurs mcaniques souhaits, afin d'optimiser la connectivit du systme autant que possible. La connaissance du code VHDL est ncessaire pour crer un n ud de proprit intellectuelle appel Socketed CLIP node l'aide de VHDL et d'un fichier XML. Cela permet de reprsenter correctement des E/S personnalises dans un projet LabVIEW FPGA. Les FPGA Introduction Nous allons introduire les lments fondamentaux d'un FPGA et dcouvrir les secrets de son fonctionnement. Ces informations sont toujours utiles lorsque l'on a recours des outils de conception haut niveau et peuvent faire la lumire sur le fonctionnement intrinsque d'une technologie extraordinaire. Que l'on utilise la programmation graphique, en C ANSI, ou VHDL, le processus de synthse est particulirement complexe et fait que lon s'interroge sur le fonctionnement rel des FPGA.

Page 10 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Field Programmable Gate Arrays Chaque circuit intgr FPGA est constitu d'un nombre limit de ressources prdfinies avec des interconnexions programmables pour mettre en uvre un circuit numrique reconfigurable.

Figure : Les diffrents lments d'un FPGA Dans les spcifications d'un circuit intgr FPGA nous trouverons la quantit de blocs logiques configurables, le nombre de blocs logiques de fonctions figes, comme les multiplicateurs et la taille des ressources de la mmoire telles que le bloc de RAM embarque. Un circuit intgr FPGA est compos de plusieurs autres lments, mais ceux-ci sont typiquement les plus importants lors du choix et de la comparaison des FPGA en vue d'une application spcifique. Au niveau le plus bas, les bloc logiques configurables, tels que les slices (tranches) ou les cellules logiques lmentaires, sont constitus de deux lments essentiels : des tables de correspondance (LUT ou Look-Up-Table) et des bascules Flip-Flop. Il est important de le souligner car les diverses familles des FPGA se distinguent par la faon dont les bascules et les LUT sont conditionnes ensemble. Les FPGA de la famille Virtex-II, par exemple, sont pourvus de slices avec deux LUT et deux bascules, tandis que ceux de la famille Virtex-5 ont des slices avec quatre LUT et quatre bascules. L'architecture des tables de correspondance elle-mme peut tre diffrente (quatre entres au lieu de six). Le Tableau ci-dessous rpertorie les spcifications des FPGA utiliss dans les cibles matrielles NI LabVIEW FPGA. Jusqu'ici le nombre de portes a permis de comparer les circuits intgrs FPGA avec la technologie ASIC, mais cela ne permet pas de connatre rellement le nombre de composants particuliers au sein d'un FPGA. C'est l'une des raisons pour laquelle Xilinx n'a pas spcifi le nombre de portes pour la nouvelle famille Virtex-5. Virtex-II Virtex-II Spartan-3 Spartan-3 Virtex-5 Virtex- Virtex-5 Virtex-5 1000 3000 1000 2000 LX30 5 LX50 LX85 LX110 Portes 1 millions 3 millions 1 millions 2 millions ----------------Bascules 10 240 28 672 15 360 40 960 19 200 28 800 51 840 69 120 LUT 10 240 28 672 15 360 40 960 19 200 28 800 51 840 69 120 Multiplicateur 40 96 24 40 32 48 48 64 Bloc de RAM 720 1 728 432 720 1 152 1 728 3 456 4 608 (kbit) Tableau : Spcifications des ressources FPGA pour diffrentes familles

Page 11 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Pour mieux comprendre ces spcifications, il convient de prendre en considration la faon dont le code est synthtis dans le circuit numrique. La synthse est le processus qui consiste traduire des langages de programmation de haut niveau en vritables mises en uvre matrielles. Pour tout morceau de code synthtisable donn, qu'il soit graphique ou textuel, il existe un schma de circuit correspondant qui dcrit la faon dont les blocs logiques devraient tre cbls les uns aux autres. Le Module LabVIEW FPGA ajoute de la logique autour de chaque fonction du diagramme avant d'envoyer le schma final au compilateur. Examinons une petite portion de code du diagramme pour voir quoi devrait ressembler le schma correspondant. La Figure suivante montre l'exemple de cinq signaux boolens transmis un ensemble de fonctions boolennes afin de calculer graphiquement une seule valeur binaire.

Figure : Petite portion de diagramme LabVIEW avec logique boolenne simple Dans des conditions normales, en dehors de la boucle cadence une seule priode de LabVIEW, le schma du circuit correspondant qui rsulte de la portion de diagramme de la Figure ci-dessus ressemble la Figure suivante.

Figure : Schma de circuit correspondant la logique boolenne Cela peut tre difficile discerner, mais il y a en fait deux branches de circuit cres en parallle. Les cinq fils noirs suprieurs aboutissent la premire branche, ce qui ajoute une bascule entre chaque opration boolen. Les cinq fils noirs infrieurs sont relis une seconde chane de logique avec le mme nombre de bascules, qui est cre pour suivre le nombre de priodes d'horloges ncessaires afin de propager les donnes travers le circuit numrique. Au total, 12 bascules et 12 LUT sont utilises pour la mise en uvre de ce schma. La branche suprieure et chaque composant sont analyss dans les paragraphes qui suivent.

Page 12 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Bascules

Symbole de la bascule Les bascules sont des registres dcalage binaires qui servent synchroniser la logique et enregistrer les tats logiques entre les priodes d'horloges. chaque front d'horloge, une bascule dclenche la valeur 1 ou 0 (VRAI ou FAUX) sur son entre et maintient cette valeur stable jusqu'au prochain front d'horloge. Dans des conditions normales, LabVIEW FPGA place une bascule entre chaque opration afin d'optimiser le temps de propagation disponible pour l'excution de chaque opration. L'exception cette rgle se produit lorsque le code est plac l'intrieur d'une boucle cadence une seule priode. Dans cette structure de boucle spcifique, les bascules sont ajoutes uniquement au dbut et la fin de l'itration de boucle, et c'est au programmeur de comprendre les considrations spcifiques au cadencement. La Figure cidessous reprsente la branche suprieure de la Figure prcdente, avec les bascules indiques en rouge.

Figure n : Schma reprsent avec les bascules en rouge Tables de correspondance (LUT)

Figure: LUT quatre entres La logique qui demeure dans le schma reprsent par la Figure ci-dessus est mise en uvre grce de trs petites quantits de RAM sous la forme de LUT. Il est facile de supposer que le nombre de portes du systme dans un FPGA se rapporte au nombre de portes NON ET et NON OU dans un circuit intgr spcifique, mais, en ralit, l'ensemble de la logique combinatoire (ET, OU, NON ET, XOU, etc.) est implmente en tant que tables de vrit dans la mmoire

Page 13 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

LUT. Une table de vrit est une liste prdfinie d'tats de sorties pour chaque combinaison d'entres. Voici un bref rappel des cours de logique numrique : L'opration ET boolenne, par exemple, est illustre ci-dessous :

Figure : Opration ET boolenne La table de vrit correspondante pour les deux entres d'une opration ET est reprsente dans ce Tableau.

Entre 1 Entre 2 Sortie 0 0 0 0 1 0 1 0 0 1 1 1 Tableau : Table de vrit pour une opration ET boolenne Vous pouvez aussi vous reprsenter les entres avec une indexation numrique pour tous les tats possibles des sorties, comme le montre ce Tableau Indice de LUT Sortie 0 (00) 0 1 (01) 0 2 (10) 0 3 (11) 1 Tableau : Implmentation LUT d'une table de vrit pour une opration ET boolenne Les FPGA des familles Virtex-II et Spartan-3 sont pourvus de tables de correspondance quatre entres pour mettre en uvre des tables de vrit avec jusqu' 16 combinaisons de quatre signaux d'entre. La Figure suivante est un exemple de mise en uvre de circuit quatre entres.

Page 14 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Figure : Circuit de quatre signaux d'entre correspondant la logique boolenne Le Tableau montre la table de vrit correspondante que l'on pourrait implmenter dans une LUT quatre entres. Indice de LUT Sortie 0 (0000) 1 1 (0001) 1 2 (0010) 1 3 (0011) 0 4 (0100) 0 5 (0101) 0 6 (0110) 0 7 (0111) 1 8 (1000) 0 9 (1001) 0 10 (1010) 0 11 (1011) 1 12 (1100) 0 13 (1101) 0 14 (1110) 0 15 (1111) 1 Tableau : Table de vrit correspondante pour le circuit de quatre signaux d'entre Les FPGA de la famille Virtex-5 utilisent des LUT six entres pour mettre en uvre des tables de vrit avec jusqu' 64 combinaisons de six signaux d'entre diffrents. Cela gagne en importance lorsque l'on utilise des boucles cadences une seule priode dans LabVIEW FPGA, tant donn que la logique combinatoire entre les bascules peut devenir trs complexe. Boucles cadences une seule priode L'exemple de code utilis dans les paragraphes prcdents supposait que le code tait plac en dehors du cas d'une boucle cadence une seule priode, et qu'un circuit annexe tait synthtis afin d'assurer l'excution par flux de donnes synchrone. La boucle cadence une seule priode est une structure particulire dans LabVIEW FPGA qui gnre un schma de circuit optimis, avec pour objectif que toutes les branches de logique puissent s'excuter dans un seul cycle d'horloge. Si une boucle cadence une seule priode est configure pour s'excuter 40 MHz, par exemple, toutes les branches de logique doivent s'excuter en l'espace d'une impulsion d'horloge de 25 ns.

Page 15 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Si l'on plaait la logique boolenne d'un des exemples rencontrs prcdemment l'intrieur d'une boucle cadence une seule priode (voir Figure), le schma de circuit correspondant gnr ressemblerait au circuit ci-aprs.

Figure : Logique boolenne simple l'intrieur d'une boucle cadence une seule priode

Figure : Schma de circuit correspondant la logique boolenne de la Figure ci-dessus Lorsqu'on la compare au schma prcdent reprsent par la Figure en page 12, il est vident que cette mise en uvre est beaucoup plus simple. La logique entre les bascules ncessiterait au moins deux LUT quatre entres sur un FPGA de la famille Virtex-II ou Spartan-3.

Figure : Une implmentation de la LUT quatre entres du schma de circuit reprsent par la Figure prcdent

Page 16 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

tant donn que les FPGA de la famille Virtex-5 sont dots de LUT six entres, on pourrait mettre en uvre exactement la mme logique au sein d'une seule LUT.

Figure : Une implmentation de la LUT six entres La boucle cadence une seule priode utilise dans cet exemple est configure pour s'excuter 40 MHz, ce qui signifie que la logique entre n'importe quelle bascule donne doit s'excuter en l'espace d'une impulsion d'horloge de 25 ns. La vitesse maximale laquelle le code peut s'excuter dpend de la propagation des lectrons travers le circuit. La branche de logique avec le temps de propagation le plus long est appele le chemin critique, et il dtermine la vitesse d'horloge maximale thorique pour cette partie du circuit. Les LUT six entres sur les FPGA de la famille Virtex-5 rduisent non seulement le nombre total de LUT ncessaires la mise en uvre d'une portion de logique donne, mais aussi le temps de propagation des lectrons travers cette portion. Cela signifie qu'il est possible de configurer la mme boucle cadence une seule priode pour des frquences d'horloge plus leves en choisissant tout simplement une cible matrielle Virtex-5. Multiplicateurs et DSP slices

Figure : Fonction Multiplier La tche apparemment simple qui consiste multiplier deux nombres peut s'avrer extrmement consommatrice de ressources et difficile mettre en uvre dans un circuit numrique. Pour fournir un certain cadre de rfrence, le Figure suivant reprsente le schma d'une des options d'implmentation d'un multiplicateur 4 bits par 4 bits utilisant la logique combinatoire.

Page 17 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Figure : Schma d'un multiplicateur 4 bits x 4 bits Imaginez maintenant que l'on multiplie deux nombres de 32 bits : vous obtenez au final plus de 2000 oprations pour une seule multiplication. De ce fait, les FPGA sont dots d'un circuit de multiplicateurs prconstruit pour conomiser l'utilisation des LUT et des bascules dans les applications de traitement du signal et de mathmatiques. Les FPGA des familles Virtex-II et Spartan-3 ont des multiplicateurs 18 bits x 18 bits, si bien que multiplier deux nombres de 32 bits requiert trois multiplicateurs pour une seule opration. De nombreux algorithmes de traitement du signal ncessitent de conserver le cumul des nombres multiplis, et, en consquence, les FPGA aux performances plus leves comme ceux de la famille Virtex-5 ont un circuit prconstruit multiplicateur-accumulateur. Ces blocs de traitement prconstruits, galement appels DSP48 slices, intgrent un multiplicateur 25 bits x 18 bits avec un circuit additionneur. LabVIEW FPGA, cependant, utilise la fonctionnalit des multiplicateurs de manire indpendante. Le Tableau suivant illustre les ressources de multiplicateurs pour diffrentes familles de FPGA. Virtex- Virtex- Spartan-3 Spartan-3 Virtex-5 Virtex-5 Virtex-5 Virtex-5 II 1000 II 3000 1000 2000 LX30 LX50 LX85 LX110 Nombre de multiplicateurs Type 40 18x18 96 18x18 24 18x18 40 18x18 32 48 48 64 DSP48 Slices

DSP48 DSP48 DSP48 Slices Slices Slices Tableau : Ressources des multiplicateurs pour divers FPGA

Page 18 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Bloc de RAM Les ressources de mmoire sont une autre spcification cl prendre en compte lors du choix des FPGA. Une mmoire RAM dfinie par l'utilisateur, embarque sur le circuit intgr FPGA, est utile pour le stockage d'ensembles de donnes ou faire passer des valeurs entre des boucles parallles. Selon la famille FPGA, il convient de configurer la RAM embarque en blocs de 16 ou 36 kbits. Il y a toujours la possibilit d'implmenter les ensembles de donnes sous forme de tableau utilisant des bascules. Toutefois, les tableaux volumineux deviennent rapidement fort consommateurs de ressources de logique FPGA. Un tableau comportant 100 lments de nombres de 32 bits pourrait consommer plus de 30 % des bascules dans un FPGA de la famille Virtex-II 1000 ou occuper moins de 1 % du bloc de RAM embarque. Les algorithmes de traitement de signaux numriques ont souvent besoin de conserver la trace d'un bloc entier de donnes, ou des coefficients d'une quation complexe, et sans mmoire embarque, de nombreuses fonctions de traitement ne pourraient pas s'intgrer dans la logique configurable d'un circuit intgr FPGA. La Figure ci-aprs reprsente les fonctions graphiques permettant de lire et d'crire dans la mmoire l'aide d'un bloc de RAM.

Figure : Fonctions de bloc de RAM pour lire et crire dans la mmoire Il est galement possible d'utiliser des blocs de mmoire afin de contenir des donnes de formes d'ondes priodiques pour la gnration de signaux embarque en stockant une priode complte sous la forme d'une table de valeurs et en indexant la table de manire squentielle. La frquence ultime du signal de sortie est dtermine par la vitesse laquelle les valeurs sont indexes. Cette mthode peut tre utilise afin de modifier de manire dynamique la frquence de sortie sans introduire de transition prononce dans la forme d'onde.

Figure : Fonctions de blocs de RAM pour buffers FIFO L'excution parallle propre aux FPGA permet aux portions indpendantes de la logique matrielle d'tre commandes par diffrentes horloges. Transmettre les donnes entre des logiques fonctionnant des frquences diffrentes peut s'avrer difficile, et la mmoire embarque est frquemment utilise dans le but de lisser le transfert l'aide de buffers FIFO (first-in-first-out ou premier entr, premier sorti). Il est possible de configurer les buffers FIFO, illustrs par la Figure ci-dessus, pour qu'ils aient des tailles diffrentes et garantir que les donnes ne soient pas perdues entre des parties asynchrones du circuit intgr FPGA. Le Tableau suivant reprsente le bloc de RAM configurable par l'utilisateur embarqu dans diverses familles de FPGA.

Page 19 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Virtex-II Virtex-II Spartan-3 Spartan-3 Virtex-5 Virtex-5 Virtex-5 Virtex-5 3000 1000 1000 2000 LX30 LX50 LX85 LX110 Mmoire RAM totale (kbits) Taille des blocs (kbits) 1728 720 432 720 1152 1728 3456 4608

16

16

16

16

36

36

36

36

Tableau : Ressources mmoire pour divers FPGA Les cinq principaux atouts de la technologie FPGA 1. 2. 3. 4. 5. Performances Temps de mise sur le march Cot Fiabilit Maintenance long terme

1. Performances - Comme ils tirent parti du paralllisme matriel, les FPGA offrent une puissance de calcul suprieure celle des processeurs de signaux numriques (DSP), car ils s'affranchissent du modle d'excution squentielle et excutent plus d'oprations par cycle d'horloge. BDTI, une importante socit d'analyse et de benchmarking , a publi des tudes montrant que les FPGA peuvent offrir une puissance de traitement par dollar plusieurs fois suprieure celle d'une solution DSP dans certaines applications. Contrler les entres et sorties (E/S) au niveau matriel permet d'obtenir des temps de rponse plus courts ainsi que des fonctionnalits spcifiques, qui rpondent mieux aux besoins de l'application. 2. Temps de mise sur le march - Face des proccupations croissantes concernant les temps de mise sur le march, la technologie FPGA reprsente une solution souple offrant des capacits de prototypage rapide. Ainsi, vous pouvez tester une ide ou un concept, puis le vrifier sur du matriel sans avoir passer par le long processus de fabrication d'un ASIC personnalis3. Par la suite, vous pourrez apporter les ventuelles modifications ncessaires votre FPGA, en quelques heures au lieu de quelques semaines. Le matriel sur tagre actuellement commercialis propose galement diffrents types d'E/S dj connectes un circuit FPGA programmable par l'utilisateur. La multiplication des outils logiciels de haut niveau disponibles sur le march permet de rduire le temps d'apprentissage avec les couches d'abstraction. Ces outils comprennent souvent des c urs de proprit intellectuelle (fonctions prcompiles) utiles pour le contrle avanc et le traitement de signaux. 3. Cot - Les cots d'ingnierie non rcurrents (NRE) des ASIC personnaliss sont bien suprieurs ceux des solutions matrielles bases sur du FPGA. L'important investissement de dpart que requirent les ASIC se justifie largement pour les OEM, par exemple, qui peuvent livrer des circuits par milliers chaque anne. Cependant, la plupart des utilisateurs finaux ont besoin de matriels personnaliss pour quelques dizaines ou quelques centaines de systmes en dveloppement. Par nature, les circuits programmables n'impliquent ni cot de fabrication, ni longs dlais d'assemblage. Les besoins de la plupart des systmes voluent avec le temps ; or la

Page 20 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

modification progressive d'un FPGA reprsente un cot ngligeable compar la dpense considrable qu'exige la reconception d'un ASIC. 4. Fiabilit - Tandis que les outils logiciels fournissent l'environnement de programmation, les circuits FPGA sont une vritable implmentation matrielle de l'excution logicielle. Les systmes bass processeur comprennent souvent plusieurs couches d'abstraction, pour aider la planification des tches et la rpartition des ressources entre les diffrents processus. La couche de driver contrle les ressources matrielles et le systme d'exploitation gre la mmoire et la bande passante du processeur. Sur chaque c ur de processeur, une seule instruction peut s'excuter la fois ; c'est pourquoi les systmes bass processeur risquent toujours de voir des tches prioritaires entrer en conflit. Les FPGA, qui n'utilisent pas de systme d'exploitation, minimisent les problmes de fiabilit car ils assurent une excution vritablement parallle et un matriel dterministe ddi chaque tche. 5. Maintenance long terme - Comme nous l'avons vu, les circuits FPGA sont volutifs et vous pargnent donc la dpense de temps et d'argent qu'implique la reconception des ASIC. Les spcifications des protocoles de communication numriques, par exemple, voluent avec le temps. Or les interfaces bases sur ASIC peuvent poser des problmes de maintenance et de compatibilit. Comme ils sont reconfigurables, les circuits FPGA sont capables de s'adapter aux modifications ventuellement ncessaires. mesure qu'un produit ou qu'un systme volue, vous pouvez y intgrer des amliorations fonctionnelles sans perdre de temps reconcevoir le matriel ou modifier l'implantation du circuit. Conclusion L'adoption de la technologie FPGA continue de s'tendre mesure que les outils de haut niveau voluent. Il demeure cependant important de jeter un il l'intrieur du FPGA et d'apprcier tout ce qui se produit rellement lorsque deux diagrammes sont compils afin de s'excuter dans du silicium. Comparer et slectionner des cibles matrielles en s'appuyant sur les bascules, les tables de correspondance, les multiplicateurs et le bloc de RAM est le meilleur moyen d'effectuer le bon choix de FPGA pour une application. Comprendre l'utilisation des ressources est extrmement utile lors du dveloppement, tout particulirement lors de l'optimisation de la taille et de la vitesse. Ces lments fondamentaux n'ont pas la prtention de constituer une liste exhaustive de toutes les ressources et il y a de nombreuses autres composantes des FPGA qui n'ont pas t abordes ici.

Prsentation du Module LabVIEW FPGA Introduction Le Module LabVIEW FPGA simplifie la programmation sur FPGA en offrant un environnement de dveloppement intuitif qui fait abstraction du code en langage de description du matriel et qui ouvre la programmation FPGA tous, quelle que soit leur exprience de la conception au niveau du matriel. Dans le Module LabVIEW FPGA, l'approche graphique par flux de donnes

Page 21 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

fait de lui une solution idale pour illustrer le paralllisme inhrent des processus qui s'excutent dans les FPGA. De plus, les dveloppeurs peuvent acclrer leur dveloppement d'applications LabVIEW FPGA avec plus de 200 blocs de proprit intellectuelle (IP) FPGA prconstruits dans le Module LabVIEW FPGA, dans certains toolkits LabVIEW et sur le site www.ni.com. Grce LabVIEW FPGA et au matriel d'E/S reconfigurables (RIO), il est possible de crer des E/S et du matriel de contrle personnaliss sans connaissance pralable des langages classiques HDL ni de la conception matrielle au niveau de la carte. Avec le Module NI LabVIEW FPGA, il est possible d'utiliser le dveloppement graphique LabVIEW pour synthtiser directement pour des FPGA ou pour du matriel NI RIO. Il est galement possible d'utiliser la technologie de FPGA reconfigurables, pour la personnalisation du matriel de mesure et de contrle, avec la mme programmation graphique intuitive que pour les systmes de test et de contrle. De plus, il est possible d'intgrer le matriel RIO avec le reste des applications LabVIEW for Windows ou LabVIEW Real-Time, grce aux fonctions d'interface FPGA de LabVIEW. Il est possible de crer un diagramme LabVIEW FPGA, de le compiler et de le tlcharger sur un matriel RIO. Ce code excute simultanment un compteur 32 bits, un gnrateur d'impulsions et un algorithme de contrle personnalis.

Les fonctionnalits du Module LabVIEW FPGA Estimation prcoce des ressources en terme de taille et de vitesse Un lment important des demandes des utilisateurs inclut une meilleure estimation de l'utilisation des ressource du FPGA sans attendre la fin de la compilation. Avec LabVIEW 2009, le compilateur prsente des estimations de taille et de vitesse de votre conception aprs l'tape de "synthse" et vous alerte lorsque ce rapport est prt pour la visualisation.

Page 22 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Dbogage de la violation de synchronisation avec l'animation du chemin critique Lorsqu'une violation de synchronisation se produit, galement dnomme "not meeting timing", il peut tre difficile de diagnostiquer le chemin critique et de rduire les contraintes de synchronisation en programmant plus efficacement et en ajoutant des tapes de pipeline. Dsormais, les violations de synchronisation gnrent un cran qui montre tous les VI du chemin critique et qui anime l'emplacement du VI sur le diagramme de FPGA. Cette fonctionnalit descend mme au niveau du sous-VI pour localiser la source d'une violation de synchronisation.

Nouvelles IP et IP amliores de mathmatiques et de traitement du signal haut dbit Les nouveaux VIs mathmatiques haut dbit offrent de nouvelles fonctions, comme sinus, cosinus et exponentielle, avec le protocole de handshaking haute vitesse qui leut permet d'tre utilises dans une boucle cadence monocycle. Vous disposez non seulement de nouvelles fonctions mathmatiques, mais vous pouvez aussi les utiliser avec d'autres fonctions dans une chane de signaux haut dbit comme les fonctions fentre, FFT et r-chantillonnage. Fonctionnalits d'intgration l'hte Du ct hte, LabVIEW 2009 ajoute deux nouvelles fonctionnalits importantes. Tout d'abord, NI a export une interface C qui permet de communiquer en C avec votre programme LabVIEW FPGA qui s'excute dans le matriel. La fonctionnalit inclut la lecture/criture dans les registres, le DMA et les interruptions. Ensuite, LabVIEW 2009 inclut de nouveaux VIs de mise l'chelle pour certaines fonctions IP FPGA. Par exemple, il existe un VI qui convertit les donnes brutes FFT en spectre ; un VI qui prpare des coefficients pour les VIs de filtrage FPGA et un VI qui relve frquence, amplitude et phase et retourne des valeurs utiliser avec les VIs de gnration de signaux. Simulation comportementale amliore Pour un dveloppement plus efficace, la simulation comportementale peut tre utilise pour excuter le code sur l'ordinateur de dveloppement et pour vrifier les fonctionnalits avant la compilation. De plus, il est possible d'utiliser des programmes LabVIEW qui certifient les vecteurs de test ou les valeurs interactives pour les n uds d'entre des E/S du FPGA (fieldprogrammable gate array). Capturez les sorties pour vrification et pour visualisation du comportement du FPGA, excutez l'hte simultanment avec le FPGA sur l'ordinateur de dveloppement, et obtenez le registre et les transferts DMA simuls entre le FPGA simul et le code hte. Avec ces nouvelles fonctionnalits, il est possible de crer un test de performances du code FPGA et de simuler le systme complet, sans devoir compiler systmatiquement pour vrifier la logique. Transforme de Fourier rapide et autres nouvelles IP Dans LabVIEW 8.6, il est devenu possible de mettre en uvre sur le FPGA une fonction Transforme de Fourier rapide (FFT) avec fentrage. Il s'agissait de l'une des fonctionnalits les

Page 23 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

plus demandes, et NI a introduit un c ur d'IP personnalisable qui permet d'excuter la fonction FFT, la fonction FFT inverse, des tailles binaires diverses et diffrents paramtres de dbit. NI a ajout des fonctions de r-chantillonnage rationnel, de division, de racine carre, de filtrage adaptif et de prise en charge du dpassement de capacit en virgule fixe. Support du mode en virgule fixe Le type de donnes en virgule fixe est dsormais support par quasiment toutes les entres du FPGA. Ceci inclut le support des fonctions DMA, de mmoire, de filtrage, PID, FFT, et l'ensemble des fonctions arithmtiques. De plus, le type de donnes en virgule fixe offre une option d'ajout sur le fil d'un bit de dpassement de capacit. NI va continuer amliorer le support des fonctions en virgule fixe pour rsoudre ce dfi de conception particulier, ncessaire pour un fonctionnement avec des cibles dont les ressources sont restreintes. IP de niveau composant (CLIP) Cette IP de niveau composant est une nouvelle faon d'importer et d'utiliser une IP externe crite dans un langage de description de matriels (HDL). Les implmentations instancies avec CLIP sont excutes en parallle des diagrammes LabVIEW et on communique avec elles par des n uds d'E/S crs par l'utilisateur. Avec certaines cibles matrielles, il est possible d'utiliser CLIP pour dialoguer directement avec les broches d'E/S. Les fonctions CLIP ouvrent encore plus la plate-forme FPGA pour inclure tous les types d'IP, qui peuvent se rvler plus adaptes pour s'excuter en parallle plutt que dans des flux de donnes comme l'excution du n ud HDL en cours. Assistant FPGA Project Wizard Le nouvel assistant FPGA Project Wizard permet de crer un projet LabVIEW complet, comprenant une cible FPGA et des E/S configures et prtes tre programmes. Parce qu'il peut tre directement reli l'assistant FPGA Wizard existant, vous pourrez rapidement gnrer du code fonctionnel pour les E/S analogiques et numriques, les compteurs et pour les mesures par encodeur en quadrature. L'assistant FPGA Project Wizard est amlior grce de nouvelles options DMA pour le FPGA et la gnration de code sur l'hte.

Page 24 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

IP de contrle, de filtrage et de gnration de signaux Le Module LabVIEW FPGA inclut de nouvelles IP dans la palette FPGA. Quant aux IP existantes, elles ont t amliores, pour une meilleure utilisation des ressources sur le FPGA. Contrle : inclus dans le Toolkit PID, le bloc PID (proportionnelle, intgrale, drive) du FPGA fonctionne dsormais pour plusieurs voies, afin que les utilisateurs puissent entrer un tableau de voies dans la mme logique PID sur le FPGA. Cette amlioration est particulirement importante pour les applications grand nombre de voies. Le nombre de voies possibles est pass de 8 256, pour une cible 1 million de portes. De plus, le test de performances pour une seule voie est trois fois plus rapide et utilise presque 20 % de ressources FPGA en moins.

Filtrage : tous les filtres sont galement compatibles avec de multiples voies. LabVIEW FPGA inclut galement un nouveau filtre de crevasse (notch), qui arrondit les filtres passe-haut et passe-bas de Butterworth existants.

Gnration de signaux : en plus du gnrateur de signaux existants, LabVIEW FPGA offre dsormais un gnrateur de signaux carrs et des gnrateurs de bruit (gaussien et blanc). Fonctionnalits de modularit et de rutilisation du code Contrles des noms des E/S : intgrez des mthodes, des proprits et des n uds d'E/S, dans les sous-VIs, en spcifiant les lments d'E/S par un fil. Contrles de type horloge : utilisez un fil pour spcifier quelle horloge, telle qu'une horloge intgre ou une horloge drive, doit tre utilise pour une boucle de cadencement monocycle particulire.

N ud de rtrocontrle amlior : placez un n ud de rtrocontrle n'importe o dans un diagramme, afin de sortir du contexte d'une boucle. Les n uds de rtrocontrle peuvent s'avrer trs utiles pour le stockage d'tats ou pour l'utilisation d'un pipeline. Ils fonctionnent dsormais partout, y compris dans les sous-VIs.

Page 25 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

IP de mathmatiques et d'analyse pour FPGA Le Module LabVIEW FPGA offre de nouvelles fonctions d'analyse natives afin de permettre la rutilisation du code des fonctionnalits de base de traitement et de contrle des signaux communes aux FPGA. Cette nouvelle IP inclut :
y

Mesures du courant continu (DC) et de la valeur efficace (root-mean-square, RMS) : calculez les valeurs de courant continu, de valeur efficace, de somme, de moyenne ou de somme des carrs d'un signal Filtres de Butterworth : filtrez un signal d'entre en utilisant un filtre de Butterworth configurable avec ce VI Express Mesure de priode : calculez la priode d'un signal priodique chantillonn au hasard en utilisant la dtection de franchissement de seuil

Assistant FPGA Wizard Vous pouvez concevoir des E/S de FPGA et un cadencement pour vos applications d'acquisition de donnes intelligentes grce l'Assistant FPGA Wizard. Cet assistant configuratif permet de slectionner le cadencement et la synchronisation entre le matriel FPGA et le VI hte. Aprs la slection du cadencement, il est possible de configurer les E/S analogiques, numriques, de compteur ou d'encodeur en quadrature. Une fois la configuration effectue, il est possible de l'enregistrer et de gnrer du code hte et du code FPGA de base. Du code supplmentaire peuttre intgr pour complter les fonctions de votre application telles que les algorithmes de contrle, l'enregistrement de donnes ou la mise en rseau des donnes.

Page 26 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Nouveaux VIs de gestion de la mmoire Avec la nouvelle interface de lecture et d'criture en mmoire, il est dsormais possible d'accder l'ensemble des 80 Ko de mmoire des circuits 1 million de portes et des 190 Ko de mmoire des circuits 3 millions de portes. La mmoire est utilisable pour enregistrer des donnes des fins de gnration de signaux ou pour viter de se servir des tableaux qui utilisent inefficacement les portes FPGA.

Projet LabVIEW Avec le Projet LabVIEW, il est non seulement possible de cibler et d'ouvrir des VIs dans LabVIEW pour Windows, le Module LabVIEW FPGA, le Module LabVIEW Real-Time et d'autres modules LabVIEW simultanment, mais galement de dvelopper des applications LabVIEW FPGA. Comme indiqu ci-dessous, le Projet LabVIEWpeut tre utilis pour crer et pour grer toutes les ressources FPGA dont :
y y y y y

des VIs E/S FPGA des horloges personnalises des configurations CompactRIO des mmoires FIFO FPGA

Transferts de donnes de type DMA Les capacits d'accs direct la mmoire (DMA) du Module LabVIEW FPGA permettent de s'affranchir des limitations de dbit entre le matriel FPGA et l'hte. Alors que les FPGA des matriels E/S reconfigurables (RIO) peuvent fonctionner des frquences allant jusqu' 20 MHz, les vitesses de streaming de donnes les plus rapides hors DMA sont d'environ 1 Mo/s. Le

Page 27 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Module LabVIEW FPGA implmente le DMA sur tous les matriels NI de la Srie R et CompactRIO, pour obtenir au mimimum une augmentation des vitesses de streaming de donnes d'un facteur 20 entre le FPGA et une application hte, comparer d'autres implmentations telles que l'utilisation des requtes d'interruption. Le DMA offre un lien direct donnes-vers-RAM sur la machine hte. Se baser sur le processeur hte pour transfrer des donnes en continu du priphrique vers l'hte conduit souvent des latences et peut provoquer un goulet d'tranglement du transfert de donnes. L'utilisation des requtes d'interruption consomme galement des cycles d'horloge du processeur et augmente la charge globale du processeur hte. Avec LabVIEW FPGA, on obtient des transferts de donnes plus efficaces du priphrique vers l'hte et de l'hte vers le priphrique qui court-circuitent le processeur, en crant un systme d'acquisition de donnes hautes performances pour toutes les applications. Pour utiliser le DMA, crez simplement deux mmoires tampon, l'une sur le matriel FPGA et l'autre sur le processeur hte. LabVIEW va ainsi transfrer des donnes efficacement et de faon transparente sur le bus PCI. Le Module LabVIEW FPGA utilise des mmoires FIFO FPGA configures pour que le DMA crive et lise la mmoire DMA et qui utilise les mthodes d'appel du FPGA du ct hte pour crer, lire et crire partir de la mmoire hte. Le DMA amliore de manire significative les performances du matriel RIO, pour des applications telles que l'acquisition de donnes intelligente avec mise en mmoire tampon, les matriels de communication avec streaming numrique, l'acquisition de donnes bord de vhicules et la maintenance prventive.

E/S de FPGA par glisser-dposer Avec LabVIEW FPGA, il est possible d'accder rapidement aux E/S des matriels RIO par des fonctions d'E/S matrielles spcifiques (cependant, les palettes de fonctions LabVIEW FPGA mentionnes dans ce document sont spcifiques aux cibles d'excution FPGA et intgrent des fonctions uniquement disponibles lorsqu'elles ciblent un matriel FPGA ou un mulateur de matriel FPGA). Le Module LabVIEW FPGA permet un accs direct monopoint aux E/S analogiques et numriques, sur du matriel RIO de NI. Avec le Module LabVIEW FPGA, il est possible de glisser et de dposer directement des E/S depuis la fentre Projet de LabVIEW sur le diagramme du VI FPGA.

Page 28 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Le Module LabVIEW FPGA offre de nombreuses fonctions d'E/S matrielles, dont les suivantes :
y y y y y y y y

Entre analogique Sortie analogique Entre numrique Sortie numrique Entre de port numrique Sortie de port numrique N ud de mthode d'E/S N ud de proprits d'E/S

Boucle cadence monocycle La structure de boucle cadence LabVIEW excute une boucle d'une priode dfinie. Utilisez la boucle cadence pour dvelopper des VIs ayant des capacits de cadencement multifrquences, un cadencement prcis et une gnration de rtrocontrle sur l'excution de la boucle d'excution ou pour modifier dynamiquement les caractristiques de cadencement ou plusieurs niveaux de priorit d'excution. La boucle cadence monocycle de LabVIEW FPGA est une boucle cadence spcialise avec laquelle il est possible de dvelopper des applications LabVIEW FPGA aussi efficacement (en termes de vitesse et d'espace) que par programmation HDL code la main. La boucle cadence monocycle est similaire un processus cadenc en VHDL. L'ensemble du code LabVIEW situ dans la boucle est une logique combinatoire sur le FPGA, o les entres proviennent de composants tels que des fonctions d'entre numrique, des contrles ou des registres dcalage vers la gauche et les sorties sont des fonctions de sortie numrique, des indicateurs et des registres dcalage vers la droite. Il est ais de tirer parti d'une boucle cadence monocycle : utilisez-la comme une boucle While classique. La boucle cadence monocycle permet l'excution de l'ensemble du code d'une boucle pendant un seul et unique cycle d'horloge (25 ns). Bien qu'il existe certaines limitations la boucle cadence monocycle, comme de faire en sorte de faire tenir l'excution de l'ensemble du code pendant seul un cycle d'horloge, son utilisation permet d'obtenir un code particulirement efficace pour l'excution des E/S numriques, ainsi qu'une logique et un traitement du signal simples. N ud d'interface HDL Il est possible d'intgrer une IP HDL existante directement dans un VI LabVIEW FPGA grce au n ud d'interface HDL et de reprsenter ce code sous la forme d'un unique bloc de fonction dans LabVIEW. Ce code est ensuite rutilisable dans la mme application ou dans d'autres applications avec le mme bloc de fonction. Si vous avez un bloc de code HDL utiliser dans un

Page 29 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

VI FPGA, vous pouvez saisir le code VHDL directement dans le n ud d'interface HDL ou faire rfrence un fichier .vhd externe, plutt que de r-crire le code en LabVIEW.

Intgration de code VHDL personnalis dans un diagramme LabVIEW

Personnalisation des conceptions en C/C++ avec un FPGA de NI Pour la plupart des programmeurs en C, l'utilisation d'un FPGA avec les matriels existants ncessite des connaissances approfondies du VHDL ou d'autres langages de description du matriel qui sortent de leur champ d'expertise. National Instruments a cr des matriels d'E/S reconfigurables (RIO) bass FPGA, programms en NI LabVIEW plutt qu'en VHDL. NI distribue une interface C-cibles LabVIEW FPGA qui facilite l'ajout de fonctionnalits RIO personnalises leurs applications htes par les dveloppeurs en C/C++.

Page 30 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Figure : Les dveloppeurs en C/C++ peuvent dsormais s'interfacer facilement au matriel NI bas FPGA en utilisant la nouvelle interface C-LabVIEW FPGA. La nouvelle interface C-LabVIEW FPGA ouvre le matriel NI bas FPGA, comme les systmes NI CompactRIO, NI FlexRIO et d'acquisition de donnes de la Srie R (DAQ), aux applications htes bases sur LabVIEW et sur le C/C++. Cette interface de programmation permet aux dveloppeurs en C/C++ de tirer parti de LabVIEW FPGA et du matriel NI d'E/S reconfigurables (RIO), pour les systmes embarqus de contrle et d'acquisition. Avec la nouvelle interface C pour LabVIEW FPGA, les dveloppeurs peuvent se servir des outils graphiques LabVIEW pour programmer le FPGA partir du matriel NI, puis programmer le reste du systme en LabVIEW ou C/C++. Cette nouvelle fonctionnalit de LabVIEW FPGA offre aux personnes possdant une expertise du C la possibilit d'utiliser les FPGA depuis leurs conceptions sans avoir apprendre la conception au niveau du matriel, ainsi que l'option de rutiliser leur code C hte. L'API de pointe qui constitue l'interface C-FPGA se trouve sur NI Labs, le laboratoire de recherche virtuel de National Instruments. Les dveloppeurs peuvent utiliser la nouvelle interface C-LabVIEW FPGA pour programmer le processeur temps rel sur du matriel NI FPGA en utilisant des outils C tels que NI LabWindows/CVI, Microsoft Visual Studio ou Wind River Workbench et pour s'interfacer au code LabVIEW FPGA qui s'excute sur le FPGA. Choisir une solution de compilation et un outil de dveloppement appropri pour le C dpend de la cible matrielle de dploiement final et du systme d'exploitation associ. Les dveloppeurs peuvent aussi choisir de programmer le processeur en utilisant le Module LabVIEW Real-Time, qui inclut des outils destins la mise au point bas niveau de systmes, au cadencement de prcision de l'excution et au multitraitement symtrique multithread (SMP), pour apporter plus de souplesse et de fonctionnalits aux applications temps rel dterministes.

Page 31 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Figure : L'interface C-LabVIEW FPGA fonctionne avec un large ventail d'outils NI et de tiers pour le C/C++, en fonction de l'architecture matrielle et du systme d'exploitation mis en uvre dans la conception finale. La version de pointe de l'API de l'interface C-FPGA inclut pratiquement les mmes fonctionnalits que l'interface LabVIEW hte pour FPGA, dont les capacits d'crire et de lire sur des contrles de faces-avant de FPGA, un streaming DMA cible-vers-hte et hte-vers-cible, ainsi que l'assertion et l'acquittement IRQ. Le dpartement R&D de NI continuera de dvelopper et de supporter cette fonctionnalit via NI Labs, ainsi que de fournir des mises jour incrmentielles qui ajoutent des fonctionnalits jusqu' leur intgration dans de futures versions du logiciel LabVIEW FPGA et des drivers qui seront distribus.

Figure : Intgration du code C dans LabVIEW via le n ud C en ligne

Applications Les technologies LabVIEW FPGA et RIO reprsentent la solution idale pour des applications qui ncessitent un matriel personnalis. Lorsque les exigences de test voluent, il est possible de

Page 32 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

modifier simplement le diagramme du VI FPGA, au lieu de rformer le matriel personnalis construit. Les applications qui ncessitent souvent du matriel personnalis incluent : y des matriels d'E/S personnaliss pour : o les routines de cadencement et de dclenchement personnalises o le mixage personnalis de compteurs analogiques et numriques, ainsi que de dclencheurs dans un seul matriel o les compteurs grand nombre de voies, la dtection d'vnements et l'horodatage o le conditionnement de signaux et le traitement parallle personnaliss y les protocoles de communication numrique y le prototypage rapide de systmes de contrle y la simulation Hardware-In-the-Loop (HIL) y l'acquisition de donnes bord de vhicules y le contrle de machines y le contrle d'tat des machines Conception graphique de systmes pour le contrle industriel Introduction Le dveloppement de systmes embarqus pour le contrle industriel reposant sur une chane doutils de programmation graphique et de contrleurs dautomatismes programmables (PAC).

Le processus traditionnel pour concevoir des systmes de contrle industriel embarqus implique en gnral plusieurs tapes de dveloppement qui ncessitent des outils spcialiss dautomatisation de conception lectronique (EDA), comme des outils de diagrammes d'tat et

Page 33 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

de trac de diagrammes, des outils de simulation de circuit SPICE, de topologie et de routage des cartes, des outils de conception de systmes de contrle, d'analyse d'lments finis (FEA), de langages C et VHDL, de plusieurs compilateurs propres la cible, et enfin des outils dinterface homme-machine (IHM). Les nouveaux outils automatiss de conception graphique de systmes ainsi que les systmes base de matriel PAC peuvent vous aider rationaliser le processus de dveloppement du contrle industriel. Ces nouveaux outils de conception graphique permettent une entire personnalisation des FPGA, des processeurs temps rel et des modules dE/S industriels grce au langage de programmation graphique LabVIEW. Grce aux outils LabVIEW, vous pouvez accder des ressources bas niveau tout en profitant d'une programmation embarque simple ainsi qu une centaine de fonctions intgres conues pour automatiser les tches de contrle industriel courantes. Les systmes base de matriel PAC, comme le systme embarqu CompactRIO, sont conus pour une intgration transparente avec la chane doutils de conception. Grce aux PAC, vous pouvez construire des systmes incorporant des fonctionnalits logicielles comme le contrle, la communication, lenregistrement de donnes et le traitement de signaux avec un contrleur durci effectuant de la logique, de la commande daxes, du contrle de processus et de la vision.

Figure : La chane doutils de programmation graphique pour le dveloppement de systmes embarqus Dvelopper une logique FPGA personnalise Inutile dtre un expert en programmation VHDL pour profiter de la fiabilit et des performances du matriel FPGA. En effet, le module LabVIEW FPGA permet de dvelopper rapidement des applications pour le CompactRIO en gnrant du code VHDL partir dun code source graphique LabVIEW, puis en procdant automatiquement loptimisation, la synthse et au tlchargement. LabVIEW offre un langage de programmation complet pour le matriel RIO qui bnficie des capacits de traitement parallle du FPGA et permet lexcution de certaines portions du code sur un cycle dhorloge (40 MHz). Outre les structures lmentaires de programmation et les fonctions logiques numriques, vous pouvez aussi insrer des fonctions pour la commande d'axes, la rgulation PID, l'analyse, la gnration de formes d'ondes, les filtres, etc.

Page 34 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Figure : Boucles parallles dans un code LabVIEW FPGA

Traitement matriel temps rel Avec le module LabVIEW Real-Time, vous pouvez utiliser sur un processeur virgule flottante dont lexcution est dterministe plus de 650 blocs de fonctions pour la commande daxes, la rgulation PID, lanalyse, etc. Une application temps rel sappuie gnralement sur deux boucles parallles. La boucle temps critique sinterface au FPGA pour garantir une interaction dterministe avec les E/S du FPGA. Vous pouvez synchroniser l'excution de cette boucle laide des interruptions matrielles. Elle est gnralement en charge de la logique de contrle tandis que la seconde boucle (priorit normale) remplit des tches de stockage de donnes, d'analyse et de communication avec un ordinateur distant via en rseau.

Figure : Boucle de traitement temps rel dans LabVIEW Real-Time

Page 35 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Interface Homme-Machine (IHM) Vous pouvez concevoir une interface utilisateur pour votre systme de contrle industriel partir de nimporte quel ordinateur Windows/Linux/Macintosh. En effet, les contrleurs LabVIEW Real-Time intgrent un serveur Web qui publie automatiquement linterface utilisateur de l'application temps rel sur le rseau.

Figure : IHM sans programmation

Architecture matrielle Le CompactRIO est un systme embarqu reconfigurable et durci, compos de trois lments : des modules d'E/S industriels, un FPGA et un contrleur temps rel.

Page 36 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Figure : Architecture matrielle du systme embarqu CompactRIO

Modules dE/S Les modules dE/S disposent dune isolation, dun circuit de conversion, dun conditionnement de signaux et dune connectivit intgre pour assurer un branchement direct aux capteurs/actionneurs. En intgrant la connectique dans les modules, le systme CompactRIO rduit de faon significative l'espace et les cots dvolus au cblage. Il existe plusieurs types diffrents dE/S, dont des entres thermocouples 80 mV, des E/S analogiques chantillonnage simultan 10 V, des E/S numriques 24 V avec sortie courant de 1 A max/, des entres numriques diffrentielles TTL et des entres pour les acclromtres IEPE 24 bits.

Figure : Modules d'E/S CompactRIO avec options de cblage D-Sub, BNC et borniers vis

Page 37 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Chssis FPGA reconfigurable Le chssis FPGA est au c ur de l'architecture systme embarque. Le FPGA est connect aux modules d'E/S dans une topologie en toile, pour garantir un accs direct au circuit d'E/S de chaque module, une grande souplesse en termes de synchronisation et de dclenchement. Vu que chaque module est connect directement au FPGA plutt que via un bus, il ny a presque aucune latence pour la rponse du systme compare dautres contrleurs industriels. Un chssis unique peut excuter plus de 20 boucles de contrle PID analogiques simultanment une vitesse de 100 kHz.

Figure : Chssis FPGA CompactRIO

La nature reconfigurable du CompactRIO et de LabVIEW FPGA change les rgles pour le contrle industriel et le contrle de vibration. Le rsultat final est un systme embarqu conomique et durci qui peut se dployer sur toute une varit dapplications et denvironnements o lquipement traditionnel ne conviendrait pas." - Darren Lingafeldt, Ingnieur systmes pour Nexjen Systems, fournisseur dquipement de test lectrique renforc et de systmes de contrle de vibration personnaliss Contrleur temps rel Le contrleur temps rel contient un processeur industriel qui excute de faon fiable et dterministe les applications LabVIEW Real-Time. Il offre des possibilits de contrle multivitesse, les moyens de trac lexcution du code et une communication avec les priphriques. Parmi les fonctionnalits supplmentaires, citons les entres dalimentation lectrique doubles de 11 30 Vdc, un connecteur DIP, des LED indicateurs dtat, une horloge temps rel, des chiens de garde, et dautres fonctionnalits toutes lies la fiabilit.

Page 38 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Figure : Contrleur CompactRIO temps rel

Spcifications CompactRIO

Page 39 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

Dveloppement de modules personnaliss Grce au kit CompactRIO Module Development, vous pouvez dvelopper des modules personnaliss pour satisfaire certains des besoins spcifiques. Ce kit donne accs larchitecture lectrique du CompactRIO et permet donc de concevoir des modules d'E/S spcialiss. Il contient de plus des bibliothques LabVIEW FPGA afin de sinterfacer votre module personnalis et garantir des transferts de donnes des vitesses suprieures 40 Mo/s. Les deux Figures suivantes illustrent les configurations et les topologies dun module CompactRIO VR personnalis.

Figure : Configuration du module VR ( reluctance variable)

Figure : Disposition PCB finie pour un module personnalis

Page 40 of 41

Mini-Projet Master 2 EIP Yannick CORNET et Li Bao Qian

Encadrant : Monsieur Grard Leroy

"Le CompactRIO et le kit de dveloppement de modules offrent un systme de prototypage universel et puissant que les ingnieurs de conception de systmes de contrle utilisent pour rapidement mettre en uvre des systmes embarques trs personnaliss partir doutils standards." - Carroll G. Dase, Prsident de Drivven, Inc., fournisseur de solutions de contrle automobile et dacquisition de donnes Applications types de contrle industriel :
y y y y y y

Conditionnement industriel Machines souder Commande d axes haute vitesse Mlange chimique Machines de fixation Maintenance prventive

Page 41 of 41