• Aucun résultat trouvé

Chapitre 2 Convertisseurs statiques DC-DC à tolérance de pannes

2.4.3 Méthodologie de prototypage

Une méthode de prototypage HIL innovante, appelée "FPGA in the Loop", a été

développée dans notre laboratoire lors de précédents travaux de recherche [Kar09T]. Elle

est physiquement basée sur une plateforme expérimentale, centrée sur un FPGA de la

famille ALTERA et les outils CAO associés. Le flot de conception Top-Down au cœur de

cette approche est illustré à la Figure 2-17. Ce flot se compose de quatre étapes

principales : simulation fonctionnelle, simulation mixte, prototypage "Hardware in the

Loop" et test entièrement expérimental. Cette méthode sera utilisée dans la suite de ce

mémoire pour mener à bien la conception et la mise en œuvre sur cible FPGA. Elle est

développée ci-après.

2.4.3.1 Première étape : simulation fonctionnelle

Cette première simulation est effectuée à l'aide des outils informatiques classiques, ici

Matlab et ses toolboxes Simulink et SimPowerSystems Blockset. Cette étape nous permet

de valider fonctionnellement le fonctionnement du système étudié (Figure 2-17).

suffisamment petit mais cohérent avec celui qui sera réellement fixé lors de la phase

totalement expérimentale. En effet, le pas restera fixe pendant toute la simulation ce qui

pourrait dégrader la précision dans le cas où ce pas serait choisi trop grand. Une fois les

résultats du mode discret validés, nous pouvons alors passer à l'étape suivante.

Figure 2-17 : Flot de conception pour le prototypage “FPGA in the Loop”.

Début Validation Validation Simulation Mixte Validation Modification Modification Modification Validation Modification

Implémentation sur FPGA Modèle discret Simulink

Simulation (mode discret)

DSPBuilder+Modèle discret Simulink

Génération du code VHDL

Quartus Synthèse et Fitting

Simulation « FPGA in the Loop » Configuration et programmation du FPGA

Simulation (mode continu) Modèle continu Simulink

Banc entièrement expérimental

Oui

Oui

Non

Non

Oui

Non

Oui

Non

Matl

ab/

Simuli

nk+S

imPow

erS

yst

ems

FPG

A

Mode discret

Mode Continu

1. Simulation fonctionnelle

(Blocs Simulink + SimPowerSystems)

2. Simulation Mixte

(Blocs Simulink +SimPowerSystems)

+

(Modèle DSPBuilder)

3. Prototypage « FPGA in the Loop »

+

FPGA

4.Tests entièrement expérimentaux

(Convertisseur à tolérance de pannes)

+

FPGA

2.4.3.2 Deuxième étape : simulation mixte

Dans cette deuxième étape, le modèle Simulink du contrôleur intégrant la détection de

défaut est alors remplacé par un nouveau modèle, construit à partir des éléments

disponibles dans la bibliothèque de la toolbox "DSP Builder" alors que la modélisation de

la partie puissance reste identique à celle de la première étape. DSP Builder est une

toolbox compatible avec l'environnement Matlab, réalisée conjointement par les sociétés

MathWorks et ALTERA. Elle permet de simuler sous Matlab la modélisation VHDL

synthétisable destinée à la programmation de composants FPGA de la famille ALTERA.

Cette toolbox est particulièrement efficace pour un prototypage rapide de composants

FPGA de cette famille. Toutefois, certaines des fonctions souhaitées ou nécessaires ne

sont pas disponibles au sein de cette bibliothèque DSP Builder. Ces modèles doivent alors

être conçus par l'utilisateur, à partir de modèles VHDL alors importés dans

l'environnement Matlab.

La simulation ainsi réalisée s'appelle simulation "mixte" car elle permet de simuler

conjointement des modèles VHDL synthétisables et des modèles issus des toolboxes de

Simulink. Une fois les résultats de simulation mixte validés, nous pouvons alors passer à

l'étape suivante : le prototypage "FPGA in the Loop".

