Académique Documents
Professionnel Documents
Culture Documents
Introduction
Un systme embarqu dispose dune architecture semblable celle
des ordinateurs standards
On y retrouve les mmes composants :
Un processeur
De la mmoire
Des dispositifs dentre/sortie
Ces lments sont interconnects entre eux travers des bus
Processe
ur
Mmoire
Bus
Vue simplifie
E/S
E/S
Les mmoires
Dans un systme embarqu on y retrouve plusieurs types de mmoires
quon peut classer selon diffrents critres
Les mmoires non volatiles
ROM
PROM
EPROM
EEPROM
FLASH
Les mmoires volatiles
SRAM
DRAM
SDRAM
DDR-SDRAM
Toutes ces mmoires sont accs alatoire.
Elle existe en gnral sous une petite taille dans un systme embarqu.
Elle contient le programme de dmarrage du systme (bootstrap) et
ventuellement quelques donnes initiales
Le rle principal de ce programme est de charger lapplication (ou
un autre programme de dmarrage plus sophistiqu) depuis une
source bien dtermine. (en gnral depuis la mmoire flash dans
unLasystme
embarqu)
ROM nest
accessible quen lecture seule et son temps daccs
est plus lent que les RAM
PROM (Programmable Read Only Memory)
Cest des ROM vierges quon peut programmer une seule fois
Une fois programmes, il nest plus possible de les reprogrammer
EPROM (Erasable Programmable Read Only Memory)
Utilises souvent durant les phases de dveloppement des
Ces mmoires peuvent tre effaces et rcrites en utilisant des
bootstrap
dispositifs
Lecriturespcifiques
peut se faire sur une ligne spcifique de lEPROM (en
appliquand une tension spcifique (+12 V). Leffacement se fait sur
toute la mmoire (en lexposant aux rayons ultraviolets)
Leffacement rpt finit par endommager la mmoire. Elle nest pas
donc conseille dans les systmes finaux.
LES RAMs
La mmoire SRAM
Slection du
mot
Bit
Bit
Lecture
La mmoire DRAM
Colonne
ligne
Les priphriques
dentres/sorties
Tout comme les
ordinateurs conventionnels, les systmes
embarqus disposent dun ensemble de priphriques
dentres/sorties permettant au processeur de dialoguer avec
lenvironnement
extrieur
Les priphriques
des systmes embarqus sont plus nombreux
et plus varis que les ordinateurs classiques
Les priphriques dialoguent avec le processeur laide
dintrfaces dentres/sortie
On y retrouve gnralement comme interface
Des contrleurs audio, vido, rseau, etc
Des ports dentres sortie usage gnral pour interfacer des
dispositifs
Des portsexternes
srie pour interfacer les quipements en mode srie,
UART, USB, SSP, I2C, etc
Des convertisseurs analogiques/ numriques (CANs) intrfaant
des
capteurs
Des
Timers/compteurs pour des applications temps rel
Dispositifs dentres/sorties
Les priphriques dentres/sorties sont trs varis et fonctionnent de
manire diffrentes
Les processeurs, par contre, peuvent uniquement crire sur le bus
ou
lire rduire
du bus cet cart, on utilise des dispositifs dentres/sorties pour
Pour
relier le priphrique au processeur
Le dispositif dentres/sortie est une interface entre le priphrique et le
processeur
Il interprte les commandes du processeur et les transforme en
commandes spcifiques du priphrique
Chaque priphrique ncessite en gnral un dispositif particulier
dentres/sorties
Un dispositif dentres/sorties peut sadapter plusieurs priphriques
diffrents
Un mme dispositif dentres/sorties peut connecter la fois plusieurs
priphriques diffrents
Le registre de donnes
Les bus
ous les lments dun systme embarqu sont interconnects travers des bus
Un bus est une collection de fils vhiculant des informations entre le
processeur, la mmoire et les priphriques
On distingue en gnral trois bus:
Le bus de donnes
Vhiculant les donnes
bidirectionnel
Le bus dadresses
Vhiculant ladresse de la location mmoire ou du priphrique
Unidirectionnel
Le bus de commande
Vhiculant la commande effectuer (lecture, ecriture)
Fournit dautres informations de contrle
Horloge
Taille de linformation (octet, demi-mot, mot)
.
Interconnexion processeur-mmoire
En prsence de multiples banc mmoire (ROM, SRAM, DRAM, etc),
une logique de rpartition de lespace dadressage est ncessaire
Cette rpartition (dite aussi mappage) est ralise en utilisant des
lignes du bus dadresses et ventuellement un dcodeur
Le bus de donnes, quand lui est reli aux bus de donnes de
tous les bancs
Exemple
Soit un microcontrleur avec un bus de donnes de 8 bits et un bus
dadresse de 16 bits. On souhaite lui connecter un module ROM de 2 KO
et 2 modules RAM de 4 KO chacun. la taille du bus de donnes des RAM
est 8Proposez
bits
un mappage adquat en mettant la ROM dans lespace
des adresses basses
Taille du bus de donnes des mmoire = 8 bits
Taille du bus dadresse de la ROM = 11 bits car 211 = 2K
Taille du bus dadresse de chaque RAM = 12 bits car 212 = 4K
Interconnexion processeur-mmoire
Exemple
Modul
e
Bus dadresse
A15
A14
A13
A12
0
ROM
A11
A10 A9 A8 A7 A6 A5 A4 A3 A2
A1 A0
Taille
0 0 0
0 0
1 1 1
1 1
0 0 0
0 0
1 1 1
1 1
0 0 0
0 0
0 0
0
0
0
0
0
0
Rserv
1 1 1
0
0 0
1
0
0
0
0
0
RAM1
1
0
1
0
1 1 1
0
1
0
1
1
1 1 1
1 1
0 0 0
0x080
0
2K
0x0FF
F
0 0
4K
1
0
0x000
0
(2K)
0x07F
F
1
0
1 1 1
0
0 0
Interconnexion processeur-mmoire
Exemple
On utilisera les bits dadresses de poids forts pour crer des lignes de slection
0xFFFF
Rserv,
52K
0x3000
0x2FFF
CS
RAM2, 4K
0x2000
CSRAM2
0x1FFF
CS
RAM1, 4K
0x1000
CSRAM1
Rserv, 2K
CSROM
CS
ROM, 2K
0x0FFF
0x0800
0x07FF
0x0000
Interconnexion processeurEntres/Sorties
Il existe deux technologies dinterfaage des entres/sorties
Les entres/sorties isoles
Le processeur dispose de deux bus
-- Un bus pour la mmoire
-- Un autre bus pour les entres/sorties
RAM
ROM
E/S
E/S
Bus E/S
Processe
ur
Bus mmoire
E/S
Le processeur dispose dinstructions spcifiques pour chaque accs
-- Load et Store pour laccs la mmoire
-- IN et OUT pour laccs aux entres/sorties
RAM
ROM
Bus mmoire
E/S
E/S
quun
seul bus
Simplicit
dutilisation car on accde aux entres/sorties comme on
accde de
la mappage
mmoire
Exemple
Soit un contrleur daffichage pouvant interfacer un cran pour
afficher du texte. Ce contrleur dispose dun ensemble de registres
Un registre DATA pour fournir le caractre afficher
Un registre POS pour fournir la position de lcran o afficher le caractre
Un registre de commande (Ecriture ou effacement)
Adresse
Registre
Un registre dtat
A1 A0
A0
A1
CS
Contrle
ur
dafficha
ge
Interfa
ce
cran
DATA
POS
1
0
Command
Bus de
e
donn
1
1
Etat
es
Donner un schma de mappage du contrleur vers les adresses les plus haut
Donnez les adresse des 4 registres en fonction de ce mappage
Ecrire un programme ARM permettant dafficher le caractre A la positio
A0
A1
CS
Contrleu
r
dafficha
ge
RDATA
equ 0xFFFC ; adresse du registre DATA
RPOS equ 0xFFFD ; adresse du registre POS
RCOMequ 0xFFFE ; adresse du registre commande
RETAT
equ 0xFFFF ; adresse du registre tat
; afficher un A la position 0
; crire le code du car dans le registre DATA
ldr R0, =RDATA
mov R1, code_ascii_A
str R1, [R0]
; donner la position du car dans le registre POS
ldr R0, =POS
mov R1, #0
str R1, [R0]
ldr R0, =RCOM
; commande dcriture
mov R1, #Code_de_la_commande_daffichage
str R1, [R0]
Zone
mmoire
du
contrleu
r
0xFFFF
0xFFFC
Autre
espace
mmoire
0x0000
Environnements multi-bus
performances
dules
systme
Pour maintenir
performances du processeur tout en interfaant des
priphriques lents, on peut utiliser plusieurs bus.
Un bus systme pour le processeur et la mmoire
Un bus externe pour les priphriques
Pour relier les deux bus, on utilise un circuit spcial dit Bridge qui
adapte les signaux des deux bus
Le processeur accde aux priphriques de la mme faon quavant.
Le Bridge lui adapte les signaux, mmorise les info et insre des cycles
dattente
Mmoir
E/S
E/S
e
Processe
ur
Bus systme
Bridge
Bus
priphriques
Accs direct la
Certains priphriques
manipulent de grands volumes dinformation
mmoire(DMA)
(comme les priphriques, vidos, audio, rseau, disques durs, etc)
Si le processeur doit grer lui-mme ces transferts, il passera beaucoup
de temps effectuer des lectures/critures entre la mmoire et les
priphriques
Le transfert dun bloc de 100 KO ncessite 25600 instructions de
lecture et 25600 instructions dcriture
Pour palier cela, la technique daccs direct la mmoire est utilise
Un circuit spcifique dit DMAC (DMA Contrller) est ajout au systme
Ce circuit remplace le processeur dans les oprations transfert de
donnes dune source la destination
Les oprations quun contrleur DMA peut effectuer sont :
Transfert dune zone mmoire vers un priphrique
Transfert dun priphrique vers une zone mmoire
Transfert dune zone mmoire vers une autre
Transfert dun priphrique vers un autre
Pendant que le DMAC effectue le transfert, il doit prendre le contrle du
bus. Le processeur doit donc librer le bus en le mettant en haute
impdance
Pendant le transfert DMA, le processeur na pas accs la mmoire. Ceci
ne pose pas de grands problmes dans la mesure ou la plupart du temps il
en a pas besoin (les instructions sont dans le cache et les donnes dans les
registres)
Accs direct la
mmoire(DMA)
Un nouvelest
lment
rentre en jeu. Cet lment est dit arbitre du bus
Larbitre du bus reoit toutes les demandes HOLD des master (mme
celle du processeur quand il veut accder la mmoire) et rserve le bus
pour un dentre eux en fonction de la politique darbitrage utilise
Normes de bus
n bus nest pas quune collection de fil mais il est dfinit par plusieurs caractris
Le nombre de bits du bus dadresse
Le nombre de bits du bus de donnes
Le nombre de bits du bus de commande
Rgles dacomplissement des transactions, Rgles darbitrage
Synchrone ou asynchrone
Dbit, Vitesse, etc.
AMBA (exemples)
ARBITER
ARM7TDMI
DECODER
RADIO
I/F
SMC
TIC
AHB
DMA
APB
POWER &
CLOCK
CONTROL
SHARED
MEMORY
CONTROLLER
GPIO
PIC
SPEECH
I/F
LMC
SHARED
MEMORY
PLL
CLOCKS
WATCH
DOG
BRIDGE
text
TIMERS
UART
ADC
DAP I/F
UART
ACI USB
System On Chip
Un systme On Chip ou SoC est un circuit intgr contenant un
ensemble dlements (processeurs, mmoires, entres/sorties)
interconnects pour raliser une fonction (ou un type de fonctions)
spcifique
Cest un circuit plus spcialis quun microcontrleur classique
Puce tlphonique
Systme dacquisition intgr
Systme intgr pour ordinateur de bord,
etc.
Un Systme On Chip peut tre conu de faon personnalise en
utilisant les technologies dintgration actuelles
ASIC
FPGA
etc
Les lments dun SoC peuvent galement tre conus et interfacs de
faon personnaliss. Ils sont dits IP (Intellectual Property)
Les exemples de la diapositive prcdente sont en ralit des SoC
LPC32x0
Les SoCs de la famille LPC32x0 sont des SoCs de haute performance et
consommation rduite
onus par la socit NXP pour embarquer des applications complexes
Adapts un systme dexploitation embarqu
comme
Ils sontLinux
bas sur le processeur ARM926EJ-S
Composants du LPC32x0
Structure du LPC32x0
Vue de dessus
Vue de dessous