Professional Documents
Culture Documents
ASE
Elments du module Volume horaire global: 80h 1. Architecture des Systmes Embarqus : 28h (M. A.JBARI) 2. Conception dun Systmes Embarqu: 30h (M. A.JILBAB) 3. Communications dans les rseaux de capteurs sans fils: 22h (M Zytoune)
ASE
Objectifs oprationnels:
i. Comprendre larchitecture et les contraintes dun systme embarqus. ii. Maitriser le fonctionnement des composants ncessaires la ralisation dun systme embarqu. iii. Programmer des traitements dans un processeur de type ARM.
Prof A.JBARI
ASE
Plan:
A. Dfinition et exemples de systmes embarqus B. Caractristiques, Contraintes et Intgration C. Architectures de traitement D. Mmoires E. Microprocesseurs F. Microcontrleurs G.Processeurs de traitement de signal (DSP) H. Circuits numriques programmables : FPGA I. SOC (System On Chip) J. Application: Processeur ARM
Prof A.JBARI ASE 4
Prof A.JBARI
ASE
Prof A.JBARI
ASE
Prof A.JBARI
ASE
Comment calculer le niveau du carburant partir de la variation des capacits des condensateurs immergs dans les rservoirs ?
7
Prof A.JBARI
ASE
Comment produire un signal utile avec une amplitude significative et sans composantes parasites (secteur 50Hz par exemple) ?
Prof A.JBARI
ASE
Prof A.JBARI
ASE
10
Prof A.JBARI
ASE
11
Prof A.JBARI
ASE
12
Fonction de traitement assures par lacquisition des images la gestion des capteurs de gabarit la gestion des capteurs de mise en rfrence les traitements associs. Les interfaces de supervision et de contrle ont t raliss sous LabVIEW.
Prof A.JBARI ASE
Dans le cadre de son activit ferroviaire, NEW VISION Technologies a dvelopp une solution autorisant la maintenance prventive et rgulire des installations.
13
Dfinition
Embedded system
Any electronic system that uses a computer chip, but that is not a general-purpose workstation, desktop or laptop computer. Such systems use microcontrollers (MCUs) or microprocessors (MPUs), or they may use custom-designed chips. Hardware and software which forms a component of some larger system and which is expected to function without human intervention.
Dfinition : Un systme lectronique embarqu est un lment constitutif dun systme plus complexe pour lequel il rend des services bien prcis (contrle, surveillance, communication). Il est constitu de parties matrielles et logicielles qui sont conues spcifiquement pour raliser une fonction ddie.
Prof A.JBARI ASE 14
Mdical Militaire .
Prof A.JBARI ASE 15
Tlcommunications
Disponibilit, qualit de service Dissipation de chaleur,
Prof A.JBARI
ASE
17
Prof A.JBARI
ASE
18
Contraintes
Caractristiques des systmes embarqus :
Souvent ddis des tches spcifiques Le code est gnralement stock en ROM Les ressources peuvent tre plus restreintes que dans un systme informatique (Ex : mmoire)
Contraintes
Peuvent tre amens fonctionner dans des conditions extrmes (temprature, humidit,) Les aspects scurit, fiabilit, tolrance aux fautes, sont souvent cruciaux Des contraintes lies la consommation d'nergie, dissipation de chaleur Peuvent tre soumis Des contraintes temps rel (le systme d'exploitation peut aussi tre temps rel)
Prof A.JBARI ASE 20
Prof A.JBARI
ASE
21
Temps rel
Peut tre qualifie de "temps-rel" (ou "temps contraint", ou encore "ractif") toute application mettant en uvre un systme dont le fonctionnement est assujetti l'volution dynamique de l'environnement qui lui est connect et dont il doit contrler le comportement.
rythme de l'interaction
donnes
Systme
mesures vnements
commandes ASE 22
Prof A.JBARI
ASE
23
Perspective dintgration
Prof A.JBARI
ASE
24
Dans les systmes embarqus, les tches concurrentes sont dfinies statiquement Un systme est conu pour un nombre limit de fonctionnalits Elles ne changent pas avec le temps Cela autorise de dimensionner au mieux et doptimiser le systme en fonction de ses besoins
Prof A.JBARI
ASE
25
Prof A.JBARI
ASE
26
C. Architectures de traitement
Prof A.JBARI
ASE
27
Technologie de traitement
Types de technologies: AVANTAGES Cble Programmable rapidit volutive adaptative INCONVENIENTS Non volutive Moins rapide, Moins adapt au contraintes tempsrel
Circuits programmables:
Microprocesseur (INTEL 8086, MOTOROLA 6809, 68000 Microcontrleurs: PIC de Microchip, ATMEL, ST, PSoC de Cypress Automates programmables: Siemens, TELEMECANIQUE, DSP, dsPIC FPGA
Prof A.JBARI ASE 28
Choix de larchitecture
Le choix dune architecture pour les systmes embarqus multimdia doit tre un compromis entre :
Flexibilit. Consommation rduite. Performance. Cot faible. Rapidit de conception ou (Time To Market).
Prof A.JBARI ASE 29
Les diffrents organes du systme sont relis par des voies de communication appeles bus.
Prof A.JBARI ASE 30
Architecture de Harvard
Larchitecture de type Harvard est une conception de microprocesseurs qui spare physiquement la mmoire de donnes et la mmoire programme. Laccs chacune des deux mmoires seffectue via deux bus distincts.
Deux bus utilisation simultane: bus de donnes et bus des instructions excuter. Ce modle est plus rapide que celui de Von Neumann. Le gain en performance est obtenu au dtriment de la complexit interne de la structure
Prof A.JBARI
ASE
31
<100 instructions Format fixe Instructions cbles Accs mmoire pour instr. de chargement. Vitesse typique : 1 instruction dure 1 cycle Avantages Puce plus petite Frquence plus leve Excution plus rapide Inconvnients Compilateur complexe ( dvelopper) Programmes longs (plus de mmoire) Prof A.JBARI
32
Prof A.JBARI
ASE
33
Les fonctionnalits peuvent tre implantes dans des composants logiques programmables de type FPGA (Field Programmable Gate Array). On parle alors de systme SoPC (System on Programmable Chip).
Prof A.JBARI ASE
Les fonctionnalits peuvent tre implantes dans des composants spcifiques de type ASIC (Application Specific Integrated Circuit). On parle alors de Systme sur Silicium SoC (System on Chip).
34
Fonction
Avantages/Inc
Applications
Microcontrleur
FPGA
DSP
PSoC
SOC
Prof A.JBARI
ASE
35
D. Les mmoires
Prof A.JBARI
ASE
36
Mmoire
D7D0
Prof A.JBARI
ASE
37
Prof A.JBARI
ASE
38
Prof A.JBARI
ASE
40
Types de mmoires
les mmoires vives (RAM : Random Access Memory) ou mmoires volatiles. Les mmoires mortes (ROM : Read Only Memory) ou mmoires non volatiles.
SRAM : Static Random Access Memory. Mmoire statique accs alatoire, base de bascules semi-conducteurs deux tats . Avantage : trs rapide, simple dutilisation. Inconvnient : ralisation complique. DRAM : Dynamic RAM. Base sur la charge de condensateurs : condensateur charg = 1, condensateur dcharg = 0. Avantage : intgration leve, faible cot. Inconvnient : ncessite un rafraichissement priodique cause du courant de fuite des condensateurs. Application : ralisation de la mmoire vive des ordinateurs (barrettes mmoire).
Prof A.JBARI ASE
41
E. Le microprocesseur
Prof A.JBARI
ASE
42
Systmes microprocesseur
Bus systme
Le microprocesseur: - organise et synchronisme l'enchanement des tches prcises dans la mmoire programme - analyse le contenu du programme, slectionne, gre et commande les circuits ncessaires l'excution de chaque tche. - prend en compte les informations extrieures au systme: Entres/Sorties -Unit de mmoire: Stocker les donnes de traitement et les programmes excuter -Port dentre: relier le matriel dentre au bus systme (clavier, scanner,camra,) -Port de sortie: relier le bus systme au matriel de sortie (imprimante, carte rseau, modem, cran,) Prof A.JBARI ASE 43
Systmes microprocesseur
Les bus du microprocesseur: Bus: ensemble de signaux lectriques assurant la mme fonction. - Bus d'adresse: unidirectionnel sert envoyer un code d'adresse la mmoire et aux dispositifs extrieurs. - Bus de donne: bidirectionnel transmettre les donnes qui doivent tre traites par le microprocesseur ou un rsultat de traitement. - Bus de commande ou de contrle coordonner tous les changes d'informations dadresse ou de donnes.: validation de la mmoire, validation dun circuit dentre/sortie, viter les conflits de bus lorsque deux lments cherchent communiquer en mme temps.
Prof A.JBARI
ASE
44
Systmes microprocesseur
La multiplication des priphriques autour du microprocesseur oblige la prsence dun dcodeur dadresse charg daiguiller les donnes prsentes sur le bus de donnes. Le microprocesseur communique avec les diffrentes mmoires et les diffrents botier dinterface. Le bus de donnes est partag Un plage dadresse est affect chaque composant Le dcodeur dadresse permet de de fournir les signaux de slection de chacun composant selon le contenu du bus dadresse.
Prof A.JBARI
ASE
45
UAL
Registres
Prof A.JBARI ASE
Bus interne
46
Prof A.JBARI
ASE
47
R0
Rn R E G I S T R E D I N D E X
Registres auxiliaires
SP
PC
ALU
Registre dtat Dcodeur
A C C U M U L A T E U R
Registre dadresses
Unit de commande
Prof A.JBARI
ASE
49
Unit de commande
Compteur ordinal ou Compteur programme: Contient ladresse de linstruction excuter prochainement Registre d'instruction et dcodeur d'instruction: Chacune des instructions excuter est range dans le registre instruction dont le format est 24 bits. Le premier octet ( 8 bits) est toujours le code de l'opration que le dcodeur d'instruction doit identifier. Registre des adresses: registre tampon qui assure l' interfaage entre le microprocesseur et son environnement. Registre de donnes: registre tampon qui assure l'interfaage entre le microprocesseur et son environnement ou inversement. Il conditionne le bus externe ou le bus interne des donnes. Bloc logique de commande: Il organise l'excution des instructions au rythme dune horloge. Il labore tous les signaux de synchronisation internes ou externes (bus des commandes) du microprocesseur . Pointeur de pile ou Stack pointer: C'est un registre compteur de 16 bits qui contient l'adresse du sommet de la pile.
Prof A.JBARI ASE 50
Prof A.JBARI
ASE
51
Unit de traitement
Unit arithmtique et logique: C'est un circuit complexe qui assure les fonctions:
- arithmtiques: addition et soustraction - logiques: ET, OU, OU exclusif - comparaison, dcalage droite ou gauche, incrmentation, dcrmentation, mise 1 ou 0 d'un bit, test de bit. Une UAL est constitue par un certain nombre de circuits tels que: complmenteur, additionneur, dcaleur, portes logiques, ...
Accumulateur: Un accumulateur est un registre de travail de 8 ou 16 bits qui sert stocker une oprande ou le rsultat de l'opration. Registre index Le contenu de ce registre de 16 bits est une adresse. Il est utilis dans le mode d'adressage index. Registres auxiliaires Ils permettent de stocker le rsultat des instructions excuter par lALU. Registre des indicateurs d'tat : prcise ltat interne du microprocesseur ou le rsultat dune opration. Chaque bit sappelle indicateur dtat ou flag ou drapeaux.
Remarque : La plupart des instructions modifient le registre d'tat
Prof A.JBARI ASE 52
La recherche de linstruction traiter. Le dcodage de linstruction. Lexcution de linstruction. Chargement du rsultat Pour plus de dtails
1- Lit instruction suivante (UC) Bus Adresse PC Bus Commande Lire instruction RI Bus Donne 2- Incrmente compteur ordinal (UC) PC PC + taille(RI) 5- Transfert donnes UAL (UC) UAL.1 A UAL.2 tmp UAL.RI addition
6- UAL calcule opration (UAL) Activation de ladditionneur intgral UAL tmp 7- UC range rsultat (UC) A tmp
3- Dcode Instruction ex: Add A,(123) (UC) A A + contenu @123. 4- Lit donnes (facultatif) (UC) Bus A 123 Bus C lire donne tmp Bus D Prof A.JBARI
ASE 53
IF
ID
EX
MEM
WB
54
IF
ID
EX
MEM
WB
Prof A.JBARI
ASE
Architecture superscalaire
Un processeur est dit scalaire s'il ne traite qu'une seule donne la fois. Il est superscalaire si, grce son architecture paralllise, il est capable d'en traiter plusieurs. Les processeurs scalaires sont parfois mis en opposition avec les processeurs vectoriels. Exemple dexcution de 10 instructions:
Squenage des instructions dans un processeur superscalaire de degr 2. Il faut 9 cycles pour excuter 10 instructions. t = 5, toutes les units du processeur sont sollicites.
Prof A.JBARI ASE 57
Architecture vectorielle
Un processeur vectoriel est un processeur conu pour excuter des oprations sur les vecteurs plutt que les nombres simples. Sur de tels processeurs, une instruction va s'appliquer un ensemble de donnes, appel vecteur. Ils sont surtout utiliss pour le calcul intensif sur supercalculateur (ou superordinateurs comme les Cray). Leur architecture est base sur les pipelines :
Une instruction vectorielle excute la mme opration sur toutes les donnes (vecteur) sur laquelle elle est applique.
58 Prof A.JBARI ASE
Interruptions
Fonction: signal lectrique externe indiquant un vnement dun traitement prioritaire. - Si linterruption se dclenche, le processeur bloque le programme en cours dexcution et se branche vers le sous programme de traitement de linterruption. - Le vecteur dinterruption est une case mmoire contenant les adresses des SPGM de traitement dinterruption.
Microprocesseur 8086: NMI et INTR : entres de demande dinterruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire. INTA : Interrupt Acknowledge (sortie), indique que le microprocesseur accepte linterruption. Traitement dune interruption NMI INTR Microprocesseur 8086 Empilage de IP Charger IP par ladresse du SPGM de traitement de linterruption Excution du SPGM Dpilage de IP Retour vers le programme appelant Le vecteur dinterruption contient ladresse du sous programme dinterruption.
Prof A.JBARI ASE 60
INTA
Organisation multiniveaux
Interprtation(microprogramme ou excution )
Matriel
F. Le microcontrleur
Prof A.JBARI
ASE
62
Exemples :
lectromnager : lave-vaisselle, lave-linge, aspirateurs, Automobile : botier dinjection, bote de vitesse automatique, automatisation des accessoires (essuie-glace, phares, ), assistance la conduite (freinage, anti-patinage, ), Domotique : thermostat, simulateur de prsence, alarme Robotique : robots autonomes Multimdia : TV, lecteur/enregistreur DVD, camescope, Prof A.JBARI ASE 63
le contrleur
Unit de contrle
Unit arithmtique et logique Instructions Donnes Rsultats
Unit dchange
= processeur
Prof A.JBARI ASE
= contrleur
65
Le contrleur
Microcontrleur = systme complet sur une seule puce Composants rajouter pour fonctionner :
Un oscillateur (ventuellement), Une alimentation (rgulateur de tension).
Prof A.JBARI
ASE
67
Les contrleurs ST
Prof A.JBARI
ASE
68
ST et l'automobile
Prof A.JBARI
ASE
69
ST et l'lectromnager
Prof A.JBARI
ASE
70
Prof A.JBARI
ASE
71
Prof A.JBARI
ASE
72
Prof A.JBARI
ASE
73
Filtre dentre : limiter la bande de frquence du signal trait (gnralement de type passebas). ADC : effectue la conversion analogique-numrique des chantillons du signal filtr. Traitement numrique : excute les fonctions de traitement du signal (filtrage, analyse spectrale, codage, ) DAC : circuit de conversion numrique-analogique des valeurs numriques fournies par les diffrents blocs de traitement numrique du signal. Filtre de sortie : filtre passe-bas pour supprimer les composantes rsiduelles situes en dehors du spectre utile.
Prof A.JBARI ASE 74
Prof A.JBARI
ASE
75
Fabricants
Les principaux fabricants de DSP sont : Texas Instruments Analog Devices Motorola Zilog Lucent Nec Zoran Zsp
Prof A.JBARI
Microchip
ASE
76
Processor Architectures
Prof A.JBARI
ASE
77
Unit MAC
Unit de base: unit de calcul multiplicateur / additionneur / accumulateur de donnes. Fonction : effectuer lopration de base en un seul cycle dhorloge.
O X et Y sont soit des donnes, soit des constantes et R une donne, une constante ou un rsultat prcdent. MR est alors le rsultat de l'opration arithmtique.
Prof A.JBARI
ASE
78
Prof A.JBARI
ASE
79
Classification
Selon la reprsentation des nombres: Les DSP virgule fixe : Les donnes sont reprsentes comme tant des nombres fractionnaires virgule fixe, (exemple -1.0 +1.0), ou comme des entiers classiques. Exemple: TMS320C25 (Nombre sur 16 bits Les DSP virgule flottante : les donnes sont reprsentes en utilisant une mantisse et un exposant. La reprsentation de ces nombres seffectue selon la formule suivante : n = mantisse x 2 exposant. Exemple: TMS320C30 (Nombre sur 32bits)
Prof A.JBARI
ASE
80
Comparaison de DSP
Prof A.JBARI
ASE
81
Applications
Tlcommunications : Modem, multiplexeurs, rcepteurs de numrotation DTMF, codeurs de parole GMS, Interfaces vocales : Codeur vocaux, reconnaissance automatique de la parole, synthse vocale Militaire : Guidage missiles, navigation, communications crypte, radar, Multimdias et grand public : Compression des signaux audio (CD), compression des images, cartes multimdias pour PC, synthse musicale, jeux, Mdical : Compression dimage mdicale (IRM, chographie), traitements des signaux biophysiques (ECG, EEG,), .... Electronique automobile : Equipement de contrle moteur, aide la navigation, commande vocale, Automatisation et contrle de processus, Instrumentation ,
Prof A.JBARI
ASE
82
Des bus spcialiss pour les priphriques : SCSI (Small Computer System Interface) : divers priphriques AGP (Accelerated Graphical Port) : cran PCMIA (Personal Computer Memory Card International Association) : portables USB (Universal Serial Bus).
Prof A.JBARI ASE 83
Prof A.JBARI
ASE
84
Prof A.JBARI
ASE
85
Raliser des fonctions non prvues par les fabricants de circuits. Augmenter et faciliter lintgration de composants logiques dans un botier. Cela permet de rduire la taille des cartes, mme pour de petites sries (jusqu 25%). Rduire le temps de dveloppement des applications par lemploi de la simulation. Dvelopper la flexibilit des applications et donc faciliter leur maintenance. Rduire le nombre de composants garder en stock.
Prof A.JBARI
ASE
86
Types de circuits
Prof A.JBARI
ASE
87
Convention de notation
Une croix, une intersection, indique la prsence d'une connexion fusible non claqu. L'absence de croix signifie que le fusible est claqu. Exemples
Prof A.JBARI
ASE
88
Prof A.JBARI
ASE
89
FPGA architecture
FPGA: Field Programmable Gate Array Avantages: - Densite trs eleve : une matrice de cellules logiques dans un ocan de ressources d'interconnexions diverses ; - plus versatile que les SPLDs et CPLDs ; - plus approprie en logique sequentielle puisqu'ils contiennent beaucoup plus de bascules que les CPLDs.
Prof A.JBARI
ASE
90
Prof A.JBARI
ASE
91
Prof A.JBARI
ASE
92
Kit SPARATN 3E
Circuit FPGA
Prof A.JBARI
ASE
93
FPGA de XILINX
Features: Very low cost, high-performance logic solution for high-volume, consumeroriented applications Wide frequency range (5 MHz to over 300 MHz) Multi-voltage, multi-standard SelectIO interface pins - 3.3V low-voltage TTL (LVTTL) - Low-voltage CMOS (LVCMOS) at 3.3V, 2.5V, 1.8V,1.5V, or 1.2V
Prof A.JBARI ASE 94
Prof A.JBARI
ASE
95
Prof A.JBARI
ASE
96
Besoins techniques: Mini ordinateur (interface utilisateur) Pilotage de disque dur, lecteur/graveur DVD Fonctions graphiques (compositions, zoom, curseur...) Encodage/dcodage vido (MPEG2, MPEG2 HD, MPEG 4, H264...) Encodage/dcodage audio (PCM, AC3, AAC, MP3...) Priphriques (IEEE 1394, S/PDIF, HDMI...)
Prof A.JBARI
ASE
97
CPU (Central Processing Unit) : processeur gnraux Fonctions : contrle, interface utilisateur, traitements lgers Exemples : ARM9, ST20, SH4, ... DSP (Digital Signal Processor) I Fonctions : Traitement du signal, calculs complexes I Exemples : Ti TMS320C55x, etc. Processeurs VLIW (Very Long Instruction Word) Fonctions : traitement multimdia Exemples : ST210... Supports de la partie logicielle du systme
Prof A.JBARI
ASE
98
Prof A.JBARI
ASE
99
Composants utilitaires
DMAC (Direct Memory Access Controller) - Transferts mmoires/mmoires, mmoires/priphriques - Dcharge le CPU (pas dattente lie aux transferts) Timer, RTC (Real-Time Clock) - Mesure de lcoulement du temps Utilisations : -Contrle du nb dimages par secondes -Programmation de dlais dexpiration -Utilisation par OS Temps Rel Contrleur dinterruptions (ITC) -Centralisation de tous les signaux dinterruptions -Informations sur lmetteur de linterruption
Prof A.JBARI
ASE
100
Entres/Sorties
GPIO (General Purpose Inputs/Outputs) Programmation/lectures de broches du circuit Utilisation : lectures de boutons, clavier simple Composants ports srie UART (Universal Asynchronous Receiver/Transmitter) : port RS232 SSP (Synchronous Serial Port) : port srie haute vitesse Utilisation : branchement de composants externes, debuggage Contrleurs LCD (numrique) Pilotage de bus de priphriques : IDE/ATA: Disque dur interne, DVD USB: Host : branchement de priphriques externes Peripheral : branchement un ordinateur IEEE 1394 aka FireWire (camescopes numriques, ...) F Camescopes numriques F Liaisons haute vitesse Composants RF : Bluetooth, GPS, GSM...
Prof A.JBARI ASE 101
Composants analogiques
Gnrations dhorloges, reset... ADC, DAC (Analog/Digital Converter) : entres/sorties analogiques Audio, Vido, Commandes dactionneurs, Capteurs
Prof A.JBARI
ASE
102
Prof A.JBARI
ASE
103
Densit dintgration
L'chelle d'intgration dfinit le nombre de portes par botier : SSI (small scale integration) petite : infrieur 12 MSI (medium) moyenne : 12 99 LSI (large) grande : 100 9 999 VLSI (very large) trs grande : 10 000 99 999 ULSI (ultra large) ultra grande : 100 000
Exemple de circuits VLSI
Ces distinctions ont peu peu perdu de leur utilit avec la croissance exponentielle du nombre de portes. Aujourd'hui plusieurs centaines de millions de transistors (plusieurs dizaines de millions de portes) reprsentent un chiffre normal (pour un microprocesseur ou un circuit intgr graphique haut de gamme). Ncessit dun flot de conception complexe.
Prof A.JBARI ASE
WAFER de fabrication
104
Chip Packaging
Prof A.JBARI
ASE
105