Vous êtes sur la page 1sur 50

‫الجمـهوريــة الجزائريــة الديمقراطيــة الشعبيــة‬

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET ‫وزارة التعليــم العالــي و البحــث العلمـي‬


DE LA RECHERCHE SCIENTIFIQUE

UNIVERSITE CONSTANTINE I 1 ‫جامعـــــــة قسنطينـــــــــة‬

Faculté des Sciences de la Technologie ‫كلـيــة علوم التكنولوجية‬

Département : Electrotechnique ‫اإللكترو تقني‬: ‫قسم‬


……………………………………………………………………….………………………………………………………………

N° d’ordre : ….
Série : ….

Mémoire
Présenté en vue de l’obtention du
Diplôme de Master en Electrotechnique

Option
Electrotechnique

Thème

Commande d’un onduleur triphasé via un


circuit FPGA

Présenté par:
Abdelouadoud Saadi

Encadreurs:
Dr. Kamal Messaoudi
Dr. Louze Fateh

Promotion 2012/2013
‫بسم هللا الرمحن الرحمي‬
Remerciements

Remerciements
Avant tout. Je tiens à remercier mon dieu d’abord, qui
m’a donné le courage et la patience pour arriver au bout
de mes études.

A travers ce modeste travail, je remercie mes


encadreurs «Dr. Messaoudi et Dr. Louze» pour leur
encadrement pendant celui-ci.
Pour l'intéressante documentation qu'elle a mise à
notre disposition, pour ses conseils précieux et pour
toutes les commodités qu’il nous a apportées durant
notre étude et réalisation de ce mémoire.

Je remercie les plus vifs s’adressent aussi aux


messieurs le président et les membres de jury d’avoir
accepté d’examiner et d’évaluer notre travail.

J’exprime également notre gratitude à tous les


professeurs et enseignants qui ont collaboré à notre
formation depuis notre premier cycle d’étude jusqu’à la
fin de notre cycle universitaire.

Sans omettre bien sûr de remercier profondément à


tous ceux qui ont contribué de près ou de loin à la
réalisation du présent travail.


Saadi Abdelouadoud
Dédicace

Dédicace

Je dédie ce Mémoire

A mes très chers parents, dont l’incommensurable

contribution à mon éducation, à mon instruction et à

tous les instants de ma vie, ravivera jusqu'à la fin de

mes jours mon infinie tendresse.

Qu'ils trouvent ici l'expression de mon éternelle

reconnaissance.

A mon frère Abdo, mes sœurs Marwa, Hadjer, mon

ange Loudjeine et ma miel Imen pour leur attention et

leur soin.

A toute ma famille

A tous mes amis

Abdelouadoud Saadi
Sommaire

Sommaire

INTRODUCTION GENERAL ....................................................................................................... 1

1. Chapitre I : Les circuits reprogrammables et les outils de conception .................................... 3

1.1. Les systèmes reprogrammables (PAL-FPGA) ................................................................. 3

1.1.1. Les PROM ................................................................................................................. 3

1.1.2. Les PLA..................................................................................................................... 4

1.1.3. Les PAL..................................................................................................................... 4

1.1.4. Les EPLD .................................................................................................................. 5

1.1.5. Les FPGA .................................................................................................................. 6

1.1.6. Les deux solutions possibles avec les FPGA ............................................................ 8

1.2. Les langages de programmation de matériels (HDL) ...................................................... 9

1.2.1. Structure générale d’un programme VHDL .............................................................. 9

1.2.2. Flot de conception en VHDL .................................................................................. 10

1.3. Les processeurs embarqués ............................................................................................ 11

1.4. Xilinx et Altéra ............................................................................................................... 12

1.4.1. La famille Xilinx ..................................................................................................... 12

1.4.2. La famille Altéra ..................................................................................................... 13

1.4.3. Les deux cartes de travail ........................................................................................ 13

1.5. Les outils de conception des systèmes sur puce ............................................................. 16

1.5.1. L’opération de synthèse .......................................................................................... 17

1.5.2. L’opération de simulation ....................................................................................... 17

1.5.3. Placement et Routage .............................................................................................. 18

1.5.4. Téléchargement du programme (Downloading/Programming) .............................. 18

1.6. Conclusion ...................................................................................................................... 19

2. Chapitre II : Commande numérique des systèmes ................................................................. 20

2.1. Introduction .................................................................................................................... 20


Sommaire

2.2. Commande numérique des systèmes .............................................................................. 20

2.2.1. Intérêts de la commande par calculateurs ............................................................... 21

2.3. La commande via un circuit FPGA ................................................................................ 22

2.3.1. L’apport des FPGA à la commande des machines .................................................. 22

2.3.2. La structure matérielle de couplage (FPGA /Onduleur) ......................................... 24

2.4. Principe des convertisseurs statiques .............................................................................. 24

2.5. L’onduleur de tension ..................................................................................................... 25

2.6. Commande de l’onduleur de tension .............................................................................. 26

2.6.1. Technique de Modulation de Largeur d'Impulsion ................................................ 26

2.7. Conclusion ...................................................................................................................... 29

3. Chapitre II : Résultats de synthèse et de simulation du système de commande à base d’un


circuit FPGA ................................................................................................................................. 30

3.1. Introduction .................................................................................................................... 30

3.2. Présentation des logiciels ISE et QuartusII .................................................................... 30

3.3. Synthèse et simulation .................................................................................................... 31

3.4. Circuit de commande via le MLI pré-calculé ................................................................. 31

3.4.1. Description du dispositif expérimental ................................................................... 31

3.4.2. Schéma fonctionnel ................................................................................................. 32

3.4.3. Schéma structurel .................................................................................................... 33

3.4.4. Les Résultats de synthèse ........................................................................................ 33

3.4.5. Les Résultats de simulation ..................................................................................... 35

3.5. Circuit de commande via le MLI centré ......................................................................... 35

3.5.1. Description du dispositif expérimental ................................................................... 35

3.5.2. Schéma fonctionnel ................................................................................................. 36

3.5.3. Schéma structurel .................................................................................................... 37

3.5.4. Résultats de synthèse ............................................................................................... 37


Sommaire

3.5.5. Résultats de simulation............................................................................................ 38

.6.5.3 Montage de commande à base de circuit FPGA ..................................................... 39

3.6. Conclusion ...................................................................................................................... 40

Conclusion Général ....................................................................................................................... 41

Références Bibliographiques......................................................................................................... 42
Introduction général

INTRODUCTION GENERAL

Les concepteurs des systèmes de commande modernes s’investissent, de plus en plus, dans
le contrôle de projets en associant plusieurs disciplines et technologies. Pour répondre aux
différents besoins de l’industrie moderne, notamment la conception des systèmes de commande,
le recours aux outils de Conception Assistée par Ordinateur (CAO) est plus qu’indispensable.
L’avantage des méthodes de CAO est de faire une conception matérielle et logicielle
simultanément afin de réduire le temps de développement et d’augmenter la fiabilité par le test
des prototypes virtuels avant la réalisation sur un circuit intégré. Ce dernier sera le lieu
d’implantation de la solution finale.

Il est aussi indispensable de mettre en place des méthodes et des outils facilitant l'intégration de
solutions analogiques, numériques et mixtes. L’introduction et l’accumulation d’innovations
technologiques sur les circuits intégrés ainsi que leurs expansions ont permis l’automatisation
des tâches considérées complexes auparavant. L’approche classique de programmation
séquentielle qui est une solution logicielle est considérée insuffisante pour la commande en
temps réel des systèmes. Et ceci à cause des exigences de temps d’exécution qui ne cessent
d’augmenter. L’approche par la programmation architecturale qui est une solution matérielle
permet de surpasser relativement cet inconvénient.

Afin de développer des systèmes de commande de très hautes performances et d'améliorer la


dynamique des machines, les entraînements ont pris une importance considérable ces dernières
décennies et constituent un domaine de recherche très dynamique. Mais la complexité croissante
des algorithmes de commande des systèmes électriques ne cessent d’augmenter à cause des
contraintes liées aux modèles (non-linéarités, couplage, variation de paramètres…etc.) et
d’autres contraintes liées aux performances (temps d’exécution, précision...etc.). Motivé par les
exigences grandissantes en puissance de traitement et afin de répondre aux exigences strictes
concernant les performances exigeantes en puissance de calcul, les FPGA représentent une
alternative pour compenser les DSP qui sont devenus classique avec une grande souplesse et de
bonnes performances (parallélisme de traitement, vitesse, surface, consommation, ….etc.).

La logique programmable des FPGA permet l'intégration de la circuiterie numérique de


commande dans les systèmes automatisés et particulièrement la commande en temps réel des
moteurs. Les FPGA présentent beaucoup de perspectives pour l’implantation d’algorithmes de
contrôle des machines. Pour ces FPGA, les outils de conception assistée par ordinateur servent à
passer directement d'une description fonctionnelle en VHDL à un schéma en porte logique.

1
Introduction général

Ce travail a pour objectif l’élaboration d’une étude complète des circuits reconfigurables avec
une conception, une simulation et une réalisation d’un circuit numérique pour la commande d’un
onduleur triphasé à base d’un circuit reconfigurable de type FPGA. Le but final de notre travail
consiste à l’amélioration des performances et la fiabilité du circuit de commande en tenant
compte des spécificités structurelles des circuits reconfigurables FPGA. Plusieurs résultats de
simulation, de synthèse et d’implémentation sont fournis à la fin de ce travail.

Pour bien présenter les résultats de simulation et les résultats pratiques du système de commande
proposé, nous allons organiser notre travail de la manière suivante :

 Dans le premier chapitre nous nous intéressons aux circuits logiques reprogrammables et en
particulier les FPGA. Nous donnons aussi les caractéristiques des deux plateformes de
prototypages rapides utilisées dans nos implémentations à savoir la carte XUPV5 de Xilinx
et ED2 de Altéra. Nous donnons aussi dans ce chapitre les outils de conception des systèmes
sur FPGA ;
 Le deuxième chapitre est consacré à une brève étude sur la commande numérique des
systèmes et en particulier la commande MLI Pré-calculée et la commande MLI sinus
triangulaire. Ces deux méthodes de commande vont être l’objet d’une implémentation
matérielle sur FPGA dans le chapitre suivant.
 Le troisième chapitre représente la partie la plus importante de notre travail. Nous
présenterons une description détaillée des architectures matérielles réalisées. Nous donnons
ainsi les résultats de synthèse et de simulation du système de commande à base d’un circuit
FPGA ;
 Enfin, nous terminons notre travail avec une conclusion générale et des perspectives.

