SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
Conception de Systèmes Embarqués
B. HAJJI
ENSA, Université Mohammed Premier,
Oujda, Maroc
107/05/2012
Plan de l exposé
o Problématiques
o Qu est ce qu un système embarqué
o Domaines d application
o Contraintes des systèmes embarqués
o Méthodologie de conception
o Besoin en OS pour les systèmes embarqués
o Fondation d un système embarqué à base de
FPGA
o Conclusion & perspective
207/05/2012
Problématiques
o Complexité des systèmes embarqués
n Les systèmes numériques deviennent aujourd hui
de plus en plus complexes au niveau intégration
et fonctionnalités
n On est en mesure d intégrer tout dans un même
puce
n Ceci est en fait lié à la loi empirique de Moore:
pour une surface de silicium donnée, on double
le nombre de transistors intégrés tous les 2 ans
307/05/2012
Problématiques
o Les processeurs standards deviennent
incapables de répondre aux exigences de
ces systèmes
o Le choix d une architecture pour les
systèmes embarqués doit être un compromis
entre:
n Flexibilité
n Consommation réduite
n Performance
n Cout faible
n Rapidité de la consommation
407/05/2012
Problématiques
o Les fonctionnalités peuvent être implantées dans
des circuits spécifiques de types ASIC ou bien dans
les circuits logiques programmables de type FPGA
507/05/2012
Problématiques
q FPGA : Filed Programmable Gate Array
o Matrice de blocs logiques (ressources logiques)
programmables reliés par un réseau d interconnexions
aussi programmable
607/05/2012
Problématiques
q Les circuits logiques programmables FPGA
q Alternatives aux ASIC
q Niveaux d intégration et performances correctes
q Cout et temps de développement intéressant
707/05/2012
o Un système embarqué (Embedded system) peut être défini comme
un système électronique et informatique autonome, qui est dédié
à une tâche bien précise.
Ø Pas des entrées/sorties comme un clavier standard ou un écran d ordinateur
Ø Le système matériel et l application sont intimement liés et noyés dans le
matériel et ne sont pas facilement discernables comme dans le cas d un PC
q Un système embarqué n est pas un PC
q Un système embarqué est un système qui contient :
Ø Au mois un microprocesseur (ou un microcontrôleur)
Ø Un logiciel dédié à sa gestion
8
Qu est ce qu un SE
807/05/2012
q L utilisation des systèmes embarqués progresse au même rythme que les
microprocesseurs:
ü Processeurs de plus en plus rapides
ü Puissants
ü Bon marché
q Marché de l embarqué en 1999
9
L embarqué en quelques
chiffres
907/05/2012
q En 2004:
Ø 14 Milliards de processeurs pour l embarqué(microprocesseur,
microcontrôleur, DSP, etc)
Ø 260 millions de processeurs PC
q Moins de 2 % des processeurs vendus sont pour le marché du PC contre
98% pour l embarqué
q Pour les 98% autres processeurs vendu, on utilisera généralement un
autre système d exploitation.
10
L embarqué en quelques
chiffres
1007/05/2012
o Contrôle de processus industriels (chaine de
production, automates, )
o Transport
Ø Avionique (Atterrissage, décollage,.. )
Ø Trains, automobiles (ABS, Vitres,
consommation, voiture hybride)
Ø Contrôle de navigation
o Télécommunication
Ø Satellites
Ø GPS
Ø Téléphone mobile
Domaines d application
1107/05/2012
q Un distributeur de billets:
Ø reçoit des informations des touches et de l écran tactile, ainsi que de
la banque par liaison informatique
Ø décide de donner ou non des billets en fonction de l état du compte
Ø maintient un compteur du nombre de billets restant et donne
éventuellement des billets au porteur de la carte
q Une carte à puce:
Ø reçoit des informations du lecteur de cartes à puce
Ø décide de valider ou non le code secret envoyé par le lecteur
Ø maintient un compteur du nombre de tentatives infructueuses et peut
se bloquer
Domaines d application
1207/05/2012
Systèmes embarqués
typique
1307/05/2012
q Un système embarqué:
ü Réagit à des stimuli extérieurs
ü Prend des décisions en fonction de ces stimuli et de son état interne
ü Altère son état interne et agit de manière perceptible par l extérieur
en fonction des décisions prises
q Généralement soumis à :
ü Des contraintes temps réel
ü Des contraintes liées à la consommation d énergie, dissipation de
chaleur
q Peuvent être amenés à fonctionner dans des conditions extrêmes
(température, humidité, )
q Les aspects sécurité, fiabilité, tolérance aux fautes sont souvent cruciaux
14
Caractéristiques des
systèmes embarqués
1407/05/2012
o Comment concevoir un système embarqué
complexe efficacement?
o Réponse proposée:
Ø Ne pas réinventer la roue
o Implication
Ø Faire du développement modulaire
Problématique de conception
1507/04/2012
o Le concepteur d un système embarqué doit être pluridisciplinaire:
électronique, informatique, réseaux,
o Concevoir un système embarqué revient finalement à un exercice
d optimisation:
Ø Minimiser les coûts de production pour des fonctionnalités optimales
Un système embarqué doit être:
q Fiable et sécurisé
ü Le système doit toujours fonctionner correctement
§ sûreté à faible coût avec une redondance minimale
ü Sûreté de fonctionnement du logiciel
§ Système opérationnel même quand un composant
électronique lâche
Contraintes des systèmes
embarqués
1607/05/2012
o Faible consommation
Ø La consommation est un point critique pour les systèmes avec autonomie
(alimenté par des batteries)
Ø Une consommation excessives augmente le prix de revient du système
embarqué car il faut alors des batteries de forte capacité
o Coût très bas:
Ø Beaucoup de systèmes embarqués sont fabriqués en grande série et
doivent avoir des prix de revient extrêmement faibles
Ø Optimisation du prix de revient
o Robustesse aux chocs, à la température, à l humidité,
Ø Les systèmes n évolue pas dans un environnement contrôlé (évolutions
des caractéristiques des composants en fonction de l environnement)
Contraintes des systèmes
embarqués
1707/05/2012
o Temps de développement court:
Ø Dans un marché concurrentiel et de niches, il convient d avoir un système
opérationnel le plus rapidement possible pour être le premier sur le
marché.
o Packaging :
Ø Cohabiter dans un faible volume, électronique analogique, électronique
numérique et RF sans interface
Contraintes des systèmes
embarqués
1807/05/2012
Solutions classiques :
q Microcontrôleur:
Etat de l art
1907/05/2012
Pour
q très bon marché
qApprentissage rapide
qDéveloppement rapide
Contre
q Structure fixe
qExtensibilité difficile
qCode peu réutilisable
q FPGA:
q Les systèmes embarqués mettent naturellement en uvre des
processeurs et des systèmes numériques spécifiques
q Le développement des FPGAs actuelles accélère encore cette alliance
entre le logiciel et le matériel
q Ces circuits autorisent la conception de tout un système sur une puce
programmable (SoPC)
Etat de l art
2007/05/2012
Avantages des FPGA:
q Ils permettent l implantation d architectures numériques conséquentes
(plusieurs millions de portes logiques)
q IL peut y configurer une IP de processeur (softcore): Nios II, Microblaze,
etc
q Certains intègrent un c ur hard de processeur (ARM, PowerPC)
q Ils disposent de la plupart des contrôleurs de périphériques courants
(VGA, UART, CNA/CAN, )
q Ce sont des circuits versatiles, puissants, dont le contenu peut évoluer
Etat de l art
2107/05/2012
o Un processeur softcore est un processeur implémenté en
langage de description haut niveau(VHDL, Verilog, etc.) sur un
réseau logique reprogrammable comme un FPGA.
q Architecture flexible : Mise à jour
q Le code source peut être librement distribué et implanté dans n importe
quel circuit programmable FPGA
q Portabilité vers n importe quel circuit FPGA : indépendance vis-à-vis du
choix technologie
q Il est privilégie pour bénéficier des évolutions apportées en refaisant une
synthèse
Processeur Softcore
2207/05/2012
Définition
Pour quoi les softcores ?
Quelques exemples
de processeur Soft
2307/05/2012
open
sources
propriétaires
qNIOS (ALREA)
qPico blaze (XILINX)
qMicro blaze (XILINX)
qMico8 (Lattice)
qMico32 (Lattice)
qLEON (Gaisler Research)
24
Processeur Hardcore
o Description ciblée technologiquement
o Processeur performant
o Une puce
Par contre:
o Cher
o Solution propriétaire
o Non portable: impossible de changer de cible
07/05/2012
q les deux?.
ü Le matériel n offre pas la souplesse du logiciel
ü Le logiciel n offre pas la puissance du matériel
q Les systèmes embarqués concilient les deux:
ü Le processeur est très souvent le c ur du système
ü Les fonctions critiques sont confiées à des circuits spécialisés
ü Processeurs spécialisés (DSP, ASIP)
ü Architecture matérielles (décodeurs MP3, MPG2, etc)
q On assiste à une véritable fusion des deux paradigmes grâce aux FPGAs
modernes
Soft & Hard core
2507/05/2012
Face à des contraintes, le concepteur adopte les règles
suivants:
q Règles de bon sens:
ü Faire simple
ü Utiliser ce que l on a déjà au fait par d autre: Desing reuse
ü Utiliser de nouvelles méthodes de conception : Codesing
Ø Couplage fort entre le matériel et logiciel
ü Utiliser des technologies éprouvées qui ont fait leur preuve
Règles de conception
des systèmes embarqués
2607/05/2012
27
Co-design
q Les systèmes embarqués sont de plus en plus complexes Þ une méthodologie
rigoureuse de conception doit être maintenant mise ne uvre : Codesing
q Le codesign permet de concevoir en même temps à la fois le matériel et le
logiciel pour une fonctionnalité à implémenter.
ü L apparition des modules IP, circuits électroniques sous forme logicielle a
accentué l importance du co-design et du design reuse
07/05/2012
28
Co-design & FPGA
Cohabitation de deux ressources logicielle et matérielle sur une même
puce
q Le logiciel est utilisé pour sa flexibilité.
q Le matériel (FPGA et ASIC .) est utilisé pour ses performances
07/05/2012
Plates formes
SOC
(Systèmes sur
puce)
ASIC
PSOC
(Système sur puce
programmable)
SOPC
(Système sur une
puce
Programmable)
FPGA
29
Co-design
q Le codesign permet de repousser le plus loin possible dans la
conception du système les choix matériels à faire contrairement à
l approche classique où les choix matériels sont faits en premier lieu
q Conception Traditionnelle: Codesign
07/05/2012
HW SW SWHW
Réalisé par des ingénieurs
indépendants
Réalisé par des mêmes
ingénieurs
début
début
30
Codesign
q L utilisation des deux technologies nécessite un changement dans le
flot de conception:
ü Développement du CoDesing
q Traditionnellement , le choix de l architecture est fait, puis le logiciel
est développé pour coller à l architecture
q Le CoDesign consiste à dérouler l étape de conception sans
préalablement partitionner le problème en deux flots distincts
q Processus de conception du système: garder un niveau d abstraction
important le plus longtemps possible
q Système décomposé en sous-systèmes suivant une hiérarchie logique
Þ approche objet
q Si le design change, réutiliser une bonne partie Þ design reuse
q Ne pas jeter à la poubelle un précédent design et repartir « from
scratch »
q On doit pouvoir utiliser des outils de vérifications automatique
07/05/2012
31
Co-design
07/05/2012
32
Besoin en OS
q La logique programmée incluse dans les systèmes embarqués est de
plus en plus complexe
q Une approche logicielle de type super boucle (boucle infinie
+interruptions) devient trop sommaire pour gérer et maîtriser la
complexité
q Multitâches
q Abstraction du matériel
q Service haut niveau
q Maîtrise des contraintes temporelles (système Temps Réel).
q Développement de pilotes de périphérique (driver) simplifié pour
pouvoir avoir accès aux accélérateurs matériels
q Possibilité de communications réseau : pour un contrôle du système à
distance par exemple.
07/05/2012
contraintes
Solutions offerts par l OS
33
Linux en embarqué
q Logiciel Libre, disponible gratuitement au niveau source
q Fiabilité reconnu du système
q Portabilité sur différentes plateformes matérielles
q système d exploitation multitâche
q système de fichiers disponible
q connectivité TCP/IP en standard
q Possibilité du Temps Réel
07/05/2012
Pour quoi Linux embarqué
34
Quelques Systèmes embarqués
Basées sur Linux
q MontaVista Linux
q BlueCat Linux(LynuxWorks)
q Clinux (open source)
q RTLinux (open source)
q ELDK(Embedded Linux Development Toolkit) maintenue par la société
Allemande
o Denx Software
o Etc...
07/05/2012
35
Cahier de charges
07/05/2012
36
Outils d Altera
07/05/2012
37
Outils Matériels
07/05/2012
ØCarte de développement DE2_70
38
Outils Logiciels
07/05/2012
39
Phase de conception d un système embarqué
à base de Nios II
q Partie1: Hardward (matérielle)
q Partie II: Software (logicielle)
q Partie I: Dans cette partie, nous allons essayer de décrire étape par
étape l implémentation d un SoPC à base du processeur NIOS II:
07/05/2012
40
Phase de conception d un système embarqué
à base de Nios II
q Partie I: Dans cette partie, nous allons essayer de décrire étape par
étape l implémentation d un SoPC à base du processeur NIOS II:
ü Processeur Softcore Nios II
ü Mémoires : 32 Mo SDRAM; 8Mo de mémoire FLASH
ü JTAG UART:
Protocole récent très utilisé dans le monde des systèmes
embarqués. Il est surtout utilisé pour le débogage et le test
d une carte numérique.
ü PIO: Leds, boutons poussoirs, afficheur s 7 segments, afficheurs
LCD de la carte cibles
ü Bus Avalon
ü Tiemers:
Sont des compteurs qui permettent de mesurer le temps et de
compter des événements qui arrivent (sur un pin par
exemple, etc.)
07/05/2012
41
Caractéristique du Nios II
q C est un microprocesseur 32 bits de type RISC (Remarque : Le NIOS I
étant 16 bits)
q Ces instructions machines sont de 32 bits
q Pouvant avoir de 1 à 6 étages de pipelining
q Pouvant travailler jusqu à une fréquence de 200 MHz
q Possède 32 registres d usage général et 6 registres d usage particulier,
tous les registres sont 32 bits
q Possibilité d intégré un multiplieur&diviseur hardware
q L ensemble consomme dans le FPGA en fonction des options choisi de
26.000 à 72.000 portes (notons que le FPGA sur la carte DE2-70
contient 68416
07/05/2012
42
Les 3 versions du processeurs Nios II
q Lors de la configuration du processeur Nios II avec l outil SoPC
Builder, il est possible de choisir entre 3 versions du processeur II:
ü Une première version Economy qui utilise moins de surface de
silicium du composant FPGA
ü Une deuxième version Standard qui permet un compromis entre
surface et rapidité
ü Enfin une dernière version Fast est la plus rapide des deux autres
versions
07/05/2012
43
PLL
q La SDRAM travaille avec un front descendant d horloge alors que le
NIOS II travaille en front montant. Pour les synchroniser de façon stable
on utilise une PLL numérique.
07/05/2012
44
Etapes de conception d un système embarqué
à base de Nios II
q Etape 1 : créer le projet en utilisant le logiciel Quartus. Dans cette
partie on choisi la référence de l FPGA utilisé, le répertoire où on
mettra notre projet et bien sûr lui donner un nom
q Etape 2: Puisque nous allons travailler en mode schématique, nous
allons commencer par créer ce fichier en cliquant sur le menu « file »
puis « news » et dans la fenêtre qui s ouvre nous choisissons
«Block Diagramm/Schematic File »
07/05/2012
45
Etapes de conception d un système embarqué
à base de Nios II
q Etape 3: ouverture de SOPC Builder
o Après avoir créé le fichier schematic, nous ouvrons SOCP Builder dans
le menu « tools » puis « sopc builder ». Dans la fenêtre qui s ouvre,
nous donnons un nom à notre système SOPC puis nous choisissons un
langage entre Verilog ou VHDL, dans notre cas nous allons choisir
VHDL. Et enfin on valide par « OK »
07/05/2012
46
Etapes de conception d un système embarqué
à base de Nios II
q Etape 4: Ajout du microprocesseur NIOS II
o Il est logique de commencer par ajouter le microprocesseur NIOS II
puisqu il est la base de tout le système. Pour cela on clique sur le
signe « + » où c est écrit « processors » puis on clique deux fois sur
« NIOS II Processor ».
07/05/2012
47
Etapes de conception d un système embarqué
à base de Nios II
q Etape 5: Ajout de SDRAM de 32 Mo
q Dans « Component Library » la partie gauche de SOPC Builder, on
clique sur « Memories and Memory controllers » puis « SDRAM»
en enfin deux fois sur « SDRAM Controller ».
o
07/05/2012
48
Etapes de conception d un système embarqué
à base de Nios II
q Etape 6: Ajout de Timer
§ Sont des compteurs
q Dans « Peripherals » puis « Microcontroller Peripherals » et on
clique deux fois sur « Interval Timer ».
07/05/2012
49
Etapes de conception d un système embarqué
à base de Nios II
q Etape 7: Ajout JTAG UART
§ Protocole utilisé pour le débogage et le test d une carte numérique
q Dans « Interface Protocols» puis « Serial » on clique deux fois sur
« JTAG UART »
07/05/2012
50
Etapes de conception d un système embarqué
à base de Nios II
q Etape 8: Ajout BUS Avalon
§ Bus de communication entre le Nios II et ses périphériques
q Dans « Bridge and Adapters » puis « Memory Mapped » ensuite
on clique deux fois sur « Avalon MM Tristate Bridge ».
07/05/2012
51
Etapes de conception d un système embarqué
à base de Nios II
q Etape 9: Ajout de mémoire Flash
q Dans « Memories and Memory Controller », « Flash » puis deux fois
sur « Flash Memory Interface (CFI) ».
07/05/2012
52
Etapes de conception d un système embarqué
à base de Nios II
q Etape 10: Ajout de PIO
§ Les PIO sont les interfaces d entrée/sortie parallèle, ex : Led,
Switch, etc
q Dans « Peripherals » puis « Microcontroller Peripherals » et on
clique deux fois sur « PIO Parallel IO ».
07/05/2012
53
Etapes de conception d un système embarqué
à base de Nios II
q Etape 11: Finalisation du microprocesseur NIOS II
q A ce stage le microprocesseur NIOS n est pas encore complètement
terminé et n est donc pas encore opérationnel. En effet nous devons
encore choisir dans la quelle des mémoires installées seront placé le
programme
q On clique deux fois sur le NIOS Installé dans SOPC Builder, puis dans
« Reset Vector » et « exception Vector » on choisi la mémoire.
Dans notre cas nous avons pris la SDRAM, généralement on choisi
entre ce dernier ou le SRAM.
07/05/2012
54
Système final obtenu dans SOPC BUILDER
07/05/2012
55
Système final obtenu dans SOPC BUILDER
07/05/2012
56
Partie II : Logiciel
q Outil de développement des logiciels pour le NIOS est le NIOS IDE,
q Le NIOS IDE permet de programmer avec trois langages qui sont le C,
le C++ et l assembleur NIOS II.
q Etape 1 : création d un projet
q Menu « File » ensuite « News » et puis « Project ». Et la fenêtre
suivante apparaît et on choisit « NIOS II C/C++ Application » puis
« Next ».
07/05/2012
57
Partie II : Logiciel
q Fichier : Typr .ptf
q Après avoir créé le projet nous avons normalement un répertoire
nommé « altera.component » et deux autres répertoires dans la
partie gauche de NIOS IDE, nous allons nous intéressé plus sur ces
deux derniers.
07/05/2012
58
Partie II : Logiciel
q Ecriture et compilation du premier programme
q Pour créer notre premier programme, on clique droite sur le répertoire
qui a le même nom que notre projet puis « new » ensuite « C source
file » :
q Extension du fichier:
q « .c » si on veut programmer en langage C
q « .cpp » si on veut programmer en C++
07/05/2012
59
Partie II : Logiciel
q Après l écriture on passe à la compilation:
q Menu « Project » ensuite « Build All » et la compilation commence
mais ça prend beaucoup de temps parce qu au début le logiciel doit
aussi compiler les libraries.
q Chargement du programme dans le NIOS II
Ø Avant d envoyer le programme soft, il faut tout d abord envoyer le matériel dans le
FPGA avec Quartus. Une fois cela fait et si la compilation du chapitre précédent s est
déroulée sans erreur on peut envoyer le programme dans le NIOS.
Ø On clique droite sur le répertoire qui a le même nom que le projet ( ce qu on a parlé dans
le chapitre précédent), puis on clique sur « Run As » et enfin sur « NIOS II
Hardware ».
Ø Maintenant le programme tourne dans le NIOS de l FPGA
07/05/2012
Merci de votre attention
606017/04/2012

Contenu connexe

Tendances

Presentation fpga
Presentation fpgaPresentation fpga
Presentation fpgaImad Bourja
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Hajer Dahech
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..sunprass
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationECAM Brussels Engineering School
 
introduction automatisme industriel
introduction automatisme industrielintroduction automatisme industriel
introduction automatisme industrielAdnane Ahmidani
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industrielsHafsaELMessaoudi
 
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGEProjet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGEHASSOU mohamed
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 
présentation soutenance PFE 2016
présentation soutenance PFE 2016présentation soutenance PFE 2016
présentation soutenance PFE 2016Mohsen Sadok
 
2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligneAziz ShadowStokes
 
PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877
PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877
PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877RAMZI EL IDRISSI
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduinoSinGuy
 
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptArchitecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptwafawafa52
 
Pfe version final(scripte matlab de simulation des panneau pv)
Pfe version final(scripte matlab de simulation des panneau pv)Pfe version final(scripte matlab de simulation des panneau pv)
Pfe version final(scripte matlab de simulation des panneau pv)mustaphamoufassih
 

Tendances (20)

présentation STM32
présentation STM32présentation STM32
présentation STM32
 
Presentation fpga
Presentation fpgaPresentation fpga
Presentation fpga
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..
 
Chap1 intro 1pp
Chap1 intro 1ppChap1 intro 1pp
Chap1 intro 1pp
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
 
System embaraqué
System  embaraquéSystem  embaraqué
System embaraqué
 
introduction automatisme industriel
introduction automatisme industrielintroduction automatisme industriel
introduction automatisme industriel
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industriels
 
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGEProjet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
Projet ROBOT MOBILE SUIVEUR DE LIGNE BASE SUR LE TRAITEMENT D'IMAGE
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
présentation soutenance PFE 2016
présentation soutenance PFE 2016présentation soutenance PFE 2016
présentation soutenance PFE 2016
 
Architecture de Von Neumann & Harvard
Architecture de Von Neumann & HarvardArchitecture de Von Neumann & Harvard
Architecture de Von Neumann & Harvard
 
2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne
 
PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877
PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877
PFE Réalisation d’un onduleur monophasé autonome commandé par PIC 16F877
 
Presentation,PFE
Presentation,PFEPresentation,PFE
Presentation,PFE
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduino
 
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.pptArchitecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
Architecture des ordinateurs Elaboré par- ABIDA Mounir.ppt
 
Pfe version final(scripte matlab de simulation des panneau pv)
Pfe version final(scripte matlab de simulation des panneau pv)Pfe version final(scripte matlab de simulation des panneau pv)
Pfe version final(scripte matlab de simulation des panneau pv)
 

En vedette

TRADUCTION AUTOMATIQUE EN LANGUE DES SIGNES BASÉE SUR UNE APPROCHE STATISTIQUE
TRADUCTION AUTOMATIQUE EN LANGUE DES SIGNES BASÉE SUR UNE APPROCHE STATISTIQUETRADUCTION AUTOMATIQUE EN LANGUE DES SIGNES BASÉE SUR UNE APPROCHE STATISTIQUE
TRADUCTION AUTOMATIQUE EN LANGUE DES SIGNES BASÉE SUR UNE APPROCHE STATISTIQUEAchraf OTHMAN
 
Bs151 - INSTRUÇÃO NORMATIVA Nº 106-DG/PF
Bs151 - INSTRUÇÃO NORMATIVA Nº 106-DG/PFBs151 - INSTRUÇÃO NORMATIVA Nº 106-DG/PF
Bs151 - INSTRUÇÃO NORMATIVA Nº 106-DG/PFMinistério da Justiça
 
Les défis de l'économie circulaire et le rôle du business modèle
Les défis de l'économie circulaire et le rôle du business modèleLes défis de l'économie circulaire et le rôle du business modèle
Les défis de l'économie circulaire et le rôle du business modèleMourad ZEROUKHI
 
6 mesures 2017
6 mesures 20176 mesures 2017
6 mesures 2017RAC-F
 
Presentación características seres vivos y diferencias con seres inertes
Presentación características seres vivos y diferencias con seres inertesPresentación características seres vivos y diferencias con seres inertes
Presentación características seres vivos y diferencias con seres inertesJuan Guillermo Urueta Sierra
 
Embarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apportsEmbarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apportsguest3be047
 
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB ThèqueTracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB ThèqueBernard Jeanne-Beylot
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Christian Charreyre
 
Concevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectConcevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectChristian Charreyre
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEHoussem Eddine LASSOUED
 
Inspección de mercancías embarque certificación del transportador sena Fabian...
Inspección de mercancías embarque certificación del transportador sena Fabian...Inspección de mercancías embarque certificación del transportador sena Fabian...
Inspección de mercancías embarque certificación del transportador sena Fabian...Fabian Alvarez Sanchez
 
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...Daniels Training Services
 
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESSA SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESSJournal For Research
 
Chromium problems
Chromium problemsChromium problems
Chromium problemscrazyaxe
 
Metabolisme des lipides
Metabolisme des lipidesMetabolisme des lipides
Metabolisme des lipideskillua zoldyck
 
Brochure Meca-19102016-bd
Brochure Meca-19102016-bdBrochure Meca-19102016-bd
Brochure Meca-19102016-bdCamille Volant
 
Protection des métaux contre la corrosion
Protection des métaux contre la corrosionProtection des métaux contre la corrosion
Protection des métaux contre la corrosionCHTAOU Karim
 

En vedette (20)

TRADUCTION AUTOMATIQUE EN LANGUE DES SIGNES BASÉE SUR UNE APPROCHE STATISTIQUE
TRADUCTION AUTOMATIQUE EN LANGUE DES SIGNES BASÉE SUR UNE APPROCHE STATISTIQUETRADUCTION AUTOMATIQUE EN LANGUE DES SIGNES BASÉE SUR UNE APPROCHE STATISTIQUE
TRADUCTION AUTOMATIQUE EN LANGUE DES SIGNES BASÉE SUR UNE APPROCHE STATISTIQUE
 
Bs151 - INSTRUÇÃO NORMATIVA Nº 106-DG/PF
Bs151 - INSTRUÇÃO NORMATIVA Nº 106-DG/PFBs151 - INSTRUÇÃO NORMATIVA Nº 106-DG/PF
Bs151 - INSTRUÇÃO NORMATIVA Nº 106-DG/PF
 
La tierra un planeta habitado
La tierra un planeta habitadoLa tierra un planeta habitado
La tierra un planeta habitado
 
Les défis de l'économie circulaire et le rôle du business modèle
Les défis de l'économie circulaire et le rôle du business modèleLes défis de l'économie circulaire et le rôle du business modèle
Les défis de l'économie circulaire et le rôle du business modèle
 
6 mesures 2017
6 mesures 20176 mesures 2017
6 mesures 2017
 
Presentación características seres vivos y diferencias con seres inertes
Presentación características seres vivos y diferencias con seres inertesPresentación características seres vivos y diferencias con seres inertes
Presentación características seres vivos y diferencias con seres inertes
 
Cf alvarez mo
Cf alvarez moCf alvarez mo
Cf alvarez mo
 
Energie maison
Energie maisonEnergie maison
Energie maison
 
Embarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apportsEmbarquer Linux et des systèmes libres, méthodes et apports
Embarquer Linux et des systèmes libres, méthodes et apports
 
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB ThèqueTracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
Tracabilite & Identification Automatique par Bernard JEANNE-BEYLOT @JB Thèque
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015
 
Concevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectConcevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto Project
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFE
 
Inspección de mercancías embarque certificación del transportador sena Fabian...
Inspección de mercancías embarque certificación del transportador sena Fabian...Inspección de mercancías embarque certificación del transportador sena Fabian...
Inspección de mercancías embarque certificación del transportador sena Fabian...
 
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
 
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESSA SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
 
Chromium problems
Chromium problemsChromium problems
Chromium problems
 
Metabolisme des lipides
Metabolisme des lipidesMetabolisme des lipides
Metabolisme des lipides
 
Brochure Meca-19102016-bd
Brochure Meca-19102016-bdBrochure Meca-19102016-bd
Brochure Meca-19102016-bd
 
Protection des métaux contre la corrosion
Protection des métaux contre la corrosionProtection des métaux contre la corrosion
Protection des métaux contre la corrosion
 

Similaire à Systeme embarque

Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réelmikhailether
 
ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfHoudaBezziane
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solutionCynapsys It Hotspot
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfDAPcreat
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis GroupIBM France Lab
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxAbdo Brahmi
 
OpenSource sur PowerLinux
OpenSource sur PowerLinuxOpenSource sur PowerLinux
OpenSource sur PowerLinuxSophie Darré
 
IBM POWER 8, une infrastructure taillée pour l'Open Source
IBM POWER 8, une infrastructure taillée pour l'Open SourceIBM POWER 8, une infrastructure taillée pour l'Open Source
IBM POWER 8, une infrastructure taillée pour l'Open SourceSolutions IT et Business
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfWahideArabe
 
Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Pierre-jean Texier
 
Architecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAArchitecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAChiheb Ouaghlani
 
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMAOsis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMAPôle Systematic Paris-Region
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarquésStéphane Legrand
 
VoIP-kobbane2018_1_.pdf
VoIP-kobbane2018_1_.pdfVoIP-kobbane2018_1_.pdf
VoIP-kobbane2018_1_.pdfAlKir1
 
Embedded intro 2006
Embedded intro 2006Embedded intro 2006
Embedded intro 2006mcbinene
 
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendreMariamHafsa
 

Similaire à Systeme embarque (20)

Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réel
 
ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdf
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solution
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdf
 
Wygday 2008
Wygday 2008Wygday 2008
Wygday 2008
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptx
 
OpenSource sur PowerLinux
OpenSource sur PowerLinuxOpenSource sur PowerLinux
OpenSource sur PowerLinux
 
IBM POWER 8, une infrastructure taillée pour l'Open Source
IBM POWER 8, une infrastructure taillée pour l'Open SourceIBM POWER 8, une infrastructure taillée pour l'Open Source
IBM POWER 8, une infrastructure taillée pour l'Open Source
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
 
Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'
 
Architecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAArchitecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGA
 
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMAOsis18_Cloud : Virtualisation efficace d’architectures NUMA
Osis18_Cloud : Virtualisation efficace d’architectures NUMA
 
Ns operationqueue
Ns operationqueueNs operationqueue
Ns operationqueue
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarqués
 
VoIP-kobbane2018_1_.pdf
VoIP-kobbane2018_1_.pdfVoIP-kobbane2018_1_.pdf
VoIP-kobbane2018_1_.pdf
 
Cyceo solution virtualisation
Cyceo solution virtualisationCyceo solution virtualisation
Cyceo solution virtualisation
 
Embedded intro 2006
Embedded intro 2006Embedded intro 2006
Embedded intro 2006
 
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
 
Plateformes embarquées
Plateformes embarquéesPlateformes embarquées
Plateformes embarquées
 

Systeme embarque

  • 1. Conception de Systèmes Embarqués B. HAJJI ENSA, Université Mohammed Premier, Oujda, Maroc 107/05/2012
  • 2. Plan de l exposé o Problématiques o Qu est ce qu un système embarqué o Domaines d application o Contraintes des systèmes embarqués o Méthodologie de conception o Besoin en OS pour les systèmes embarqués o Fondation d un système embarqué à base de FPGA o Conclusion & perspective 207/05/2012
  • 3. Problématiques o Complexité des systèmes embarqués n Les systèmes numériques deviennent aujourd hui de plus en plus complexes au niveau intégration et fonctionnalités n On est en mesure d intégrer tout dans un même puce n Ceci est en fait lié à la loi empirique de Moore: pour une surface de silicium donnée, on double le nombre de transistors intégrés tous les 2 ans 307/05/2012
  • 4. Problématiques o Les processeurs standards deviennent incapables de répondre aux exigences de ces systèmes o Le choix d une architecture pour les systèmes embarqués doit être un compromis entre: n Flexibilité n Consommation réduite n Performance n Cout faible n Rapidité de la consommation 407/05/2012
  • 5. Problématiques o Les fonctionnalités peuvent être implantées dans des circuits spécifiques de types ASIC ou bien dans les circuits logiques programmables de type FPGA 507/05/2012
  • 6. Problématiques q FPGA : Filed Programmable Gate Array o Matrice de blocs logiques (ressources logiques) programmables reliés par un réseau d interconnexions aussi programmable 607/05/2012
  • 7. Problématiques q Les circuits logiques programmables FPGA q Alternatives aux ASIC q Niveaux d intégration et performances correctes q Cout et temps de développement intéressant 707/05/2012
  • 8. o Un système embarqué (Embedded system) peut être défini comme un système électronique et informatique autonome, qui est dédié à une tâche bien précise. Ø Pas des entrées/sorties comme un clavier standard ou un écran d ordinateur Ø Le système matériel et l application sont intimement liés et noyés dans le matériel et ne sont pas facilement discernables comme dans le cas d un PC q Un système embarqué n est pas un PC q Un système embarqué est un système qui contient : Ø Au mois un microprocesseur (ou un microcontrôleur) Ø Un logiciel dédié à sa gestion 8 Qu est ce qu un SE 807/05/2012
  • 9. q L utilisation des systèmes embarqués progresse au même rythme que les microprocesseurs: ü Processeurs de plus en plus rapides ü Puissants ü Bon marché q Marché de l embarqué en 1999 9 L embarqué en quelques chiffres 907/05/2012
  • 10. q En 2004: Ø 14 Milliards de processeurs pour l embarqué(microprocesseur, microcontrôleur, DSP, etc) Ø 260 millions de processeurs PC q Moins de 2 % des processeurs vendus sont pour le marché du PC contre 98% pour l embarqué q Pour les 98% autres processeurs vendu, on utilisera généralement un autre système d exploitation. 10 L embarqué en quelques chiffres 1007/05/2012
  • 11. o Contrôle de processus industriels (chaine de production, automates, ) o Transport Ø Avionique (Atterrissage, décollage,.. ) Ø Trains, automobiles (ABS, Vitres, consommation, voiture hybride) Ø Contrôle de navigation o Télécommunication Ø Satellites Ø GPS Ø Téléphone mobile Domaines d application 1107/05/2012
  • 12. q Un distributeur de billets: Ø reçoit des informations des touches et de l écran tactile, ainsi que de la banque par liaison informatique Ø décide de donner ou non des billets en fonction de l état du compte Ø maintient un compteur du nombre de billets restant et donne éventuellement des billets au porteur de la carte q Une carte à puce: Ø reçoit des informations du lecteur de cartes à puce Ø décide de valider ou non le code secret envoyé par le lecteur Ø maintient un compteur du nombre de tentatives infructueuses et peut se bloquer Domaines d application 1207/05/2012
  • 14. q Un système embarqué: ü Réagit à des stimuli extérieurs ü Prend des décisions en fonction de ces stimuli et de son état interne ü Altère son état interne et agit de manière perceptible par l extérieur en fonction des décisions prises q Généralement soumis à : ü Des contraintes temps réel ü Des contraintes liées à la consommation d énergie, dissipation de chaleur q Peuvent être amenés à fonctionner dans des conditions extrêmes (température, humidité, ) q Les aspects sécurité, fiabilité, tolérance aux fautes sont souvent cruciaux 14 Caractéristiques des systèmes embarqués 1407/05/2012
  • 15. o Comment concevoir un système embarqué complexe efficacement? o Réponse proposée: Ø Ne pas réinventer la roue o Implication Ø Faire du développement modulaire Problématique de conception 1507/04/2012
  • 16. o Le concepteur d un système embarqué doit être pluridisciplinaire: électronique, informatique, réseaux, o Concevoir un système embarqué revient finalement à un exercice d optimisation: Ø Minimiser les coûts de production pour des fonctionnalités optimales Un système embarqué doit être: q Fiable et sécurisé ü Le système doit toujours fonctionner correctement § sûreté à faible coût avec une redondance minimale ü Sûreté de fonctionnement du logiciel § Système opérationnel même quand un composant électronique lâche Contraintes des systèmes embarqués 1607/05/2012
  • 17. o Faible consommation Ø La consommation est un point critique pour les systèmes avec autonomie (alimenté par des batteries) Ø Une consommation excessives augmente le prix de revient du système embarqué car il faut alors des batteries de forte capacité o Coût très bas: Ø Beaucoup de systèmes embarqués sont fabriqués en grande série et doivent avoir des prix de revient extrêmement faibles Ø Optimisation du prix de revient o Robustesse aux chocs, à la température, à l humidité, Ø Les systèmes n évolue pas dans un environnement contrôlé (évolutions des caractéristiques des composants en fonction de l environnement) Contraintes des systèmes embarqués 1707/05/2012
  • 18. o Temps de développement court: Ø Dans un marché concurrentiel et de niches, il convient d avoir un système opérationnel le plus rapidement possible pour être le premier sur le marché. o Packaging : Ø Cohabiter dans un faible volume, électronique analogique, électronique numérique et RF sans interface Contraintes des systèmes embarqués 1807/05/2012
  • 19. Solutions classiques : q Microcontrôleur: Etat de l art 1907/05/2012 Pour q très bon marché qApprentissage rapide qDéveloppement rapide Contre q Structure fixe qExtensibilité difficile qCode peu réutilisable
  • 20. q FPGA: q Les systèmes embarqués mettent naturellement en uvre des processeurs et des systèmes numériques spécifiques q Le développement des FPGAs actuelles accélère encore cette alliance entre le logiciel et le matériel q Ces circuits autorisent la conception de tout un système sur une puce programmable (SoPC) Etat de l art 2007/05/2012
  • 21. Avantages des FPGA: q Ils permettent l implantation d architectures numériques conséquentes (plusieurs millions de portes logiques) q IL peut y configurer une IP de processeur (softcore): Nios II, Microblaze, etc q Certains intègrent un c ur hard de processeur (ARM, PowerPC) q Ils disposent de la plupart des contrôleurs de périphériques courants (VGA, UART, CNA/CAN, ) q Ce sont des circuits versatiles, puissants, dont le contenu peut évoluer Etat de l art 2107/05/2012
  • 22. o Un processeur softcore est un processeur implémenté en langage de description haut niveau(VHDL, Verilog, etc.) sur un réseau logique reprogrammable comme un FPGA. q Architecture flexible : Mise à jour q Le code source peut être librement distribué et implanté dans n importe quel circuit programmable FPGA q Portabilité vers n importe quel circuit FPGA : indépendance vis-à-vis du choix technologie q Il est privilégie pour bénéficier des évolutions apportées en refaisant une synthèse Processeur Softcore 2207/05/2012 Définition Pour quoi les softcores ?
  • 23. Quelques exemples de processeur Soft 2307/05/2012 open sources propriétaires qNIOS (ALREA) qPico blaze (XILINX) qMicro blaze (XILINX) qMico8 (Lattice) qMico32 (Lattice) qLEON (Gaisler Research)
  • 24. 24 Processeur Hardcore o Description ciblée technologiquement o Processeur performant o Une puce Par contre: o Cher o Solution propriétaire o Non portable: impossible de changer de cible 07/05/2012
  • 25. q les deux?. ü Le matériel n offre pas la souplesse du logiciel ü Le logiciel n offre pas la puissance du matériel q Les systèmes embarqués concilient les deux: ü Le processeur est très souvent le c ur du système ü Les fonctions critiques sont confiées à des circuits spécialisés ü Processeurs spécialisés (DSP, ASIP) ü Architecture matérielles (décodeurs MP3, MPG2, etc) q On assiste à une véritable fusion des deux paradigmes grâce aux FPGAs modernes Soft & Hard core 2507/05/2012
  • 26. Face à des contraintes, le concepteur adopte les règles suivants: q Règles de bon sens: ü Faire simple ü Utiliser ce que l on a déjà au fait par d autre: Desing reuse ü Utiliser de nouvelles méthodes de conception : Codesing Ø Couplage fort entre le matériel et logiciel ü Utiliser des technologies éprouvées qui ont fait leur preuve Règles de conception des systèmes embarqués 2607/05/2012
  • 27. 27 Co-design q Les systèmes embarqués sont de plus en plus complexes Þ une méthodologie rigoureuse de conception doit être maintenant mise ne uvre : Codesing q Le codesign permet de concevoir en même temps à la fois le matériel et le logiciel pour une fonctionnalité à implémenter. ü L apparition des modules IP, circuits électroniques sous forme logicielle a accentué l importance du co-design et du design reuse 07/05/2012
  • 28. 28 Co-design & FPGA Cohabitation de deux ressources logicielle et matérielle sur une même puce q Le logiciel est utilisé pour sa flexibilité. q Le matériel (FPGA et ASIC .) est utilisé pour ses performances 07/05/2012 Plates formes SOC (Systèmes sur puce) ASIC PSOC (Système sur puce programmable) SOPC (Système sur une puce Programmable) FPGA
  • 29. 29 Co-design q Le codesign permet de repousser le plus loin possible dans la conception du système les choix matériels à faire contrairement à l approche classique où les choix matériels sont faits en premier lieu q Conception Traditionnelle: Codesign 07/05/2012 HW SW SWHW Réalisé par des ingénieurs indépendants Réalisé par des mêmes ingénieurs début début
  • 30. 30 Codesign q L utilisation des deux technologies nécessite un changement dans le flot de conception: ü Développement du CoDesing q Traditionnellement , le choix de l architecture est fait, puis le logiciel est développé pour coller à l architecture q Le CoDesign consiste à dérouler l étape de conception sans préalablement partitionner le problème en deux flots distincts q Processus de conception du système: garder un niveau d abstraction important le plus longtemps possible q Système décomposé en sous-systèmes suivant une hiérarchie logique Þ approche objet q Si le design change, réutiliser une bonne partie Þ design reuse q Ne pas jeter à la poubelle un précédent design et repartir « from scratch » q On doit pouvoir utiliser des outils de vérifications automatique 07/05/2012
  • 32. 32 Besoin en OS q La logique programmée incluse dans les systèmes embarqués est de plus en plus complexe q Une approche logicielle de type super boucle (boucle infinie +interruptions) devient trop sommaire pour gérer et maîtriser la complexité q Multitâches q Abstraction du matériel q Service haut niveau q Maîtrise des contraintes temporelles (système Temps Réel). q Développement de pilotes de périphérique (driver) simplifié pour pouvoir avoir accès aux accélérateurs matériels q Possibilité de communications réseau : pour un contrôle du système à distance par exemple. 07/05/2012 contraintes Solutions offerts par l OS
  • 33. 33 Linux en embarqué q Logiciel Libre, disponible gratuitement au niveau source q Fiabilité reconnu du système q Portabilité sur différentes plateformes matérielles q système d exploitation multitâche q système de fichiers disponible q connectivité TCP/IP en standard q Possibilité du Temps Réel 07/05/2012 Pour quoi Linux embarqué
  • 34. 34 Quelques Systèmes embarqués Basées sur Linux q MontaVista Linux q BlueCat Linux(LynuxWorks) q Clinux (open source) q RTLinux (open source) q ELDK(Embedded Linux Development Toolkit) maintenue par la société Allemande o Denx Software o Etc... 07/05/2012
  • 39. 39 Phase de conception d un système embarqué à base de Nios II q Partie1: Hardward (matérielle) q Partie II: Software (logicielle) q Partie I: Dans cette partie, nous allons essayer de décrire étape par étape l implémentation d un SoPC à base du processeur NIOS II: 07/05/2012
  • 40. 40 Phase de conception d un système embarqué à base de Nios II q Partie I: Dans cette partie, nous allons essayer de décrire étape par étape l implémentation d un SoPC à base du processeur NIOS II: ü Processeur Softcore Nios II ü Mémoires : 32 Mo SDRAM; 8Mo de mémoire FLASH ü JTAG UART: Protocole récent très utilisé dans le monde des systèmes embarqués. Il est surtout utilisé pour le débogage et le test d une carte numérique. ü PIO: Leds, boutons poussoirs, afficheur s 7 segments, afficheurs LCD de la carte cibles ü Bus Avalon ü Tiemers: Sont des compteurs qui permettent de mesurer le temps et de compter des événements qui arrivent (sur un pin par exemple, etc.) 07/05/2012
  • 41. 41 Caractéristique du Nios II q C est un microprocesseur 32 bits de type RISC (Remarque : Le NIOS I étant 16 bits) q Ces instructions machines sont de 32 bits q Pouvant avoir de 1 à 6 étages de pipelining q Pouvant travailler jusqu à une fréquence de 200 MHz q Possède 32 registres d usage général et 6 registres d usage particulier, tous les registres sont 32 bits q Possibilité d intégré un multiplieur&diviseur hardware q L ensemble consomme dans le FPGA en fonction des options choisi de 26.000 à 72.000 portes (notons que le FPGA sur la carte DE2-70 contient 68416 07/05/2012
  • 42. 42 Les 3 versions du processeurs Nios II q Lors de la configuration du processeur Nios II avec l outil SoPC Builder, il est possible de choisir entre 3 versions du processeur II: ü Une première version Economy qui utilise moins de surface de silicium du composant FPGA ü Une deuxième version Standard qui permet un compromis entre surface et rapidité ü Enfin une dernière version Fast est la plus rapide des deux autres versions 07/05/2012
  • 43. 43 PLL q La SDRAM travaille avec un front descendant d horloge alors que le NIOS II travaille en front montant. Pour les synchroniser de façon stable on utilise une PLL numérique. 07/05/2012
  • 44. 44 Etapes de conception d un système embarqué à base de Nios II q Etape 1 : créer le projet en utilisant le logiciel Quartus. Dans cette partie on choisi la référence de l FPGA utilisé, le répertoire où on mettra notre projet et bien sûr lui donner un nom q Etape 2: Puisque nous allons travailler en mode schématique, nous allons commencer par créer ce fichier en cliquant sur le menu « file » puis « news » et dans la fenêtre qui s ouvre nous choisissons «Block Diagramm/Schematic File » 07/05/2012
  • 45. 45 Etapes de conception d un système embarqué à base de Nios II q Etape 3: ouverture de SOPC Builder o Après avoir créé le fichier schematic, nous ouvrons SOCP Builder dans le menu « tools » puis « sopc builder ». Dans la fenêtre qui s ouvre, nous donnons un nom à notre système SOPC puis nous choisissons un langage entre Verilog ou VHDL, dans notre cas nous allons choisir VHDL. Et enfin on valide par « OK » 07/05/2012
  • 46. 46 Etapes de conception d un système embarqué à base de Nios II q Etape 4: Ajout du microprocesseur NIOS II o Il est logique de commencer par ajouter le microprocesseur NIOS II puisqu il est la base de tout le système. Pour cela on clique sur le signe « + » où c est écrit « processors » puis on clique deux fois sur « NIOS II Processor ». 07/05/2012
  • 47. 47 Etapes de conception d un système embarqué à base de Nios II q Etape 5: Ajout de SDRAM de 32 Mo q Dans « Component Library » la partie gauche de SOPC Builder, on clique sur « Memories and Memory controllers » puis « SDRAM» en enfin deux fois sur « SDRAM Controller ». o 07/05/2012
  • 48. 48 Etapes de conception d un système embarqué à base de Nios II q Etape 6: Ajout de Timer § Sont des compteurs q Dans « Peripherals » puis « Microcontroller Peripherals » et on clique deux fois sur « Interval Timer ». 07/05/2012
  • 49. 49 Etapes de conception d un système embarqué à base de Nios II q Etape 7: Ajout JTAG UART § Protocole utilisé pour le débogage et le test d une carte numérique q Dans « Interface Protocols» puis « Serial » on clique deux fois sur « JTAG UART » 07/05/2012
  • 50. 50 Etapes de conception d un système embarqué à base de Nios II q Etape 8: Ajout BUS Avalon § Bus de communication entre le Nios II et ses périphériques q Dans « Bridge and Adapters » puis « Memory Mapped » ensuite on clique deux fois sur « Avalon MM Tristate Bridge ». 07/05/2012
  • 51. 51 Etapes de conception d un système embarqué à base de Nios II q Etape 9: Ajout de mémoire Flash q Dans « Memories and Memory Controller », « Flash » puis deux fois sur « Flash Memory Interface (CFI) ». 07/05/2012
  • 52. 52 Etapes de conception d un système embarqué à base de Nios II q Etape 10: Ajout de PIO § Les PIO sont les interfaces d entrée/sortie parallèle, ex : Led, Switch, etc q Dans « Peripherals » puis « Microcontroller Peripherals » et on clique deux fois sur « PIO Parallel IO ». 07/05/2012
  • 53. 53 Etapes de conception d un système embarqué à base de Nios II q Etape 11: Finalisation du microprocesseur NIOS II q A ce stage le microprocesseur NIOS n est pas encore complètement terminé et n est donc pas encore opérationnel. En effet nous devons encore choisir dans la quelle des mémoires installées seront placé le programme q On clique deux fois sur le NIOS Installé dans SOPC Builder, puis dans « Reset Vector » et « exception Vector » on choisi la mémoire. Dans notre cas nous avons pris la SDRAM, généralement on choisi entre ce dernier ou le SRAM. 07/05/2012
  • 54. 54 Système final obtenu dans SOPC BUILDER 07/05/2012
  • 55. 55 Système final obtenu dans SOPC BUILDER 07/05/2012
  • 56. 56 Partie II : Logiciel q Outil de développement des logiciels pour le NIOS est le NIOS IDE, q Le NIOS IDE permet de programmer avec trois langages qui sont le C, le C++ et l assembleur NIOS II. q Etape 1 : création d un projet q Menu « File » ensuite « News » et puis « Project ». Et la fenêtre suivante apparaît et on choisit « NIOS II C/C++ Application » puis « Next ». 07/05/2012
  • 57. 57 Partie II : Logiciel q Fichier : Typr .ptf q Après avoir créé le projet nous avons normalement un répertoire nommé « altera.component » et deux autres répertoires dans la partie gauche de NIOS IDE, nous allons nous intéressé plus sur ces deux derniers. 07/05/2012
  • 58. 58 Partie II : Logiciel q Ecriture et compilation du premier programme q Pour créer notre premier programme, on clique droite sur le répertoire qui a le même nom que notre projet puis « new » ensuite « C source file » : q Extension du fichier: q « .c » si on veut programmer en langage C q « .cpp » si on veut programmer en C++ 07/05/2012
  • 59. 59 Partie II : Logiciel q Après l écriture on passe à la compilation: q Menu « Project » ensuite « Build All » et la compilation commence mais ça prend beaucoup de temps parce qu au début le logiciel doit aussi compiler les libraries. q Chargement du programme dans le NIOS II Ø Avant d envoyer le programme soft, il faut tout d abord envoyer le matériel dans le FPGA avec Quartus. Une fois cela fait et si la compilation du chapitre précédent s est déroulée sans erreur on peut envoyer le programme dans le NIOS. Ø On clique droite sur le répertoire qui a le même nom que le projet ( ce qu on a parlé dans le chapitre précédent), puis on clique sur « Run As » et enfin sur « NIOS II Hardware ». Ø Maintenant le programme tourne dans le NIOS de l FPGA 07/05/2012
  • 60. Merci de votre attention 606017/04/2012