Mémoire de fin d’études en vue de l’obtention du diplôme d’Ingénieur en Génie Industriel
Présenté par :
Samitiana RAMBOAMAMPIANINA
Président de Jury :
Mr Solofo Hery RAKOTONIAINA, Maître de Conférences à l’ESPA
Directeur de mémoire :
Mr Harlin Samuel ANDRIATSIHOARANA, Professeur à l’ESPA
Examinateurs :
Mr Jean André RAJAONARIVELO, Enseignant Chercheur à l’ESPA
Mr Haja RALAIVAO, Enseignant Chercheur à l’ESPA
Mlle Toky Fanambinana RANAIVOARISOA, Enseignante Chercheur à l’ESPA
Date de soutenance : 21 Janvier 2014
UNIVERSITE D’ANTANANARIVO
ECOLE SUPERIEURE POLYTECHNIQUE
Filière Génie Industriel
Département Génie Electrique
Promotion 2012
Exploitation de la technologie FPGA pour
générer les signaux de commande des onduleurs
autonomes triphasés
I
Remerciements
Tout d’abord mes vifs remerciements s’adressent à mon directeur de mémoire, Monsieur
Harlin Samuel ANDRIATSIHOARANA, Professeur à l’École Supérieure Polytechnique
d’Antananarivo, pour la qualité de son encadrement, de ses conseils, de sa disponibilité et de
ses encouragements qui m’ont été précieux pour mener à bien et à terme ce travail.
Je tiens également à remercier Monsieur Philippe Antoine ANDRIANARY, Professeur et
également directeur de l’École Supérieure Polytechnique d’Antananarivo d’avoir autoriser
sans hésiter la tenue de cette séance d’aujourd’hui.
Je voudrais aussi remercier :
Monsieur Solofo Hery RAKOTONIAINA, Maître de Conférences à l’ESPA et Chef de
Département du Génie Electrique
Monsieur RAJAONARIVELO Jean André, Enseignant Chercheur à l’ESPA
Monsieur RALAIVAO Haja, Enseignant Chercheur à l’ESPA
Madame Toky Fanambinana RANAIVOARISOA, Enseignante Chercheur à l’ESPA
de bien vouloir accepter respectivement de présider et d’être membres du jury de ce mémoire.
Je dois ma gratitude à mes très chers parents pour leur soutien moral et financier et
encouragement non seulement pendant l’élaboration de ce projet de mémoire mais aussi
pendant les cinq années d’études que j’ai passées à l’École Supérieure Polytechnique
d’Antananarivo.
J’adresse toute ma reconnaissance aux équipes pédagogiques de la filière Génie
Industriel de l’ESPA qui ont fournis généreusement les bases de mes connaissances et savoirs
durant ces cinq années d’études.
Pour finir, je remercie la GI5 promotion 2012 qui ont été vraiment de collègues de
classe formidable durant ces cinq années d’études.
II
Table des matières
Remerciements ............................................................................................................................ I
Table des matières ..................................................................................................................... II
Liste des abréviations ............................................................................................................ VIII
Introduction ................................................................................................................................ 1
Chapitre 1 : Généralités sur la technologie FPGA ..................................................................... 3
1.1 Les circuits intégrés ..................................................................................................... 3
1.1.1 Définition ............................................................................................................. 3
1.1.2 Les transistors ....................................................................................................... 3
1.1.3 Historique des circuits intégrés ............................................................................ 4
1.1.4 Les différents types de circuits intégrés ............................................................... 5
1.2 Les circuits FPGA ....................................................................................................... 7
1.2.1 Définition ............................................................................................................. 7
1.2.2 Historique ............................................................................................................. 8
1.2.3 Les principaux fabricants ..................................................................................... 9
1.2.4 Différents types de circuits FPGA ....................................................................... 9
1.2.5 Architecture du FPGA ........................................................................................ 11
1.2.6 Programmation du circuit FPGA ........................................................................ 15
1.2.7 Avantage de l’exploitation du circuit FPGA ...................................................... 16
Chapitre 2 : Conception d’un projet avec FPGA ..................................................................... 20
2.1 Flot de conception du FPGA ..................................................................................... 20
III
2.1.1 Spécification du design ...................................................................................... 20
2.1.2 Développement du design .................................................................................. 20
2.1.3 Synthèse ............................................................................................................. 20
2.1.4 Placement et routage .......................................................................................... 21
2.1.5 Integration et implementation ............................................................................ 22
2.2 Langage de programmation ....................................................................................... 24
2.2.1 Définition ........................................................................................................... 24
2.2.2 Langage de description de bas niveau ................................................................ 24
2.2.3 Langage de description matériel (VHDL) .......................................................... 25
2.2.4 Historique du VHDL .......................................................................................... 26
2.2.5 Description du VHDL ........................................................................................ 27
2.3 Logiciels de développement ...................................................................................... 33
Présentation ....................................................................................................................... 33
Chapitre 3 : Applications aux onduleurs triphasés ................................................................... 36
3.1 Généralités sur les onduleurs triphasés ...................................................................... 36
3.1.1 Définition ........................................................................................................... 36
3.1.2 Avantages et domaine d’utilisation .................................................................... 36
3.1.3 Etude de quelques cas ........................................................................................ 38
3.2 Commande des onduleurs .......................................................................................... 45
3.2.1 Les différents types de conception de commande .............................................. 45
3.2.2 Stratégies de commande des onduleurs triphasés .............................................. 46
3.2.3 Méthodologie de commande à entreprendre ...................................................... 51
IV
3.2.4 Programmation de la commande par FPGA ...................................................... 51
3.3 Résultats ..................................................................................................................... 66
3.3.1 Onduleur triphasé en pont classique ................................................................... 66
3.3.2 Onduleur triphasé multiniveau NPC3 ................................................................ 68
3.3.3 Onduleur triphasé nouveau modèle .................................................................... 72
Conclusion ................................................................................................................................ 78
Bibliographies ........................................................................................................................... A
Annexes ..................................................................................................................................... C
Lancement de la simulation ................................................................................................... C
V
Liste des figures
Figure 1 : Architecture interne du FPGA ................................................................................. 11
Figure 2 : LUT .......................................................................................................................... 13
Figure 3 : Flot de conception du FPGA ................................................................................... 22
Figure 4 : Algorithme de conception avec FPGA .................................................................... 23
Figure 5 : Bascule RS ............................................................................................................... 31
Figure 6 : Schéma bloc d’un onduleur ..................................................................................... 36
Figure 7 : Schéma bloc d’un variateur de vitesse d’un MAS ................................................... 37
Figure 8 : Schéma de principe d’une alimentation de secours ................................................. 38
Figure 9 : Onduleur triphasé en pont classique à six transistors .............................................. 39
Figure 10 : Onduleur multiniveau (trois niveaux) à douze transistors ..................................... 42
Figure 11 : Onduleur nouveau modèle triphasé à douze transistors ....................................... 44
Figure 12 : Principe de fonctionnement d’une MLI naturelle .................................................. 47
Figure 13 : Principe du modulateur numérique ........................................................................ 48
Figure 14 : Tension généralisée à la sortie ............................................................................... 49
Figure 15 : Désignation d’un FPGA de la famille Cyclone d’Altera ....................................... 52
Figure 16 : Carte de développement du Cyclone III FPGA d’Altera ....................................... 56
Figure 17 : Allure de la tension de sortie ................................................................................. 57
Figure 18 : Fenêtre de démarrage de Quartus II ....................................................................... 60
Figure 19 : Création d’un projet sur Quartus II ........................................................................ 61
Figure 20 : Saisie du nom du projet et du répertoire contenant le projet ................................. 62
Figure 21 : Choix du composant .............................................................................................. 63
Figure 22 : Choix de l’entrée du design (textuelle, schématique) ............................................ 64
Figure 23 : Fenêtre de travail ................................................................................................... 64
Figure 24 : Organigramme du programme pour l’onduleur en pont classique ........................ 66
VI
Figure 25 : Résultat obtenu pour l’onduleur triphasé en pont à 6 transistors ........................... 67
Figure 26 : Allure de la tension de sortie de l’onduleur triphasé en pont classique ................. 68
Figure 27 : Organigramme du programme pour l’onduleur triphasé multiniveau NPC3 ........ 69
Figure 28 : Bloc2 ...................................................................................................................... 70
Figure 29 : Bloc1 ...................................................................................................................... 70
Figure 30 : Résultat obtenu pour l’onduleur triphasé multiniveau NPC3 à 12 transistors ....... 71
Figure 31 : Organigramme du programme pour l’onduleur triphasé nouveau modèle ............ 73
Figure 32 : Bloc 3 ..................................................................................................................... 74
Figure 33 : Bloc 4 ..................................................................................................................... 74
Figure 34 : Résultat obtenu pour l’onduleur triphasé nouveau modèle à 12 transistors .......... 75
Figure 35 : Résultat obtenu en les groupant dans un seul programme ..................................... 77
VII
Liste des tableaux
Tableau 1 : Répartition du marché des FPGA ............................................................................ 9
Tableau 2 : Exemple de LUT ................................................................................................... 13
Tableau 3 : Fonctionnement d’un onduleur en pont classique à six transistors ....................... 40
Tableau 4 : Fonctionnement d’un onduleur multiniveau NPC3 à douze transistors ................ 43
Tableau 5 : Fonctionnement d’un onduleur nouveau modèle .................................................. 45
Tableau 6 : Les familles proposées par Altera ......................................................................... 52
Tableau 7 : Désignation du « Family Signature » .................................................................... 53
Tableau 8 : Désignation du « Member Code » ......................................................................... 53
Tableau 9 : Désignation du « Package type » .......................................................................... 53
Tableau 10 : Désignation du « Package code » ........................................................................ 54
Tableau 11 : Designation du « Operating Temperature » ........................................................ 54
VIII
Liste des abréviations
ASIC: Application Specific Integrated Circuit
CLB: Configurable Logic Blocks
CMOS: Complementary MOSFET
CPLD: Complex Programmable Logic Device)
EEPROM: Electrically Erasable Programmable Read-Only Memory
FPGA: Field Programmable Gate Array
IEEE: Institute of Electrical and Electronics Engineers
IOB: Input Output Blocks
LOCOS: localized oxide separation
LUT: Look Up Table
MLI: Modulation Largeur à Largeur d’Impulsion
MOS: Metal Oxide Semiconductor
MOSFET: Metal Oxide Semi-conducteur Field Effect Transistor
NPC: Neutral Point Clamped
PLD: Programmable Logic Device
RAM: Random Access Memory
ROM: Read Only Memory
SOI: Silicon On Insulator
SRAM: Static Random Access Memory
VHDL: Very high speed integrated circuit Hardware Description Language
INTRODUCTION Promotion 2012
RAMBOAMAMPIANINA Samitiana
1
Introduction
Depuis l’invention du premier composant électronique et jusqu’à présent, l’électronique n’a
cessé de se développer et de se propager partout dans le monde. En effet ce dernier est
embarqué dans presque tous les secteurs comme les secteurs : industrielle, automobile,
télécommunication, financier, médecine, etc. On a surtout remarqué ce développement dans le
domaine de la numérisation ces dernières décennies, le traitement numérique est d’autant
plus avancé et plus exploité par rapport au traitement analogique. Face à cette situation, on ne
peut se passer des circuits intégrés qui sont des éléments de base indispensables et
incontournable pour la réalisation de ce type de traitement. Pourtant la réalisation se limitait
souvent aux fonctions proposées par les fabricants de ces circuits ainsi qu’à leurs
performances car la mise en œuvre de fonctions regroupant plusieurs de ces circuits
nécessitait le câblage de nombreuses connexions et éventuellement la réalisation de câblage
imprimé. L'apparition des circuits logiques programmables de type FPGA (Field
Programmable Gate Array) a permis de s'affranchir de cette limitation. En effet, l'utilisateur
peut créer dans ces circuits, toutes les fonctions logiques qu'il souhaite avec comme
limitations : la place disponible dans le circuit choisi et / ou la vitesse de fonctionnement de
celui-ci. C’est pourquoi, dans ce projet de mémoire, on a choisi d’étudier ce circuit FPGA
sous le thème : « Exploitation de la technologie FPGA pour générer les signaux de commande
des onduleurs autonomes triphasés». Ce travail aura donc pour but de maitriser la conception
avec cette nouvelle technologie, pour pouvoir l’exploiter à des applications avec des foncions
compliquées à haute fréquence, difficile à réaliser avec d’autres circuits intégrés. Pour mener
à bien cette étude, on a divisé cet ouvrage en trois grands chapitres :
Le premier chapitre concerne le contexte général à travers lequel on parle des généralités
INTRODUCTION Promotion 2012
RAMBOAMAMPIANINA Samitiana
2
sur la technologie FPGA.
Le deuxième chapitre illustre la méthodologie de conception d’un projet avec le FPGA
Le dernier chapitre concerne l’application et les résultats de commande d’un onduleur
triphasé en pont, un onduleur triphasé multiniveau NPC3 et un onduleur triphasé nouveau
modèle par FPGA.
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
3
Chapitre 1 : Généralités sur la technologie FPGA
1.1 Les circuits intégrés
1.1.1 Définition
Un circuit intégré est un circuit électronique réalisant une ou plusieurs fonctions et
comportant plusieurs transistors fabriqués de façon collective. Les techniques de fabrication
collective (Successions d'étapes dépôts – lithographies – gravures - dopages) sont très
sophistiquées et très coûteuses, mais elles permettent de réaliser sur une même tranche de
silicium un grand nombre de circuits intégrés qui comportent eux-mêmes un grand nombre de
transistors.
Le transistor est donc le principal élément constitutif des circuits intégrés, ce dernier est donc
basé sur le principe de fonctionnement des transistors.
1.1.2 Les transistors
Les premiers transistors étaient des transistors bipolaires. Ces transistors sont rapides mais ne
sont pas bien adaptés à la miniaturisation (encombrement et forte consommation). Ils sont
actuellement utilisés pour les circuits analogiques. Ils sont à base de silicium pour les basses
fréquences et les radiofréquences jusqu'à quelques milliards d’Hertz (GHz). Pour les
fréquences plus élevées (hyperfréquences), les matériaux de base sont les semi-conducteurs
composés d'atomes des troisième et cinquième colonnes du tableau de Mendéléïev (composés
III-V de type GaAs), ou SiGe.
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
4
Au milieu des années 60, grâce aux recherches concernant l'oxyde de silicium, est apparu le
transistor à effet de champ (MOSFET pour Metal Oxide semi-conducteur Field Effect
Transistor). A l'origine, on ne savait fabriquer que des MOSFET dont l'électrode de
commande (la grille) était fabriquée en aluminium.
Dans les années 70, de nouvelles techniques d'isolation entre des transistors (LOCOS pour
localized oxide separation) et la maîtrise des grilles en silicium polycristallin, ont permis de
fabriquer des MOSFET à conduction par électrons.
Enfin, dans les années 80, on a su réaliser sur une même tranche et avec des procédés
technologiques compatibles des MOSFET à conduction par trous et des MOSFET à
conduction par électrons. Les circuits CMOS (« Complementary MOSFET ») étaient nés. Ces
circuits, bien que relativement lents, sont bien adaptés pour une miniaturisation (faible
encombrement, technologie de fabrication relativement simple, faible consommation). Dans
le futur, les performances des circuits pourraient encore être améliorées, à une technologie
comparable, par l'utilisation de substrats de type SOI (silicon on insulator). Compte tenu
du compromis (vitesse, puissance dissipée, densité d’intégration, coût), la plupart des circuits
intégrés sont fabriqués dans cette technologie. Le silicium a donc aujourd’hui le quasi-
monopole. Les circuits intégrés sont actuellement fabriqués sur substrats SOI, et l'utilisation
du silicium- germanium (SiGe).
1.1.3 Historique des circuits intégrés
Les circuits électroniques envahissent le quotidien de manière impressionnante.
Ils sont présents dans les machines à laver, les montres, les voitures, et évidemment dans les
ordinateurs. Qui aurait pensé, le 23 décembre 1947, date de la création du premier transistor
par William Shockley, Walter Braittain et John Bardeen, physiciens des laboratoires Bell,
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
5
qu’en 66 ans l’électronique allait révolutionner le style de vie de l’humanité ?
En 1952, G. W. A. Dummer, un Anglais expert en radar, publia un article proposant d’utiliser
un bloc de matériel solide pour connecter des composants électroniques, sans fils de
connexions. Le concept de circuit intégré était né, et six ans plus tard, en 1958, Jack Kilby,
travaillant pour Texas Instruments, en réalisa le premier spécimen, sous la forme d’un
oscillateur à décalage de phase, contenant cinq éléments sur une seule pièce de semi-
conducteur. Depuis celà, la complexité des circuits intégrés n’a cessé de croître, pour arriver à
des systèmes jusqu’à 1.7 milliard de transistors pour le processeur d’Intel.
La fabrication d’un circuit intégré spécifique à une application (ASIC) est une tâche ardue et
coûteuse en temps et en argent. En effet, la réalisation d’un prototype, nécessite la création
d’un ou plusieurs masques, qui sont très coûteux s’ils ne sont destinés qu’à une petite
quantité. De plus, une simple erreur dans le design du système, implique la création d’un ou
plusieurs nouveaux masques. Et finalement, l’investissement, en temps de développement est
important, et n’est pas forcément tolérable si un produit doit très rapidement être mis sur le
marché.
Parallèlement à l’avancée des ASICs, divers circuits programmables ont fait leur apparition,
afin de réduire le temps et le coût de développement des circuits électroniques, tout en restant
relativement compétitifs sur le plan de la rapidité d’exécution.
1.1.4 Les différents types de circuits intégrés
On peut classer les circuits intégrés en 3 grandes classes :
Les processeurs
Le Circuit Intégré Spécifique à une Application (ASIC)
Les circuits programmables
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
6
1.1.4.1 Les processeurs
Un processeur est un circuit intégré permettant d’implémenter n’importe quelle fonction en
exécutant de manière séquentielle un code compilé. Le grand avantage du processeur est sa
généricité, puisque n’importe quel programme peut y être exécuté. De plus, sa réalisation est
très facile.
Malheureusement, cette généricité s’accompagne d’un coût, à savoir le temps d’exécution
d’une tâche. En effet, les instructions sont exécutées une à une (bien que certains processeurs
présentent un certain parallélisme), l’opération nécessitant au minimum trois pas de temps.
Un système matériel peut, lui, effectuer cette opération en un seul pas. De plus, le processeur
étant une unité chargée d’un calcul, une seule erreur compromet l’ensemble de son exécution
à cause de l’exécution séquentielle. Les systèmes parallèles laissent, quant à eux, la porte
ouverte à l’autoréparation, une unité pouvant potentiellement prendre la place d’une autre se
trouvant dans un état défectueux. Les applications intrinsèquement parallèles, telles que les,
réseaux de neurones ou les automates cellulaires sont donc exécutées de manière séquentielle
par un processeur, alors qu’un système matériel a la possibilité d’exploiter tout le parallélisme
possible.
Les systèmes cellulaires, composés de plusieurs cellules effectuant des tâches en parallèle,
sont donc bien plus efficacement réalisés en matériel qu’en logiciel.
1.1.4.2 ASIC
Le Circuit Intégré Spécifique à une Application (ASIC) est une des manières de réaliser un
système de calcul matériel. Pour chaque application, un circuit différent est créé, soit en le
construisant entièrement, soit en configurant une grille d’éléments préconstruits. L’avantage
des ASICs sur les circuits reconfigurables, pour une même technologie, est évidemment leur
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
7
rapidité, puisque les connexions sont créées physiquement plutôt que programmées.
Toutefois, leur force est également leur faiblesse, puisque leur conception nécessite plus de
temps, étant donné qu’en tout cas une couche de métal, doit être apposée. De plus, ils ne sont
en aucun cas programmables, et une erreur dans le design implique un changement complet
du circuit.
1.1.4.3 Les circuits programmables
Un circuit programmable, est un assemblage d’opérateurs logiques, combinatoires et de
bascules, dans lequel la fonction réalisée n’est pas fixée lors de la fabrication. Il contient
potentiellement la possibilité de réaliser toute une classe de fonctions, plus ou moins large
suivant son architecture. La programmation du circuit consiste à définir une fonction parmi
toutes celles qui sont potentiellement réalisables.
Comme dans toute réalisation en logique câblée, une fonction logique est définie par les
interconnexions entre des opérateurs combinatoires et des bascules, et par les équations des
opérateurs combinatoires. Ce qui est programmable dans un circuit concerne donc les
interconnexions et les opérateurs combinatoires. Les bascules sont le plus souvent de simples
bascules D, ou des bascules configurables en bascules D ou T.
La réalisation d’opérateurs combinatoires utilise des opérateurs génériques.
Par la suite, on va s’intéresser spécialement à ce circuit programmable.
1.2 Les circuits FPGA
1.2.1 Définition
FPGA : Field-Programmable Gate Array, réseau de portes programmables
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
8
Un FPGA est un circuit intégré composé d’un grand nombre d’éléments logiques
programmables reliés entre eux grâce à une matrice de routage elle aussi programmable. Cette
structure permet au FPGA d’émuler n’importe quel circuit, à la seule condition que celui-ci ne
soit pas trop gros pour ne pas épuiser les ressources logiques et de routage du FPGA.
1.2.2 Historique
En 1984 la société américaine Xilinx fut le premier inventeur du domaine en lançant le
premier circuit FPGA commercial, le XC2000. Ce composant avait une capacité maximum de
1500 portes logiques. La technologie utilisée était alors une technologie aluminium à 2µm
avec 2 niveaux de métallisation. Xilinx sera suivi un peu plus tard, et jamais lâché, par son
plus sérieux concurrent Altera qui lança en 1992 la famille de FPGA FLEX 8000 dont la
capacité maximum atteignait 15000 portes logiques.
En 2000 et 2001, les deux concurrents Xilinx et Altera ont franchi une nouvelle étape au
niveau de la densité d’intégration en proposant respectivement leurs circuits Virtex et Apex-II
dont les capacités maximums avoisinaient les 4 millions de portes logiques équivalentes avec
de plus l’introduction de larges bancs de mémoires embarquées. Aujourd’hui, les fréquences
de fonctionnement de ces circuits sont de l’ordre de quelques centaines de Méga Hertz (ces
dernières sont en réalité très dépendantes de l’application). Bien que ces valeurs soient
relativement réduites par rapport aux ASICs, elles sont suffisantes pour une très large majorité
d’applications actuelles.
À partir des années 2000, les capacités des FPGA ont permis d’offrir aux concepteurs une
solution supplémentaire de réalisation pour une majorité d’applications. De plus, les outils de
mise en œuvre des FPGA ont évolué, ils permettent la réalisation rapide d’applications
complexes.
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
9
1.2.3 Les principaux fabricants
Les fabricants des FPGA ne cessent pas d’améliorer leurs produits par l’efficacité et la
puissance. Les fabricants qui conçoivent ce type de circuits sont : Actel, Altera, Atmel
Cypress, Latice, Minc, QuicLOgic, Xilinx et autres.
Mais les principaux fabricants qui tiennent une place importante sur le marché sont :
Altera
Xilinx
Constructeur Part du marché
Xilinx 35,5%
Altera 32,7%
Lattice 16,1%
Actel 6,7%
Lucent Technologie 4,3%
Autres 4,7%
Tableau 1 : Répartition du marché des FPGA
1.2.4 Différents types de circuits FPGA
On peut classer les FPGA, suivant leurs tehnologie de programmation.
En effet, pour franchir les inconvenients des mémoires, et dans le but de faire un ensemble de
technologie complementaire adaptable suivant l’environnement des cahiers des charges, il
existe trois types d’FPGA reprogrammables suivant la technologie de mémorisation pour
répondre aux differentes applications.
Ces trois principales technologies d’FPGA sont :
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
10
Technologie de programmation par RAM
Technologie de programmation par EEPROM ou FLASH.
Technologie de programmation par anti-fusible
1.2.4.1 Technologie à base de RAM (Les fabricants sont XILINX et
ALTERA)
Cette technologie permet d’avoir une reconfiguration rapide des FPGA. Les connexions sont
des ensembles de transistors commandés. L’inconvénient majeur de cette technologie c’est
qu’elle nécessite beaucoup de place et il est nécessaire de sauvegarder le design du FPGA
dans une autre mémoire flash.
1.2.4.2 Technologie à base de EEPROM ou FLASH (Les fabricants sont
LATTICE et ACTEL)
Cette technologie garde sa configuration mais un nombre limité de configuration avec une
configuration plus lente par rapport à SRAM
1.2.4.3 Technologie à base d’ANTI-FUSIBLE (Le fabricant est ACTEL)
Les points de connexions sont du type ROM, c’est-à-dire que la modification du point est
inversible. Pour comprendre le mécanisme de connexion sans rentrer dans les détails des
semi-conducteurs, on considère que le point de connexion est le point de rencontre de deux
segments conducteurs ou lignes conductrices. Le non « anti-fusible » vient du fait que l’état
initial du fusible ou la couche isolant est présent et il n’y a pas de contact, pour l’établir il faut
détruire le fusible ce qui est contradictoire au fonctionnement habituel d’un fusible. Des
composants moins génériques mais plus petits et plus rapides ont été développés.
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
11
1.2.5 Architecture du FPGA
L’architecture interne des FPGA est différente d’un fondeur à un autre et même entre la
différente gamme du même constructeur mais rien n’empêche que leurs ressemblances
peuvent être rassemblées dans le schéma représentatif de la figure suivante :
Figure 1 : Architecture interne du FPGA
En général, un FPGA est composé des blocs principaux électriquement configurables
suivants :
Les blocs logiques configurables (CLB)
Les blocs d’entrée-sortie (IOB)
Les ressources d’interconnexion
Illustration des blocs principaux :
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
12
1.2.5.1 Les blocs logiques configurables (CLB)
Les blocs logiques configurables sont les principaux éléments d’un FPGA. Ils peuvent avoir
un ou plusieurs générateurs de fonctions réalisées avec des tables de correspondance (LUT
look-up tables) qui peuvent mettre en œuvre une logique arbitraire en fonction de leur
configuration.
Autour d’une LUT, il y a une logique d’interconnexion qui permet les liaisons à destination et
vers la LUT. Elle est mise en œuvre à l’aide de portes logiques et de multiplexeurs.
Pendant le processus de configurations d’un FPGA, les mémoires des LUT sont écrites pour y
implémenter une fonction, et la logique qui l’entoure est configurée pour router correctement
les signaux afin de construire un système complexe. Il existe différents types de CLB en
fonction du FPGA utilisé.
L’architecture des FPGA peuvent être regroupées en:
a Circuits FPGA à base de LUT (Look Up Tables)
Les LUT ressemblent aux tables de vérité des fonctions logiques et réalisables par des
mémoires de type SRAM. Aujourd’hui, la structure la plus utilisée est basée sur ce type
d’FPGA .Les possibilités offertes par les circuits programmables FPGA a SRAM permettent
par ailleurs de mettre en œuvre le concept de prototypage(ou maquette) pour la vérification
fonctionnelle de systèmes sur puce pour certaines applications.
La fonction de la LUT est de stocker la table de vérité de la fonction combinatoire à
implémenter sur des mémoires SRAM (LUT = Look-Up Table).
La table de vérité est alors chargée dans ces LUT. La figure suivante montre le cas de LUT à
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
13
deux entrées. En général, les FPGA sont équipés de LUT à quatre ou six entrées.
Exemple : S=A+B
Tableau 2 : Exemple de LUT
Les éléments séquentiels (synchrones sur front ou niveau) sont implantés sur des bascules (D
le plus fréquemment).
b Les circuts FPGA à base de mutiplexeurs « MUX »
Les FPGA à base de multiplexeurs qui sont des microcellules à trois entrées capables de
réaliser la fonction suivante :
F = (a AND b) OR (a AND b)
1.2.5.2 Les blocs d’entrée-sortie (IOB)
Les blocs d’entrée-sortie permettent l’interconnexion de la logique interne aux ports d’entrées
et de sorties du FPGA. Les IOB ont leur propre mémoire de configuration, elle stocke les
standards de tension et la direction des ports. Ces blocs sont présents sur toute la périphérie du
circuit FPGA. Chaque bloc IOB contrôle une broche du composant et il peut être défini en
entrée, en sortie, en signaux bidirectionnels ou être inutilisé.
A B S
0 0 0
0 1 1
1 0 1
1 1 1
0
1
1
1
D
é
c
o
d
e
u
r
LUT(SRAM)
Adresses Données
S
A
B
Figure 2 : LUT
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
14
1.2.5.3 Les ressources d’interconnexion
Les ressources d’interconnexion au sein d’un FPGA permettent la connexion arbitraire des
CLB et des IOB.
Les connexions internes dans les circuits FPGA sont composées de segments métallisés.
Parallèlement à ces lignes, nous trouvons des matrices programmables réparties sur la totalité
du circuit, horizontalement et verticalement entre les divers CLB. Elles permettent les
connexions entre les diverses lignes, celles-ci sont assurées par des transistors MOS dont
l’état est contrôlé par des cellules de mémoire vive ou RAM. Le rôle de ces interconnexions
est de relier avec un maximum d’efficacité les blocs logiques et les entrées/sorties afin que le
taux d’utilisation dans un circuit donné soit le plus élevé possible.
Pour parvenir à cet objectif, Xilinx propose trois sortes d’interconnexions selon la longueur et
la destination des liaisons.
Les interconnexions directes : Ces interconnexions permettent l’établissement des
liaisons entre les CLB et les IOB. Il est possible aussi de connecter directement certaines
entrées d’un CLB aux sorties d’un autre.
Les longues lignes : Ce sont de longs segments métallisés parcourant toute la longueur et
la largeur du FPGA. Elles permettent éventuellement de transmettre avec un minimum de
retard des signaux, entre les différents éléments, dans le but d’assurer un synchronisme
aussi parfait que possible. De plus, ces longues lignes permettent d’éviter la multiplicité
des points d’interconnexion.
Les matrices d’interconnexion : Ce sont des points situés à chaque intersection. Leur
rôle est de raccorder les longues lignes entre elles selon diverses configurations. Ces
interconnexions sont utilisées pour relier un CLB à n’importe quel autre CLB sur le
FPGA. Ceci pour assurer la communication des signaux. Pour éviter l’affaiblissement des
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
15
signaux traversant les longues lignes, des buffers sont implantés dans chaque matrice
d’interconnexion.
Les trois blocs présentés jusqu’ici sont interconnectés ensemble dans le dispositif pour créer
une infrastructure de communication composée d’un réseau de communication d’IOB autour
des CLB. Des cellules de mémoire liées à chaque bloc détiennent les caractéristiques
principales, de telle sorte que les interconnexions entre l’infrastructure de communication, les
normes de tension des entrées-sorties d’un IOB, et les équations soient commandées par des
valeurs particulières stockées dans une mémoire. Toutes ces configurations sont stockées dans
des SRAM qui sont volatiles : lorsque le composant est mis sous tension, toute sa
configuration est perdue et il doit être redémarré avec une nouvelle configuration.
Habituellement, des dispositifs sur la carte de développement se charge de télécharger la
configuration sur le FPGA via une de ses interfaces de configuration, et envoie une commande
de démarrage pour signaler que la configuration a eu lieu. Certaines cartes ont une mémoire
ROM d’intégrée. Elle permet de stocker la configuration, de sorte qu’elle puisse ensuite être
téléchargée sur le FPGA. Dans ce cas, les données de configuration sont copiées sur la
mémoire SRAM de configuration du FPGA au démarrage de celui-ci.
1.2.6 Programmation du circuit FPGA
Une première étape dans la programmation d’un circuit FPGA consiste à connecter les blocs
logiques entre eux et les entrées/sorties (routage du programme).
Les circuits FPGA disposent de plusieurs ressources de routage. En général, les niveaux
hiérarchiques disponibles sont :
Connexions directes vers les voisins proches.
Connexions générales à travers des matrices de routages et des canaux disposés suivant
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
16
une topologie simple
Connexions à longue distance
Distribution d'horloge spécifique
Ensuite, la seconde étape de programmation des circuits FPGA est la définition des
connexions entre les switchs et les blocs logiques. Cet outil de design traduit le langage
introduit par l’utilisateur (VHDL, Verilog).
1.2.7 Avantage de l’exploitation du circuit FPGA
1.2.7.1 Par rapport aux processeurs
a Performances
Comme ils bénéficient du parallélisme matériel, les FPGA offrent une puissance de calcul
supérieure à celle des processeurs de signaux numériques (DSP), car ils s'affranchissent du
modèle d'exécution séquentielle et exécutent plus d'opérations par cycle d'horloge. BDTI, une
importante société d'analyse a publié des études montrant que les FPGA peuvent offrir une
puissance de traitement par dollar plusieurs fois supérieure à celle d'une solution DSP dans
certaines applications. Contrôler les entrées et sorties (E/S) au niveau matériel permet
d'obtenir des temps de réponse plus courts ainsi que des fonctionnalités spécifiques, qui
répondent mieux aux besoins de l'application.
Pour avoir une idée sur l’ordre de grandeur, on peut comparer la performance entre les deux
circuits intégrés par les chiffres suivants :
Microprocesseur à 1 GHz :
1 000 000 000 opérations par seconde
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
17
FPGA à 300 MHz avec 1000 multiplicateurs :
300 000 000 000 opérations par seconde
b Fiabilité
Tandis que les outils logiciels fournissent l'environnement de programmation, les circuits
FPGA sont une véritable implémentation matérielle de l'exécution logicielle. Les systèmes
basés sur processeur comprennent souvent plusieurs couches d'abstraction, pour aider à la
planification des tâches et à la répartition des ressources entre les différents processus. La
couche de driver contrôle les ressources matérielles et le système d'exploitation gère la
mémoire et la bande passante du processeur. Sur chaque cœur de processeur, une seule
instruction peut s'exécuter à la fois ; c'est pourquoi les systèmes basés sur processeur risquent
toujours de voir des tâches prioritaires entrer en conflit. Les FPGA, qui n'utilisent pas de
système d'exploitation, minimisent les problèmes de fiabilité car ils assurent une exécution
véritablement parallèle et un matériel déterministe dédié à chaque tâche.
1.2.7.2 Par rapport aux autres circuits intégrés comme ASIC
a Temps de mise sur le marché
Face à des préoccupations croissantes concernant les temps de mise sur le marché, la
technologie FPGA représente une solution souple offrant des capacités de prototypage rapide.
Ainsi, on peut tester une idée ou un concept, puis le vérifier sur du matériel sans avoir à
passer par le long processus de fabrication d'un ASIC personnalisé. Une fois le programme
validé cela ne prend que quelques minutes à l’implémenter. A titre de comparaison, la
fabrication d’un circuit ASIC peut prendre plusieurs semaines. Le matériel « sur étagère »
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
18
actuellement commercialisé propose également différents types d'E/S déjà connectées à un
circuit FPGA programmable par l'utilisateur. La multiplication des outils logiciels de haut
niveau disponibles sur le marché permet de réduire le temps d’exploitation. Ces outils
comprennent souvent des cœurs de propriété intellectuelle (fonctions précompilées) utiles
pour le contrôle avancé et le traitement de signaux.
b Un circuit reprogrammable
L’avantage du FPGA est de pouvoir être reprogrammable contrairement aux circuits intégrés
de type ASIC. Ce qui rend cette solution modulable et donne la possibilité de modifier le
programme générique de base afin de le rendre spécifique au circuit utilisé. Une solution de
validation utilisant le FPGA peut alors convenir à beaucoup de projets et donc diffusée à
plusieurs équipes.
c Un investissement rentable dans la durée
Cela est dû à sa reprogrammation, ce qui implique une réutilisation à destination d’autres
projets, malgré un prix à l’achat supérieur à un circuit ASIC.
d Un coût relativement faible
Les coûts des ASIC personnalisés sont bien supérieurs à ceux des solutions matérielles basées
sur du FPGA. L'important investissement de départ que requièrent les ASIC se justifie
largement pour les OEM, par exemple, qui peuvent livrer des circuits par milliers chaque
année. Cependant, la plupart des utilisateurs finaux ont besoin de matériels personnalisés pour
quelques dizaines ou quelques centaines de systèmes en développement.
Par nature, les circuits programmables n'impliquent ni coût de fabrication, ni longs délais
d'assemblage. Les besoins de la plupart des systèmes évoluent avec le temps ; or la
GENERALITES SUR LA TECHNOLOGIE FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
19
modification progressive d'un FPGA représente un coût négligeable comparé à la dépense
considérable qu'exige la reconception d'un ASIC.
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
20
Chapitre 2 : Conception d’un projet avec FPGA
2.1 Flot de conception du FPGA
Plusieurs étapes sont incontournables au développement d’un projet sur la plateforme FPGA :
2.1.1 Spécification du design
Le nombre de broches d’entrée-sortie et leur localisation dans la puce FPGA.
La spécification de la fréquence horloge du système.
La spécification de la mémoire requise pour l’application.
2.1.2 Développement du design
Spécification de la méthodologie de design (outil de développement utilisé).
La saisie du circuit Codage RTL (VHDL, Verilog, …………………….)
Graphique (machine à états)
Saisie HDL (Hardware Description Langage).
La Simulation (Pré et Post synthèse).
2.1.3 Synthèse
La synthèse est le processus qui convertit la représentation du design à partir du code HDL
fourni pour produire une représentation au niveau porte logique. Elle s’occupe de déterminer
quelles sont les structures susceptibles de répondre au cahier de charges étudiées et de
produire un code booléen unique sous forme d’un fichier.
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
21
2.1.4 Placement et routage
A partir des fichiers de synthèse, l’outil de conception procède au placement et routage. Un
algorithme de routage est sensé de faire l’aiguillage des donnés qu’il reçoit vers leurs
destination par action sur les nœuds de routage ce qui est équivalent à définir les chemins qui
relient l’ensemble des CLB contenus dans la fonction désirée. Ces algorithmes de routage
sont différents d’un concepteur à un autre. Plusieurs traitements sont nécessaires pour obtenir
fichier de configuration :
2.1.4.1 Partitionnement
Les équations logiques sont partitionnées en un autre ensemble équivalent d’équations.
Chaque équation de ce nouvel ensemble peut être implantée dans un seul bloc logique du
composant cible FPGA
2.1.4.2 Placement
Des blocs logiques sont selectionnés dans la matrice et affectés au calcul des nœuds du réseau
booléen.
2.1.4.3 Routage
Les ressources d’intrconnexion sont affectées à la communication de l’etat des nœuds du
reseau vers les differents blocs logiques qui en ont besoin.
2.1.4.4 Generation des données numériques de configuration
Les informations abstraites de routage, de placement et les equations implantées dans les
blocs sont transformées en un ensemble de valeurs numériques, qui seront chargées sur le
composant FPGA.
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
22
2.1.5 Integration et implementation
L’implementation est la realisation proprement dite qui consiste à mettre en œuvre
l’algorithme sur l’architecture du circuit configurable cible, c’est-à-dire à compiler, charger,
puis lancer l’execution sur un ordinateur ou calculateur. C’est une étape de programmation
physique et de tests électriques qui clôture la realisation du circuit. La figure suivante résume
l’ensemble de ces étapes.
Figure 3 : Flot de conception du FPGA
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
23
Le flot de conception d’un FPGA est synthétisé par l’algorithme suivant :
OUI
Début du design
Spécification du design
Saisie du design
Synthèse
Placement et routage
Intégration et implémentation
NON Design satisfaisant
Figure 4 : Algorithme de conception avec FPGA
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
24
2.2 Langage de programmation
2.2.1 Définition
Pour pouvoir décrire les fonctions à charger dans ce circuit il faudra un langage universel qui
permet à tout concepteur de le modifier en cas d’amélioration.
2.2.2 Langage de description de bas niveau
La saisie de schéma est un moyen puissant pour spécifier un design car le schéma graphique
est une manière naturelle pour un électronicien de créer ou de lire un design. Elle a toutefois
trois inconvénients principaux :
L’incompatibilité entre les librairies qui rend le portage d’un design entre deux fabricants
de FPGA quasiment impossible.
La complexité d’un schéma devient très élevée quand le nombre de portes augmente. Au-
delà de 10000 portes, il devient généralement ingérable.
Une modification importante au milieu d’une page du schéma nécessite généralement la
réécriture complète de la page.
Pour toutes ces raisons, on a essayé de développer des outils spécifiant le design avec une
entrée de type texte plutôt qu’avec une entrée de type graphique. Les premiers langages de
bas niveau ont été créés pour programmer les PAL puis les PLD. Il existe aujourd’hui un très
grand nombre de design élémentaires (et opérationnels) que l’on peut chercher à réutiliser. On
trouve principalement les deux langages suivants :
PALASM : Il s’agit d’un langage de programmation de PAL conçu par AMD/MMI.
Aujourd’hui en version 2, les outils de développement ont l’immense avantage d’être
gratuits.
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
25
ABEL: ABEL est un langage de programmation de PAL conçu par Data I/O. Il est très
utilisé aux USA mais les outils de développement demeurent assez coûteux.
2.2.3 Langage de description matériel (VHDL)
Nécessité:
L'évolution des technologies induit une complexité croissante des circuits intégrés qui
ressemblent de plus en plus aux systèmes complets d'hier. Aujourd'hui, on intègre dans une
puce ce qui occupait une carte entière il y a quelques années. La simulation logique globale du
système au niveau "porte" n'est plus envisageable en termes de temps de simulation. C'est
donc tout naturellement que des simulateurs fonctionnels ont commencé à être utilisés en
microélectronique. Dans les années 70, une grande variété de langages et de simulateurs était
utilisée. Cette diversité avait pour conséquence un non portabilité des modèles et donc une
impossibilité d'échange entre les sociétés. Un des rôles de VHDL est de permettre l'échange
de descriptions entre concepteurs. Ainsi peuvent être mises en place des méthodologies de
modélisation et de description de bibliothèques en langage VHDL. L'effort de standardisation
d'un langage tel que VHDL était nécessaire par le fait qu'il ne s'agissait pas de construire un
seul simulateur VHDL (contrairement à la quasi-totalité des autres langages), mais de
permettre l'apparition d'une multitude d'outils (de simulation, de vérification, de synthèse, ...)
de constructeurs différents utilisant la même norme. Ceci garantit une bonne qualité (la
concurrence) et l'indépendance de l'utilisateur vis à vis des constructeurs de ces outils.
Les deux langages précédents (ABEL, PALASM) sont loin d’être assez puissants pour
pouvoir spécifier un ASIC ou un FPGA. Deux langages de description matérielle sont apparus
dans les années 80 : Verilog et VHDL (VHSIC (Very High-Speed Integrated Circuit)
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
26
Hardware Description Language). La grande majorité des simulateurs ne travaille plus
aujourd’hui qu’avec un de ces deux langages. Le schéma graphique, quand il est utilisé, est
simplement traduit dans un de ces langages (en netlist VHDL). La synthèse est l’opération
qui consiste, à partir du fichier texte, à produire la netlist contenant le schéma électrique
destiné aux outils de placement-routage. Cette étape est particulièrement délicate dans le cas
des FPGA à cause de la complexité élevée (granularité) de la cellule de base du FPGA. La
portabilité est bien meilleure qu’avec la saisie de schéma (les langages VHDL et Verilog sont
normalisés), mais toute la complexité du processus de développement repose maintenant sur
l’efficacité de la synthèse.
2.2.4 Historique du VHDL
Les langages de description matérielle (HDL ou Hardware Description Language) ont été
inventés à la fin des années 60. Ils s'appuyaient sur les langages de programmation et devaient
permettre la description et la simulation de circuits.
Entre les années 1968 et 1975, une grande diversité de langages et de simulateurs ont vu le
jour. Cependant, leur syntaxe et leur sémantique étaient incompatibles et les niveaux de
descriptions étaient variés. En 1973, le besoin d'un effort de standardisation s'est fait ressentir
et c'est ainsi que le projet CONLAN (pour CONsensus LANguage) a été mis en place. Les
principaux objectifs de ce projet étaient de définir un langage de description matériel
permettant de décrire un système à plusieurs niveaux d'abstractions, ayant une syntaxe unique
et une sémantique formelle et non ambiguë. En mars 1980, le département de la défense des
Etats Unis d'Amérique (DoD ou Department of Defense) lançait le programme VHSIC. En
1981, des demandes pour un nouveau langage de description de systèmes matériels,
indépendant de toute technologie et permettant de couvrir tous les besoins de l'industrie
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
27
microélectronique, ont été formulées. C'est en 1983, que d'importantes sociétés telles que
IBM, Intermetrics ou encore Texas Instruments se sont investies dans ce projet et à la fin de
l'année 1984, un premier manuel de référence du langage ainsi qu'un manuel utilisateur ont
été rédigés. En 1985, des remises en cause et des évaluations ont donné naissance à la version
7.2 du langage VHDL, et en juillet 1986, Intermetrics a développé un premier compilateur et
un premier simulateur. C'est en mars 1986, qu'un groupe chargé de la standardisation du
langage VHDL a été créé. Il s'agit du groupe américain VASG (VHDL Analysis and
Standardization Group) qui est un sous-comité des DASS (Design Automation Standard
Subcommittees), eux-mêmes émanant de l'IEEE (Institute of Electrical and Electronics
Engineers). La norme VHDL IEEE 1076 a été approuvée le 10 décembre 1987. En tant que
standard IEEE, le langage VHDL évolue tous les cinq ans afin de le remettre à jour,
d'améliorer certaines caractéristiques ou encore d'ajouter de nouveaux concepts. Ainsi en
1991 a débuté le processus de re-standardisation : regroupement et analyse des requêtes,
définition des nouveaux objectifs du langage, spécifications des changements à apporter au
langage. La nouvelle norme du langage VHDL a été votée en septembre 1993. La syntaxe et
la sémantique de cette nouvelle norme ont donné lieu à un nouveau manuel de référence. Il
est à souligner que la nouvelle version du langage VHDL généralement notée VHDL'93 est,
au moins théoriquement, la seule et unique version légale du langage. L'approbation de la
nouvelle norme VHDL en 1993 rend le standard précédent (IEEE Std 1076 voté en 1987)
désuet. Néanmoins, et heureusement, VHDL'93 reste compatible avec VHDL'87.
2.2.5 Description du VHDL
2.2.5.1 Le couple entité architecture
Un design quelconque (circuit intégré, carte électronique ou système complet) est
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
28
complètement défini par des signaux d’entrées et de sorties et par la fonction réalisée en
interne. L’élément essentiel de toute description en VHDL est formé par le couple entité
architecture qui décrit l’apparence externe d’un module et son fonctionnement interne.
Entité
L’entité décrit la vue externe du modèle : elle permet de définir les ports par où sont
véhiculés les informations (signaux) et les paramètres génériques.
Architecture
L’architecture définit la vue interne du modèle. Cette description peut être de type structurel,
flot de données, comportemental ou une combinaison des trois. Tous les fonctionnements ne
nécessitent pas le même degré de précision : tantôt une description globale permet d’obtenir
un résultat satisfaisant, tantôt une description très précise s’avère nécessaire. A chaque entité
peut être associée une ou plusieurs architectures, mais, au moment de l’exécution (simulation
ou synthèse), seule une architecture est utilisée. Ceci présente l’intérêt majeur de comparer
plusieurs architectures pour choisir la meilleure. L’architecture comprend aussi une partie
déclarative où peuvent figurer un certain nombre de déclarations (de signaux, de composants,
etc.) internes à l’architecture.
2.2.5.2 Les principaux objets manipulés
Les constantes
Une constante peut être assimilée à un signal interne (au circuit) auquel est associée une
valeur fixe et définitive. La constante peut être de tout type.
Les variables
Une variable est capable de retenir une valeur pendant une durée limitée. Elle ne peut être
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
29
employée qu’à l’intérieur d’un process. A l’opposé d’un signal, une variable n’est pas une
liaison concrète et ne doit pas laisser de trace après synthèse.
Les signaux
Les signaux sont spécifiques à la description matérielle. Ils servent à modéliser les
informations qui passent sur les fils, les bus ou, d’une manière générale, qui transitent entre
les différents composants. Les signaux assurent donc la communication.
Les types
Une des principales caractéristiques de VHDL est qu'il s'agit d'un langage fortement typé.
Tous les objets définis en VHDL doivent appartenir à un type avant d'être utilisés. Deux
objets sont compatibles s’ils ont la même définition de type. Un type définit l'ensemble des
valeurs que peut prendre un objet ainsi que l'ensemble des opérations disponibles sur cet
objet. Puisque VHDL s'applique au domaine logique, les valeurs '0' et '1' peuvent être
considérées. L'ensemble de ces deux valeurs définit le type BIT. Il est possible de définir
d'autres valeurs comme par exemple la valeur ‘Z’ désignant la valeur trois états. Un type plus
complet, englobant neuf valeurs logiques différentes décrivant tous les états d’un signal
électronique numérique, a été standardisé dans la librairie std_logic_1164 : le std_logic. Les
valeurs que peut prendre un signal de ce type sont :
‘U’ : non initialisé,
‘X’ : niveau inconnu, forçage fort,
‘0’ : niveau 0, forçage fort,
‘1’ : niveau 1, forçage fort,
‘Z’ : haute impédance,
‘W’ : niveau inconnu, forçage faible,
‘L’ : niveau 0, forçage faible,
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
30
‘H’ : niveau 1, forçage faible,
‘-‘ : quelconque. Les valeurs ‘0’ et ‘L’ sont équivalentes pour la synthèse, tout comme
les valeurs ‘1’ et ‘H’. Les valeurs ‘U’, ‘X’ et ‘W’ ne sont utilisables que pour la
simulation d’un design
Il existe quatre familles de type en VHDL :
Les types scalaires, dont la valeur est composée d'un seul élément (integer, bit,
std_logic, boolean, etc.),
les types composés, dont la valeur comprend plusieurs éléments (bit_vector,
std_logic_vector),
Les types accès, qui sont les pointeurs des langages de programmation,
Les types fichiers, qui ne sont utilisés que pour les objets fichiers. Les deux dernières
familles ne sont bien sûr pas utilisables pour le développement d’un circuit intégré.
2.2.5.3 Fonctionnement de traitement
Fonctionnement concurrent
Le comportement d'un circuit peut être décrit par un ensemble d'actions s'exécutant en
parallèle. C'est pourquoi VHDL offre un jeu d'instructions dites concurrentes. Une instruction
concurrente est une instruction dont l'exécution est indépendante de son ordre d'apparition
dans le code VHDL. Par exemple, prenons le cas d'un simple verrou, comme la montre la
figure :
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
31
Les deux portes constituant ce verrou fonctionnent en parallèle. Une description possible de
ce circuit est donnée dans le code suivant (seule l'architecture est donnée).
architecture comportement of VERROUis
begin
Q <= S nand NQ;
NQ <= R nand Q;
end comportement;
Ces deux instructions s'exécutent en même temps. Elles sont concurrentes ; leur ordre
d'écriture n'est pas significatif ; quel que soit l'ordre de ces instructions, la description reste
inchangée.
Fonctionnement séquentiel
Les instructions concurrentes qui viennent d’être présentées pourraient suffire à définir un
langage de description matériel. Cependant, certains circuits sont plus faciles à décrire en
utilisant des instructions séquentielles similaires à des instructions de langages classiques de
programmation. En VHDL, les instructions séquentielles ne s’utilisent qu’à l’intérieur des
processus. Un processus est un groupe délimité d’instructions, doté de trois caractéristiques
essentielles :
S Q
R Q
Figure 5 : Bascule RS
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
32
Le processus s’exécute à chaque changement d’état d’un des signaux auxquels il est
déclaré sensible.
Les instructions du processus s’exécutent séquentiellement.
Les modifications apportées aux valeurs de signaux par les instructions prennent effet à
la fin du processus.
L’exemple de la description suivante montre une architecture (seule) d’un latch D contenant
un processus qui est exécuté lors du changement d’état de l’horloge CLK.
architecture comportement of basc_D is
begin
Process (CLK)
Begin
If ( CLK= ‘1’) then
Q <= D;
End if ;
End process ;
end comportement;
2.2.5.4 VHDL par rapport aux autres langages
Bien que VHDL soit maintenant largement accepté et adopté, il n'est pas le seul langage de
description matériel. Pendant ces trente dernières années, beaucoup d'autres langages ont été
développés, ont évolués et sont encore utilisés aujourd'hui par les concepteurs de circuits
intégrés. Créé pour être un standard, VHDL doit son succès à la fois à ses prédécesseurs et à
la maturité de ses principes de base.
M et Verilog sont deux langages qui ont été développés par des compagnies privées pour leurs
propres besoins (langage de spécification pour leurs outils de simulation). Verilog a tout
d'abord été décrit par la société Gateway Design Automation qui a ensuite fusionné avec la
compagnie Cadence Design Systems. Pour que Verilog puisse faire face à VHDL, Cadence a
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
33
décidé de le rendre public en 1990. L'utilisation de Verilog est promue par le groupe Open
Verilog International (OVI) qui a publié en Octobre 1991 la première version du manuel de
référence du langage Verilog. En 1995, Verilog est devenu un standard sous la référence
IEEE 1364. Contrairement à Verilog, M est toujours un langage privé. Il est la propriété de la
compagnie Mentor Graphics. Du point de vue de leur syntaxe, VHDL s'est largement inspiré
du langage ADA, Verilog ressemble au langage C et Pascal, et M est totalement fondé sur le
langage C. VHDL est certainement le plus difficile à utiliser car il reste très général. De plus,
il demande à l'utilisateur d'avoir des habitudes de programmeur (compilation séparée, langage
fortement typé, notion de surcharge, etc.). Comparé à Verilog et M qui restent proches de la
réalité physique, VHDL est sans aucun doute plus complexe.
2.3 Logiciels de développement
Présentation
Les premiers composants logiques programmables contenaient un nombre de portes limité (de
l’ordre de 4000) et disposait grossièrement au plus d’une vingtaine d’entrées et d’une
douzaine de sortie. Il était possible de calculer n’importe quelle équation combinatoire à partir
de ces entrées et de réaliser des systèmes séquentiels simples.
Avec leur faible densité, il était aisé de les exploiter totalement avec les environnements de
développement rustiques basés sur des langages dits de première génération tels que
PALASM(AMD), AHDL(Altera), Abel HDL, ….
Actuellement la densité de fonctions logiques (portes et bascules) intégrée dans les circuits
programmables comme les FPGA est telle (plusieurs milliers de portes voir millions de
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
34
portes) qu’il n’est plus possible d’utiliser les outils tels que les langages de bas niveau comme
ABEL, PALASM, ORCAD/PLD. Le langage de description VHDL a été donc créé pour
pouvoir programmer les FPGA de nos jours. Mais puisqu'on a parlé de programmation, Les
différents fondeurs de composants ont rapidement proposé des outils de développement
intégrés permettant de prendre en charge la conception complète d’un circuit : du design à la
programmation finale du chip en passant par diverses étapes de simulation.
Il existe alors des outils de développements spécifiques proposés par les constructeurs des
circuits programmables. Le langage de description utilisé est pourtant le même, c'est le
langage VHDL. Les outils de développement sur le marché sont:
Actel: Libero (environnement de conception intégré), SmartTime (analyse des délais),
SmartPower (analyse de la consommation), SmartGen,.
Altera: Quartus II (environnement de conception intégré), SOPC Builder (développement
de systèmes), DSP Builder, TimeQuest (analyse des délais), PowerPlay (analyse de la
consommation),
Lattice: ispLever (environnement de conception intégré), ispLeverDSP.
Mentor Graphics: Precision RTL (synthèse logique), Precision Physical (synthèse
physique), ModelSim (simulation numérique), CatapultC (synthèse de haut niveau).
Synplicity: Synplify Pro (synthèse logique), Synplify Premier (synthèse physique),
Synplify DSP, Certify (prototypage des circuits spécifiques), Identify (instrumentation
embarquée et débogage),
Xilinx: ISE (environnement de conception intégré), System Generator for DSP et
AccelDSP, ChipScope Pro (débogage embarqué), PlanHead.
CONCEPTION D’UN PROJET AVEC FPGA Promotion 2012
RAMBOAMAMPIANINA Samitiana
35
Si on prend par exemple Quartus II
Quartus II est un logiciel développé par la société Altera, L’environnement de développement
permettant la gestion complète d'un flot de conception CPLD ou FPGA plus précisément,
permettant de programmer les composants reconfigurables d’Altera. Ce logiciel permet de
faire une saisie graphique ou une description HDL (VHDL ou verilog) d'architecture
numérique, d'en réaliser une simulation, une synthèse et une implémentation sur cible
reprogrammable.
Il comprend une suite de fonctions de conception au niveau système, permettant d’accéder à
la large bibliothèque d’IP d’Altera et un moteur de placement-routage intégrant la technologie
d’optimisation de la synthèse physique et des solutions de vérification. De manière générale,
un flot de conception ayant pour but la configuration de composants programmables.
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
36
Chapitre 3 : Applications aux onduleurs triphasés
Pour appliquer cette nouvelle technologie, on a choisi la commande d’onduleur.
3.1 Généralités sur les onduleurs triphasés
3.1.1 Définition
Un onduleur est un dispositif permettant de transformer en alternatif une énergie électrique de
type continue en agissant successivement sur la commande des interrupteurs commandés.
3.1.2 Avantages et domaine d’utilisation
3.1.2.1 Avantages
La conversion de la tension continue en tension alternative présente les possibilités suivantes :
On peut varier la fréquence fondamentale.
On peut varier la valeur efficace aux bornes des charges, soit en établissant une source
SOURCE DE TENSION
CONTINUE
ONDULEUR
CHARGES
COMMANDE
Réseau
triphasé
50Hz
Figure 6 : Schéma bloc d’un onduleur
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
37
réglable, soit en associant de nombreuses sources.
3.1.2.2 Domaine d’utilisation des onduleurs
Les onduleurs sont utilisés dans plusieurs domaines, mais on ne va prendre que deux
exemples pour illustrer ce paragraphe :
Variateur de vitesse d’un MAS (moteur asynchrone)
Alimentation de secours
Variateur de vitesse d’un MAS
La vitesse d’un MAS est fixée par la pulsation des courants statoriques. Pour changer de
vitesse, il faut changer la fréquence des tensions d’alimentation.
Il faut donc redresser la tension du réseau puis l’onduler à la fréquence désirée.
Alimentation de secours
Lors d’une panne d’électricité, un onduleur assure la continuité de l’alimentation des
machines à partir de batteries. Ceci est très utile en informatique professionnelle pour éviter la
perte d’informations en cas de panne de secteur.
Triphasé
f variable
Onduleur Redresseur
Continu
MAS
3
Réseau
triphasé
50Hz
Figure 7 : Schéma bloc d’un variateur de vitesse d’un MAS
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
38
3.1.3 Etude de quelques cas
Un onduleur triphasé autonome délivre une tension avec une fréquence fixe, soit ajustable par
l'utilisateur, il impose donc sa propre fréquence à la charge. Exemple un convertisseur de
voyage que l'on branche sur la prise allume-cigare d'une voiture utilise le 12 V continu du
véhicule pour générer du 120 ou 230 V, alternatif en 50 ou 60 Hz ;
Les différents types les plus utilisés pour les onduleurs triphasés autonomes sont :
Les onduleurs triphasés en ponts classiques
Les onduleurs triphasés multiniveaux NPC
Les onduleurs triphasés autonomes nouveaux modèles
Réseau
triphasé
50Hz
Onduleur
Batterie
Contrôle
Figure 8 : Schéma de principe d’une alimentation de secours
Commutateur
Alimentation
sans
interruption Charge
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
39
3.1.3.1 Onduleur triphasé en pont classique
Ce type d’onduleur triphasé est très simple, il est composé de deux interrupteurs commandés
par bras, ces derniers sont commandés successivement pour avoir la forme d’onde alternative
à la sortie, il compte donc six interrupteurs commandés.
Circuit d’étude d’un onduleur triphasé en pont à six transistors
T1
T2 T4
T3 T5
T6
E
VA VB VC
-
+
Figure 9 : Onduleur triphasé en pont classique à six transistors
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
40
Fonctionnement d’un onduleur triphasé en pont à six transistors
On prend le bras n°1 pour expliquer le fonctionnement de l’onduleur en pont triphasé.
T1 T2 VA
1 0 E
0 1 -E
Tableau 3 : Fonctionnement d’un onduleur en pont classique à six transistors
3.1.3.2 Onduleur triphasé multiniveau à trois niveaux
Définition
On dit qu’un onduleur est multiniveau si on peut recueillir à sa sortie des tensions découpées
de plus de trois niveaux. Le nombre de niveau étant le nombre de différents valeur des
différences de potentiels entre la sortie et un point définie comme référence (Pour les
onduleurs multiphasés, ce point est le point neutre correspondant à un montage en étoile).
Topologies des onduleurs multiniveau :
On peut citer plusieurs topologies pour les onduleurs mutiniveau :
La topologie des onduleurs multiniveaux à potentiel distribué (NPC)
La topologie basée sur la mise en série d’onduleurs monophasés
La topologie multicellulaire (ou Flying capacitors multilevel inverter)
La topologie hybride
Dans la suite, on va se focaliser dans la topologie NPC pour cette étude grâce aux avantages
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
41
cités ci-dessous :
La topologie NPC est configurable de façon à obtenir un nombre élevé de niveaux,
permettant de réduire la tension bloquée par chaque interrupteur ; celle-ci est donnée
par EC/(N−1). Ceci offre la possibilité de travailler à des tensions très élevées.
Plus le nombre de niveau est élevé, plus la tension aux bornes de la charge s’approche
du sinus.
Les différents niveaux de tension sont créés par la mise en série de (N-1) condensateurs dans
la boucle d’alimentation.
Le nombre d’interrupteurs par bras est de 2(N-1), et le nombre de diodes amenant les tensions
intermédiaires est de 2(N-2).
Chaque thyristor ou diode de roue libre est soumis à une tension maximale de EC/(N-1) tandis
que certaines diodes amenant les tensions intermédiaires seront soumises à la tension
maximale de Ec-Ec/(N-1).
En se référant à la figure 12, chaque couple d’interrupteurs ( , ) ( , ) forme une
cellule de commutation, les deux interrupteurs sont donc commandés de façon
complémentaire.
N : nombre de niveau
EC : Différence de potentiel de la tension continue
X : numéro du bras
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
42
Circuit d’étude d’un onduleur multiniveau NPC3 triphasé à douze transistors
Z1 VA
S24 S34 S14
S12
S33 S23 S13
S22 S32
S11 S21 S31
VB VC Z1 Z1
UC2
UC1
VA
C2
C1
-
+
Figure 10 : Onduleur multiniveau (trois niveaux) à douze transistors
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
43
Fonctionnement d’un onduleur multiniveau NPC3 triphasé à douze transistors
Pour bien comprendre le fonctionnement de l’onduleur multiniveau à trois niveaux, on
considère le bras n°1
S11 S12 S13 S14 VA
0 0 1 1 -E
0 1 1 0 0
1 1 0 1 E
1 0 0 1 0
Tableau 4 : Fonctionnement d’un onduleur multiniveau NPC3 à douze transistors
On pourra alors obtenir les trois niveaux de tension : –E, 0 et E.
3.1.3.3 Onduleur autonome nouveau modèle triphasé à douze transistors
Il est constitué de douze interrupteurs commandés dont quatre interrupteurs commandés par
bras.
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
44
Circuit d’étude d’un onduleur triphasé nouveau modèle à douze transistors
T13
T14
T11 T21 T31
T24 T34
T32
T23 T33
T12 T22
C2
C1
VA VC VB
-
+
Figure 11 : Onduleur nouveau modèle triphasé à douze transistors
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
45
Fonctionnement d’un onduleur triphasé nouveau modèle à douze transistors
Considérons le bras n°1 pour regarder le fonctionnement de l’onduleur autonome triphasé.
T11 T12 T13 T14 VA
1 0 0 0 E
0 1 0 0 E
0 0 0 0 0
0 0 1 0 -E
0 0 0 1 -E
Tableau 5 : Fonctionnement d’un onduleur nouveau modèle
3.2 Commande des onduleurs
3.2.1 Les différents types de conception de commande
Pour la commande d’un onduleur triphasé, on a les conceptions suivantes :
Conception analogique
Conception digitale ou numérique
Conception mixte
La commande en ondes pleines (basse fréquence)
Cette commande permet d’obtenir une tension de sortie alternative dont la valeur est
modifiable. Cependant, cette tension moyenne reste un signal carré et non sinusoïdal comme
espéré.
Les signaux carrés sont mauvais car ils sont constitués d'harmoniques gênantes entrainant des
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
46
pertes de puissance non négligeables.
En jouant sur les différentes conceptions citées ci-dessus, avec la commande ondes pleines, on
ne pourra pas avoir les performances voulues. Pour avoir un onduleur très performant, les
harmoniques de rangs inferieurs doivent être minimisés voir même éliminés. En effet, on doit
courir à la stratégie de commande.
3.2.2 Stratégies de commande des onduleurs triphasés
3.2.2.1 Commande par modulation de largeur d’impulsions naturelle ou
MLI naturelle
La commande par MLI consiste à découper la tension de sortie générée par l’onduleur en une
série de motifs élémentaires de période très faible, et de rapport cyclique variable dans le
temps.
Ce type de commande permet de générer une onde d’amplitude et de fréquence variables. Il
est employé pour générer un signal alternatif proche d’une sinusoïde (alimentation sans
coupure, entrainement asynchrones à vitesse variable,…………..)
Modulateur analogique
Les commandes des interrupteurs commandés (transistors, thyristors,……) sont données par
la comparaison directe entre une porteuse triangulaire ou en dent de scie et une consigne
analogique. Lorsque ce dernier est supérieur à la porteuse, le signal qui commande la cellule
de commutation est à l’état haut. Dans le cas contraire, le signal de commande est à l’état bas.
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
47
Figure 12 : Principe de fonctionnement d’une MLI naturelle
La fréquence du signal sinus est FS
La fréquence du signal triangulaire est Fd
Le signal consigne est généralement une fonction sinus ou cosinus générée à la fréquence
fondamentale FS. La porteuse est générée à la fréquence de découpage Fd. Le rapport entre la
fréquence de découpage et la fréquence fondamentale est appelé indice de modulation m tel
que ceci doit être supérieur à 20:
m=
Dans le cas de la génération de tensions triphasées, trois signaux de consignes déphasés de
sont nécessaires.
Modulateur numérique
Les signaux de commande sont générés numériquement. En effet il est réalisé à partir de
compteurs programmables pilotés par une fréquence d'horloge FH supérieure à la fréquence de
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
48
découpage Fd d’après la relation :
FH=n’Fd
n’ est une constante
Figure 13 : Principe du modulateur numérique
Ces compteurs génèrent des impulsions dont la largeur dépend du mot binaire NB fourni par
une commande numérique. Fec est la fréquence d'échantillonnage de la commande numérique.
En prenant l’exemple d’un onduleur multicellulaire, sa commande par MLI nécessite autant
de porteuses triangulaires qu’il y a de cellules à commander.
3.2.2.2 Commande par MLI calculées
Cette technique est utilisée lorsque le rapport entre la fréquence de découpage et la fréquence
fondamentale est faible, ce qui est fréquent en forte puissance.
On ne peut pas se passer des harmoniques de rang inférieur qui sont indésirables, L’objectif
est alors ici de les éliminer ou de les minimiser en exploitant au mieux le nombre d'impulsions
disponibles sur la période fondamentale.
Pour atteindre cet objectif, on détermine à priori des formes d'ondes optimisées. Cette
méthode consiste à former l’onde de sortie de l’onduleur d’une succession de créneaux de
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
49
largeur variable. Généralement, on utilise une onde qui présente une double symétrie par
rapport au quart et à la moitié de la période. Cette onde est caractérisée par le nombre de
créneaux ou d’impulsions par alternance.
angle suffisant pour déterminer la largeur de l’ensemble des créneaux ; représente aussi
le nombre d’angles de commutations par quart de période. Ces angles de commutations sont
déterminés de telle façon à éliminer certains harmoniques.
Développement en série de Fourier
La décomposition en série de Fourier montre l’existence des harmoniques impairs. Nous
avons les équations :
( ) ∑ ( )
∫ ( ) ( )
Figure 14 : Tension généralisée à la sortie
α1 α2 …… αC αC+1 α2C
3𝜋
𝜋
-U
U
ωt 2π
Créneaux
U’
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
50
Après intégration, et moyennant quelques calculs, on aboutit à un système algébrique
d’équations non linéaires admettant plusieurs solutions.
{
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
Avec :
n : nombre entier impair
U : tension d’alimentation
hi : composante harmonique (harmonique de rang i) de la tension U
h1 : harmonique fondamental de la tension U
αi : angle de commutation
Ce système comporte un degré de liberté supplémentaire afin d’attribuer à l’harmonique
fondamental une valeur désirée et permet d’éliminer (C-1) harmoniques de la courbe de la
tension de sortie. Ce système devient par conséquent :
{
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
En posant :
r=
La solution doit satisfaire la condition suivante :
α1< α2< α3<……… < αC<
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
51
La méthode de Newton-Raphson est la plus employée pour résoudre un tel système
3.2.2.3 Commande par paliers ou par gradins
Pour des applications dont le signal a une amplitude et une fréquence fixe, l'onde
fondamentale nous suffit pour générer une tension dont la distorsion harmonique est faible.
La méthode de commande par palier consiste à quantifier cette grandeur de référence, en un
nombre déterminé de paliers.
3.2.3 Méthodologie de commande à entreprendre
Dans cette étude, on a choisi de commander les onduleurs numériquement par la plateforme
FPGA pour avoir plus de performance et plus de précision sur les signaux de commande et
surtout de tester la capacité de traitement de cette nouvelle technologie.
En effet, on a programmé successivement les signaux de commande d’un onduleur triphasé en
pont à six transistors, un onduleur multiniveau trois niveaux à douze transistors et un onduleur
nouveau modèle triphasé à douze transistors dans le logiciel Quartus II.
Pour l’onduleur multiniveau et l’onduleur nouveau modèle, les signaux de commande sont
obtenus par la commande MLI calculée tandis que pour l’onduleur en pont, on a choisi de le
commander en pleine onde.
3.2.4 Programmation de la commande par FPGA
3.2.4.1 Caracteristique du FPGA à éxploiter
On a choisi le constuteur Altera avec un FPGA de référence EP3C25F324 lors de cette étude,
c’est le materiel à disposition.
Description du FPGA
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
52
Les différentes familles de FPGA d’Altera
Altera propose plusieurs familles d’FPGA, dont on distingue :
La famille Startix,
La famille Arria,
La famille Cyclone.
Famille cyclone :
Nom complet Introduction Technologie
Cyclone 23 septembre 2002 130nm
Cyclone II 28 juin 2004 90 nm
Cyclone III 19 mars 2007 65 nm
Cyclone IV 2009 60 nm
Cyclone V 2011 28 nm
Tableau 6 : Les familles proposées par Altera
Signification de la reference EP3C25F324 :
XXXX XX X XXX XX
Operating Temperature
Package code
Package type
Member Code
Family Signature
Figure 15 : Désignation d’un FPGA de la famille Cyclone d’Altera
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
53
Family Signature
Tableau 7 : Désignation du « Family Signature »
Member Code
Member Code logic elements
5 5,136
10 10,320
16 15,408
25 24,624
25E 24,624
40 39,600
55 55,856
80 81,264
120 119,088
Tableau 8 : Désignation du « Member Code »
Package type
Package type Signification
E Plastic Enhanced Quad Flat Pack (EQFP)
Q Plastic Quad Flat Pack (PQFP)
F FineLine Ball-Grid Array (FBGA)
U Ultra FineLine Ball-Grid Array (UBGA)
M Micro FineLine Ball-Grid Array (MBGA)
Tableau 9 : Désignation du « Package type »
Family Signature Signification
EP2C Cyclone 2
EP3C Cyclone 3
EP4C Cyclone 4
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
54
Package code
Package code Number of pin
144 144 pins
164 164 pins
240 240 pins
256 256 pins
324 324 pins
484 484 pins
780 780 pins
Tableau 10 : Désignation du « Package code »
Operating Temperature
Operating Temperature Signification
C Commercial temperature (T J= 0° C to 85° C)
I Industrial temperature (TJ= -40° C to 100° C)
A Automotive temperature (TJ = -40° C to 125° C)
Tableau 11 : Designation du « Operating Temperature »
Speed Grade
6 (fastest); 7 ; 8
Fiche technique:
FPGA Starter Kit, Cyclone III Edition includes:
Cyclone III Starter Development Board :
Cyclone III EP3C25F324 FPGA
Configuration
Embedded USB-Blaster circuitry (includes an Altera MAX 3000A CPLD) allowing
download of FPGA configuration files via the Flash device
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
55
Memory
256-megabit (Mb) DDR SDRAM
megabyte (MB) synchronous SRAM
16-MB flash memory
Power and analog devices from Linear Technology
Switching power supply
Switching and step-down regulators
Clocking
50-MHz on-board oscillator
Switches and indicators
Six push buttons total, 4 user-controlled
Seven LEDs total, 4 user-controlled
Connectors
High-speed mezzanine card (HSMC) connector
USB type B
Cables and power
USB cable
External power supply with U.S. adaptor
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
56
Figure 16 : Carte de développement du Cyclone III FPGA d’Altera
3.2.4.2 Calcul des angles de commutation pour l’onduleur triphasé
multiniveau et l’onduleur nouveau modèle
En fixant le nombre d’angle de commutation à C=5,
On se propose alors de générer une tension modulée de la forme suivante à la sortie de
l’onduleur mutiniveau et de l’onduleur autonome :
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
57
Comme le signal défini sur la figure précédente présente une double symétrie par rapport au
quart et à la demi-période, on ne considèrera par la suite que les angles de commutations
contenues dans le quart de période. La décomposition en série de Fourier du signal montre
une harmonique de rang impair de la forme :
( ) ∑ ( )
∫ ( ) ( )
Puisqu’on a fixé le nombre d’angle de commutation à C=5.
On se propose d’étudier la commande qui élimine les harmoniques de rang 3, de rang 7, de
rang 9 et de rang 15.
Afin d’éliminer ces harmoniques, l’équation devient :
𝜋
α1 α5
α4
α3
α2
3𝜋
-U
U
U’
ωt
Figure 17 : Allure de la tension de sortie
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
58
{
( ) ( ) ( ) ( ) ( )
(3 ) (3 ) (3 ) (3 ) (3 )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
Avec,
n: Nombre impair (cas monophasé) et impair non multiple de trois (cas triphasé)
U: Tension d’alimentation
hi : Composant harmonique (harmonique de rang i) de la tension de sortie U’
h1 : Fondamental de la tension de sortie U’
αi : Angle de commutation
C : Nombre d’angle de commutation ou nombre des αi
Proposé dans le cours d’électronique de puissance GI5 à l’ESPA Vontovorona, la résolution
de ce système conduit aux résultats :
{
3 3 3
On note par W=5,4545° l’angle de commutation élémentaire tel que :
{
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
59
3.2.4.3 Les étapes à suivre jusqu’à la simulation fonctionnelle
Création d’un projet sur Quartus II puis entré du code VHDL
Synthèse (voir s’il y a des « warning » ou des erreurs)
Placement/routage.
Créer le fichier .WVF pour stimuler le circuit
Simuler
Étape 1 : Création du projet
Création d’un dossier spécifique au projet
Pour chacun des projets ou des versions de projets sur lesquelles on travaille, il est très
fortement conseillé de créer un dossier spécifique, dans lequel seront sauvegardés le projet et
les différents fichiers créés. On veillera donc à changer de dossier dès qu’on change de projet
ou de version de projet.
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
60
Lancement du logiciel Quartus II 9.0 Web Edition
Figure 18 : Fenêtre de démarrage de Quartus II
Quartus II fonctionne par projet, il est alors nécessaire de commencer par créer un projet à
chaque début de conception.
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
61
Création du projet proprement dit
Figure 19 : Création d’un projet sur Quartus II
Entrer ensuite dans le champ « Project Wizard » le nom choisi pour le projet :
Spécifier le dossier crée pour le projet dans le champ « directory for this project ».
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
62
Figure 20 : Saisie du nom du projet et du répertoire contenant le projet
Choisir le FPGA présent sur la carte de développement en sélectionnant:
La famille de FPGA : Cyclone III
Le modèle : EP3C25F324I7
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
63
Figure 21 : Choix du composant
Création du fichier décrivant le projet
Un projet est généralement constitué de plusieurs fichiers décrivant chacun une ou plusieurs
fonctions numériques. Parmi les possibilités proposées par Quartus II pour créer des fichiers,
nous avons 2 choix:
Création sous forme schématique : on parle alors de Block Diagramm/Schematic File
(extension des fichiers .bdf)
Création sous forme textuelle en utilisant un langage de programmation de circuits :
Langage VHDL (extension des fichiers .vhd) ou bien langage Verilog (extension des
fichiers .v, langage non enseigné à l’IOgs),
C’est la création sous forme textuelle qui va nous intéresser
File>New (ou Ctrl N) ou puis sélectionner le type de fichier : VHDL File.
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
64
Figure 22 : Choix de l’entrée du design (textuelle, schématique)
Entré du code VHDL
Figure 23 : Fenêtre de travail
Étape 2 : On veut maintenant convertir notre code en portes logiques. Pour ce faire, l’outil
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
65
QUARTUS II va être sévère avec la façon qu’on écrit le code VHDL. Il va dire si le style de
code VHDL n’est pas compréhensible (ou ne correspond pas aux normes). C’est au
concepteur de modifier le code pour qu’il soit satisfait.
Autrement dit, c’est l’étape de l’analyse et compilation
Étape 3 : Après la synthèse, on a transformé le code VHDL en une série de portes logiques.
Cependant, on ne sait pas où se trouvent ces portes logiques dans le FPGA. Le
placement/routage est l’étape qui nous permet de le déterminer. Cela va aider à déterminer le
délai de façon plus précise.
Étape 4 : On va ensuite commencer à créer le stimulus pour le circuit. On a, par exemple,
une horloge à l’entrée. Comment se comporte l’horloge ? Quelle fréquence a-t-elle ? Quand
sera-t-il actif ? Ce sont tous des choses à spécifier dans le stimulus.
Étape 5 : On va ensuite faire rouler la simulation et regarder les résultats.
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
66
3.3 Résultats
3.3.1 Onduleur triphasé en pont classique
Fonctionnement
Le fonctionnement est présenté dans le paragraphe §3.1.3.1
Schéma d’etude
Le schéma d’étude est présenté dans le paragraphe §3.1.3.1
Algorithme du programme qui genère les signaux
T1 niv 0 et T2 niv 1
Début
Signal Clk,G,T1,T2
G=T
Front montant
G<T/2
G=G+1
Lire signal Clk
Signal G=00000000
T1 niv 1 et T2 niv 0
Figure 24 : Organigramme du programme pour l’onduleur en pont classique
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
67
Signaux de commande
Figure 25 : Résultat obtenu pour l’onduleur triphasé en pont à 6 transistors
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
68
Allure de la tension de sortie
3.3.2 Onduleur triphasé multiniveau NPC3
Fonctionnement
Le fonctionnement est présenté dans le paragraphe §3.1.3.2
Schéma d’etude
Le schéma d’étude est présenté dans le paragraphe §3.1.3.2
2π ωt π
U
E
-E
Figure 26 : Allure de la tension de sortie de l’onduleur triphasé en pont classique
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
69
Algorithme du programme qui genère les signaux
NON
NON
NON
OUI
OUI
OUI
S12 niv 1 et S14 niv 0
S11 niv 0 et S13 niv 1
Début
Signal Clk,D,S11,S12,S13,S14
D=T
Front montant
A<T/2
D=D+1
Lire signal Clk
Signal D=00000000
Bloc 1 Bloc 2
Figure 27 : Organigramme du programme pour l’onduleur triphasé multiniveau NPC3
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
70
OUI
OUI
OUI
OUI
OUI
OUI
OUI
OUI
OUI
D>=a4 et D<a5
S11 niv 0 et S13 niv 1
D>=a5 et D<a6
S11 niv 1 et S13 niv O
D>=a3 et D<a4
S11 niv 1 et S13 niv O
D>=a6 et D<a7
S11 niv 0 et S13 niv 1
D>=a7 et D<a8
S11 niv 1 et S13 niv O
D>=a8 et D<a9
S11 niv 0 et S13 niv 1
D>=a9 et D<a0
S11 niv 1 et S13 niv O
D>=a2 et D<a3
S11 niv 0 et S13 niv 1
D>=a1 et D<a2
S11 niv 1 et S13 niv O
NON
NON
NON
NON
NON
NON
NON
NON
NON
OUI
OUI
OUI
OUI
OUI
OUI
OUI
OUI
OUI
D>=a13 et D<a14
S14 niv 0 et S12 niv 1
D>=a14 et D<a15
S14 niv 1 et S12 niv O
D>=a12 et D<a13
S14 niv 1 et S12 niv O
D>=a15 et D<a16
S14 niv 0 et S12 niv 1
D>=a16 et D<a17
S14 niv 1 et S12 niv O
D>=a17 et D<a18
S14 niv 0 et S12 niv 1
D>=a18 et D<a19
S14 niv 1 et S12 niv O
D>=a11 et D<a12
S14 niv 0 et S12 niv 1
D>=a0 et D<a11
S14 niv 1 et S12 niv O
NON
NON
NON
NON
NON
NON
NON
NON
NON
Figure 29 : Bloc1 Figure 28 : Bloc2
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
71
Signaux de commande
Figure 30 : Résultat obtenu pour l’onduleur triphasé multiniveau NPC3 à 12 transistors
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
72
Allure de la tension de sortie
L’allure de la tension de sortie est présenté dans la figure 17
3.3.3 Onduleur triphasé nouveau modèle
Fonctionnement
Le fonctionnement est présenté dans le paragraphe §3.1.3.3
Schéma d’étude
Le shéma d’étude est présenté dans le paragraphe §3.1.3.3
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
73
Algorithme du programme qui genère les signaux
NON
NON
NON
OUI
OUI
OUI
T13 niv 0 et T14 niv 0
T11 niv 0 et T12 niv 0
Début
Signal Clk,A,T11,T12,T13,T14
A=T
Front montant
A<T/2
A=A+1
Lire signal Clk
Signal A=00000000
Bloc 3 Bloc 4
Figure 31 : Organigramme du programme pour l’onduleur triphasé nouveau modèle
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
74
OUI
OUI
OUI
OUI
OUI
OUI
OUI
OUI
OUI
A>=a4 et A<a5
T11 niv 0 et T12 niv 1
A>=a5 et A<a6
T11 niv 1 et T12 niv O
A>=a3 et A<a4
T11 niv 1 et T12 niv O
A>=a6 et A<a7
T11 niv 0 et T12 niv 1
A>=a7 et A<a8
T11 niv 1 et T12 niv O
A>=a8 et A<a9
T11 niv 0 et T12 niv 1
A>=a9 et A<a0
T11 niv 1 et T12 niv O
A>=a2 et A<a3
T11 niv 0 et T12 niv 1
A>=a1 et A<a2
T11 niv 1 et T12 niv O
NON
NON
NON
NON
NON
NON
NON
NON
NON
OUI
OUI
OUI
OUI
OUI
OUI
OUI
OUI
OUI
A>=a13 et A<a14
T13 niv 0 et T14 niv 1
A>=a14 et A<a15
T13 niv 1 et T14 niv O
A>=a12 et A<a13
T13 niv 1 et T14 niv O
A>=a15 et A<a16
T13 niv 0 et T14 niv 1
A>=a16 et A<a17
T13 niv 1 et T14 niv O
A>=a17 et A<a18
T13 niv 0 et T14 niv 1
A>=a18 et A<a19
T13 niv 1 et T14 niv O
A>=a11 et A<a12
T13 niv 0 et T14 niv 1
A>=a0 et A<a11
T13 niv 1 et T14 niv O
NON
NON
NON
NON
NON
NON
NON
NON
NON
Figure 32 : Bloc 3 Figure 33 : Bloc 4
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
75
Signaux de commande
Figure 34 : Résultat obtenu pour l’onduleur triphasé nouveau modèle à 12 transistors
Allure de la tension de sortie
L’allure de la tension de sortie est présenté dans la figure 17
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
76
Dans ce quatrième programme, on a rassemblé la commande de ces 3 onduleurs dans un
même programme pour tester la performance de l’FPGA.
APPLICATIONS AUX ONDULEURS TRIPHASES Promotion 2012
RAMBOAMAMPIANINA Samitiana
77
Figure 35 : Résultat obtenu en les groupant dans un seul programme
Interprétation
Le FPGA donne bien les résultats voulus
CONCLUSION Promotion 2012
RAMBOAMAMPIANINA Samitiana
78
Conclusion
D’après les études menées durant ce mémoire, le FPGA permet au concepteur d’établir
des fonctions compliquées, sans passer ni à des câblages, ni à l’association des circuits à part,
en ayant la meilleure performance.
On a pu vérifier la souplesse de l’exploitation et le traitement à haute fréquence de l’FPGA
durant la commande des onduleurs autonomes, exemple concret de son application.
Ce travail nous a permis de connaitre l’architecture de l’FPGA, de maitriser la conception
avec un FPGA et il nous a aussi donné l’opportunité de nous familiariser avec le langage de
description matériel VHDL.
Dans ce mémoire, on a pris comme application, la commande des onduleurs autonomes, mais
vu le prix relativement cher de l’FPGA, il est difficile dans ce cas de l’amortir. Il est alors
préférable de l’appliquer à des investissements rentables comme le trading à haute fréquence.
A
Bibliographies
[1] :Zahir Ait Ouali, « Appication des FPGA à la commande d’un moteur asynchrone »
Mémoire Magister en Automtique.
[2] : Johanna MARIANI, « Programmation et Utilisation du FPGA Pour la validation et la
vérification De circuits électroniques » Mémoire d’ingénieur en Electronique, Février 2011.
[3] : Jérémie DETREY, « Arithmétiques réelles sur FPGAVirgule fixe, virgule flottante et
système logarithmique » These pour l’obtention du grade de Docteur Janvier 2007
[4] : J. VILLEMEJANE, « Composants programmables complexes » Cours 2013
[5] : Eric PERONNIN, « Composants logiques reconfigurables » Cours, Octobre 2012
[6] : J.Weber, «Circuits logiques programmables», 2007
[7] : SANTATRA Fiorenantsoa, «CONCEPTION MATERIELLE D’INSTRUMENT
BIOMEDICAL : ACQUISITION, TRAITEMENT, ET TELE-MONITORING DE SIGNAL
ECG » Mémoire d’ingénieur à l’ESPA 2012
[8] : Eduardo Sanchez, «Le langage VHDL »
[9] : Jacques WEBER - Maurice MEAUDRE, «Circuits numériques et synthèse logique, un
outil : VHDL»
[10] : Patrice NOUEL, « Langage VHDL et conception de circuits »
[11] : Denis Giacona, « VHDL - Logique programmable, Partie 2- La structure d’un
programme VHDL »
[12] : Pierre Leray - Patrice Quinton - Olivier Sentieys - Lucien Ungaro, « Le langage Vhdl-
Modélisation de composants digitaux »
B
[13] : Hervé Le Provost, «Initiation au langage VHDL » Cours Juin 2008
[14] : Didier Duffaud, « VHDL »
[15] : Pierre LEFRANC, « Étude, conception et réalisation de circuits de commande d'IGBT
de forte puissance »
[16] : Violaine Didier, « Les Onduleurs pour Systèmes Photovoltaïques Fonctionnement,
Etat de l ’Art et Etude des Performances »
[17] : Jean Noël Fiorina « onduleurs et harmoniques (cas des charges non linéaires) »
[18] : Davida Natolotra RAZAFINDRATSARAVAHY, « Conception de commande
programmées d’onduleur triphasé multiniveau NPC3.Simulations sous PROTEUS ISIS et
sous Matlab/Simulink-Simpowersystems » Mémoire d’ingénieur 2012
[19] : Harlin S ANDRIATSIHOARANA, « Les convertisseurs d’énergie intégrés dans
l’automatisme industriel » HDR à l’ESPA, 2010
Webographies
[1] : http://www.altera.com/
[2] : http://www.eda.org/
[3] : http://www.actel.com/
ANNEXES Promotion 2012
C
Annexes
Lancement de la simulation
Lancer le logiciel Quartus II version 9
>fichier
ANNEXES Promotion 2012
D
>open project
Allez dans le dossier contenant le projet
Sélectionnez le fichier onduleur
>Ouvrir
ANNEXES Promotion 2012
E
>>Onduleur (se trouvant sur le côté gauche de la fenêtre dans le paquet Project Navigator)
>Processing
ANNEXES Promotion 2012
F
>Start compilation
Attendre jusqu’à la fin de la simulation
>OK
>File
ANNEXES Promotion 2012
G
>Open
Changer les types de fichier en Waveform/Vector files.
ANNEXES Promotion 2012
H
>Waveform/Vector files
Sélectionnez le fichier onduleur
>ouvrir
ANNEXES Promotion 2012
I
>Processing
>Start simulation
ANNEXES Promotion 2012
J
Titre: « Exploitation de la technologie FPGA pour générer les signaux de commande des
onduleurs autonomes triphasés »
Auteur : Samitiana RAMBOAMAMPIANINA
Contact : (+261)331796566
E-mail : [email protected]
Nombre de pages : 99
RESUME
Dans ce projet de mémoire, l’objectif principal est la maitrise de l’exploitation de la
technologie FPGA. Pour y arriver, on a développé les circuits intégrés programmables, plus
précisément les circuits intégré FPGA. Des recherches ont été menées sur la généralité et la
conception des projets avec ce circuit FPGA. Pour appliquer ces théories, on s’est proposé de
concevoir par programmation, dans le logiciel de développement Quartus II, conçu par le
constructeur Altera, les signaux de commandes pour commander trois onduleurs autonomes
dont : un onduleur triphasé en pont à six transistors commandés en ondes pleines, un onduleur
triphasé multiniveau à douze transistors NPC3 commandés en MLI avec élimination des
harmoniques calculées et enfin un onduleur triphasé nouveau modèle à douze transistors
commandés également en MLI calculée.
ABSTRACT
In this dissertation project, the main objective is the control of the operating FPGA
technology. To achieve this, we developed the programmable integrated circuits, specifically
integrated circuits FPGA. Research has been conducted on the generality and design projects
with this circuit FPGA. To apply these theories, it was proposed to develop programmatically
in the Quartus II development software, designed by the manufacturer Altera, the signals of
commands to control three autonomous inverters including: a three-phase bridge with six
transistors controlled in full wave inverter, a triple phase inverter multilevel with twelve
transistors NPC3 controlled PWM with harmonic elimination calculated and finally a new
triple phase inverter models with twelve transistors also controlled PWM calculated.
Directeur de mémoire: Monsieur Harlin S ANDRIATSIHOARANA, Professeur à l’ESPA