2
Chapitre I : Les circuits reprogrammables et les outils de conception

1. Chapitre I : Les circuits reprogrammables et les outils de conception

1.1. Les systèmes reprogrammables (PAL-FPGA)

Un circuit logique programmable, ou réseau logique programmable, est un circuit logique


intégré qui peut être reprogrammé après sa fabrication. Il est composé de nombreuses cellules
logiques élémentaires librement assemblables. Un circuit logique programmable permet la
réalisation de circuits logiques à grand nombre de variables d'entrée et de sortie, selon la
spécification de l'utilisateur et en utilisant un même support matériel.

Les premiers circuits programmables déposés sur le marché sont les PROM (Programmable
Read Only Memory). Dans ces circuits, le bus d’adresses est utilisé comme entrée et le bus de
données comme sortie du circuit logique à réaliser. Les limitations de ce type de composants
pour la réalisation d’architectures logiques ont vite trouvé leurs limites et nous avons vu
apparaître les FPLA (Field Programmable Logic Array). Actuellement, différentes familles de
circuits programmables sont disponibles et à faibles prix (Figure 1.1), tels que les PLD
(Programmable Logic Device), les CPLDs (Complex Logic Programmable Device) et les FPGAs
[01]. La différence entre ces composants est structurelle. Les CPLDs sont des composants pour
la plupart reprogrammables électriquement ou à fusibles, peu chers et très rapides (fréquence de
fonctionnement élevée) mais avec une capacité fonctionnelle moindre que les FPGA. La figure
suivante montre les différentes familles des circuits programmables :

Circuits logiques programmables


(Programmable Logic Device)

PLD EPLD-CPLD FPGA

PAL GAL UVPROM EECMOS isp SRAM Antifuse

Figure 1- 1 : Les différentes familles de circuits logiques programmables.

1.1.1. Les PROM

Les premiers circuits programmables apparus sur le marché sont les PROM bipolaires à
fusibles. Cette mémoire est l'association d'un réseau de ET fixes, réalisant le décodage d'adresse,
et d'un réseau de OU programmables, réalisant le plan mémoire proprement dit (Figure 1.2-a).
On peut facilement comprendre que, outre le stockage de données qui est sa première fonction,
cette mémoire puisse être utilisée en tant que circuit logique. Chaque sortie peut réaliser une

3
Chapitre I : Les circuits reprogrammables et les outils de conception

fonction OU de 16 termes produits de certaines combinaisons des 4 variables A, B, C et D. Avec


les PROM, les fonctions logiques programmées sont spécifiées par les tables de vérités. Le
temps de propagation est indépendant de la fonction implantée [02].

a) PROM bipolaire à fusibles b) PLA

Figure 1- 2 : Structure logique des circuits programmables de base.

1.1.2. Les PLA

Le concept du PLA a été développé il y a plus de 20 ans. Il reprend la technique des fusibles
des PROM bipolaires. La programmation consiste à faire sauter les fusibles pour réaliser la
fonction logique désirée. La structure des PLA est une évolution des PROM bipolaires (Figure
1.2-b). Elle est constituée d'un réseau de « ET » et d'un réseau de « OU » programmables. Avec
cette structure, on peut implémenter n'importe quelle fonction logique combinatoire. Ces circuits
sont évidemment très souples d'emploi, mais ils sont plus difficiles à utiliser que les PROM.
Statistiquement, il s'avère inutile d'avoir autant de possibilité de programmation, d'autant que les
fusibles prennent beaucoup de place sur le silicium. Ce type de circuit n'a pas réussi à pénétrer le
marché des circuits programmables. La demande s'est plutôt orientée vers les circuits PAL [03].

1.1.3. Les PAL

Contrairement aux PLA, les PAL (Programmable Array Logic) imposent un réseau de OU
fixes et un réseau de ET programmables. La technologie employée est la même que pour les
PLA. La figure 1.3 représente la structure logique d'un PAL où chaque sortie intègre 4 termes
produits de 4 variables. L'architecture du PAL a été conçue à partir d'observations indiquant

4
Chapitre I : Les circuits reprogrammables et les outils de conception

qu'une grande partie des fonctions logiques ne requiert que quelques termes produits par sortie.
L'avantage de cette architecture est l'augmentation de la vitesse par rapport aux PLA. En effet,
comme le nombre de connexions est diminué, la longueur des lignes d'interconnexion est réduite.
Le temps de propagation entre une entrée et une sortie est par conséquent réduit [03].

Figure 1- 3 : Structure logique d'un PAL.

1.1.4. Les EPLD

Les EPLD (Erasable Programmable logic Device) sont des circuits programmables
électriquement et effaçables après leurs utilisations, soit par exposition aux UV pour les plus
anciens modèles, soit électriquement pour les nouveaux modèles. Ces circuits, développés en
premier par la firme ALTERA, sont arrivés sur le marché en 1985. Les EPLD sont une évolution
importante des PAL CMOS. Ils sont basés sur le même principe pour la réalisation des fonctions
logiques de base. Les procédés physiques d'intégration permis par les EPLD sont nettement plus
importants que ceux autorisés par les PAL CMOS. En effet, les plus gros EPLD actuellement
commercialisés intègrent jusqu'à 24000 portes logiques. On peut ainsi loger dans un seul boîtier,
l'équivalent d'un schéma logique utilisant jusqu'à 50 à 100 PAL classiques [01].

Comme les PAL CMOS, les EPLD font appel à la notion de macro-cellule qui permet, par
programmation, de réaliser de nombreuses fonctions logiques combinatoires ou séquentielles. Le
schéma type de la macro-cellule de base d'un EPLD est présenté sur la figure 1.4. On remarque
que le réseau logique est composé de 3 sous-ensembles :

 Le réseau des signaux d'entrées provenant des broches d'entrées du circuit ;


 Le réseau des signaux des broches d'entrées/sorties du circuit ;
 Le réseau des signaux provenant des autres macro-cellules.

5
Chapitre I : Les circuits reprogrammables et les outils de conception

Figure 1- 4 : Structure d’un EPLD.

1.1.5. Les FPGA

Les premiers circuits FPGA lancés sur le marché en 1984 par la firme XILINX. Ensuite,
plusieurs constructeurs ont été intéressés à cette technologie. Selon une première classification
nous pouvons définir deux grands types de circuits FPGA :

a) Les FPGA à SRAM

Ce sont des circuits pré-diffusés programmables. Leurs principes de concept sont basés sur
l'utilisation d'un multiplexeur comme élément combinatoire de la cellule de base. La figure 1.5
représente la cellule type de base d'un FPGA. Elle comprend un multiplexeur 8 vers 1 permettant
de réaliser n’importe quelle fonction logique combinatoire de 4 variables (appelé LUT : Look Up
Table ou encore générateur de fonction). La bascule D permet la réalisation de fonctions
logiques séquentielles. La configuration du multiplexeur 2 vers 1 de sortie autorise la sélection
des deux types de fonction.

Figure 1- 5 : Cellule de base d'un circuit FPGA.

6
Chapitre I : Les circuits reprogrammables et les outils de conception

Les cellules de base d'un FPGA sont disposées en rangées et en colonnes. Des lignes
d'interconnexions programmables traversent le circuit, horizontalement et verticalement, entre
les diverses cellules. Ces lignes d'interconnexions permettent de relier les cellules entre elles, et
avec les plots d'entrées/sorties. Les connexions programmables sur ces lignes sont réalisées par
des transistors MOS dont l'état est contrôlé par des cellules mémoires SRAM. Ainsi, toute la
configuration d'un FPGA est contenue dans des cellules SRAM.

Tous les FPGA sont fabriqués en technologie CMOS, les plus gros d'entre eux intègrent jusqu'à
1000000 portes logiques utilisables. On ne peut pas prédire la fréquence de travail maximale
d'une fonction logique, avant son implémentation. En effet, cela dépend fortement du résultat de
l'étape de placement-routage. Il faut noter que la surface de silicium d'un FPGA est utilisée au
2/3 pour les interconnexions et au 1/3 pour les fonctions logiques. Le taux d'utilisation global des
ressources ne dépasse pas 80% [02].

Par rapport aux prés-diffusés classiques, les interconnexions programmables introduisent des
délais plus grands que la métallisation. Par contre, les cellules logiques fonctionnent à la même
vitesse. Pour minimiser les délais de propagation dans un FPGA, il faut donc réduire le nombre
de cellules logiques utilisées pour réaliser une fonction. Par conséquent, les cellules logiques
d’un FPGA sont plus complexes que celles d’un pré-diffusé.

b) Les FPGA à anti-fusibles

Commercialisé à partir de 1990, ce type de circuits FPGA, programmable une seule fois, est
basé sur la technologie des interconnexions à anti-fusibles. Sa structure s'apparente à celle d'un
pré-diffusé mer-de-portes, c'est-à-dire qu'il dispose de cellules élémentaires organisées en
rangées et en colonnes. Les lignes d'interconnexions programmables traversent le circuit,
horizontalement et verticalement, entre les diverses cellules. La technologie à anti-fusibles
permet de réduire considérablement la surface prise par les interconnexions programmables, par
rapport aux interconnexions à base de SRAM. La cellule élémentaire diffère d'un fabricant à un
autre, mais elle est généralement composée de quelques portes logiques. Le nombre de ces
cellules est généralement très important.

Alors que les FPGA-SRAM sont utilisés pour des prototypes ou des petites séries, les FPGA à
anti-fusibles sont destinés pour des plus grandes séries, en raison de son coût de fabrication
moins élevé. Il est généralement conçu avec des outils de synthèse de type VHDL (Vety High
Speed Integrated Circuit Hardware Description Language).

7
Chapitre I : Les circuits reprogrammables et les outils de conception

1.1.6. Les deux solutions possibles avec les FPGA

Actuellement, les circuits FPGA sont utilisés dans plusieurs domaines soit pour tester les
fonctionnalités avant le passage aux circuits finals en technologie ASIC soit pour réaliser des
systèmes de commande et de traitement des informations. Deux solutions sont possibles pour
utiliser les circuits FPGA :

a) Les accélérateurs matériels