2.4.3.3 Troisième étape : Prototypage “FPGA in the loop”

Cette troisième étape est consacrée à la vérification de la conception matérielle, sur la

carte FPGA de la plateforme expérimentale, du contrôleur intégrant la détection de

défaut. Cette validation sera réalisée en boucle fermée, par simulation selon le principe

communément appelé HIL. L'objectif majeur sera de vérifier, en boucle fermée,

l'implantation des méthodes de détection de défaut DF1 et DF2 sur un contrôleur

physique (cible FPGA), tout en émulant le reste du système (partie puissance, interfaces,

capteurs, ….) à l'aide d'un ordinateur.

Le prototypage dit "FPGA in the Loop" que nous proposons ici possède des avantages

indéniables en termes de validation de l'implémentation d'algorithmes sur cible FPGA.

Outre le fait que la reprogrammation du FPGA est facile, rapide et peu couteuse

(quelques minutes pour des corrections mineures), la méthode d'évaluation expérimentale

permet d'exclure le risque de dégradation ou de destruction de matériel physique, la partie

puissance étant émulée de façon virtuelle. Ainsi, toute erreur lors de la conception

matérielle de l'algorithme ne demande qu'une reprogrammation de la cible FPGA. Par

ailleurs, émuler virtuellement la partie puissance autorise de pouvoir tester le système

avec un grand choix d'équipement de puissance dont il serait difficile de pouvoir disposer

de façon physique (coût, encombrement, alimentations). Principalement, il ne faut pas

oublier que cette méthode élimine aussi tous risques et dangers envers l'utilisateur et les

locaux (court-circuit, électrocution, incendie,…).

partir des éléments disponibles dans la bibliothèque de DSP Builder. Ce modèle

correspond à un modèle en langage VHDL synthétisable. Lors de sa compilation à l'aide

de l'outil "Signal compiler", la modélisation DSP Builder alors obtenue permet de générer

automatiquement une description VHDL synthétisable, au niveau RTL. L'outil de

synthèse logique, Quartus, dédié spécifiquement aux FPGAs de la famille ALTERA,

permet ensuite de générer le bitstream permettant la programmation du FPGA ciblé. A ce

niveau, on peut alors insérer un bloc dénommé "HIL" dans l'environnement

Matlab/Simulink pour remplacer le modèle DSP Builder de l'étape 2. Après compilation

de ce bloc HIL sous Matlab, le FPGA de la carte de développement de notre plateforme

est alors programmé via une interface JTAG, reliée au PC qui émule la partie puissance.

La Figure 2-18 en illustre ici encore le principe. Le prototypage "FPGA in the Loop" est

alors opérationnel.

A chaque pas de simulation, les signaux nécessaires sont obtenus à partir de la

simulation de la partie puissance du système électrique par l'ordinateur (PC) et sont

transmis au FPGA. Lorsque ce dernier reçoit les signaux du PC, il exécute les algorithmes

matériellement implémentés sur FPGA. Dans cette section, il s'agit principalement du

contrôle-commande et de la détection de défaut. Ensuite, le FPGA fournit les ordres de

commande des différents interrupteurs de puissance au PC, établis au cours de cette étape.

A ce stade, un cycle de simulation "FPGA in the loop" est effectué. Une interface de type

JTAG est utilisée pour relier le FPGA au PC afin d'échanger et synchroniser les données

entre le PC et le FPGA.

2.4.3.4 Quatrième étape : validation entièrement expérimentale

Une fois l'implantation sur cible FPGA validée par prototypage "FPGA in the Loop",

on peut alors envisager de procéder à des tests entièrement expérimentaux, avec la partie

puissance réelle. Dans cette étape, la carte FPGA embarquant le contrôleur et de ce fait

l'algorithme de détection de défaut, est alors connecté au système de puissance réel à

l'aide d'interfaces matérielles spécifiques dédiées à l'application ciblée.

Figure 2-18 : Principe du prototypage "FPGA in the loop".

Documents relatifs