Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
N° d’ordre : ….
Série : ….
Mémoire
Présenté en vue de l’obtention du
Diplôme de Master en Electrotechnique
Option
Electrotechnique
Thème
Présenté par:
Abdelouadoud Saadi
Encadreurs:
Dr. Kamal Messaoudi
Dr. Louze Fateh
Promotion 2012/2013
بسم هللا الرمحن الرحمي
Remerciements
Remerciements
Avant tout. Je tiens à remercier mon dieu d’abord, qui
m’a donné le courage et la patience pour arriver au bout
de mes études.
Saadi Abdelouadoud
Dédicace
Dédicace
Je dédie ce Mémoire
reconnaissance.
leur soin.
A toute ma famille
Abdelouadoud Saadi
Sommaire
Sommaire
Références Bibliographiques......................................................................................................... 42
Introduction général
INTRODUCTION GENERAL
Les concepteurs des systèmes de commande modernes s’investissent, de plus en plus, dans
le contrôle de projets en associant plusieurs disciplines et technologies. Pour répondre aux
différents besoins de l’industrie moderne, notamment la conception des systèmes de commande,
le recours aux outils de Conception Assistée par Ordinateur (CAO) est plus qu’indispensable.
L’avantage des méthodes de CAO est de faire une conception matérielle et logicielle
simultanément afin de réduire le temps de développement et d’augmenter la fiabilité par le test
des prototypes virtuels avant la réalisation sur un circuit intégré. Ce dernier sera le lieu
d’implantation de la solution finale.
Il est aussi indispensable de mettre en place des méthodes et des outils facilitant l'intégration de
solutions analogiques, numériques et mixtes. L’introduction et l’accumulation d’innovations
technologiques sur les circuits intégrés ainsi que leurs expansions ont permis l’automatisation
des tâches considérées complexes auparavant. L’approche classique de programmation
séquentielle qui est une solution logicielle est considérée insuffisante pour la commande en
temps réel des systèmes. Et ceci à cause des exigences de temps d’exécution qui ne cessent
d’augmenter. L’approche par la programmation architecturale qui est une solution matérielle
permet de surpasser relativement cet inconvénient.
1
Introduction général
Ce travail a pour objectif l’élaboration d’une étude complète des circuits reconfigurables avec
une conception, une simulation et une réalisation d’un circuit numérique pour la commande d’un
onduleur triphasé à base d’un circuit reconfigurable de type FPGA. Le but final de notre travail
consiste à l’amélioration des performances et la fiabilité du circuit de commande en tenant
compte des spécificités structurelles des circuits reconfigurables FPGA. Plusieurs résultats de
simulation, de synthèse et d’implémentation sont fournis à la fin de ce travail.
Pour bien présenter les résultats de simulation et les résultats pratiques du système de commande
proposé, nous allons organiser notre travail de la manière suivante :
Dans le premier chapitre nous nous intéressons aux circuits logiques reprogrammables et en
particulier les FPGA. Nous donnons aussi les caractéristiques des deux plateformes de
prototypages rapides utilisées dans nos implémentations à savoir la carte XUPV5 de Xilinx
et ED2 de Altéra. Nous donnons aussi dans ce chapitre les outils de conception des systèmes
sur FPGA ;
Le deuxième chapitre est consacré à une brève étude sur la commande numérique des
systèmes et en particulier la commande MLI Pré-calculée et la commande MLI sinus
triangulaire. Ces deux méthodes de commande vont être l’objet d’une implémentation
matérielle sur FPGA dans le chapitre suivant.
Le troisième chapitre représente la partie la plus importante de notre travail. Nous
présenterons une description détaillée des architectures matérielles réalisées. Nous donnons
ainsi les résultats de synthèse et de simulation du système de commande à base d’un circuit
FPGA ;
Enfin, nous terminons notre travail avec une conclusion générale et des perspectives.
2
Chapitre I : Les circuits reprogrammables et les outils de conception
Les premiers circuits programmables déposés sur le marché sont les PROM (Programmable
Read Only Memory). Dans ces circuits, le bus d’adresses est utilisé comme entrée et le bus de
données comme sortie du circuit logique à réaliser. Les limitations de ce type de composants
pour la réalisation d’architectures logiques ont vite trouvé leurs limites et nous avons vu
apparaître les FPLA (Field Programmable Logic Array). Actuellement, différentes familles de
circuits programmables sont disponibles et à faibles prix (Figure 1.1), tels que les PLD
(Programmable Logic Device), les CPLDs (Complex Logic Programmable Device) et les FPGAs
[01]. La différence entre ces composants est structurelle. Les CPLDs sont des composants pour
la plupart reprogrammables électriquement ou à fusibles, peu chers et très rapides (fréquence de
fonctionnement élevée) mais avec une capacité fonctionnelle moindre que les FPGA. La figure
suivante montre les différentes familles des circuits programmables :
Les premiers circuits programmables apparus sur le marché sont les PROM bipolaires à
fusibles. Cette mémoire est l'association d'un réseau de ET fixes, réalisant le décodage d'adresse,
et d'un réseau de OU programmables, réalisant le plan mémoire proprement dit (Figure 1.2-a).
On peut facilement comprendre que, outre le stockage de données qui est sa première fonction,
cette mémoire puisse être utilisée en tant que circuit logique. Chaque sortie peut réaliser une
3
Chapitre I : Les circuits reprogrammables et les outils de conception
Le concept du PLA a été développé il y a plus de 20 ans. Il reprend la technique des fusibles
des PROM bipolaires. La programmation consiste à faire sauter les fusibles pour réaliser la
fonction logique désirée. La structure des PLA est une évolution des PROM bipolaires (Figure
1.2-b). Elle est constituée d'un réseau de « ET » et d'un réseau de « OU » programmables. Avec
cette structure, on peut implémenter n'importe quelle fonction logique combinatoire. Ces circuits
sont évidemment très souples d'emploi, mais ils sont plus difficiles à utiliser que les PROM.
Statistiquement, il s'avère inutile d'avoir autant de possibilité de programmation, d'autant que les
fusibles prennent beaucoup de place sur le silicium. Ce type de circuit n'a pas réussi à pénétrer le
marché des circuits programmables. La demande s'est plutôt orientée vers les circuits PAL [03].
Contrairement aux PLA, les PAL (Programmable Array Logic) imposent un réseau de OU
fixes et un réseau de ET programmables. La technologie employée est la même que pour les
PLA. La figure 1.3 représente la structure logique d'un PAL où chaque sortie intègre 4 termes
produits de 4 variables. L'architecture du PAL a été conçue à partir d'observations indiquant
4
Chapitre I : Les circuits reprogrammables et les outils de conception
qu'une grande partie des fonctions logiques ne requiert que quelques termes produits par sortie.
L'avantage de cette architecture est l'augmentation de la vitesse par rapport aux PLA. En effet,
comme le nombre de connexions est diminué, la longueur des lignes d'interconnexion est réduite.
Le temps de propagation entre une entrée et une sortie est par conséquent réduit [03].
Les EPLD (Erasable Programmable logic Device) sont des circuits programmables
électriquement et effaçables après leurs utilisations, soit par exposition aux UV pour les plus
anciens modèles, soit électriquement pour les nouveaux modèles. Ces circuits, développés en
premier par la firme ALTERA, sont arrivés sur le marché en 1985. Les EPLD sont une évolution
importante des PAL CMOS. Ils sont basés sur le même principe pour la réalisation des fonctions
logiques de base. Les procédés physiques d'intégration permis par les EPLD sont nettement plus
importants que ceux autorisés par les PAL CMOS. En effet, les plus gros EPLD actuellement
commercialisés intègrent jusqu'à 24000 portes logiques. On peut ainsi loger dans un seul boîtier,
l'équivalent d'un schéma logique utilisant jusqu'à 50 à 100 PAL classiques [01].
Comme les PAL CMOS, les EPLD font appel à la notion de macro-cellule qui permet, par
programmation, de réaliser de nombreuses fonctions logiques combinatoires ou séquentielles. Le
schéma type de la macro-cellule de base d'un EPLD est présenté sur la figure 1.4. On remarque
que le réseau logique est composé de 3 sous-ensembles :
5
Chapitre I : Les circuits reprogrammables et les outils de conception
Les premiers circuits FPGA lancés sur le marché en 1984 par la firme XILINX. Ensuite,
plusieurs constructeurs ont été intéressés à cette technologie. Selon une première classification
nous pouvons définir deux grands types de circuits FPGA :
Ce sont des circuits pré-diffusés programmables. Leurs principes de concept sont basés sur
l'utilisation d'un multiplexeur comme élément combinatoire de la cellule de base. La figure 1.5
représente la cellule type de base d'un FPGA. Elle comprend un multiplexeur 8 vers 1 permettant
de réaliser n’importe quelle fonction logique combinatoire de 4 variables (appelé LUT : Look Up
Table ou encore générateur de fonction). La bascule D permet la réalisation de fonctions
logiques séquentielles. La configuration du multiplexeur 2 vers 1 de sortie autorise la sélection
des deux types de fonction.
6
Chapitre I : Les circuits reprogrammables et les outils de conception
Les cellules de base d'un FPGA sont disposées en rangées et en colonnes. Des lignes
d'interconnexions programmables traversent le circuit, horizontalement et verticalement, entre
les diverses cellules. Ces lignes d'interconnexions permettent de relier les cellules entre elles, et
avec les plots d'entrées/sorties. Les connexions programmables sur ces lignes sont réalisées par
des transistors MOS dont l'état est contrôlé par des cellules mémoires SRAM. Ainsi, toute la
configuration d'un FPGA est contenue dans des cellules SRAM.
Tous les FPGA sont fabriqués en technologie CMOS, les plus gros d'entre eux intègrent jusqu'à
1000000 portes logiques utilisables. On ne peut pas prédire la fréquence de travail maximale
d'une fonction logique, avant son implémentation. En effet, cela dépend fortement du résultat de
l'étape de placement-routage. Il faut noter que la surface de silicium d'un FPGA est utilisée au
2/3 pour les interconnexions et au 1/3 pour les fonctions logiques. Le taux d'utilisation global des
ressources ne dépasse pas 80% [02].
Par rapport aux prés-diffusés classiques, les interconnexions programmables introduisent des
délais plus grands que la métallisation. Par contre, les cellules logiques fonctionnent à la même
vitesse. Pour minimiser les délais de propagation dans un FPGA, il faut donc réduire le nombre
de cellules logiques utilisées pour réaliser une fonction. Par conséquent, les cellules logiques
d’un FPGA sont plus complexes que celles d’un pré-diffusé.
Commercialisé à partir de 1990, ce type de circuits FPGA, programmable une seule fois, est
basé sur la technologie des interconnexions à anti-fusibles. Sa structure s'apparente à celle d'un
pré-diffusé mer-de-portes, c'est-à-dire qu'il dispose de cellules élémentaires organisées en
rangées et en colonnes. Les lignes d'interconnexions programmables traversent le circuit,
horizontalement et verticalement, entre les diverses cellules. La technologie à anti-fusibles
permet de réduire considérablement la surface prise par les interconnexions programmables, par
rapport aux interconnexions à base de SRAM. La cellule élémentaire diffère d'un fabricant à un
autre, mais elle est généralement composée de quelques portes logiques. Le nombre de ces
cellules est généralement très important.
Alors que les FPGA-SRAM sont utilisés pour des prototypes ou des petites séries, les FPGA à
anti-fusibles sont destinés pour des plus grandes séries, en raison de son coût de fabrication
moins élevé. Il est généralement conçu avec des outils de synthèse de type VHDL (Vety High
Speed Integrated Circuit Hardware Description Language).
7
Chapitre I : Les circuits reprogrammables et les outils de conception
Actuellement, les circuits FPGA sont utilisés dans plusieurs domaines soit pour tester les
fonctionnalités avant le passage aux circuits finals en technologie ASIC soit pour réaliser des
systèmes de commande et de traitement des informations. Deux solutions sont possibles pour
utiliser les circuits FPGA :
Les accélérateurs sont couramment utilisés pour les phases de traitement qui nécessitent un
grand nombre de calculs réguliers. Les possibilités de conception des accélérateurs sont infinies,
ils offrent l’opportunité de personnaliser l’exécution d’une application dans un objectif de
performance, de dimension, de consommation, …etc. La méthode traditionnelle consiste à
décrire les accélérateurs au niveau RTL (Register Transfer Level) dans un langage de description
matérielle (Hardware Description Langage, HDL), comme le VHDL et le Verilog. De nombreux
travaux présentent de telles réalisations, elles sont souvent associées à des optimisations
permettent d’augmenter les performances de l’accélérateur.
La conception des accélérateurs au niveau RTL est liée à des risques d’erreurs car elle repose sur
l’expertise d’un concepteur. Pour cela, une étape de simulation est toujours nécessaire avant
l’implémentation matérielle. De plus, les possibilités d’exploration d’architecture d’un
accélérateur sont potentiellement freinées par une structure rigide définie par un concepteur. Les
temps de conception sont longs car il est nécessaire de valider la bonne fonctionnalité de chaque
sous-ensemble de l’accélérateur, puis de valider le fonctionnement de l’association de ces sous-
ensembles, …etc. Malgré ces difficultés de conception, les accélérateurs restent couramment
utilisés surtout dans le domaine du traitement de signal intensif. Cependant, plutôt que d’être
directement décrit au niveau RTL, les accélérateurs sont conçus à l’aide d’outils d’auto
génération des circuits comme le CoreGenerator de XIlinx.
Un système sur puce (System on Chip, SoC) est un système qui peut intégrer sur une seule
et même puce des processeurs, des mémoires, des réseaux d’interconnexions, des circuits
spécifiques (DSP, Accélérateurs matériels), …etc. Ces différents composant sont récupérables à
partir des bibliothèques ou bien sur internet et sont généralement optimisés. En conséquence, les
SoCs exécutent efficacement des applications souvent gourmandes en puissance de calcul. Par
ailleurs, leur intégration sur une seule puce permet un gain en place et en consommation
d’énergie, ce qui vaut au SoC d’être couramment utilisé dans les systèmes embarqués [04].
8
Chapitre I : Les circuits reprogrammables et les outils de conception
La programmation des systèmes sur puce est une tâche complexe liée à l’hétérogénéité des
systèmes et à la complexité croissante des applications traitées. La conception conjointe de
logiciel et de matériel (co-conception ou bien codesign) réduit l’effort de programmation car elle
prend en considération chacun de ces éléments : l’application, l’architecture matérielle et le
placement de l’une sur l’autre [04].
On trouve donc dans ces HDLs des constructions de haut niveau non synthétisables. Autre point
d’importance, il est parfois nécessaire de prendre en compte les particularités du support de
réalisation physique pour s’assurer de la correction de certaines constructions. Les librairies de
cellules standards permettent de s’abstraire de cette complexité, en considérant comme
composant de base des unités fonctionnelles implémentant une fonction logique (AND, OR,
NOT, …etc.) ou de stockage (bascule, flip-flop).
9
Chapitre I : Les circuits reprogrammables et les outils de conception
conception de haut niveau pour décrire les systèmes numérique et les circuits intègres qui sont de
plus en plus complexes. Ce langage est né dans les années 80 comme successeur du langage
ADA (1979) au département de la défense américain DOD qui a lancé un appel d’offre pour créer
un langage de description matérielle numérique standard. Ce langage est ouvert au domaine
public en 1985 puis il est adopté par IEEE (Institute Electrical and Electronic Engineers) comme
standard et deviendra une norme en 1987 sous la dénomination VHDL {IEEE 1076-1987} puis
complété et enrichi en 1993 {(IEEE 1076- 1993 et IEEE 1164-1993) sous la dénomination
VHDL’93 avec les extensions (IEEE 1076.3- 1997, IEEE 1076.4-1995) [06]. Le VHDL est un
langage structuré, la figure suivante montre leur structure de base :
------------------------------------------------------------------------------
-- déclaration et utilisation des bibliothèques nécessaires -
------------------------------------------------------------------------------
USE work.bibliotheques_necessaires.ALL;
------------------------------------------------------------------------------
-- déclaration de l'entité et de ses ports d'entrée-sortie -
------------------------------------------------------------------------------
ENTITY nom_de_l_entite IS
GENERIC (parametres_generiques: type := Valeur_par_defaut);
PORT (ports_d_entree : IN type_ports_d_entree;
ports_de_sortie : OUT type_ports_de_sortie;
ports_d_entree_sortie : INOUT type_ports_entree_sortie);
END nom_de_l_entite;
-----------------------------------------------------------------------------
-- architecture du programme, structure interne -
-----------------------------------------------------------------------------
ARCHITECTURE type_de_description OF nom_de_l_entite IS
BEGIN
--programme interne
END type_de_description;
Création du projet ;
Proposition de l’idée de réalisation du circuit selon les ressources disponibles ;
Traduction de l’idée proposée en code VHDL
Simulation du programme VHDL avec des entrées/sorties synthétiques et validation de
l’architecture ;
10
Chapitre I : Les circuits reprogrammables et les outils de conception
Synthèse du programme VHDL suivant le circuit FPGA utilisé et affichage des résultats ;
Affectation des entrées et sorties du circuit proposé aux broches spécifiques sur le FPGA
(Affectation des Pins) ;
Placement et routage du circuit proposé avec les affectations des pins sur le circuit FPGA
utilisé ;
Création du fichier de configuration du circuit FPGA ;
Implémentation matérielle du circuit proposé.
La figure suivante résume le flot de conception des circuits logiques en utilisant les VHDL :
Vérification FPGA
Compilation et Placement et
Description Simulation routage
synthétisation
en VHDL Validation
Selon plusieurs études réalisées ces dernières années, les processeurs destinés aux
ordinateurs tels que nous les connaissons actuellement ne représenteront plus que 10% des
processeurs fabriqués et vendus dans le monde [07]. Les 90% qui restent sont destinés aux puces
spécialisées comme celles que l'on trouve dans les téléphones mobiles, les tablettes et les tas
d'appareils de plus en plus intelligents, …etc. En effet, avec l'augmentation exponentielle des
performances et de la densité d'intégration des portes logiques, les cœurs de processeurs sont
devenus essentiels dans le développement des SoC et des SoPC (Temps de mise sur le marché
réduit). Un cœur de processeur est la partie matérielle qui traite les données en fonction du
décodage des instructions contenues en mémoire. La grande quantité de données à prendre en
compte ainsi que les contraintes en temps souhaitées, font du cœur de processeur un élément
critique d'un système. Le cœur de processeur idéal doit donc fournir le maximum de
performances sur une surface la plus réduite possible. Il doit être le plus flexible possible et ne
pas subir de dégradation de performances en fonctions des différents environnements rencontrés
(outils de développement, taille de la cible ou électronique adjacente).
11
Chapitre I : Les circuits reprogrammables et les outils de conception
Les cœurs de processeurs peuvent être, soit des macro-cellules spécialisées, dites processeur
Hardcore (PowerPC et ARM par exemple), soit des modules synthétisables, dits processeur
softcore (MicroBlaze, NIOS-II, …etc.). Ces softcores sont configurables à travers plusieurs
paramètres (profondeur du pipeline, taille du cache, présence ou non de multiplieurs, …etc.). Un
processeur softcore est réalisé à partir de la logique programmable présente sur la puce. Ainsi, un
concepteur peut mettre autant de processeurs softcore que la puce le permet. A titre illustratif, un
processeur MicroBlaze occupe seulement 4% de la surface d'un FPGA de la famille Virtex5-
LX50 (composant à 28.800 cellules logiques), et 1,7% de la surface d'un FPGA de la famille
Virtex5-LX110T (composant à 69.120 cellules logiques). A l'inverse, le concepteur ne choisit
pas le nombre de processeurs hardcore présents dans un FPGA. L'intérêt majeur des FPGA est la
possibilité de faire du prototypage rapide, la proximité des cœurs de processeurs avec de la
logique programmable rend possible la spécialisation de ces processeurs pour concevoir un
système sur puce [08].
Actuellement, on trouve sur le marché des circuits FPGA (de faible, moyenne et haute
densité) produits par les deux principaux producteurs de circuits logiques programmables :
Xilinx et Altera. Sur le même marché, on trouve plusieurs autres producteurs de circuits FPGA,
on peut citer à titre d’exemple : Actel, Abound Logic, Achronix, Atmel, Cypress, Lattice
Semiconductor, …etc. L'architecture d'une cellule logique élémentaire (CLE) varie fortement
d'un producteur à un autre. Dans cette partie de notre travail, nous décrivons les deux sociétés
Xilinx et Altera, avec des exemples de produits pour chaque famille de FPGA.
Xilinx Inc. (1984) est une entreprise américaine de semi-conducteurs. Inventeur du FPGA
avec un premier produit en 1985, Xilinx fait partie des plus grandes entreprises spécialisées dans
le développement et la commercialisation de composants logiques programmables, et des
services associés tels que les logiciels de CAO (Conception Assistée par Ordinateur) ; création
des blocs IP, formations, …etc. En effet, Xilinx vend également des spécifications
d'architectures ("IP Cores"). Cela peut aller de fonctions très simples comme des compteurs
jusqu'à des systèmes complets comme les microprocesseurs et les DSP. Xilinx est également à
l'origine du processeur softcore MicroBlaze ainsi que le processeur hardcore PowerPC.
12
Chapitre I : Les circuits reprogrammables et les outils de conception
Le concurrent de Xilinx dans le marché des FPGA est Altera avec un chiffre d’affaire de
$1.95 milliard en 2010. En effet, la société américaine Altera, créée en 1983 et siégée dans San
Jose, la Californie, est un fabricant de composants reprogrammables (FPGA, CPLD et ASIC) et
des processeurs embarqués. Pour la gamme haute performances on trouve les FPGA : Stratix et
Stratix GX (2002), Stratix II (2004), Stratix II GX (2005), Stratix III (2006) et Stratix IV et
HardCopy (2008). Pour les FPGA de grande série on trouve : Cyclone (2002), Cyclone
II (2004), Cyclone III (2007), Cyclone IV et Arria GX (2007), etc. Enfin, pour les CPLD, on
trouve les exemples les plus utilisés : MAX 3000A et MAX 7000 (1991), MAX II (2007) et
MAX V (2010). Altera est aussi à l'origine des processeurs softcores NIOS et NIOS-II ainsi que
le bus Avalon. Le bus Avalon est un bus informatique, avec un support multi-maître, destiné à
l'implémentation sur du matériel programmable (FPGA).
Pour l’implémentation matérielle de nos propositions, nous avons utilisé deux cartes de
prototypages rapides (des deux fabricants Xilinx et Altera) disponibles au laboratoire LEC de
l’université de Constantine. Une plateforme de prototypage est constituée d’un circuit FPGA, de
mémoires de différents types, des interfaces d’entrées/sorties, des oscillateurs, …etc.
L’utilisation des deux cartes est dans le but de comparer les résultats de synthèse.
Les FPGA sont généralement contenus sur des cartes regroupant plusieurs composants
divers. Idéalement conçue pour les recherches et les études de haut-niveau, la plateforme
d’évaluation XUPV5 (Figure 1- 7) est l’un des outils de développement les plus puissants de la
compagnie Xilinx, architecturé autour d’un puisant circuit FPGA de type Virtex5
XC5VLX110T-1FFG1136. XUPV5 est l’une des cartes conçues spécialement pour les
universitaires (programme Xilinx-université). Cette plateforme contient les mêmes composants
externes que les autres cartes de la même génération (Virtex5), la seule différence réside dans le
circuit FPGA avec plus des ressources et des composants matériels embarqués (tableau 1.1).
Comme exemple, ce tableau montre les détails des deux circuits FPGA (Virtex5-LX50 et
LX110T).
Les cartes FPGA sont entièrement programmables grâce à la suite d’outils proposée par Xilinx
nommées ISE (Integrted Softwar Envirenment) et EDK (Embedded Development Kit).
13
Chapitre I : Les circuits reprogrammables et les outils de conception
Circuit CLB (Configurable Logic blocks) DSP Blocs BRAM Total I/O Max User
FPGA (Row×col) Slices Max RAM distr. 48E 18 Kb 36 Kb Max(Kb) Banks I/O
Tableau 1-1 : Les différentes caractéristiques des circuits Virtex5 (LX50 et LX110T) [09].
En plus du circuit FPGA, la carte XUPV5 est une plateforme riche en composants pour
l’évaluation et le développement des multiples applications, ces composants permettent un accès
facile et pratique aux ressources disponibles dans le circuit FPGA [10]. La plateforme XUPV5
dispose aussi d’une mémoire externe (DDR2-SDRAM SODIMM) de capacité 256MB. En plus
du circuit FPGA et de la DDR2 la plateforme XUPV5 dispose de :
Mémoires : Xilinx Platform Flash XCF32P ; 9Mb ZBT synchronous SRAM ; 32MB
Intel P30 StrataFlash ; 2MB SPI Flash ; System ACE™ CompactFlash configuration
controller avec un connecteur CompactFlash ; IIC-EEPROM de 8Kbits.
Connectivité : Port JTAG utilisé avec un câble parallèle(III) ; câble parallèle(IV) ou bien
plateforme de téléchargement USB ; Ethernet PHY 10/100/1000 tri-speed ; Codec Stéréo
14
Chapitre I : Les circuits reprogrammables et les outils de conception
En plus de ces caractéristiques matérielles, le conseil a DE2 support logiciel pour E/S standard
interfaces et une installation de panneau de commande pour accéder aux différents composants.
En outre, le logiciel est fourni pour un certain nombre de manifestations qui illustrent les
fonctionnalités avancées de la carte DE2. Pour utiliser la carte DE2, l'utilisateur doit se
familiariser avec le logiciel Quartus II [11].
15
Chapitre I : Les circuits reprogrammables et les outils de conception
Le logiciel Quartus II qui permet la synthèse du code VHDL pour les circuits
CPLD/FPGA de Altera ;
Les logiciels ISE-Suite et EDK pour les circuits CPLD/FPGA de Xilinx ;
D'autres outils sont disponibles sur le marché ou bien sur site à titre gratuit permettant
l’utilisation de différents circuits FPGA. Des exemples de ce dernier groupe sont Leonardo
Spectrum (un synthétiseur de Mentor Graphics), Synplify (un synthétiseur de Synplicity) et
ModelSim (un simulateur de Model Technology, a Mentor Graphics company) [06].
La figure suivante montre les différentes étapes pour passer d’un code VHDL vers le circuit
logique implémenté sur un FPGA avec même les opérations intermédiaire de simulation, de
synthèse et de placement et routage.
16
Chapitre I : Les circuits reprogrammables et les outils de conception
Étant donné un schéma circuit logique, nous pouvons réellement obtenir quelques portes
logiques discrètes et manuellement les relier entre eux par des fils sur une plaquette d’essais.
Traditionnellement, c'est la façon dont les ingénieurs réellement concevoir et mettre en œuvre
des circuits logiques numériques. Si le nombre des portes logique est important, il est
pratiquement impossible de les relier dans le même schéma. Dans ce cas, il est préférable
d’utiliser les langages de description de matériels. Le circuit est décrit en un programme, tout
comme ce que les programmeurs informatiques faire. Ensuite on utilise des logiciels de synthèse
permettant la conversion des lignes de code en circuits logique.
La question est alors de savoir comment fonctionne le programme qui décrit le fonctionnement
du circuit effectivement converties au circuit physique ? Le problème ici est similaire à la
traduction d'un programme informatique écrit dans un langage de haut niveau en langage
machine pour un ordinateur particulier à exécuter. Pour un programme d'ordinateur, nous
utilisons un compilateur pour faire la traduction. Par contre pour la traduction d'une description
d'un circuit vers le Netlist, qui est une description de la façon dont le circuit est réalisé ou
connecté à l'aide de portes de base, nous utilisons un synthétiseur. Ce processus de traduction est
appelé synthèse. Ainsi, un synthétiseur est comme un compilateur, sauf que la sortie est une
Netlist du circuit plutôt que le code machine. La popularité de l'utilisation de VHDL (ou Verilog)
pour la conception de circuits numériques ont commencé au milieu des années 1990, lorsque les
outils de synthèse commerciales sont devenues disponibles. En outre, la liste d'interconnexions
(Netlist) à partir de la sortie du synthétiseur peut être utilisée directement pour mettre en œuvre
le circuit réel dans un circuit FPGA. Avec cette dernière étape, la création d'un circuit numérique
entièrement mis en œuvre dans un circuit intégré peut être facilement faite.
La façon dont les concepteurs peuvent tester leurs conceptions dans un simulateur est de créer un
banc d'essai (testbench). Cela est directement analogue à un banc d'essai expérimental réel dans
le sens que les stimuli sont définis, et les réponses du circuit mesuré afin de s'assurer qu'ils
17
Chapitre I : Les circuits reprogrammables et les outils de conception
respectent les spécifications. Dans la pratique, le banc d'essai est tout simplement un modèle
VHDL qui génère les stimuli nécessaires et vérifie les réponses. Cela peut être de telle sorte que
le concepteur peut visualiser les formes d'onde et manuellement les vérifier, où en utilisant des
constructions VHDL pour vérifier les réponses de conception automatique [06].
Les objectifs de tout banc de test sont de deux ordres. Le premier est avant tout de veiller à ce
que le fonctionnement correct soit atteint. Il s'agit essentiellement d'un «fonctionnelle» de test.
Le deuxième objectif est de s'assurer que la conception synthétisé répond toujours à la
spécification (notamment en vue d'erreurs de temps) [12].
Pour les FPGA, les programmes de Placement et Routage sont exécutés après la
compilation. "Place" est le processus de sélection des modules spécifiques ou des blocs logiques
dans les circuits FPGA où résideront les portes de conception. «Route», comme son nom
l'indique, est l'acheminement physique de l'interconnexion entre les blocs logiques. La plupart
des fournisseurs offrent des outils automatiques de manière à éviter que l'utilisateur n’ait pas à se
soucier des détails complexes de l'architecture du dispositif. Certains fournisseurs ont des outils
permettent aux utilisateurs experts de placer manuellement les modules les plus critiques.
Généralement, ces outils donnent les meilleures performances que les outils automatiques [13].
Télécharger réfère généralement à des dispositifs volatils tels que les FPGA SRAM. Comme
son nom l'indique, vous devez télécharger les informations de configuration dans le dispositif de
mémoire de l'appareil. Le Bitstream transféré contient toutes les informations pour définir la
logique et leurs interconnexions qui doivent être différente pour chaque conception. Comme les
équipements SRAM perdent leur configuration lorsque l'alimentation est coupée, le train de bits
doit être stocké quelque part pour une solution de production. Un lieu commun est une telle série
PROM. Il est associé une pièce de matériel qui relie l'ordinateur à une carte contenant le
dispositif cible.
L’opération (Programming) est utilisée pour programmer tous les périphériques non-volatiles
programmables, y compris PROM série. La programmation remplit la même fonction que si ce
n'est que le téléchargement des informations de configuration est conservé après la mise hors
tension de l'appareil. Pour les appareils anti fusibles, la programmation ne peut se faire que en
line avec l’appareil (D'où le terme One-Time Programmable, OTP). La programmation de CPLD
de Xilinx peut être fait en système via JTAG (Joint Test Advisory Group) ou en utilisant un
18
Chapitre I : Les circuits reprogrammables et les outils de conception
dispositif classique, par exemple programmeur Data I /O. JTAG boundary scan est officiellement
connu sous le nom IEEE/ANSI1149.1_1190. C’est un ensemble de règles de conception, ce qui
facilite les tests, le débogage et le dispositif de programmation au niveau puce. La
programmation dans le système a l'avantage supplémentaire que les appareils peuvent être
soudés directement sur le circuit imprimé [13].
1.6. Conclusion
Dans ce chapitre, nous avons présenté le domaine d’application autour duquel sera axé ce
travail. Nous avons mis l’accent sur l’apport de l’utilisation des FPGA comme cible
d’implémentation matérielle des algorithmes traduit en un HDL. Une méthodologie de
développement appropriée associée aux implantations sur cible FPGA a été aussi présentée.
Nous avons aussi développé quelques détails de deux plateformes de prototypage rapides des
deux compagnies Xilinx et Altera pour les utiliser ensuite dans nos implémentations. Nous avons
présenté aussi les deux logiciels de Xilinx (ISE) et de Altéra (QuartusII), ce qui donne la
possibilité de comparaison concernant le nombre des ressources utilisées.
19
Chapitre II : Commande numérique des systèmes
2.1. Introduction
L’utilisation des calculateurs numériques pour commander, pour piloter ou bien pour guider
des procédés et des systèmes physiques en temps réel, qui sont le plus souvent continus, a donné
naissance aux systèmes de commande numériques. La commande numérique peut être câblée ou
bien programmée en utilisant un processeur nécessite la mise en œuvre d’un certain nombre
d’éléments (Figure 2.1) [14] :
20
Chapitre II : Commande numérique des systèmes
Le passage de la commande analogique vers la commande numérique est une nécessité depuis
déjà plusieurs années. Ce passage nécessite par cintre plusieurs étapes :
L’évolution du système dépend alors à chaque instant des résultats élaborés par le calculateur on
parle de commande par calculateurs en temps réel. Le tableau suivant montre une comparaison
entre la commande analogique et la commande numérique :
Numérique Analogique
Avantages - Capacité de mémoire sans limite, - Le système est observé en continu
- Grande possibilité de synthèse de la récurrence (adapté aux systèmes rapides),
(algorithme), - Précis.
- Algorithme adaptable,
- Mise au point souple,
- Convivialité (dialogue) et sécurité (séquentiel).
Inconvénients - La boucle est ouverte en dehors des instants - structure rigide,
d’échantillonnage (oscillations non observées), -possibilité de synthèse réduite,
-Discrétisation de la mesure (précis à ), non -mise au point et adaptation difficile,
-d’un point de vue technologique
linéaire : risque de cycle limite,
(valeurs des composants), non adapté
- Compromis (N : nombre de bits), pas encore aux systèmes lents.
adapté aux systèmes rapides (Shannon).
Tableau 2- 1 : comparaison entre la commande analogique et la commande numérique [H1].
21
Chapitre II : Commande numérique des systèmes
22
Chapitre II : Commande numérique des systèmes
Comme conclusion, l’apport des FPGA sur la commande des machines peut être résumé dans les
quelques points suivant :
Les FPGA sont des solutions numériques qui permettent d’approcher les avantages de
l’analogique et de garder au même temps les avantages du numérique avec l’implantation
d’algorithmes complexes, un temps de calcul réduit à quelques microsecondes et une
bonne précision.
Eviter l’inconvénient majeur des solutions analogiques classiques qui réside dans
l’influence des variations paramétriques engendré par la sensibilité aux perturbations
externes comme la chaleur.
Pas d’entretien qui nécessite du temps et des pertes d’ordres économique a l’inverse des
solutions analogiques.
Implémentation de fonctionnalités supplémentaires qui ne sont pas réalisable en continu.
Augmentation de la bande passante vis à vis des autres solutions numériques comme les
DSP (Digital Signal Processor) et microcontrôleurs ou microprocesseur traditionnels.
L’intégration sur une seule puce de plusieurs algorithmes de contrôle grâce à la
configuration dynamique avec une grande flexibilité pour un changement de la structure
de contrôle ;
La possibilité de réduire fortement les délais de développement et de commercialisation.
L’utilisation des FPGA dans le contrôle des machines ne nécessite pas d’espace sur site
ce qui est équivalent à un encombrement minimale car c’est une technologie embarquée
hautement intégrée avec une consommation d'énergie ultra-basse.
Avant l’apparition des FPGA qui sont disponibles aujourd'hui, les méthodes classiques utilisées
avec DSP et microcontrôleur, permettent l’obtention d’un temps de cycle moyen proche de 100
(us) ce qui est équivalent à une fréquence de commutation aux alentours de 1-5 kHz. Avec
l'introduction des FPGA à des prix raisonnables, la fréquence de commutation est devenue aux
alentours de 10-15 (KHz) et aujourd'hui d'ordre de 50(KHz). Il est même possible d'obtenir des
fréquences aussi élevées que 100 (KHz) mais malheureusement les limites des dispositifs
d’électronique de puissance sont atteintes sachons que l’énergie dissipée dans ces convertisseurs
est proportionnelle à la fréquence de commutation ce qui représente une contrainte très pesante
[15].
23
Chapitre II : Commande numérique des systèmes
La recherche dans le domaine de conception des circuits numériques de commande pour les
systèmes automatisés en temps réel est difficile, car elle nécessite non seulement une parfaite
maitrise des technologies employées mais aussi une très bonne connaissance des caractéristiques
d’application et de la nature de son environnement. La structure générale de couplage
FPGA/Onduleur est schématisée dans la (figure 2-2), le circuit FPGA agit comme le «cerveau»
du système et va permettre de cadencer les interrupteurs du convertisseur statique.
Onduleur
DC voltage AC voltage
Impulsions de
Ordinateur commande
FPGA
Chargement du
programme
Figure 2-2 : Structure de couplage FPGA/Onduleur triphasée.
24
Chapitre II : Commande numérique des systèmes
Cet onduleur est commandé par une MLI qui contrôle et impose la largeur des impulsions
obtenues par hachage de la tension La MLI consiste à faire reproduire la valeur moyenne et
d’approcher les trois tensions instantanément par action d’ouverture ou fermeture des
interrupteurs à chaque période de commutation en jouant sur la durée d'application des tensions
positives et négatives. [15]
25
Chapitre II : Commande numérique des systèmes
+
Consigne Système Sortie
Entrée Système Sortie -
Feed back
Système non asservi (boucle ouverte) Système asservi (boucle fermée)
Figure 2- 5 : Schéma de commande on boucle ouvert/fermé
a) Généralités
26
Chapitre II : Commande numérique des systèmes
Il existe plusieurs types de méthodes ou fonctions MLI on distingue deux méthode que notre
travail basée sur :
Le calcul de ces instants de commutation des interrupteurs sera d’une manière à répondre à
certains critères portant sur le spectre fréquentiel de l'onde résultante. Ces séquences sont alors
mémorisées et restituées de manière cyclique pour assurer la commande des interrupteurs.
La modulation est caractérisée par M angles électriques notés ces angles M permettent :
La tension aux bornes de la charge est périodique de fréquence . Elle admet donc une
décomposition en série de Fourier :
() ∑ ( ) ∑ ( )
(1)
Où:
∫ () ( ) (2)
27
Chapitre II : Commande numérique des systèmes
∫ () ( ) (3)
A l'aide d’un changement d'origine, la fonction est rendue impaire et les termes sont annulés.
( ) ∑( ) ( )]
(4)
C’est une stratégie MLI triphasée « classique » simple à réaliser en analogique initialement
conçues en monophasé et son implantation numérique est plus compliquée tel que un grand
nombre d’échantillons de la modulante doit être sauvegardé dans une mémoire ROM pour
pouvoir obtenir une bonne précision du signal modulé. Son principe est simple avec une simple
comparaison, pour chaque bras, entre un signal de référence sinusoïdale (la modulante) et un
28
Chapitre II : Commande numérique des systèmes
signal triangulaire de fréquence plus élevée (la porteuse). La fréquence de porteuse définie la
fréquence de découpage, et les points d’intersection entre la modulante et la porteuse
correspondent aux instants de commutations au moment desquels l’onduleur change d’état. Les
signaux de commande générés sont montrés sur la figure suivante. La fréquence du signal de
référence , détermine la fréquence de l'onduleur; alors que l'amplitude maximale contrôle
l'indice de modulation qui à son tour détermine la tension efficace de sortie. Le nombre
d'impulsions par demi-cycle dépend de la fréquence de l'onde porteuse. Cette modulation
repousse ces harmoniques dans le domaine des hautes fréquences autour de la fréquence de
commutation et ses multiples.
2.7. Conclusion
Ce chapitre est permet déterminer les principaux objectifs. Au départ, nous avons présenté la
démarche du commande numérique par calculateur et conclure à la fin que la technologie FPGA
s’inscrit au sommet de l’évolution des composants logiques et le besoin croissant de composants
plus performants, plus économiques et disponibles en grandes quantités est les grands axes du
progrès qui sont disponibles dans les FPGA qui ouvrent de grandes perspectives en matière de
contrôle en temps réel.
29
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
3.1. Introduction
Un ordinateur est incapable de concevoir un circuit car une machine est dépourvue d’intelligence
et de réflexions, mais rien n’empêche que les taches fastidieuses et complexes (Mathématiques et
logiques) sont accomplies par des moyens automatiques confiés à ces calculateurs (Ordinateurs)
qui sont dotés d’une importante puissance de calcul avec un minimum de temps d’exécution.
L’électronique des circuits intégrés et la programmation informatique ont été les secteurs
pionniers de la sûreté de fonctionnement. Un besoin et une nécessité croissante, pour la réduction
de l'effort et du temps de conception des circuits, ont rendu l’utilisation des outils de CAO
microélectronique indispensable. Les outils de CAO ne se limitent pas à la simulation mais aussi
à la synthèse des circuits et assurent les transitions entre les différents niveaux d'abstraction,
sachant que le passage de l’algorithme vers l’architecture est une synthèse automatique confiée
aux logiciels CAO qui génèrent l’architecture adéquate du système.
Les outils de CAO prennent en compte les contraintes de vitesse, de consommation de puissance,
et de surface qui interviennent dans le processus d’optimisation de la description et de son circuit
synthétisé. Cette partie du travail qui s’agit de concevoir, à partir du langage VHDL, un modèle
équivalent au circuit de commande. Sachons qu’un modèle d’un circuit n’est qu’une abstraction
de son comportement. Ce modèle va nous permettre de tester les lois de commande et va nous
assurer la validité de chaque partie grâce à l’utilisation d’un logiciel de simulation intégrer dans
l’environnement CAO.
30
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
Comme nous l’avons vu au premier chapitre, la conception du circuit met en œuvre quatre
outils : un éditeur de texte/entrée graphique, un simulateur, un synthétiseur et un placeur-routeur.
La description du circuit en VHDL ne concerne que le circuit de commande et rien de ce qui
constitue l’environnement du circuit. Le model VHDL est inspiré de l’architecture proposée
pour le circuit numérique de commande vectorielle. Par la suite, nous allons réaliser une
simulation manuelle en appliquant des valeurs sur les entrées et en vérifiant visuellement l’état
des sorties.
Dans un premier temps, nous avons calculé les angles de commutation analytiquement puis
nous avons transféré ces angles vers des nombres binaires. L’opération de transfert est
synchronisée par un signal d’horloge sur le circuit FPGA, dans notre cas la valeur de la
fréquence de l’horloge est de 50 MHz sachant que cette horloge est standard dans le circuit de
prototypage FPGA. Le principe de notre travail (Figure III-3) est basé sur la comparaison entre
un conteur de 20 bits et les angles que nous avons déjà calculés et introduits dans notre
programme, à chaque moment il y a une égalité entre le conteur et un angle, l’impulsion
correspondante à cet angle change son état (de 1 logique a 0 logique ou bien le contraire).
La figure III-1 présente le dispositif expérimental, à base de FPGA, mis en œuvre pour le
développement d’un banc d’essais dédié à la commande d’un onduleur via l’MLI pré-calculé.
L’onduleur de tension alimente les phases statoriques de la machine asynchrone qui représente la
machine électrique du banc d’essais utilisée. Les signaux de commande délivrés par la carte
FPGA sont de niveau logique 0-3.3V mais la commande des interrupteurs d’onduleur nécessite
31
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
des signaux de commande de niveau logique 0-15V. Pour ce faire, une carte d’amplification est
ajoutée afin d’assurer l’adaptation du niveau de tension des signaux de commande. En plus, des
signaux d’erreurs générés par l’onduleur de tension en cas de défaut ont été aussi exploités dans
le développement de cette carte afin d’annuler les signaux de commande si un défaut est détecté.
Partie Puissance
DC voltage AC voltage
Alimentation Onduleur Machine
en continu triphasé asynchrone
Amplification
Partie
Signaux de Niveau TTL
commande
commande
0/3.3 V
FPGA
Un schéma fonctionnel définit les entrées et les sorties du module de commande décrit en
VHDL. Comme le montre la figure suivante pour la commande MLI pré-calculée, nous avons
utilisé une seule entrée pour l’horloge et 6 signaux en sortie pour commander les 6 interrupteurs
de l’onduleur triphasé.
32
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
Un schéma structurel définit les blocs les registres et les liaisons entre eux. La figure
suivante montre l’utilisation d’un compteur de 20 bits, un comparateurs et des bascules D pour
conserver l’état du sortie jusqu’à le prochain ordre de commutation. La traduction de ce schéma
en langage VHDL nécessite une connaissance préalable de ce langage plus des astuces de
programmation pour la minimisation des ressources matérielles sur le circuit FPGA.
D Impulsion1
clk
Conteur
de 20
bites D Impulsion2
Horloge de
50 MHz
active en
front mentant D Impulsion3
Angles de
commutation
D Impulsion4
D Impulsion5
Bascules D D Impulsion6
Les architectures matérielles proposées pour les différents types de commande sont écrite en
langage VHDL. Nous avons utilisé deux cartes de prototypage FPGA : XUPV5 de Xilinx et ED2
de Altéra. Pour la conception et la synthèse des implémentations matérielles, nous avons utilisé
l’outil ISE9.2 de Xilinx et l’outil QuartusII de Altéra. Pour la simulation, ISE/Quartus font
l’appel de ModelSim6.1 à travers des testbenchs conçus pour chaque module élémentaire de nos
implémentations matérielles. En effet, pour chaque un testbench est écrit pour vérifier son
fonctionnement sur des données synthétiques, et pour calculer le nombre de cycles d'horloge
nécessaire pour le traitement des données.
Pour la carte ED2, dans la figure II-4-a nous remarquons l’utilisation de 211 éléments logiques
(Slices). 26 éléments sont utilisés pour la réalisation des registres et 211 pour les LUT (Look-
33
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
Up-Table), ce qui implique que 26 slices sont utilisés à 100% pour réaliser les registres et les
LUT en même temps.
En contrepartie pour la carte XUPV5 dans la figure 3-4-b, nous remarquons l’utilisation de 147
Slices d’où 26 sont utilisés pour la réalisation des registres et 147 pour les LUT, ce qui implique
que 26 slices sont utilisés à 100% pour réaliser les registres et les LUT en même temps.
Les LUT sont utilisés pour réaliser les fonctions arithmétiques et logiques dans notre
implémentation.
34
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
Les résultats de la simulation obtenu par les outils de simulation des deux logiciels de conception
(ISE et Quartus II) sont adapté avec la théorie, comme le montre la figure III-5, la sortie présente
une symétrie entre les trois bits du haut et les trois dessous, ce qui correspond à la
complémentarité des deux interrupteurs d’un bras d’onduleur et un décalage de entre chaque
deux bras.
L’idée de cette technique MLI est de produire chaque 100μs une impulsion au centre du
période, la largeur de cette impulsion est calculé à partir d’un signal sinusoïdal de référence.
35
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
Partie Puissance
DC voltage AC voltage
Alimentation Onduleur Machine
en continu triphasé asynchrone
Partie
Signaux de Niveau
commande
commande TTL
0/3.3 Signaux analogique
V de référence
FPGA
Par rapport au premier circuit de commande, la figure suivante montre l’ajoute des 3 entrés
(rapa, rapb et rapc) à 8 bites rapportée depuis les CAN. Cette figure montre le schéma RTL de
cette méthode de commande réalisée en VHDL.
36
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
Dans ce circuit les entrés de référence doivent être traité avec des blocs de multiplication,
d’addition et de soustraction pour définir les instants de commutation à chaque période de 100µs.
nous utilisons aussi des comparateurs avec un compteur 13bits pour donner l’ordre de
commutation. En plus, en sorties de commande nous utilisons des bascules D pour conserver
l’état de l’impulsion (haut/bas) jusqu’à le prochain ordre.
Horloge de
50 MHz D
active en Conteur Impulsion1
front mentant de 13
bites D
Impulsion2
clk
Facteur de
D
largeur sur 10
KHz Impulsion3
Facteur de de
fréquence D
Impulsion4
rapa D
Impulsion5
D
Impulsion6
Bascules D
rapa
rapa
Dans la figure III-9-a et pour la carte ED2, nous remarquons l’utilisation de 287 éléments
logiques (Slices) où 195 sont utilisés pour la réalisation des registres et 287 pour les LUT (Look-
Up-Table), ce qui implique que 195 slices sont utilisés à 100% pour réaliser les registres et les
LUT en même temps. En contrepartie dans la figure 3-9-b et pour la carte XUPV5, nous
remarquons l’utilisation de 272 Slices d’où 160 sont utilisés pour la réalisation des registres et
241 pour les LUT, ce qui implique que 129 slices sont utilisés à 100% pour réaliser les registres
37
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
et les LUT en même temps. Les LUT sont utilisés pour réaliser les fonctions arithmétiques et
logiques dans notre implémentation.
Les résultats de simulation sont calculés avec prise en considération que le signal analogique est
continu et nous avons proposé des valeurs aléatoires pour chaque bras, comme le montre la
figure III-10, la sortie présente une symétrie entre les trois bits du haut et les trois dessous ce qui
correspond à la complémentarité des deux interrupteurs d’un bras d’onduleur.
38
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
Le montage utilisé pour la commande à base de circuit FPGA se compose de deux parties,
qui sont celle de puissance et de commande.
Source électrique
USB Blaster
Carte d’amplification Circuit FPGA
39
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA
3.6. Conclusion
Ce dernier volet de cette étude nous a permet de conclure que les résultats obtenus démontrent la
justesse des modèles retenus. La conception et la simulation du circuit numérique menée par
l’appui d’outils informatiques spécialisés et l’utilisation du langage VHDL comme outil de
description pour représenter le comportement et l'architecture du dispositif numérique, nous a
permis d’obtenir un certain niveau de réutilisabilité des différents blocs de l’architecture mais
toute la difficulté est de savoir ce qui est synthétisable ou non ainsi la difficulté de construire le
«Test-Bench» afin de simuler la description.
40
Conclusion général
Conclusion Général
Dans le cadre des systèmes de commande à hautes performances, ce travail présente une
contribution à la conception et à l’implantation de commande sur un circuit de prototypage
rapide de type FPGA. La démarche théorique suivie est récapitulée comme suis :
«spécification du cahier de charge avec une étude théorique, une conception architecturale
détaillée, des simulations et des tests et en fin une intégration et une validation».
Plusieurs travaux peuvent venir compléter le travail qui a été fait jusqu’ici et particulièrement
de prendre en compte différents points qui n’ont pas étés abordés dans ce manuscrit. Malgré
l’importance quantitative des travaux scientifiques et malgré les immenses progrès réalisés
dans les architectures numériques, de nombreuses problématiques restent à explorer.
41
Références Bibliographiques
Références Bibliographiques
[01] Dragomir MILOJEVIC, ‘Implémentation des Filtres non-linéaires de rang sur des
architectures universelles et reconfigurables’, Thèse, Université Libre de Bruxelles,
2004.
[04] Sébastien LE BEUX, ‘Un flot de conception pour applications de traitement du signal
systématique implémentées sur FPGA à base d’Ingénierie Dirigée par les Modèles’,
Thèse, Université des Sciences et Technologies de Lille, 2007.
[05] Imed eddine BEGHOUL, Hamza BENNACER, ‘Architectures matérielles pour les
opérateurs utilisés dans les normes de compression d’image’, Mémoire, Université
Mentouri de Constantine, Juin 2009.
[09] Xilinx Inc, ‘Virtex-5 Family Overview’, DS100 (v5.0), Février 2009.
[10] Xilinx Inc., ‘ML501 Evaluation Platform - User Guide’, UG226 (v1.4), Août 2009.
[12] Peter R. Wilson, ‘EMBEDDED TECHNOLGY SERIES: Design Recipes for FPGAs’,
Elsevier, 2007.
[13] Karen Parnell & Nick Mehta, ‘Programmable Logic Design Quick Start Hand Book’,
2ND EDITION, Xilinx, 2002.
42
Références Bibliographiques
[15] Zahir Ait Ouali, ‘Application des FPGA à la commande d’un moteur asynchrone’,
Magister, Université MOULOUD MAMMERI de TIZI-OUZOU, 2011.
43