Les accélérateurs sont couramment utilisés pour les phases de traitement qui nécessitent un
grand nombre de calculs réguliers. Les possibilités de conception des accélérateurs sont infinies,
ils offrent l’opportunité de personnaliser l’exécution d’une application dans un objectif de
performance, de dimension, de consommation, …etc. La méthode traditionnelle consiste à
décrire les accélérateurs au niveau RTL (Register Transfer Level) dans un langage de description
matérielle (Hardware Description Langage, HDL), comme le VHDL et le Verilog. De nombreux
travaux présentent de telles réalisations, elles sont souvent associées à des optimisations
permettent d’augmenter les performances de l’accélérateur.

La conception des accélérateurs au niveau RTL est liée à des risques d’erreurs car elle repose sur
l’expertise d’un concepteur. Pour cela, une étape de simulation est toujours nécessaire avant
l’implémentation matérielle. De plus, les possibilités d’exploration d’architecture d’un
accélérateur sont potentiellement freinées par une structure rigide définie par un concepteur. Les
temps de conception sont longs car il est nécessaire de valider la bonne fonctionnalité de chaque
sous-ensemble de l’accélérateur, puis de valider le fonctionnement de l’association de ces sous-
ensembles, …etc. Malgré ces difficultés de conception, les accélérateurs restent couramment
utilisés surtout dans le domaine du traitement de signal intensif. Cependant, plutôt que d’être
directement décrit au niveau RTL, les accélérateurs sont conçus à l’aide d’outils d’auto
génération des circuits comme le CoreGenerator de XIlinx.

b) Les systèmes sur puce (SoC)

Un système sur puce (System on Chip, SoC) est un système qui peut intégrer sur une seule
et même puce des processeurs, des mémoires, des réseaux d’interconnexions, des circuits
spécifiques (DSP, Accélérateurs matériels), …etc. Ces différents composant sont récupérables à
partir des bibliothèques ou bien sur internet et sont généralement optimisés. En conséquence, les
SoCs exécutent efficacement des applications souvent gourmandes en puissance de calcul. Par
ailleurs, leur intégration sur une seule puce permet un gain en place et en consommation
d’énergie, ce qui vaut au SoC d’être couramment utilisé dans les systèmes embarqués [04].

8
Chapitre I : Les circuits reprogrammables et les outils de conception

La programmation des systèmes sur puce est une tâche complexe liée à l’hétérogénéité des
systèmes et à la complexité croissante des applications traitées. La conception conjointe de
logiciel et de matériel (co-conception ou bien codesign) réduit l’effort de programmation car elle
prend en considération chacun de ces éléments : l’application, l’architecture matérielle et le
placement de l’une sur l’autre [04].

1.2. Les langages de programmation de matériels (HDL)

Les langages de description de matériel (HDL), comme le VHDL ou bien le Verilog,


permettent de décrire des circuits synthétisables (réalisables au moyen de portes logiques
usuelles). L’automatisation du dessin électronique regroupe l’ensemble des étapes, souvent
réalisées par des logiciels propriétaires, qui visent à passer d’un circuit décrit dans un HDL à une
instance physique dudit circuit. Ces processus peuvent être non triviaux, car VHDL et Verilog
embarquent des langages de programmation : un circuit peut être défini par un programme. Pour
le synthétiser, il faut donc :

 Réaliser une compilation pour produire un graphe de connexion de portes, en dépliant


boucles, appels de fonctions, filtrages, …etc.
 Réaliser un placement de ces portes sur un support physique.

On trouve donc dans ces HDLs des constructions de haut niveau non synthétisables. Autre point
d’importance, il est parfois nécessaire de prendre en compte les particularités du support de
réalisation physique pour s’assurer de la correction de certaines constructions. Les librairies de
cellules standards permettent de s’abstraire de cette complexité, en considérant comme
composant de base des unités fonctionnelles implémentant une fonction logique (AND, OR,
NOT, …etc.) ou de stockage (bascule, flip-flop).

1.2.1. Structure générale d’un programme VHDL

Il existe actuellement différents langages permettent la description de circuits numériques. Alors


il faut déterminer le langage de modélisation le mieux adapté à nos besoins. Le VHDL et le
VERILOG sont les deux langages qui s’imposent comme standards mondiaux et restent le plus
utilisés des langages dans le domaine de la conception des circuits électriques (les entreprises
Européennes utilisent majoritairement le VHDL – les entreprises Américaines utilisent
majoritairement le VERILOG). Le langage de description VHDL est un langage de description de
matérielle (comportement et ou architecture) pour les systèmes numériques très populaire dans le
domaine d'industrie de conception [05]. Il est le résultat d'un projet de recherche mené par le
groupement IBM/Texas Instruments/Intermetlics et conséquence d'un besoin croissant d'outils de

9
Chapitre I : Les circuits reprogrammables et les outils de conception

conception de haut niveau pour décrire les systèmes numérique et les circuits intègres qui sont de
plus en plus complexes. Ce langage est né dans les années 80 comme successeur du langage
ADA (1979) au département de la défense américain DOD qui a lancé un appel d’offre pour créer
un langage de description matérielle numérique standard. Ce langage est ouvert au domaine
public en 1985 puis il est adopté par IEEE (Institute Electrical and Electronic Engineers) comme
standard et deviendra une norme en 1987 sous la dénomination VHDL {IEEE 1076-1987} puis
complété et enrichi en 1993 {(IEEE 1076- 1993 et IEEE 1164-1993) sous la dénomination
VHDL’93 avec les extensions (IEEE 1076.3- 1997, IEEE 1076.4-1995) [06]. Le VHDL est un
langage structuré, la figure suivante montre leur structure de base :
------------------------------------------------------------------------------
-- déclaration et utilisation des bibliothèques nécessaires -
------------------------------------------------------------------------------
USE work.bibliotheques_necessaires.ALL;
------------------------------------------------------------------------------
-- déclaration de l'entité et de ses ports d'entrée-sortie -
------------------------------------------------------------------------------
ENTITY nom_de_l_entite IS
GENERIC (parametres_generiques: type := Valeur_par_defaut);
PORT (ports_d_entree : IN type_ports_d_entree;
ports_de_sortie : OUT type_ports_de_sortie;
ports_d_entree_sortie : INOUT type_ports_entree_sortie);
END nom_de_l_entite;
-----------------------------------------------------------------------------
-- architecture du programme, structure interne -
-----------------------------------------------------------------------------
ARCHITECTURE type_de_description OF nom_de_l_entite IS
BEGIN
--programme interne
END type_de_description;

1.2.2. Flot de conception en VHDL

Pour concevoir et mettre en œuvre un circuit spécifié en utilisant le langage de description


de matériel VHDL. La procédure sera comme suite :

 Création du projet ;
 Proposition de l’idée de réalisation du circuit selon les ressources disponibles ;
 Traduction de l’idée proposée en code VHDL
 Simulation du programme VHDL avec des entrées/sorties synthétiques et validation de
l’architecture ;

10
Chapitre I : Les circuits reprogrammables et les outils de conception

 Synthèse du programme VHDL suivant le circuit FPGA utilisé et affichage des résultats ;
 Affectation des entrées et sorties du circuit proposé aux broches spécifiques sur le FPGA
(Affectation des Pins) ;
 Placement et routage du circuit proposé avec les affectations des pins sur le circuit FPGA
utilisé ;
 Création du fichier de configuration du circuit FPGA ;
 Implémentation matérielle du circuit proposé.

La figure suivante résume le flot de conception des circuits logiques en utilisant les VHDL :

Vérification FPGA

Compilation et Placement et
Description Simulation routage
synthétisation
en VHDL Validation

Figure 1- 6 : Flot de conception des circuits logiques en utilisant le VHDL.

1.3. Les processeurs embarqués

Selon plusieurs études réalisées ces dernières années, les processeurs destinés aux
ordinateurs tels que nous les connaissons actuellement ne représenteront plus que 10% des
processeurs fabriqués et vendus dans le monde [07]. Les 90% qui restent sont destinés aux puces
spécialisées comme celles que l'on trouve dans les téléphones mobiles, les tablettes et les tas
d'appareils de plus en plus intelligents, …etc. En effet, avec l'augmentation exponentielle des
performances et de la densité d'intégration des portes logiques, les cœurs de processeurs sont
devenus essentiels dans le développement des SoC et des SoPC (Temps de mise sur le marché
réduit). Un cœur de processeur est la partie matérielle qui traite les données en fonction du
décodage des instructions contenues en mémoire. La grande quantité de données à prendre en
compte ainsi que les contraintes en temps souhaitées, font du cœur de processeur un élément
critique d'un système. Le cœur de processeur idéal doit donc fournir le maximum de
performances sur une surface la plus réduite possible. Il doit être le plus flexible possible et ne
pas subir de dégradation de performances en fonctions des différents environnements rencontrés
(outils de développement, taille de la cible ou électronique adjacente).

11
Chapitre I : Les circuits reprogrammables et les outils de conception

Les cœurs de processeurs peuvent être, soit des macro-cellules spécialisées, dites processeur
Hardcore (PowerPC et ARM par exemple), soit des modules synthétisables, dits processeur
softcore (MicroBlaze, NIOS-II, …etc.). Ces softcores sont configurables à travers plusieurs
paramètres (profondeur du pipeline, taille du cache, présence ou non de multiplieurs, …etc.). Un
processeur softcore est réalisé à partir de la logique programmable présente sur la puce. Ainsi, un
concepteur peut mettre autant de processeurs softcore que la puce le permet. A titre illustratif, un
processeur MicroBlaze occupe seulement 4% de la surface d'un FPGA de la famille Virtex5-
LX50 (composant à 28.800 cellules logiques), et 1,7% de la surface d'un FPGA de la famille
Virtex5-LX110T (composant à 69.120 cellules logiques). A l'inverse, le concepteur ne choisit
pas le nombre de processeurs hardcore présents dans un FPGA. L'intérêt majeur des FPGA est la
possibilité de faire du prototypage rapide, la proximité des cœurs de processeurs avec de la
logique programmable rend possible la spécialisation de ces processeurs pour concevoir un
système sur puce [08].

1.4. Xilinx et Altéra

Actuellement, on trouve sur le marché des circuits FPGA (de faible, moyenne et haute
densité) produits par les deux principaux producteurs de circuits logiques programmables :
Xilinx et Altera. Sur le même marché, on trouve plusieurs autres producteurs de circuits FPGA,
on peut citer à titre d’exemple : Actel, Abound Logic, Achronix, Atmel, Cypress, Lattice
Semiconductor, …etc. L'architecture d'une cellule logique élémentaire (CLE) varie fortement
d'un producteur à un autre. Dans cette partie de notre travail, nous décrivons les deux sociétés
Xilinx et Altera, avec des exemples de produits pour chaque famille de FPGA.

1.4.1. La famille Xilinx

Xilinx Inc. (1984) est une entreprise américaine de semi-conducteurs. Inventeur du FPGA
avec un premier produit en 1985, Xilinx fait partie des plus grandes entreprises spécialisées dans
le développement et la commercialisation de composants logiques programmables, et des
services associés tels que les logiciels de CAO (Conception Assistée par Ordinateur) ; création
des blocs IP, formations, …etc. En effet, Xilinx vend également des spécifications
d'architectures ("IP Cores"). Cela peut aller de fonctions très simples comme des compteurs
jusqu'à des systèmes complets comme les microprocesseurs et les DSP. Xilinx est également à
l'origine du processeur softcore MicroBlaze ainsi que le processeur hardcore PowerPC.

12
Chapitre I : Les circuits reprogrammables et les outils de conception

1.4.2. La famille Altéra

Le concurrent de Xilinx dans le marché des FPGA est Altera avec un chiffre d’affaire de
$1.95 milliard en 2010. En effet, la société américaine Altera, créée en 1983 et siégée dans San
Jose, la Californie, est un fabricant de composants reprogrammables (FPGA, CPLD et ASIC) et
des processeurs embarqués. Pour la gamme haute performances on trouve les FPGA : Stratix et
Stratix GX (2002), Stratix II (2004), Stratix II GX (2005), Stratix III (2006) et Stratix IV et
HardCopy (2008). Pour les FPGA de grande série on trouve : Cyclone (2002), Cyclone
II (2004), Cyclone III (2007), Cyclone IV et Arria GX (2007), etc. Enfin, pour les CPLD, on
trouve les exemples les plus utilisés : MAX 3000A et MAX 7000 (1991), MAX II (2007) et
MAX V (2010). Altera est aussi à l'origine des processeurs softcores NIOS et NIOS-II ainsi que
le bus Avalon. Le bus Avalon est un bus informatique, avec un support multi-maître, destiné à
l'implémentation sur du matériel programmable (FPGA).

1.4.3. Les deux cartes de travail

Pour l’implémentation matérielle de nos propositions, nous avons utilisé deux cartes de
prototypages rapides (des deux fabricants Xilinx et Altera) disponibles au laboratoire LEC de
l’université de Constantine. Une plateforme de prototypage est constituée d’un circuit FPGA, de
mémoires de différents types, des interfaces d’entrées/sorties, des oscillateurs, …etc.
L’utilisation des deux cartes est dans le but de comparer les résultats de synthèse.

a) La carte XUPV5 de Xilinx

