Comparaison des performances du HIL vs MATLAB

Comparaison des performances du HIL vs MATLAB

Évaluation des outils

Au début du projet, afin de tester les différents outils reliés au développement du HIL, la plateforme matérielle ML310 de la compagnie Xilinx a été utilisée. Cette carte était performante et conçue dans un format ATX, similaire aux cartes maîtresses des ordinateurs PC. On peut voir sa composition à la Figure 2.2. La carte ML310 était dotée d’un FPGA Virtex-2-Pro avec un processeur PowerPC intégré, 256 MB de mémoire DDR, des fentes PCI, une interface de communication réseau Ethernet à 10/100 Mbps, ainsi qu’une interface de communication sérielle RS-232 et JTAG. Elle comporte aussi une interface de transfert System ACE de Xilinx, permettant d’utiliser une carte de données CompactFlash, et bien d’autres fonctionnalités facultatives en fonction de notre projet (interface PCI, IDE, audio, etc.). En utilisant les outils de Xilinx de l’époque (version 6), des problèmes furent rencontrés lors de l’utilisation du coeur Ethernet connecté au processeur PowerPC. Cette carte étant en fin de vie à cause de l’apparition de la technologie Virtex-4, la décision fût prise d’évoluer vers une carte FPGA plus récente et mieux supportée à moyen terme par les outils de développement.

Plateforme matérielle

La plateforme matérielle sélectionnée pour permettre le HIL est la carte de développement ML403 de Xilinx. Comparativement à la carte ML410 (la carte équivalente à la ML310, mais de la génération suivante) ce produit est plus compact, plus flexible et mieux supporté par les outils de conception plus récents (version 8 à 10). De plus, la carte ML403 est plus accessible et présente un meilleur potentiel de vente, à cause de son coût faible, soit moins de 1000 $ en 2009. Ce qui équivaut à un coût plus de trois fois inférieur à ML410. La carte ML403, présentée à la Figure 2.3 et à la Figure 2.4, contient toute les fonctionnalités nécessaires au projet de HIL. Soit un FPGA Virtex-4 avec un processeur PowerPC intégré, 8 Mb de mémoire SRAM, 32 Mb de mémoire Flash, une interface de communication réseau Ethernet à 10/100/1000 Mbps, ainsi qu’une interface de communication sérielle RS-232 et JTAG. Pour le bon fonctionnement du projet, les cavaliers doivent être placés à leur position originale, tel que décrit dans le manuel de l’usager de la carte, voir (Xilinx, 2006). D’autres périphériques intégrés à la carte pourraient aussi être utilisés pour une utilisation future, soit 64 MB de mémoire DDR SDRAM, 8 MB de mémoire linéaire Flash, une interface de communication USB et une interface de communication System ACE. Cette dernière permet de charger des fichiers provenant d’une carte CF de type 1 ou 2.

FPGA La carte ML403 contient un FPGA de type Virtex-4 FX12 de la compagnie Xilinx. Celui-ci est le plus petit de la gamme FX, qui cible les applications désirant utiliser une plateforme de traitement embarqué. On peut voir la comparaison des trois gammes qui compose le Virtex-4 à la Figure 2.5. Le FPGA FX12 a été fabriqué grâce à un procédé de fabrication CMOS à 90 nm utilisant la technologie triple oxyde et l’architecture ASMBL («Advanced Silicon Modular Block»). Son alimentation interne est de 1.2 V, il comporte 11 couches de métallisation et il est intégré dans un boîtier de type BGA FF668. La puce présente sur la carte utilisée a une côte de vitesse de 10 et son bus système est cadencé à 100 MHz. Elle contient 12312 cellules logiques, 32 blocs DSP, un processeur embarqué PowerPC et deux blocs de communication Ethernet MAC.

Processeur embarqué

