You are on page 1of 53

Facult des sciences-Rabat Master Informatique et Tlcommunications Anne universitaire: 2011-2012

Module : Systmes embarqus Elment: Architecture des systmes embarqus

Prof: A. JBARI Professeur Agrg en Gnie Electrique (ENSET-RABAT)

ASE

Description du module: Systmes embarqus


Objectif gnral: Intgrer les traitements dans un systme embarqu. PRE-REQUIS PEDAGOGIQUES: Langage de programmation C ; Programmation Oriente Objet C++ ; Systme dexploitation Linux ; Notions de rseaux informatiques.

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.

Dure de la formation: 10 sances, 3h par sance.


Mthodes pdagogiques: cours, TD et travaux pratiques (simulation ou sur cartes)

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

A. Dfinition et exemples de systmes embarqus

Prof A.JBARI

ASE

Application N1 Conception dun systme embarqu pour la gestion routire

Prof A.JBARI

ASE

Application N2: Mesure du niveau de carburant

Utilisation de capteurs capacitifs

Prof A.JBARI

ASE

Comment calculer le niveau du carburant partir de la variation des capacits des condensateurs immergs dans les rservoirs ?
7

Application N2: Mesure du niveau de carburant

Prof A.JBARI

ASE

Application N3: Electrocardiogramme


La propagation de lactivit cardiaque provoque lapparition de diffrences de potentiels la surface du corps, dont lenregistrement donne lECG;

Comment produire un signal utile avec une amplitude significative et sans composantes parasites (secteur 50Hz par exemple) ?

Prof A.JBARI

ASE

Application N3: Electrocardiogramme

Chaine dacquisition et de traitement du signal ECG

Prof A.JBARI

ASE

10

Application N4: AUTOMATISATION DUNE INSTALLATION SOLAIRE


Le systme photovoltaque: -Mise en forme lnergie capte par les modules photovoltaques selon les diffrents types dapplications - assurer loptimisation dutilisation (continu, alternatif) et de stockage

Prof A.JBARI

ASE

11

Application N4: Diagramme fonctionnel du dispositif doptimisation

Prof A.JBARI

ASE

12

Application N 5: Contrles embarqus dinstallations ferroviaires


Objectif: Mesurer la gomtrie et lusure de la catnaire et dtecter les objets parasites sans perturber le trafic du Rseau Express Rgional (RER); Solution: Deux camras linaires mesurent par strovision lusure et la position des fils de contact. Simultanment, des capteurs balayage LASER dtectent la prsence dventuels objets parasites

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

Domaines dapplication tendu Transports


Scurit, fiabilit (certification) Temps rel,

Mdical Militaire .
Prof A.JBARI ASE 15

Domaines dapplication tendu

Tlcommunications
Disponibilit, qualit de service Dissipation de chaleur,

Electronique grand public


Cots dterminants Consommation d'nergie Evolution rapide,
Prof A.JBARI ASE 16

Exemple Tlphone mobile

Prof A.JBARI

ASE

17

B. Caractristiques, Contraintes et Intgration

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)

Des mthodes de conception et de validation spcifiques doivent leur tre associes


Prof A.JBARI ASE 19

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

Caractristiques dun systme embarqu


Les caractristiques principales dun systme lectronique embarqu sont : Autonomes: Une fois enfouis dans lapplication il ne sont (le plus souvent) plus accessibles. Temps rel: Les temps de rponses de ces systmes sont aussi importants que lexactitude des rsultats. Ractifs: Il doit ragir larrive dinformations extrieures non prvues.

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

Environnement (ex : une chane de production, une raction chimique)

temps de rponse impos par la dynamique de l'environnement


Prof A.JBARI

commandes ASE 22

Systmes embarqus temps rel

Prof A.JBARI

ASE

23

Perspective dintgration

Systme sur puce

Prof A.JBARI

ASE

24

Diffrence par rapport linformatique gnrale

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

Diffrence par rapport linformatique gnrale

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

Architecture de VON NEUMANN


Le mathmaticien John Von Neumann a propos un modle de machine universelle de traitement programm de linformation (1946). Cette architecture sert de base la plupart des systmes microprocesseur actuel. Elle est compos des lments suivants :

une unit centrale une mmoire principale des interfaces dentres/sorties

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

Les architectures de conception CISC et RISC


Architecture RISC: Architecture jeu dinstruction rduit (Reduced Instruction Set Computer):
Architecture CISC : Architecture Set Computer) RISC

jeu dinstruction complexe(Complex Instruction


CISC >200 instructions Format variable Instructions simples cbles complexes par micro-code Accs mmoire pour toutes instructions Vitesse typique : 1 instruction dure 3-10 cycles Avantages Dveloppement plus simple Trs rpandu Inconvnients Puce plus grosse Puce plus complique volutions limites Plusieurs cycles ASE par instruction

<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

Les architectures de conception CISC et RISC


Prciser le type d'architecture correspondante: CISC Demande plus de mmoire .. L'excution d'une instruction dure au maximum 2 cycles d'horloge .. Architecture utilise dans les processeurs: P4, Intel Core 2 DUO .. Adapte aux applications temps-rel .. Les instructions sont complexes .. .. L'excution d'une instruction peut durer 10 cycles d'horloge .. Pour la mme taille du programme, l'excution est toujours plus .. rapide La plupart des instructions sont cbles .. Peut tre utilise dans un systme de contrle d'nergie solaire .. Compilation simple du programme .. Programmation assembleur complexe .. Peut intgrer l'instruction suivante ADD R1,R2, R3 RISC x .. .. .. .. .. .. .. .. .. .. .. ..

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

Prof A.JBARI

ASE

33

Quel Matriel utilis?


SOPC ou SOC

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

Tableau comparatif des circuits de traitement Circuit


Microprocesseur

Fonction

Avantages/Inc

Applications

Microcontrleur

FPGA

DSP

PSoC

SOC

Prof A.JBARI

ASE

35

D. Les mmoires

Prof A.JBARI

ASE

36

Les mmoires: fonction


Signaux de CS contrle R/ W Bus dadresse A11A0 Bus de donnes

Mmoire

D7D0

Le signal CS (chip select) permet de slectionner (CS= 0) le boitier (circuit).

Prof A.JBARI

ASE

37

Les mmoires: organisation


La mmoire est organise en cellules (ou cases mmoires). Chaque cellule mmoire possde une adresse et peut contenir une donne, sur un ou plusieurs bits.

Prof A.JBARI

ASE

38

Les mmoires: exemple de mmoire

Synoptique de la mmoire HM6264A


Prof A.JBARI ASE 39

Les mmoires: caractristiques


1- La capacit : nombre total de bits qui peuvent y tre stocks ; exprime en octet. 1 Octet = 8 bits 1 Kilo-octet = 1024 octets=210 1 Mga-octet (Mo) = 1024 Ko=220 1 Gega-octet (Go) = 1024 Mo=230

Capacit = 2n * m bits = 2n * m/8 Octets.


2- lorganisation, cest--dire le format du mot stock et partir de l, le nombre total de mots stockables. 3- la rapidit : temps daccs de lecture, temps dcriture

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

Architecture interne et fonctionnement du microprocesseur


Un microprocesseur est construit autour de trois lments principaux: - Une unit de commande (UC) : permet de "squencer" le droulement des instructions. Elle effectue la recherche en mmoire de l'instruction, le dcodage, l'excution et la prparation de l'instruction suivante - Unit de traitement (UT): unit arithmtique et logique (UAL ou ALU) Cette unit regroupe les circuits qui assurent les traitements ncessaires l'excution des instructions. -Des registres: stockage temporaire de donnes ou des oprandes Les diffrents blocs sont relis par un bus interne

UAL

Unit de commande Bus externe

Registres
Prof A.JBARI ASE

Bus interne

46

Architecture interne du microprocesseur

Prof A.JBARI

ASE

47

Architecture interne et fonctionnement du microprocesseur


BUS DE DONNEES
Bus interne de donnes Registre de donnes

R0

Rn R E G I S T R E D I N D E X

Registres auxiliaires

Registre dinstruction Code Op. Adresse

SP

PC

ALU
Registre dtat Dcodeur

A C C U M U L A T E U R

Bus interne dadresses Signaux internes de commande

BLOC LOGIQUE DE COMMANDE

Registre dadresses

Horloge Prof A.JBARI ASE

Bus de commande BUS DADRESSES 48

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

Unit de traitement et chemin de donnes

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

Cycle dexcution dune instruction


Lexcution dune instruction se dcompose en trois phases qui sont :

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

Architectures : Architecture standard


Soit un processeur o 5 cycles sont ncessaires pour accomplir une instruction: 1.IF (Instruction Fetch) charge l'instruction excuter dans le pipeline. 2.ID (Instruction Decode) dcode l'instruction et adresse les registres. 3.EX (Execute) excute l'instruction (par la ou les units arithmtiques et logiques). 4.MEM (Memory), dnote un transfert depuis un registre vers la mmoire dans le cas d'une instruction du type STORE (accs en criture) et de la mmoire vers un registre dans le cas d'un LOAD (accs en lecture). 5.WB (Write Back) stocke le rsultat dans un registre. La source peut tre la mmoire ou bien un registre.

Dans larchitecture standard :5 tages


IF ID EX MEM WB 1cycle dhorloge/tage

IF

ID

EX

MEM

WB

Prof A.JBARI Lexcution

ASE de 10 instructions demande 50 cycles dhorloge!

54

Architectures avances: pipeline


un pipeline est une technique de conception des processeurs o l'excution des instructions est dcoupe en tages, et o un instant donn, chaque tage peut excuter une instruction. Architecture pipeline: 5 tages
IF ID IF EX ID IF MEM EX ID WB MEM EX WB MEM WB 1cycle dhorloge/tage

IF

ID

EX

MEM

WB

Lexcution de 10 instructions demande 14 cycles dhorloge


Prof A.JBARI ASE 55

Architectures avances: super-pipeline


Certaines architectures ont largement augment le nombre d'tages, celui-ci pouvant aller jusqu' 31 pour la microarchitecture Prescott d'Intel. Une telle architecture sera appele superpipeline. Le Pentium 4 d'Intel est superpipelin avec un pipeline 20 tages.
Processeur Intel Pentium 4 Prescott Intel Pentium 4 AMD K10 Intel Core 2 Duo Intel Pentium II Intel Pentium III AMD Athlon IBM Power4 IBM Power5 Sun UltraSPARC IIi et UltraSPARC IV Profondeur du pipeline 31 20 16 14 14 10 10 12 16 14 56

Le Pentium 4 d'Intel est superpipelin avec un pipeline 20 tages.

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

Caractristiques d'un microprocesseur


Un processeur est caractris par:
Capacit d'adressage (largeur du bus dadresse) Largeur du bus de donnes (8bits, 16bits, 32bits, 64bits,) La taille de ses registres (8, 16, 32, 64, 128 bits) Vitesse dexcution : exprim en MIPS (Millons dinstruction par seconde) ou par la frquence dhorloge (1GHz, 2GHz, 3GHz,) Jeu dinstructions dpendant de la famille (CISC, RISC etc) Microarchitecture interne (single core, dual core, intel core, intel core 2 DUO,). Puissance consomme.
Prof A.JBARI ASE 59

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

Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau 1 Niveau 0


Prof A.JBARI

Couche Langage dapplication


Traduction (compilation)

Couche Langage dassemblage


Traduction (assemblage)

Couche Systme dapplication


Interprtation partielle (OS)

Couche Architecture du jeu dinstruction (ISA) Couche Microarchitecture

Interprtation(microprogramme ou excution )

Matriel

Couche Logique numrique


ASE 61

F. Le microcontrleur

Prof A.JBARI

ASE

62

le microcontrleur Pourqoui le microcontroleur?: Besoin pour lembarqu ou embedded


d'utilisation de machines de traitement des donnes

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 microcontrleur Caractristiques spcifiques :


Puissance de traitement limit Capacit mmoire raisonnable Encombrement rduit Consommation lectrique faible Contraintes denvironnement importantes Communication avec lextrieur (capteurs, actionneurs, ) Cot de srie faible

Apparition des microcontrleurs


Prof A.JBARI ASE 64

le contrleur
Unit de contrle
Unit arithmtique et logique Instructions Donnes Rsultats

Mmoire centrale (ou principale)

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).

Interfaage avec le monde extrieur :


en entre, les capteurs via les conditionneurs , en sortie, les actionneurs via des CNA et des amplis, ou des PWM, en interne, avec d'autres CPU via des liaisons (RS 232, bus I2C, bus CAN, )
Prof A.JBARI ASE 66

Exemple : la carte ISEN-Toulon


contrleur

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

Le PIC 18F4520: Description physique

Prof A.JBARI

ASE

71

Caractristiques des PICs 18Fxxxx

Prof A.JBARI

ASE

72

G. Le Processeur de Traitement de signal (DSP: Digital Signal Processor)

Prof A.JBARI

ASE

73

Chaine de traitement numrique

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

Besoin dun DSP

Place du DSP vis--vis des autres processeurs

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

Architecture typique dun DSP

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

Contrle des entres/sorties


Echange dinformation par des bus

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

Contrle des entres/sorties

Contrle par scrutation / Contrle par interruption

Transfert direct (DMA : Direct Memory Access)

Prof A.JBARI

ASE

84

H. Circuits Numriques Programmables

Prof A.JBARI

ASE

85

Intrt des composants programmables

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

Connexion par Transistor MOS


Transistor MOS double grille

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

FPGA de type RAM

Prof A.JBARI

ASE

91

Xilinx XC4000 Configurable Logic Block (CLB)

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

I. Les SOC (System on chip)

Prof A.JBARI

ASE

95

Les SOC: Exemples dapplication


SOC (System On Chip) : circuit ralis sur mesure en vue dintgrer des traitements donns. Cest une ralisation optimale dun systme embarqu. iPod: SoC : PP5002 (Portal Player) Dcodeur satellite CDVB2300B SoC : STi5518 (STMicroelectronics)

Prof A.JBARI

ASE

96

Les SOC: Exemples dapplication


Tlvision numrique: Lecteurs/Enregistreurs DVD Dmodulateurs Satellite, Dcodeurs TNT (set-top boxes) Tlvision Haute-dfinition (HD-TV)

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

Les composants dun SOC: Les processeurs

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

Les composants dun SOC: Les mmoires


ROM, RAM, Flash... Souvent hors du SoC Dans la puce : Contrleur(s) mmoires Petites mmoires internes Mmoires caches, fifo (tampons/files dattente) Fonctions Stockage temporaire (RAM) Programme interne (ROM), possibilit de mise jour (Flash) Stockage (Flash)

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

Exemple : PDA GPS

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