Les FPGA sont généralement contenus sur des cartes regroupant plusieurs composants
divers. Idéalement conçue pour les recherches et les études de haut-niveau, la plateforme
d’évaluation XUPV5 (Figure 1- 7) est l’un des outils de développement les plus puissants de la
compagnie Xilinx, architecturé autour d’un puisant circuit FPGA de type Virtex5
XC5VLX110T-1FFG1136. XUPV5 est l’une des cartes conçues spécialement pour les
universitaires (programme Xilinx-université). Cette plateforme contient les mêmes composants
externes que les autres cartes de la même génération (Virtex5), la seule différence réside dans le
circuit FPGA avec plus des ressources et des composants matériels embarqués (tableau 1.1).
Comme exemple, ce tableau montre les détails des deux circuits FPGA (Virtex5-LX50 et
LX110T).

Les cartes FPGA sont entièrement programmables grâce à la suite d’outils proposée par Xilinx
nommées ISE (Integrted Softwar Envirenment) et EDK (Embedded Development Kit).

13
Chapitre I : Les circuits reprogrammables et les outils de conception

Circuit CLB (Configurable Logic blocks) DSP Blocs BRAM Total I/O Max User

FPGA (Row×col) Slices Max RAM distr. 48E 18 Kb 36 Kb Max(Kb) Banks I/O

XC5VLX50 120 × 30 7.200 480 Kb 48 96 48 1.728 17 560

XC5VLX110T 160 × 54 17.280 1.120 Kb 64 296 148 5.328 20 680

Tableau 1-1 : Les différentes caractéristiques des circuits Virtex5 (LX50 et LX110T) [09].

Figure 1- 8 : La carte FPGA XUPV5 de Xilinx.

En plus du circuit FPGA, la carte XUPV5 est une plateforme riche en composants pour
l’évaluation et le développement des multiples applications, ces composants permettent un accès
facile et pratique aux ressources disponibles dans le circuit FPGA [10]. La plateforme XUPV5
dispose aussi d’une mémoire externe (DDR2-SDRAM SODIMM) de capacité 256MB. En plus
du circuit FPGA et de la DDR2 la plateforme XUPV5 dispose de :

 Mémoires : Xilinx Platform Flash XCF32P ; 9Mb ZBT synchronous SRAM ; 32MB
Intel P30 StrataFlash ; 2MB SPI Flash ; System ACE™ CompactFlash configuration
controller avec un connecteur CompactFlash ; IIC-EEPROM de 8Kbits.
 Connectivité : Port JTAG utilisé avec un câble parallèle(III) ; câble parallèle(IV) ou bien
plateforme de téléchargement USB ; Ethernet PHY 10/100/1000 tri-speed ; Codec Stéréo

14
Chapitre I : Les circuits reprogrammables et les outils de conception

AC97 avec connecteurs line-in/microphone, line-out/headphone, et audio difital SPDIF ;


Piezo Speaker ; Port PS/2 pour souri/clavier ; des E/S d’extension ; Port série type RS-
232 ; Connecteur vidéo (DVI/VGA).
 Composants divers : Générateur de système d’horloge programmable ; CPLD type
XC95144XL de Xilinx ; support d'oscillateur d'horloge (3.3V) avec un oscillateur à
100MHz ; contrôleur de température et de tension ; boutons-poussoirs à usage général ;
afficheur LCD de 16 caractères sur 2 lignes ; LED d’indication (d’alimentation,
d’initialisation et d’activation) ainsi que plusieurs switchers et ports d’E/S.

b) La carte DE2 de Altera

La carte DE2 de Altera possède de nombreuses fonctionnalités permettent à l'utilisateur de


mettre en œuvre de circuits simples et des projets de multimédias. En effet, cette carte dispose de
nombreux entrées/sorties standards simples à utiliser (Figure 1-8). Le matériel suivant est prévu
sur la carte DE2 : Circuit FPGA Cyclone II-2C35 ; Dispositif de configuration série Altera-
EPCS16 ; USB Blaster (à bord) pour la programmation et le contrôle utilisateur de l'appilication,
tous deux JTAG et série active (AS) modes de programmation sont pris en charge ; SRAM de
512Ko ; SDRAM de 8Mo ; mémoire flash de 4Mo (1Mo sur certaines cartes) ; Carte SD socket ;
4 boutons poussoirs ; 18 interrupteurs à bascule ; 18 LEDs utilisateur de couleur rouge ; 8 LEDs
utilisateur de couleur vert ; 50MHz oscillateur et 27MHz oscillateur pour les sources d'horloge ;
CD audio CODEC de qualité 24bits avec line-in, line-out, et prises microphone ; CAD VGA
(triple DACs 10bit haut débit) avec sortie connecteur VGA ; Décodeur TV (NTSC / PAL) et
connecteur de TV-in ; 10/100 Ethernet Controller avec un connecteur ; USB Host/Slave
contrôleur avec connecteurs USB de type A et de type B ; Émetteur-récepteur RS232 à 9 broches
et connecteur ; connecteur PS/2 souris/clavier ; IrDA émetteur-récepteur ; Expansion Header :
deux à 40 broches avec protection par diode [M5].

En plus de ces caractéristiques matérielles, le conseil a DE2 support logiciel pour E/S standard
interfaces et une installation de panneau de commande pour accéder aux différents composants.
En outre, le logiciel est fourni pour un certain nombre de manifestations qui illustrent les
fonctionnalités avancées de la carte DE2. Pour utiliser la carte DE2, l'utilisateur doit se
familiariser avec le logiciel Quartus II [11].

15
Chapitre I : Les circuits reprogrammables et les outils de conception

Figure 1- 9 : La carte FPGA DE2.

1.5. Les outils de conception des systèmes sur puce

En parallèle avec le matériel et les carte de prototypages, on trouve plusieurs EDA


(Electronic Design Automation) et plusieurs outils pour la synthèse de circuits pour la mise en
œuvre et même pour la simulation des codes VHDL. Certains outils (les outils de placement et
routage par exemple) sont offerts dans le cadre de la suite de la conception d'un fournisseur :

 Le logiciel Quartus II qui permet la synthèse du code VHDL pour les circuits
CPLD/FPGA de Altera ;
 Les logiciels ISE-Suite et EDK pour les circuits CPLD/FPGA de Xilinx ;

D'autres outils sont disponibles sur le marché ou bien sur site à titre gratuit permettant
l’utilisation de différents circuits FPGA. Des exemples de ce dernier groupe sont Leonardo
Spectrum (un synthétiseur de Mentor Graphics), Synplify (un synthétiseur de Synplicity) et
ModelSim (un simulateur de Model Technology, a Mentor Graphics company) [06].

La figure suivante montre les différentes étapes pour passer d’un code VHDL vers le circuit
logique implémenté sur un FPGA avec même les opérations intermédiaire de simulation, de
synthèse et de placement et routage.

16
Chapitre I : Les circuits reprogrammables et les outils de conception

1.5.1. L’opération de synthèse

Étant donné un schéma circuit logique, nous pouvons réellement obtenir quelques portes
logiques discrètes et manuellement les relier entre eux par des fils sur une plaquette d’essais.
Traditionnellement, c'est la façon dont les ingénieurs réellement concevoir et mettre en œuvre
des circuits logiques numériques. Si le nombre des portes logique est important, il est
pratiquement impossible de les relier dans le même schéma. Dans ce cas, il est préférable
d’utiliser les langages de description de matériels. Le circuit est décrit en un programme, tout
comme ce que les programmeurs informatiques faire. Ensuite on utilise des logiciels de synthèse
permettant la conversion des lignes de code en circuits logique.

La question est alors de savoir comment fonctionne le programme qui décrit le fonctionnement
du circuit effectivement converties au circuit physique ? Le problème ici est similaire à la
traduction d'un programme informatique écrit dans un langage de haut niveau en langage
machine pour un ordinateur particulier à exécuter. Pour un programme d'ordinateur, nous
utilisons un compilateur pour faire la traduction. Par contre pour la traduction d'une description
d'un circuit vers le Netlist, qui est une description de la façon dont le circuit est réalisé ou
connecté à l'aide de portes de base, nous utilisons un synthétiseur. Ce processus de traduction est
appelé synthèse. Ainsi, un synthétiseur est comme un compilateur, sauf que la sortie est une
Netlist du circuit plutôt que le code machine. La popularité de l'utilisation de VHDL (ou Verilog)
pour la conception de circuits numériques ont commencé au milieu des années 1990, lorsque les
outils de synthèse commerciales sont devenues disponibles. En outre, la liste d'interconnexions
(Netlist) à partir de la sortie du synthétiseur peut être utilisée directement pour mettre en œuvre
le circuit réel dans un circuit FPGA. Avec cette dernière étape, la création d'un circuit numérique
entièrement mis en œuvre dans un circuit intégré peut être facilement faite.

1.5.2. L’opération de simulation

L'objectif global de l’opération de conception du matériel est de s'assurer que la conception


est conforme aux exigences et aux spécifications de la conception. Afin de mesurer tel est bien le
cas exact, nous devons simuler la représentation de conception dans un langage de description de
matériel (comme VHDL) et nous devrons aussi assurer que tout ce que nous entreprenons
comme essais sont appropriés au cahier des charges [12].

La façon dont les concepteurs peuvent tester leurs conceptions dans un simulateur est de créer un
banc d'essai (testbench). Cela est directement analogue à un banc d'essai expérimental réel dans
le sens que les stimuli sont définis, et les réponses du circuit mesuré afin de s'assurer qu'ils

17
Chapitre I : Les circuits reprogrammables et les outils de conception

respectent les spécifications. Dans la pratique, le banc d'essai est tout simplement un modèle
VHDL qui génère les stimuli nécessaires et vérifie les réponses. Cela peut être de telle sorte que
le concepteur peut visualiser les formes d'onde et manuellement les vérifier, où en utilisant des
constructions VHDL pour vérifier les réponses de conception automatique [06].

Les objectifs de tout banc de test sont de deux ordres. Le premier est avant tout de veiller à ce
que le fonctionnement correct soit atteint. Il s'agit essentiellement d'un «fonctionnelle» de test.
Le deuxième objectif est de s'assurer que la conception synthétisé répond toujours à la
spécification (notamment en vue d'erreurs de temps) [12].

1.5.3. Placement et Routage

Pour les FPGA, les programmes de Placement et Routage sont exécutés après la
compilation. "Place" est le processus de sélection des modules spécifiques ou des blocs logiques
dans les circuits FPGA où résideront les portes de conception. «Route», comme son nom
l'indique, est l'acheminement physique de l'interconnexion entre les blocs logiques. La plupart
des fournisseurs offrent des outils automatiques de manière à éviter que l'utilisateur n’ait pas à se
soucier des détails complexes de l'architecture du dispositif. Certains fournisseurs ont des outils
permettent aux utilisateurs experts de placer manuellement les modules les plus critiques.
Généralement, ces outils donnent les meilleures performances que les outils automatiques [13].

1.5.4. Téléchargement du programme (Downloading/Programming)

Télécharger réfère généralement à des dispositifs volatils tels que les FPGA SRAM. Comme
son nom l'indique, vous devez télécharger les informations de configuration dans le dispositif de
mémoire de l'appareil. Le Bitstream transféré contient toutes les informations pour définir la
logique et leurs interconnexions qui doivent être différente pour chaque conception. Comme les
équipements SRAM perdent leur configuration lorsque l'alimentation est coupée, le train de bits
doit être stocké quelque part pour une solution de production. Un lieu commun est une telle série
PROM. Il est associé une pièce de matériel qui relie l'ordinateur à une carte contenant le
dispositif cible.

L’opération (Programming) est utilisée pour programmer tous les périphériques non-volatiles
programmables, y compris PROM série. La programmation remplit la même fonction que si ce
n'est que le téléchargement des informations de configuration est conservé après la mise hors
tension de l'appareil. Pour les appareils anti fusibles, la programmation ne peut se faire que en
line avec l’appareil (D'où le terme One-Time Programmable, OTP). La programmation de CPLD
de Xilinx peut être fait en système via JTAG (Joint Test Advisory Group) ou en utilisant un

18
Chapitre I : Les circuits reprogrammables et les outils de conception

dispositif classique, par exemple programmeur Data I /O. JTAG boundary scan est officiellement
connu sous le nom IEEE/ANSI1149.1_1190. C’est un ensemble de règles de conception, ce qui
facilite les tests, le débogage et le dispositif de programmation au niveau puce. La
programmation dans le système a l'avantage supplémentaire que les appareils peuvent être
soudés directement sur le circuit imprimé [13].

1.6. Conclusion

Dans ce chapitre, nous avons présenté le domaine d’application autour duquel sera axé ce
travail. Nous avons mis l’accent sur l’apport de l’utilisation des FPGA comme cible
d’implémentation matérielle des algorithmes traduit en un HDL. Une méthodologie de
développement appropriée associée aux implantations sur cible FPGA a été aussi présentée.
Nous avons aussi développé quelques détails de deux plateformes de prototypage rapides des
deux compagnies Xilinx et Altera pour les utiliser ensuite dans nos implémentations. Nous avons
présenté aussi les deux logiciels de Xilinx (ISE) et de Altéra (QuartusII), ce qui donne la
possibilité de comparaison concernant le nombre des ressources utilisées.

19
Chapitre II : Commande numérique des systèmes

2. Chapitre II : Commande numérique des systèmes

2.1. Introduction

Aujourd’hui, l’avènement des dernières générations d’FPGA a permis de mettre la


technologie SoC à la portée d’un public nettement plus large. Ceci est particulièrement depuis
que les FPGA sont proposés à un prix très faible et raisonnable. Ce prodigieux essor a été rendu
possible grâce aux progrès concernant les technologies de fabrication des transistors et les
méthodes de conception assistée par ordinateur (CAO). Le rôle des FPGA est d’intégrer des
circuits logiques complexes. Ces circuits sont susceptibles d’être reconfigurés (Architecture
programmée modifiable) partiellement ou entièrement suivant l’application. A cet effet, ce
premier chapitre s’inscrit dans un contexte qui traite les FPGA et leurs positions au sein des
autres systèmes digitaux. Nous allons ensuite décrire l’apport de cette technologie programmable
sur la commande des machines asynchrones alimentées par un onduleur de tension.

2.2. Commande numérique des systèmes

L’utilisation des calculateurs numériques pour commander, pour piloter ou bien pour guider
des procédés et des systèmes physiques en temps réel, qui sont le plus souvent continus, a donné
naissance aux systèmes de commande numériques. La commande numérique peut être câblée ou
bien programmée en utilisant un processeur nécessite la mise en œuvre d’un certain nombre
d’éléments (Figure 2.1) [14] :

 Un processeur (calculateur numérique) qui élabore la commande échantillonnée ;


 Des convertisseurs analogique/numériques (CAN) et des convertisseurs
numérique/analogiques (CNA) ;
 Des capteurs et des organes de mesure transmettent au calculateur les informations
recueillies sur le système continu ;

Figure 2- 1 : Structure de commande d’un système continu par calculateur.

20
Chapitre II : Commande numérique des systèmes

2.2.1. Intérêts de la commande par calculateurs

La souplesse d’utilisation du calculateur numérique à la place d’un circuit de commande


analogique (machine câblée) est remarquable. Cette solution présente les avantages suivants :

 La flexibilité de la programmation permet de réaliser des correcteurs finis, facilement


ajustables et auto-ajustables ;
 Fourni une grande précision, résout de problème de complexité (grand nombre de
paramètres), augmente les rendements, améliore les performances, …etc.
 Dans le cas de la commande numérique programmée, nous obtenons la possibilité
d’intervention rapide et de changement de fonctionnalité sans le changement de la partie
matérielle ;
 Application des algorithmes de commande plus compliqués et qui nécessitent des calculs
intensifs.

Le passage de la commande analogique vers la commande numérique est une nécessité depuis
déjà plusieurs années. Ce passage nécessite par cintre plusieurs étapes :

 Choix de période d’échantillonnage ;


 Détermination de commande numérique à partir d’un cahier de charge ;
 Les calculs sont généralement dans le domaine fréquentiel avec l’obligation de retourner
dans le domaine temporel en utilisant le programme du calculateur (loi de commande). Il
élabore en temps réel la commande qu’il enverra à chaque instant ou pas
d’échantillonnage au processus [14].

L’évolution du système dépend alors à chaque instant des résultats élaborés par le calculateur on
parle de commande par calculateurs en temps réel. Le tableau suivant montre une comparaison
entre la commande analogique et la commande numérique :

Numérique Analogique
Avantages - Capacité de mémoire sans limite, - Le système est observé en continu
- Grande possibilité de synthèse de la récurrence (adapté aux systèmes rapides),
(algorithme), - Précis.
- Algorithme adaptable,
- Mise au point souple,
- Convivialité (dialogue) et sécurité (séquentiel).
Inconvénients - La boucle est ouverte en dehors des instants - structure rigide,
d’échantillonnage (oscillations non observées), -possibilité de synthèse réduite,
-Discrétisation de la mesure (précis à ), non -mise au point et adaptation difficile,
-d’un point de vue technologique
linéaire : risque de cycle limite,
(valeurs des composants), non adapté
- Compromis (N : nombre de bits), pas encore aux systèmes lents.
adapté aux systèmes rapides (Shannon).
Tableau 2- 1 : comparaison entre la commande analogique et la commande numérique [H1].

21
Chapitre II : Commande numérique des systèmes

2.3. La commande via un circuit FPGA

Le choix du type de logique (programmée ou câblée) pour la commande d’un système,


dépend de plusieurs critères : complexité ; coût ; évolutivité ; rapidité. L’utilisation des circuits
logiques introduit, généralement, un délai de quelques mois dans le processus de conception. Cet
inconvénient a conduit les fabricants à proposer des circuits programmables par l'utilisateur (sans
passage par le fondeur) qui sont devenus au fil des années, de plus en plus évolués. Les PLDs ont
connu une évolution technologique au fil du temps depuis la parution du premier PAL jusqu’à
l’aboutissement aux FPGAs qui sont les circuits logiques programmables les plus performant qui
existent en ce moment, une évolution du à une concurrence industrielle et scientifique.
Rassemblés sous le terme générique PLD, les circuits programmables par l'utilisateur se
décomposent en deux familles :

 Les PROM, les PLA, les PAL et les EPLD ;


 Les FPGA.

2.3.1. L’apport des FPGA à la commande des machines

L’amélioration de la qualité et des performances a toujours été une préoccupation constante


chez les concepteurs de circuits numériques et c’est dans ce contexte que nous exploitons les
FPGA afin de faire une contribution à l’amélioration de la commande des machines en temps
réel. Les contraintes majeures pour la commande des machines sont la satisfaction du compromis
rapidité/précision d’une part et un taux de calculs élevé d’autre part. Une approche efficace pour
résoudre ce genre de problème est aujourd’hui disponible et concrétiser par ces circuits logiques
FPGA. L’application des FPGA est un remède à la complexité des algorithmes de commande
ainsi qu’à la vitesse de traitement. [15]

Le FPGA assure toute la partie algorithmique de la commande grâce à ces caractéristiques


notamment le parallélisme de traitement. Parmi les caractéristiques de ce circuit que le contrôle
des machines électriques peut se bénéficier, réside dans la possibilité d’implanter des fonctions
avancées irréalisables dans le domaine analogique, aucun impact des perturbations externes sur
les algorithmes, la réalisation de systèmes sûrs et efficaces avec précision, la reprogrammabilité
sur site sans changer de composant ni câblage et un encombrement minimal où tous les
algorithmes de contrôles sont intégrés sur une puce de quelques millimètres carrés. L’ensemble
de ces caractéristiques est un acquis pour la commande des moteurs électriques et précisément
pour une optimisation du rendement des convertisseurs statiques par une implantation des
algorithmes avancés [15].

22
Chapitre II : Commande numérique des systèmes

Comme conclusion, l’apport des FPGA sur la commande des machines peut être résumé dans les
quelques points suivant :

 Les FPGA sont des solutions numériques qui permettent d’approcher les avantages de
l’analogique et de garder au même temps les avantages du numérique avec l’implantation
d’algorithmes complexes, un temps de calcul réduit à quelques microsecondes et une
bonne précision.
 Eviter l’inconvénient majeur des solutions analogiques classiques qui réside dans
l’influence des variations paramétriques engendré par la sensibilité aux perturbations
externes comme la chaleur.
 Pas d’entretien qui nécessite du temps et des pertes d’ordres économique a l’inverse des
solutions analogiques.
 Implémentation de fonctionnalités supplémentaires qui ne sont pas réalisable en continu.
 Augmentation de la bande passante vis à vis des autres solutions numériques comme les
DSP (Digital Signal Processor) et microcontrôleurs ou microprocesseur traditionnels.
 L’intégration sur une seule puce de plusieurs algorithmes de contrôle grâce à la
configuration dynamique avec une grande flexibilité pour un changement de la structure
de contrôle ;
 La possibilité de réduire fortement les délais de développement et de commercialisation.
 L’utilisation des FPGA dans le contrôle des machines ne nécessite pas d’espace sur site
ce qui est équivalent à un encombrement minimale car c’est une technologie embarquée
hautement intégrée avec une consommation d'énergie ultra-basse.

Avant l’apparition des FPGA qui sont disponibles aujourd'hui, les méthodes classiques utilisées
avec DSP et microcontrôleur, permettent l’obtention d’un temps de cycle moyen proche de 100
(us) ce qui est équivalent à une fréquence de commutation aux alentours de 1-5 kHz. Avec
l'introduction des FPGA à des prix raisonnables, la fréquence de commutation est devenue aux
alentours de 10-15 (KHz) et aujourd'hui d'ordre de 50(KHz). Il est même possible d'obtenir des
fréquences aussi élevées que 100 (KHz) mais malheureusement les limites des dispositifs
d’électronique de puissance sont atteintes sachons que l’énergie dissipée dans ces convertisseurs
est proportionnelle à la fréquence de commutation ce qui représente une contrainte très pesante
[15].

23
Chapitre II : Commande numérique des systèmes

2.3.2. La structure matérielle de couplage (FPGA /Onduleur)

La recherche dans le domaine de conception des circuits numériques de commande pour les
systèmes automatisés en temps réel est difficile, car elle nécessite non seulement une parfaite
maitrise des technologies employées mais aussi une très bonne connaissance des caractéristiques
d’application et de la nature de son environnement. La structure générale de couplage
FPGA/Onduleur est schématisée dans la (figure 2-2), le circuit FPGA agit comme le «cerveau»
du système et va permettre de cadencer les interrupteurs du convertisseur statique.

Onduleur

DC voltage AC voltage

Impulsions de
Ordinateur commande

FPGA
Chargement du
programme
Figure 2-2 : Structure de couplage FPGA/Onduleur triphasée.

2.4. Principe des convertisseurs statiques

Le convertisseur d’électronique de puissance est un élément statique positionné entre deux


sous-systèmes électriques et constitué d’une matrice d’interrupteurs. Ces deux sous systèmes
sont un générateur d’énergie électrique et un récepteur de cette dernière. Le transfert d’énergie
entre les bornes de sortie du générateur et les bornes d’entrée du récepteur est établi par les
connexions assuré par ces interrupteurs à semi-conducteurs (GTO, Transistor MOS, IGBT, etc.)
de puissance. Les signaux nécessaires à la commande des interrupteurs sont élaborés par une
électronique de commande et de régulation qui détermine les intervalles de conduction (La
séquence de conduction et blocage) des interrupteurs à partir de consignes reçues de l’extérieur
et des mesures prélevées sur l’état du système.

24
Chapitre II : Commande numérique des systèmes

Figure 2- 3 : Schéma du principe de commande des convertisseurs statiques.

2.5. L’onduleur de tension

L’onduleur de tension est largement décrit dans la littérature il se comporte comme un


commutateur de tension en appliquant alternativement sur chaque borne du moteur les polarités
positive et négative de la source et ça tâche est de transformer une source de tension continue
constante en une tension alternative polyphasée de fréquence et d’amplitude variables ce qui
permet la variation de sa vitesse de rotation. L’onduleur de tension est constitué de trois bras
dont chacun possède deux interrupteurs (cellules de commutation) à base de semi-conducteurs
(IGBT à titre d’exemple) montées en série et qui ne fonctionnent pas simultanément. Dans ce
cas, chaque cellule est assimilée à un interrupteur contrôlable à l’ouverture et à la fermeture.

Cet onduleur est commandé par une MLI qui contrôle et impose la largeur des impulsions
obtenues par hachage de la tension La MLI consiste à faire reproduire la valeur moyenne et
d’approcher les trois tensions instantanément par action d’ouverture ou fermeture des
interrupteurs à chaque période de commutation en jouant sur la durée d'application des tensions
positives et négatives. [15]

Figure 2- 4 : Schéma d’un onduleur de tension

25
Chapitre II : Commande numérique des systèmes

2.6. Commande de l’onduleur de tension

La commande de ce dispositif est réalisée par deux manières qui sont :

 Variation directe de vitesse (onduleur commandé en boucle ouverte).


 Régulation de la vitesse (onduleur commandé en boucle fermée).

+
Consigne Système Sortie
Entrée Système Sortie -

Feed back
Système non asservi (boucle ouverte) Système asservi (boucle fermée)
Figure 2- 5 : Schéma de commande on boucle ouvert/fermé

La régulation de ce système se fait à l’heure actuelle systématiquement de manière numérique.


Les signaux d'entrée-sortie sont discrétises (échantillonnage, blocage), aussi bien dans l'espace
des valeurs que dans le temps.

2.6.1. Technique de Modulation de Largeur d'Impulsion

a) Généralités

Le rôle de la fonction de la modulation est de déterminer les instants de commutation et les


ordres de commande logiques des interrupteurs afin d’obtenir une séquence de commutation de
ces derniers. Le choix d’une stratégie de modulation peut s’effectuer en fonction des
performances souhaitées par l’utilisateur et toutes les stratégies ont des avantages et des
inconvénients et peuvent être réalisé par programmation logicielle ou matérielle.

b) La fonction de modulation MLI ou PWM

La technique de modulation en largeur d’impulsions MLI (Modulation de Largeur


d’Impulsions ou PWM Pulse Width Modulation, en anglais) est l’essor et le fruit du
développement l’électronique de puissance à la fin du siècle dernier. Elle est le cœur du contrôle
des convertisseurs statiques. Le choix de la technique MLI pour contrôler l’onduleur de tension
est en vue d’avoir une réponse rapide et des performances élevées. Le choix de la technique
dépend du type de la machine à commander, du type des semi-conducteurs d’onduleurs, de la
puissance mise en jeux et la simplicité ou complexité d’algorithmes à implanter grossièrement du
coût et performances désirées. La MLI est composés d’impulsions dont la largeur dépend des
choix effectués pour la stratégie de modulation.

26
Chapitre II : Commande numérique des systèmes

Il existe plusieurs types de méthodes ou fonctions MLI on distingue deux méthode que notre
travail basée sur :

c) MLI Pré calculée (Modulation pré-calculée)

Le développement des technologies numériques permet le recours à des stratégies de


modulation triphasée spécifiques, non déduites des techniques analogiques .Elle est appelée aussi
la technique directe numérique (DDT – Direct Digital Technique) ou technique sans porteuse.
Son principe est de générer des impulsions grâce à des séquences préalablement calculées et
stockées dans une mémoire. [15]

Le calcul de ces instants de commutation des interrupteurs sera d’une manière à répondre à
certains critères portant sur le spectre fréquentiel de l'onde résultante. Ces séquences sont alors
mémorisées et restituées de manière cyclique pour assurer la commande des interrupteurs.

Les critères usuellement retenus sont :

 Élimination d'harmoniques de rang spécifié,


 Élimination d'harmoniques dans une bande de fréquence spécifiée,
 Minimisation d’un critère d'harmoniques global.

La modulation est caractérisée par M angles électriques notés ces angles M permettent :

 Soit d'annuler M harmoniques


 Soit d'annuler M-1 harmoniques et de fixer L'amplitude de la fondamentale.

La tension aux bornes de la charge est périodique de fréquence . Elle admet donc une
décomposition en série de Fourier :

() ∑ ( ) ∑ ( )
(1)

Où:

∫ () ( ) (2)

27
Chapitre II : Commande numérique des systèmes

∫ () ( ) (3)

A l'aide d’un changement d'origine, la fonction est rendue impaire et les termes sont annulés.

Moyennant quelques calculs, on obtient l'amplitude des harmoniques de tension :

( ) ∑( ) ( )]
(4)

La résolution des M équations permet de déterminer les combinaisons annulant les


harmoniques.

Figure 2- 6 : L’allure de la tension de sortie d’une seule phase

d) MLI sinus triangulaire

C’est une stratégie MLI triphasée « classique » simple à réaliser en analogique initialement
conçues en monophasé et son implantation numérique est plus compliquée tel que un grand
nombre d’échantillons de la modulante doit être sauvegardé dans une mémoire ROM pour
pouvoir obtenir une bonne précision du signal modulé. Son principe est simple avec une simple
comparaison, pour chaque bras, entre un signal de référence sinusoïdale (la modulante) et un

28
Chapitre II : Commande numérique des systèmes

signal triangulaire de fréquence plus élevée (la porteuse). La fréquence de porteuse définie la
fréquence de découpage, et les points d’intersection entre la modulante et la porteuse
correspondent aux instants de commutations au moment desquels l’onduleur change d’état. Les
signaux de commande générés sont montrés sur la figure suivante. La fréquence du signal de
référence , détermine la fréquence de l'onduleur; alors que l'amplitude maximale contrôle
l'indice de modulation qui à son tour détermine la tension efficace de sortie. Le nombre
d'impulsions par demi-cycle dépend de la fréquence de l'onde porteuse. Cette modulation
repousse ces harmoniques dans le domaine des hautes fréquences autour de la fréquence de
commutation et ses multiples.

Figure 2- 7: MLI sinus triangulaire

2.7. Conclusion

Ce chapitre est permet déterminer les principaux objectifs. Au départ, nous avons présenté la
démarche du commande numérique par calculateur et conclure à la fin que la technologie FPGA
s’inscrit au sommet de l’évolution des composants logiques et le besoin croissant de composants
plus performants, plus économiques et disponibles en grandes quantités est les grands axes du
progrès qui sont disponibles dans les FPGA qui ouvrent de grandes perspectives en matière de
contrôle en temps réel.

29
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

3. Chapitre II : Résultats de synthèse et de simulation du système de


commande à base d’un circuit FPGA

3.1. Introduction

Un ordinateur est incapable de concevoir un circuit car une machine est dépourvue d’intelligence
et de réflexions, mais rien n’empêche que les taches fastidieuses et complexes (Mathématiques et
logiques) sont accomplies par des moyens automatiques confiés à ces calculateurs (Ordinateurs)
qui sont dotés d’une importante puissance de calcul avec un minimum de temps d’exécution.
L’électronique des circuits intégrés et la programmation informatique ont été les secteurs
pionniers de la sûreté de fonctionnement. Un besoin et une nécessité croissante, pour la réduction
de l'effort et du temps de conception des circuits, ont rendu l’utilisation des outils de CAO
microélectronique indispensable. Les outils de CAO ne se limitent pas à la simulation mais aussi
à la synthèse des circuits et assurent les transitions entre les différents niveaux d'abstraction,
sachant que le passage de l’algorithme vers l’architecture est une synthèse automatique confiée
aux logiciels CAO qui génèrent l’architecture adéquate du système.

Les outils de CAO prennent en compte les contraintes de vitesse, de consommation de puissance,
et de surface qui interviennent dans le processus d’optimisation de la description et de son circuit
synthétisé. Cette partie du travail qui s’agit de concevoir, à partir du langage VHDL, un modèle
équivalent au circuit de commande. Sachons qu’un modèle d’un circuit n’est qu’une abstraction
de son comportement. Ce modèle va nous permettre de tester les lois de commande et va nous
assurer la validité de chaque partie grâce à l’utilisation d’un logiciel de simulation intégrer dans
l’environnement CAO.

3.2. Présentation des logiciels ISE et QuartusII

Les sociétés spécialisées en CAO microélectronique fournissent des environnements logiciels


spécialisés. Tous les fabricants des FPGA proposent des outils de CAO pour configurer leurs
circuits (ISE de Xilinx et QuartusII de Altéra). L’offre logicielle dans le domaine de conception
des circuits numériques est très varié. Parmi ces environnement que nous allons exploiter au
cours de ce travail sont ISE et QuartusII qui sont des logiciels de création et de gestion de projets
CAO ou bien des environnements de conception. Ce sont des logiciels multitâches qui possèdent
dans leur soft différent outil permettant la création des systèmes sous forme de circuits
numériques. L’introduction de projets se fait de deux manières qui sont textuelle ou graphique en
vue d’une intégration dans un circuit logique programmable (CPLD ou FPGA) sachons que la
saisie graphique est une alternative à la saisie textuelle mais elle est généralement limitée. Les

30
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

logiciels ISE et QuartusII permettent la simulation de la description et la synthèse du circuit


logique équivalent puis le placement et le routage de ce circuit sur un prototype correspondant à
une technologie FPGA bien précise et enfin lorsque toute les vérification sont faites vient
l’implantation sur un FPGA réel ce qui correspond à générer le fichier de configuration du circuit
cible choisi afin d’établir les interconnections des cellules logiques correspondantes au circuit
logique conçu avec optimisation de ressources disponibles au niveau circuit programmable
FPGA. D’une manière générale, les logiciels ISE et QuartusII permettent de réaliser toutes les
étapes de conception et de programmation des FPGA de Xilinx et de Altera et même pour
d’autres circuits programmables tel que les CPLD.

3.3. Synthèse et simulation

Comme nous l’avons vu au premier chapitre, la conception du circuit met en œuvre quatre
outils : un éditeur de texte/entrée graphique, un simulateur, un synthétiseur et un placeur-routeur.
La description du circuit en VHDL ne concerne que le circuit de commande et rien de ce qui
constitue l’environnement du circuit. Le model VHDL est inspiré de l’architecture proposée
pour le circuit numérique de commande vectorielle. Par la suite, nous allons réaliser une
simulation manuelle en appliquant des valeurs sur les entrées et en vérifiant visuellement l’état
des sorties.

3.4. Circuit de commande via le MLI pré-calculé

Dans un premier temps, nous avons calculé les angles de commutation analytiquement puis
nous avons transféré ces angles vers des nombres binaires. L’opération de transfert est
synchronisée par un signal d’horloge sur le circuit FPGA, dans notre cas la valeur de la
fréquence de l’horloge est de 50 MHz sachant que cette horloge est standard dans le circuit de
prototypage FPGA. Le principe de notre travail (Figure III-3) est basé sur la comparaison entre
un conteur de 20 bits et les angles que nous avons déjà calculés et introduits dans notre
programme, à chaque moment il y a une égalité entre le conteur et un angle, l’impulsion
correspondante à cet angle change son état (de 1 logique a 0 logique ou bien le contraire).

3.4.1. Description du dispositif expérimental

La figure III-1 présente le dispositif expérimental, à base de FPGA, mis en œuvre pour le
développement d’un banc d’essais dédié à la commande d’un onduleur via l’MLI pré-calculé.
L’onduleur de tension alimente les phases statoriques de la machine asynchrone qui représente la
machine électrique du banc d’essais utilisée. Les signaux de commande délivrés par la carte
FPGA sont de niveau logique 0-3.3V mais la commande des interrupteurs d’onduleur nécessite

31
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

des signaux de commande de niveau logique 0-15V. Pour ce faire, une carte d’amplification est
ajoutée afin d’assurer l’adaptation du niveau de tension des signaux de commande. En plus, des
signaux d’erreurs générés par l’onduleur de tension en cas de défaut ont été aussi exploités dans
le développement de cette carte afin d’annuler les signaux de commande si un défaut est détecté.

Partie Puissance

DC voltage AC voltage
Alimentation Onduleur Machine
en continu triphasé asynchrone

Signaux d’erreurs Niveau CMOS


0/15 V

Amplification

Partie
Signaux de Niveau TTL
commande
commande
0/3.3 V

FPGA

Figure 3- 1 : Dispositif expérimental du banc d’essai.

3.4.2. Schéma fonctionnel

Un schéma fonctionnel définit les entrées et les sorties du module de commande décrit en
VHDL. Comme le montre la figure suivante pour la commande MLI pré-calculée, nous avons
utilisé une seule entrée pour l’horloge et 6 signaux en sortie pour commander les 6 interrupteurs
de l’onduleur triphasé.

Figure 3- 2 : Schéma fonctionnel du circuit de commande pré-calculé.

32
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

3.4.3. Schéma structurel

Un schéma structurel définit les blocs les registres et les liaisons entre eux. La figure
suivante montre l’utilisation d’un compteur de 20 bits, un comparateurs et des bascules D pour
conserver l’état du sortie jusqu’à le prochain ordre de commutation. La traduction de ce schéma
en langage VHDL nécessite une connaissance préalable de ce langage plus des astuces de
programmation pour la minimisation des ressources matérielles sur le circuit FPGA.

D Impulsion1
clk
Conteur
de 20
bites D Impulsion2
Horloge de
50 MHz
active en
front mentant D Impulsion3
Angles de
commutation
D Impulsion4

D Impulsion5

Bascules D D Impulsion6

Figure 3- 3 : Schéma structurel du circuit de commande pré-calculé.

3.4.4. Les Résultats de synthèse

Les architectures matérielles proposées pour les différents types de commande sont écrite en
langage VHDL. Nous avons utilisé deux cartes de prototypage FPGA : XUPV5 de Xilinx et ED2
de Altéra. Pour la conception et la synthèse des implémentations matérielles, nous avons utilisé
l’outil ISE9.2 de Xilinx et l’outil QuartusII de Altéra. Pour la simulation, ISE/Quartus font
l’appel de ModelSim6.1 à travers des testbenchs conçus pour chaque module élémentaire de nos
implémentations matérielles. En effet, pour chaque un testbench est écrit pour vérifier son
fonctionnement sur des données synthétiques, et pour calculer le nombre de cycles d'horloge
nécessaire pour le traitement des données.

Pour la carte ED2, dans la figure II-4-a nous remarquons l’utilisation de 211 éléments logiques
(Slices). 26 éléments sont utilisés pour la réalisation des registres et 211 pour les LUT (Look-

33
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

Up-Table), ce qui implique que 26 slices sont utilisés à 100% pour réaliser les registres et les
LUT en même temps.

En contrepartie pour la carte XUPV5 dans la figure 3-4-b, nous remarquons l’utilisation de 147
Slices d’où 26 sont utilisés pour la réalisation des registres et 147 pour les LUT, ce qui implique
que 26 slices sont utilisés à 100% pour réaliser les registres et les LUT en même temps.

Les LUT sont utilisés pour réaliser les fonctions arithmétiques et logiques dans notre
implémentation.