Le processeur intégré au Virtex-4 FX est un PowerPC 405 de la compagnie IBM. Le processeur PowerPC utilise un jeu d’instruction réduit (RISC). Ce type de processeur privilégie une plus grande simplicité au niveau des instructions, ce qui résulte en une taille d’unité de calcul réduite en comparaison avec les processeurs qui utilisent des jeux d’instructions complexes (CISC). Ce type d’architecture privilégie la superscalarité (la capacité d’exécuter plusieurs instructions simultanément) au lieu de l’utilisation d’un «pipeline» complexe. Il est à noter que beaucoup de processeurs utilisés dans les PC utilisent une architecture CISC, comme par exemple la famille Pentium de Intel et la famille Athlon de AMD. La microarchitecture PowerPC est très utilisée sur le marché et a la réputation d’avoir un ratio puissance de calcul sur consommation élevé. On peut voir un résumé de son évolution en fonction des applications et selon les compagnies productrices à la Figure-A I-1 de l’annexe I. En novembre 2009, la famille de processeurs PowerPC représentait 10.4 % de la composition des 500 superordinateurs les plus performants au monde, voir le Tableau 2.1. Cela représente un total de 1 470 752 coeurs répartis sur 52 superordinateurs. Le PowerPC 405 est un CPU de 32 bits qui emploie un «pipeline» à 5 stages et dont l’optimisation vise les applications embarquées. Pour des fins de comparaison, le Tableau 2.2 illustre les caractéristiques physiques du processeur PowerPC utilisé par le HIL.

Cas 2 – Filtre de Sobel Ce deuxième cas présente un algorithme de détection de contour nommé ‘Filtre de Sobel’, couramment utilisé en vision numérique. Ce domaine d’application demande une grande quantité de calculs lors du traitement d’images numériques. Avec l’accroissement de la taille des images capturées et l’avènement des caméras de format HD, la capacité de calculs nécessaire demandera de plus en plus l’utilisation de plateforme matérielle (FPGA) au lieu des solutions conventionnelles. L’algorithme de Sobel est un opérateur qui utilise des matrices de convolution. La convolution est une opération mathématique simple qui est fondamentale pour de nombreux opérateurs de traitement d’images numériques. La convolution fournit un moyen de multiplier ensemble deux matrices, généralement de tailles différentes, mais de la même dimension, pour produire une troisième matrice de la même dimension.

Dans notre contexte, la première matrice est l’image d’entrée, la deuxième matrice est le noyau de convolution et la troisième matrice est l’image de sortie. La valeur du pixel de sortie est la somme locale pondérée de chacun des pixels d’entrée, où les poids proviennent du noyau de convolution. En vision numérique, la convolution utilise les huit points voisins du point visé en plus de celui-ci, pour un total de neuf points, ce qui amène un noyau de convolution d’une taille de 3×3. Pour calculer les approximations des dérivées horizontales et verticales, on utilise deux matrices de convolution différentes pour détecter les contours horizontaux et verticaux. On peut donc obtenir le gradient résultant en x et en y en utilisant les noyaux suivants (où Gh est le gradient horizontal, Gv est le gradient vertical et P est représenté comme étant l’image) :

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport gratuit propose le téléchargement des modèles gratuits de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

INTRODUCTION
CHAPITRE 1 PROBLÉMATIQUE
1.1 Contexte
1.2 Identification du problème
1.3 Objectifs
1.4 Travaux antérieurs
1.5 Contributions
CHAPITRE 2 MÉTHODOLOGIE
2.1 Contexte
2.2 Infrastructure
2.3 Évaluation des outils
2.4 Plateforme matérielle
2.4.1 FPGA
2.4.2 Processeur embarqué
2.4.3 Logiciel de gestion des données
2.4.4 Coeur d’encapsulation du DUV
2.4.5 DUV
2.5 Ordinateur
2.5.1 Outils de Xilinx
2.5.2 Projet de développement FPGA
2.5.3 Logiciel MATLAB
2.5.4 Logiciel de contrôle du HIL et d’interface graphique
CHAPITRE 3 CONCEPTIONS À L’ESSAI
3.1 Cas soumis aux essais
3.1.1 Cas 1 – Calcul matriciels
3.1.2 Cas 2 – Filtre de Sobel
3.1.3 Cas 3 – Décodage par attaque en force
CHAPITRE 4 RÉSULTATS OBTENUS
4.1 Détection des anomalies
4.2 Présentation des résultats
4.2.1 Cas 1 – Calculs matriciels
4.2.2 Cas 2 – Filtre de Sobel
4.2.3 Cas 3 – Décodage par attaque en force
4.3 Interprétation des résultats
4.3.1 Comparaison des performances du HIL vs MATLAB
CONCLUSION
RECOMMANDATIONS
ANNEXE I Évolution de l’architecture PowerPC
ANNEXE II Versions de MATLAB et de ses modules intégrés
ANNEXE III Test de la vitesse relative de MATLAB
LISTE DE RÉFÉRENCES BIBLIOGRAPHIQUES
BIBLIOGRAPHIE

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *