Introduction aux systèmes embarqués et flot de conception

L’évolution des technologies informatiques au cours des dernières années a entraîné des modifications radicales dans la conception des applications. Les nouveaux réseaux de télécommunication rapides et à large bande passante (RNIS, ATM, High Performance Ethernet) ont permis le regroupement des ordinateurs en réseaux, d’abord de taille réduite (entreprise), puis moyenne (nationale) puis finalement mondiale avec Internet [1].

Tout ceci a favorisé la démocratisation des communications informatiques (à commencer par les messageries électroniques et la navigation sur le Web) puis, plus récemment, l’émergence des applications distribuées. Chaque jour, notre vie courante devient plus orientée vers les réseaux. Plus récemment on trouve dans la majorité des appareils mobiles des réseaux intégrés dans des puces, qui appartiennent à la famille des systèmes embarqués qui est elle-même issue des systèmes distribués.

C’est en 1971 que débute réellement l’histoire des circuits intégrés. Cette année-là, Intel met au point le premier microprocesseur, le 4004, comportant 2300 transistors et gravé dans une technologie PMOS, fonctionnant à une fréquence de 108 kHz. En 2004, On estime le nombre de circuits intégrés en utilisation à 25 milliards dans le monde. A titre d’exemple, le Pentium IV « Extrême Edition » contient 125 millions de transistors en technologie CMOS [2], pour des fréquences de fonctionnement au delà de 3 GHz. Ces quelques chiffres illustrent à eux seuls la gigantesque dynamique de recherche et de production qui s’est mise en place en à peine plus de trente ans [1].

Qui aurait pu imaginer cela en 1971 ? Eh bien, un homme, Gordon Moore, cofondateur d’Intel en 1968, avait prédit que les capacités d’intégration sur les technologies silicium doubleraient tous les 2 ans (la loi de Moore). Dans cette partie nous définissons : Qu’est-ce qu’un système embarqué ? Puis Ses caractéristiques, son architecture, ses domaines d’application et ses contraintes. Puis nous situons leur évolution et les questions auxquelles ils sont confrontés. Ensuite nous développons les spécificités des Socs et leur Interconnexion du fait que les NoC’s constituent une nouvelle approche visant à intégrer un réseau sur une plateforme SoC.

DEFINITION DES SYSTEMES EMBARQUÉS

Un system embarqué [3] peut être définit comme un system électronique et informatique autonome ne possédant pas d‟entrées/sorties standards comme un clavier ou un écran. On peut avoir un ou plusieurs systèmes embarqués sur puces (SOC, SYSTEM ON CHIP), de natures hétérogènes et donc complexes. Ils sont souvent constitués de plusieurs processeurs de types différents (FPGA, DSP, GP par exemple), avec des fonctions dédiées ou reconfigurables. Ils captent des informations de leur environnement, s’adaptent et agissent sur lui sans presque aucune intervention humaine. La réalisation de ces systèmes réunit de nombreuses compétences : informatique, électronique, architecture de systèmes et mathématiques. Elle nécessite à prendre fondamentalement en compte l’hétérogénéité des composants et des logiciels [4].

CARACTERISTIQUE DES SYSTEMES EMBARQUÉS

On énumère les caractéristiques principales suivantes :
➤ C’est un système principalement numérique.
➤ Il met en œuvre généralement un ou plusieurs processeurs.
➤ Il exécute une application logicielle dédiée pour réaliser une fonctionnalité précise et n’exécute donc pas une application scientifique ou grand public traditionnelle.
➤ Il n’a pas réellement de clavier standard (bouton poussoir, clavier matriciel…).
➤ Ce n’est pas un PC en général mais des architectures similaires à basse consommation d‟énergie qui sont de plus en plus utilisées pour certaines applications embarquées. De ce fait on constate que :
➤ Les ressources (énergie, surface) sont limitées.
➤ L’interface IHM peut être aussi simple qu’une LED qui clignote ou aussi complexe qu’un cockpit d’avion en ligne.
➤ Des circuits numériques ou des circuits analogiques sont utilisés en plus des processeurs pour augmenter les performances du système embarqué ou sa fiabilité [5].