a) La consommation dans le circuit FPGA Cyclone II-2C35 en utilisant l’outil QuartusII.

a) La consommation dans le circuit FPGA Vertex5-XUPV5 en utilisant l’outil ISE.

Figure 3- 4 : Consommation des ressources dans le circuit de commande pré-calculé.

34
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

3.4.5. Les Résultats de simulation

Les résultats de la simulation obtenu par les outils de simulation des deux logiciels de conception
(ISE et Quartus II) sont adapté avec la théorie, comme le montre la figure III-5, la sortie présente
une symétrie entre les trois bits du haut et les trois dessous, ce qui correspond à la
complémentarité des deux interrupteurs d’un bras d’onduleur et un décalage de entre chaque

deux bras.

a) Résultats de simulation sous QuartusII.

b) Résultats de simulation sous ISE.

Figure 3- 5 : Résultat de simulation de la commande via le MLI pré-calculé.

3.5. Circuit de commande via le MLI centré

L’idée de cette technique MLI est de produire chaque 100μs une impulsion au centre du
période, la largeur de cette impulsion est calculé à partir d’un signal sinusoïdal de référence.

3.5.1. Description du dispositif expérimental

Puisque le traitement à l’intérieur du circuit FPGA est complétement numérique, on a besoin


des CAN pour la conversion des signaux de référence analogique aux signaux numériques de 8
bits. La figure III.6 montre le schéma bloc de cette méthode.

35
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

Partie Puissance

DC voltage AC voltage
Alimentation Onduleur Machine
en continu triphasé asynchrone

Signaux d’erreurs Niveau


CMOS
0/15 V
Amplification

Partie
Signaux de Niveau
commande
commande TTL
0/3.3 Signaux analogique
V de référence
FPGA

Signaux convertis CAN


de 8 bites

Figure 3- 6 : Dispositif expérimental du banc d’essai.

3.5.2. Schéma fonctionnel

Par rapport au premier circuit de commande, la figure suivante montre l’ajoute des 3 entrés
(rapa, rapb et rapc) à 8 bites rapportée depuis les CAN. Cette figure montre le schéma RTL de
cette méthode de commande réalisée en VHDL.

Figure 3- 7 : Schéma RTL du circuit de commande MLI centré.

36
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

3.5.3. Schéma structurel

Dans ce circuit les entrés de référence doivent être traité avec des blocs de multiplication,
d’addition et de soustraction pour définir les instants de commutation à chaque période de 100µs.
nous utilisons aussi des comparateurs avec un compteur 13bits pour donner l’ordre de
commutation. En plus, en sorties de commande nous utilisons des bascules D pour conserver
l’état de l’impulsion (haut/bas) jusqu’à le prochain ordre.

Horloge de
50 MHz D
active en Conteur Impulsion1
front mentant de 13
bites D
Impulsion2
clk
Facteur de
D
largeur sur 10
KHz Impulsion3

Facteur de de
fréquence D
Impulsion4

rapa D
Impulsion5

D
Impulsion6
Bascules D
rapa

rapa

Figure 3- 8 : Schéma structurel du circuit de commande MLI centré.

3.5.4. Résultats de synthèse

Dans la figure III-9-a et pour la carte ED2, nous remarquons l’utilisation de 287 éléments
logiques (Slices) où 195 sont utilisés pour la réalisation des registres et 287 pour les LUT (Look-
Up-Table), ce qui implique que 195 slices sont utilisés à 100% pour réaliser les registres et les
LUT en même temps. En contrepartie dans la figure 3-9-b et pour la carte XUPV5, nous
remarquons l’utilisation de 272 Slices d’où 160 sont utilisés pour la réalisation des registres et
241 pour les LUT, ce qui implique que 129 slices sont utilisés à 100% pour réaliser les registres

37
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

et les LUT en même temps. Les LUT sont utilisés pour réaliser les fonctions arithmétiques et
logiques dans notre implémentation.

a) La consommation dans le circuit FPGA Cyclone II-2C35 utilisant l’outil QuartusII

b) La consommation dans le circuit FPGA vertex5-XUPV5 utilisant l’outil ISE

Figure 3- 9 : Consommation des ressources dans le circuit de commande centré.

3.5.5. Résultats de simulation

Les résultats de simulation sont calculés avec prise en considération que le signal analogique est
continu et nous avons proposé des valeurs aléatoires pour chaque bras, comme le montre la
figure III-10, la sortie présente une symétrie entre les trois bits du haut et les trois dessous ce qui
correspond à la complémentarité des deux interrupteurs d’un bras d’onduleur.

38
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

Figure 3- 10 : Résultat de simulation de la commande via le MLI centré.

3.5.6. Montage de commande à base de circuit FPGA

Le montage utilisé pour la commande à base de circuit FPGA se compose de deux parties,
qui sont celle de puissance et de commande.

MAS Onduleur de tension


L’ordinateur

Source électrique

USB Blaster
Carte d’amplification Circuit FPGA

Figure 3- 11 : Banc d’essai.

39
Chapitre III : Résultats de synthèse et de simulation du
système de commande à base d’un circuit FPGA

La partie puissance se constitue des éléments suivants :

 Source électrique nous donne une alimentation de tension continue.


 L’onduleur de tension permet de convertir la tension continue en alternative.
 Moteur asynchrone est alimenté à partir de l’onduleur.

La partie commande se constitue de :

 L’ordinateur qui est utilisé juste pour la programmation du circuit FPGA.


 La carte de prototypage rapide FPGA qui donne les signaux de commande.
 Carte d’amplification pour amplifier les signaux de niveau TTL au niveau CMOS.
 Circuit de conversion analogique/numérique en cas de besoin.

Figure 3- 12 : Circuit de conversion analogique/numérique.

3.6. Conclusion

Ce dernier volet de cette étude nous a permet de conclure que les résultats obtenus démontrent la
justesse des modèles retenus. La conception et la simulation du circuit numérique menée par
l’appui d’outils informatiques spécialisés et l’utilisation du langage VHDL comme outil de
description pour représenter le comportement et l'architecture du dispositif numérique, nous a
permis d’obtenir un certain niveau de réutilisabilité des différents blocs de l’architecture mais
toute la difficulté est de savoir ce qui est synthétisable ou non ainsi la difficulté de construire le
«Test-Bench» afin de simuler la description.

40
Conclusion général

Conclusion Général

Dans le cadre des systèmes de commande à hautes performances, ce travail présente une
contribution à la conception et à l’implantation de commande sur un circuit de prototypage
rapide de type FPGA. La démarche théorique suivie est récapitulée comme suis :
«spécification du cahier de charge avec une étude théorique, une conception architecturale
détaillée, des simulations et des tests et en fin une intégration et une validation».

Durant le processus de conception dans ce mémoire, nous avons démontré la faisabilité


d’implantation numérique câblée de la commande d’un onduleur en utilisant les circuits
reconfigurables. Sachons que le développement des systèmes électriques commandés reste
encore très dépendant de la technologie d’implantation, nos résultats attestent que les FPGA
constituent une alternative sérieuse aux autres circuits reprogrammables. Donc, les FPGA est
un moyen d’améliorer les performances de contrôle avec un gain économique et un autre
concernant le temps de développement.

Plusieurs travaux peuvent venir compléter le travail qui a été fait jusqu’ici et particulièrement
de prendre en compte différents points qui n’ont pas étés abordés dans ce manuscrit. Malgré
l’importance quantitative des travaux scientifiques et malgré les immenses progrès réalisés
dans les architectures numériques, de nombreuses problématiques restent à explorer.

Finalement, l’approche traitée au cours de ce travail peut-être avantageusement améliorée et


facilement étendue sur d’autres types de commande et les chercheurs du domaine vont donc
devoir relever des défis encore plus importants.

41
Références Bibliographiques

Références Bibliographiques

[01] Dragomir MILOJEVIC, ‘Implémentation des Filtres non-linéaires de rang sur des
architectures universelles et reconfigurables’, Thèse, Université Libre de Bruxelles,
2004.

[02] WEBER et M.MEAUDRE : "Circuits numériques et synthèse logique :un outil


VHDL ”,Edition Masson collection technologie.

[03] ETIENNE MESSERLI : "Manuel VHDL synthèse et simulation», Version partielle


septembre 2007.Haute Ecole d'ingénierie et de Gestion du Canton de Vaud (heig-vd).

[04] Sébastien LE BEUX, ‘Un flot de conception pour applications de traitement du signal
systématique implémentées sur FPGA à base d’Ingénierie Dirigée par les Modèles’,
Thèse, Université des Sciences et Technologies de Lille, 2007.

[05] Imed eddine BEGHOUL, Hamza BENNACER, ‘Architectures matérielles pour les
opérateurs utilisés dans les normes de compression d’image’, Mémoire, Université
Mentouri de Constantine, Juin 2009.

[06] Volnei A.Pedroni, ‘Circuit Design with VHDL’, TLFeBOOK, 2004.

[07] K. Messaoudi, M. Touiza, E.B. Bourennane, S. Toumi, ‘Hardware/Software Co-Design


with MicroBlaze Soft-Core Processor for the Integer Transform Algorithm Used in the
H.264 Encoder’, International Review on Computers and Software (I.Re.Co.S), Vol. 5
No. 3, pp. 348-354, Mai 2010.

[08] Nedjmi Djamel Eddine RACHEDI, ‘Configuration d’un microprocesseur softcore «


LEON2 »’, Mémoire, Université Badji Mokhtar de Annaba, Juin 2007.

[09] Xilinx Inc, ‘Virtex-5 Family Overview’, DS100 (v5.0), Février 2009.

[10] Xilinx Inc., ‘ML501 Evaluation Platform - User Guide’, UG226 (v1.4), Août 2009.

[11] Altera Inc, ‘DE2 User Manual’, version 1.41, 2007.

[12] Peter R. Wilson, ‘EMBEDDED TECHNOLGY SERIES: Design Recipes for FPGAs’,
Elsevier, 2007.

[13] Karen Parnell & Nick Mehta, ‘Programmable Logic Design Quick Start Hand Book’,
2ND EDITION, Xilinx, 2002.

42
Références Bibliographiques

[14] A.Meghebbar, ‘Commande Numérique’, Cour, Université Aboubekr Belkaid Tlemcen,


2010.

[15] Zahir Ait Ouali, ‘Application des FPGA à la commande d’un moteur asynchrone’,
Magister, Université MOULOUD MAMMERI de TIZI-OUZOU, 2011.

43