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".
Dans le document
Contribution à l'étude de la sûreté de fonctionnement et de la continuité de service des bus DC
(Page 116-119)