Les systèmes embarqués se caractérisent aussi, plus particulièrement par l’impératif de leur sûreté de fonctionnement. Les dommages au système peuvent être provoqués par le nonrespect des contraintes temps. Par exemple, la pression du bouton d’alarme d’un appareil devra nécessairement s’accompagner d’une action immédiate et prioritaire comme par exemple : activation de la sonnerie, coupure de l’alimentation électrique et déclenchement des opérations de sauvetage. Autre exemple : la mesure d’une différence de valeur d’état par rapport à une valeur de consigne (pression, température) devra entraîner une opération propre à ramener le système vers son état normal ou état de référence en vue d’éviter des risques qui peuvent entraîner des pertes humaines et matérielles. C’est notamment le cas dans les applications de contrôle (comme dans les processus industriels, dans la commande de réacteurs chimiques ou nucléaires, dans des applications aux systèmes de transport commandes de vols, système de freinage du genre ABS, conduite de locomotives métros ou dans la navigation aérienne, maritime etc…). Ce sont des systèmes temps réel dits aussi critiques. Afin d’assurer la sûreté de fonctionnement d‟applications informatiques embarquées, des normes ont été établies. Ils doivent être validés et certifiés pour les applications envisagées. Il en existe pour la plupart des domaines d’applications critiques, tels que : avionique, espace, nucléaire, défense, ferroviaire, industrie, médical, automobile etc…

DOMAINES D’APPLICATIONS DES SYSTEMES EMBARQUÉS

Les domaines dans lesquels on trouve des systèmes embarqués sont de plus en plus nombreux :
-Transport : Automobile, Aéronautique (avionique) etc.
– Astronautique : fusée, satellite artificiel, sonde spatial, etc.
– Militaire : missiles.
– Télécommunication : Set-top box, téléphonie, routeur, pare-feu, serveur de temps, téléphone
-portable etc.
-Electroménager : télévision, four à micro-ondes.
– Impression : imprimante multifonctions, photocopieur etc.
– Informatique : disque dur, lecteur de disquette etc.
– Multimédia : console de jeux vidéo, assistant personnel.
– Guichet automatique bancaire (GAB).
– Equipement médical.
-Automate programmable industriel, contrôle-commande.
– jeux : consoles.
– Métrologie.

INGENERIE DIRIGEE PAR LES MODELES (IDM)

La compréhension d’un système complexe passe par une représentation abstraite et simplifiée de ce système : une modélisation. Un modèle met en évidence certaines caractéristiques du système en Faisant abstraction notamment de ses détails d’implémentation. Plusieurs méthodes et langages ont permis par le passé de manipuler les modèles : essentiellement : UML (Unified Modeling Language) [8], etc.

Actuellement, différentes approches permettent la modélisation d’un système, et cela en fonction du domaine d’utilisation. On retrouve parmi elles l’Ingénierie Dirigée par les Modèles (IDM ou MDE pour Model Drivent Engineering) [9] qui est plus particulièrement utilisée pour la conception de modèles productifs, c’est-à-dire compréhensibles et interprétables par les machines [10]. De cette façon, l‟IDM se démarque d’autres méthodologies de modélisation qui ont vocation à concevoir des modèles contemplatifs, c’est-à-dire non interprétables par les machines.

Table des matières

Introduction Générale
1. CONTEXTE
2. PROBLEMATIQUE ET MOTIVATION
3. CONTRIBUTION
4. PLAN DE DOCUMENT
Chapitre 1 : Introduction aux systèmes embarqués et flot de conception
1.1 INTRODUCTION
1.2 DEFINITION DES SYSTEMES EMBARQUÉS
1.3 CARACTERISTIQUE DES SYSTEMES EMBARQUÉS
1.4 DOMAINES D’APPLICATIONS DES SYSTEMES EMBARQUÉS
1.5 UN SYSTEM EMBARQUE TYPIQUE
1.6 ARCHITECURE DES SYSTEMES EMBARQUÉS
1.6.1 Système Mono Puce (SOC)
1.6.2 Système Multiprocesseurs sur puce (MPSoC)
1.6.3 Network on Chip (NOC)
1.7 INGENERIE DIRIGEE PAR LES MODELES (IDM)
1.7.1 Modèles
1.7.2 Méta-modèles
1.7.3 Niveaux M0, M1, M2 et M3
1.8 LE PROFILE MARTE « EXTENSIBILTE D’UML »
1.9 ENVIRONNEMENT DE CO-CONCEPTION POUR SOC « GASPARD »
1.9.1 Le modèle globale
1.9.2 Le modèle local
1.10 CONCLUSION
Chapitre 2 : Les applications de calcul intensif
2.1 INTRODUCTION
2.2 TRAITEMENT INTENSIF DE SIGNAL
2.3 EXEMPLE D’APPLICATIONS DE TRAITEMENT INTENSIF(REGULIER)
2.3.1 Traitement sonar
2.3.2 Convertisseur 16/9 – 4/3
2.3.3 Récepteur de radio numérique
2.3.4 Radar anti-collisions
2.4 EXEMPLE D’APPLICATION DSP A TACHES IRREGULIERS
2.4.1 Transcoder
2.4.2 Eliminateur de parasites (CSLC Coherent Side Love Cancellation)
2.5 LANGAGES DE SPÉCIFICATION MULTIDIMENSIONNELLE ET MODEL DE CALCUL
2.5.1 Alpha
2.5.2 StreamIt
2.5.3 MATLAB/SIMULINK
2.5.4 SDF (SynchronousDataFlow)
2.5.5 MDSDF (Multi Dimensional Synchronous Dataflow)
2.6 ARRAY-OL
2.6.1 Parallélisme de tâches
2.6.2 Parallélisme de données
2.7 COMPARAISON ENTRE ARRAY-OL ET MDSDF
2.8 CONCLUSION
Chapitre 3 : Optimisation Multi- objectifs
3.1 INTRODUCTION
3.2 DEFINITIONS
3.2.1 Modèles mathématiques d’un problème Multi Objectif
3.2.2 Notion de dominance Pareto et d’optimalité
3.2.2.1 Dominance Pareto
3.2.2.2 Solution Pareto optimale
3.2.2.3 Ensemble Pareto optimal
3.3 CLASSIFICATION DES METHODES DE RESOLUTION
3.3.1 Approches basées sur la transformation du problème
3.3.2 Approche non-Pareto
3.3.3 Approche Pareto
3.4 LES ALGORITHMES D’OPTIMISATION
3.4.1 Les algorithmes génétiques « AGs »
3.4.1.1 Définition et Terminologies
3.4.1.2 Principe des « AGs »
3.4.1.2.1 La représentation génétique
3.4.1.2.2 Fonction d’adaptation (Fitness)
3.4.1.2.3 Population initiale
3.4.1.2.4 Sélection d’individus
3.4.1.2.5 Croisement
3.4.1.2.6 Mutation
3.4.1.2.7 La convergence
3.4.1.3 Pseudo Code de l’ AG
3.4.1.4 Organigramme de l’AG
3.4.2 L’algorithme de Branch & Bound
3.4.2.1 Définition et Terminologies
3.4.2.2 Principe de « B&B »
3.4.2.3 Parcours de l’arbre
3.4.2.4 Pseudo code de l’algorithme Branch & Bound
3.4.2.5 Organigramme de Branch & Bound
3.5 CONCLUSION
Chapitre 4 : Conclusion

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

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