introduction général

50
ال جم ـ هوري ــ ة الجزائري ــ ة الديمقراطي ــ ة الشعبي ــ ةREPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE ……………………………………………………………………….……………………………………………………………… 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 MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE CONSTANTINE I Faculté des Sciences de la Technologie Département : Electrotechnique تعلي وزارة ال ــلعال م ا ــ ي و البح ــعلم ث ال ـ ي جامع ـ ـــــ ـ ة قسنطين ـــــــ ــ ة1 وم التكنولوجية كلـيــة عل قسم: لكترو تقن ا ي

Upload: vuongtruc

Post on 05-Jan-2017

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction général

ةــة الشعبيــة الديمقراطيــة الجزائريــهوريـجمال REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

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

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

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET

DE LA RECHERCHE SCIENTIFIQUE

UNIVERSITE CONSTANTINE I

Faculté des Sciences de la Technologie

Département : Electrotechnique

يـث العلمــي و البحــم العالــوزارة التعلي

1 ةـــــــــة قسنطينـــــــجامع

كلـيــة علوم التكنولوجية

ياإللكترو تقن: قسم

Page 2: Introduction général

الرمحن الرحمي بسم هللا

Page 3: Introduction général

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

Page 4: Introduction général

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

Page 5: Introduction général

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

Page 6: Introduction général

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

Page 7: Introduction général

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

Page 8: Introduction général

Introduction général

1

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.

Page 9: Introduction général

Introduction général

2

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.

Page 10: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

3

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

Page 11: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

4

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

Page 12: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

5

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.

Page 13: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

6

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.

Page 14: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

7

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).

Page 15: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

8

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].

Page 16: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

9

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

Page 17: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

10

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 ;

Page 18: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

11

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

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).

FPGA

Simulation Placement et

routage Compilation et

synthétisation Description

en VHDL

Page 19: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

12

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.

Page 20: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

13

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).

Page 21: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

14

Circuit

FPGA

CLB (Configurable Logic blocks) DSP

48E

Blocs BRAM Total I/O

Banks

Max User

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

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

Page 22: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

15

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].

Page 23: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

16

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.

Page 24: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

17

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

Page 25: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

18

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

Page 26: Introduction général

Chapitre I : Les circuits reprogrammables et les outils de conception

19

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.

Page 27: Introduction général

Chapitre II : Commande numérique des systèmes

20

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.

Page 28: Introduction général

Chapitre II : Commande numérique des systèmes

21

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,

- Grande possibilité de synthèse de la récurrence

(algorithme),

- Algorithme adaptable,

- Mise au point souple,

- Convivialité (dialogue) et sécurité (séquentiel).

- Le système est observé en continu

(adapté aux systèmes rapides),

- Précis.

Inconvénients - La boucle est ouverte en dehors des instants

d’échantillonnage (oscillations non observées),

-Discrétisation de la mesure (précis à

), non

linéaire : risque de cycle limite,

- Compromis

(N : nombre de bits), pas encore

adapté aux systèmes rapides (Shannon).

- structure rigide,

-possibilité de synthèse réduite,

-mise au point et adaptation difficile,

-d’un point de vue technologique

(valeurs des composants), non adapté

aux systèmes lents.

Tableau 2- 1 : comparaison entre la commande analogique et la commande numérique [H1].

Page 29: Introduction général

Chapitre II : Commande numérique des systèmes

22

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].

Page 30: Introduction général

Chapitre II : Commande numérique des systèmes

23

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].

Page 31: Introduction général

Chapitre II : Commande numérique des systèmes

24

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.

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.

Ordinateur

FPGA

Onduleur

DC voltage AC voltage

Chargement du

programme

Impulsions de

commande

Page 32: Introduction général

Chapitre II : Commande numérique des systèmes

25

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

Page 33: Introduction général

Chapitre II : Commande numérique des systèmes

26

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).

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.

Sortie Entrée Système Sortie Consigne +

-

Feed back

Système

Page 34: Introduction général

Chapitre II : Commande numérique des systèmes

27

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)

Page 35: Introduction général

Chapitre II : Commande numérique des systèmes

28

∫ ( ) ( )

(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

Page 36: Introduction général

Chapitre II : Commande numérique des systèmes

29

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.

Page 37: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

30

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

Page 38: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

31

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

Page 39: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

32

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é.

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é.

Onduleur

triphasé

Alimentation

en continu

Machine

asynchrone

FPGA

Amplification

Signaux de

commande

Niveau TTL

0/3.3 V

Niveau CMOS

0/15 V

DC voltage AC voltage

Partie Puissance

Partie

commande

Signaux d’erreurs

Page 40: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

33

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.

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-

Horloge de

50 MHz

active en

front mentant

clk Conteur

de 20

bites

Impulsion1

Impulsion2

Impulsion3

Impulsion4

Impulsion5

Impulsion6

Angles de

commutation

D

D

D

D

D

D Bascules D

Page 41: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

34

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é.

Page 42: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

35

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.

Page 43: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

36

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é.

Onduleur

triphasé

Alimentation

en continu

Machine

asynchrone

FPGA

Amplification

Signaux de

commande

Niveau

TTL

0/3.3

V

Niveau

CMOS

0/15 V

DC voltage AC voltage

Partie Puissance

Partie

commande

Signaux d’erreurs

CAN

Signaux analogique

de référence

Signaux convertis

de 8 bites

Page 44: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

37

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.

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

Horloge de

50 MHz

active en

front mentant

clk

Conteur

de 13

bites

Impulsion1

Impulsion2

Impulsion3

Impulsion4

Impulsion5

Impulsion6

D

D

D

D

D

D

rapa

rapa

rapa

Facteur de

largeur sur 10

KHz

Bascules D

Facteur de de

fréquence

Page 45: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

38

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.

Page 46: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

39

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.

Figure 3- 11 : Banc d’essai.

L’ordinateur

USB Blaster

Circuit FPGA Carte d’amplification

Source électrique

MAS Onduleur de tension

Page 47: Introduction général

Chapitre III : Résultats de synthèse et de simulation du

système de commande à base d’un circuit FPGA

40

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.

Page 48: Introduction général

Conclusion général

41

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.

Page 49: Introduction général

Références Bibliographiques

42

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.

Page 50: Introduction général

Références Bibliographiques

43

[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.