AM des SE : capteurs

publicité
NEW
ROSE
Robotique et Systèmes Embarqués
Architecture matérielle des systèmes
électroniques embarqués
Brève histoire des SE
1967 : Apollo Guidance Computer, premier système embarqué.
Environ un millier de circuits intégrés identiques (portes NAND).
1960-1970 : Missile Minuteman, guidé par des circuits intégrés.
1971 : Intel produit le 4004, premier microprocesseur, à la demande
de Busicom. Premier circuit générique, personnalisable par logiciel.
1972 : lancement de l’Intel 8008, premier microprocesseur 8 bits
(48 instructions, 800kHz)
1974 : lancement du 8080, premier microprocesseur largement
diffusé. 8 bits, 64KB d’espace adressable, 2MHz – 3MHz.
1978 : création du Z80, processeur 8 bits
1979 : création du MC68000, processeur 16/32 bits
Système embarqué : définition
Un système embarqué est un système :
qui contient un processeur,
dont la fonction première n’est pas "d’être un ordinateur",
souvent créé pour accomplir une tâche spécifique,
en cachant la présence de processeur / logiciel à l’utilisateur.
Système embarqué : définition
Système embarqué
Ordinateur
programmes souvent exécutés à
partir d'une mémoire non
volatile
programmes exécutés à partir
de la RAM
"embarqué" = enfoui, autocontenu
architecture ouverte,
extensible
spécialisé
non spécialisé, standardisé
tolérant aux fautes, fiable
les fautes sont tolérées (!)
Systèmes embarqués : exemples
Exemples de systèmes embarqués :
distributeur de billets
carte à puce
téléphone portable
système de contrôle de vol d’avion
console de jeux
robot
four micro-ondes
disque dur
Caractéristiques des SE
Un système embarqué:
récupère éventuellement 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
Un système embarqué peut être :
atomique : montre à quartz
hiérarchique : formé de plusieurs sous systèmes embarqués
Caractéristiques des SE (2)
Contraintes matérielles exercées sur un système embarqué :
encombrement
poids / portabilité
consommation d’énergie
coût
robustesse
sécurité
interne
de l’environnement
maniabilité
performance
réactivité
Architecture matérielle des SE
Logiciel
alimentation
Effecteurs
mémoire
CPU
Capteurs
port de
diagnostics
port de
communications
circuit(s)
spécifique(s)
(ASIC)
écran / clavier
(IHM)
A.M. des SE : capteurs
Capteurs :
récupèrent des informations physiques de l’environnement
virtuellement, tous les stimuli physiques peuvent être captés
température
lumière, couleur
son
vélocité
accélération (linéaire, angulaire)
pression
champ magnétique
tension, courant, capacité…
Interfaces pour ces capteurs
alimentation
isolation et amplification
filtrage
multiplexage
conversion A/N
FPAA
A.M. des SE : capteurs
Signaux analogiques :
continus en amplitude et dans le temps
bruités
non manipulables par un processeur
Signaux numériques :
discrets en amplitude et dans le temps
non bruités (généralement…)
manipulés par les microprocesseurs
représentation imparfaite des signaux analogiques
A.M. des SE : capteurs
Filtrage :
nécessaire : théorème de Nyquist
généralement passe-bas
attention aux effets de bord (intégration, dérivation, …)
A.M. des SE : capteurs
Convertisseurs AD :
approximations successives
simple rampe / tracking
double rampe (intégrateur)
parallèle (flash)
parallèle 2 étages
sigma-delta
A.M. des SE : capteurs
Convertisseur à approximations successives :
entrée
comp
registre
sortie
DA
complexité : O(log(n))
rapidité : O(log(n))
généralement utilisé pour les comparateurs 12-16 bits
nécessite un échantillonneur - bloqueur
A.M. des SE : capteurs
Simple rampe / tracking :
entrée
comp
compteur
sortie
DA
simple rampe : à chaque acquisition, on part de 0 et on augmente
tracking : le compteur part du dernier sample et compte ou
décompte
complexité : O(log(n))
rapidité : O(n)
nécessite un échantillonneur - bloqueur
A.M. des SE : capteurs
Double rampe (intégrateur) :
entrée
integ
comp
logique
sortie
-ref
phase 1 : intégration de l'entrée pendant un temps T1
phase 2 : décharge de l'intégrateur vers 0 à vitesse constante.
Le temps T2 mis à décharger l'intégrateur donne la
valeur d'entrée
A.M. des SE : capteurs
Double rampe (intégrateur) :
entrée
integ
-ref
intégration
décharge
T1
T2
12 - 18 bits, 0 - 500 kHz
filtre naturellement le bruit du signal d'entrée
comp
logique
sortie
A.M. des SE : capteurs
Parallèle (flash) :
comp
entrée
comp
encodeur
comp
comp
rapides mais complexes
complexité : O(log(n))
rapidité : O(log(n))
8-12 bits, 0 – 500MHz
sortie
A.M. des SE : capteurs
Parallèle 2 étages :
entrée
flash AD
flash DA
-
+
flash AD
registre
sortie
première étape : conversion grossière, puis le résultat est soustrait de
l'entrée
deuxième étape : la différence est aussi numérisée de façon précise
pratiquement aussi performants que les convertisseurs parallèles
A.M. des SE : capteurs
Facteurs clefs :
temps de conversion
résolution
précision
linéarité
codes manquants
fenêtre d'acquisition
impédance d'entrée
bruit
A.M. des SE : effecteurs
Effecteurs : influent sur l’environnement
moteurs
servomoteurs
valves
restitution de son (haut-parleurs, buzzers, …)
relais
afficheurs
Contrôleurs d’effecteurs
conversion N/A
amplification
interrupteurs de puissance (IGBT, MOS, …)
relais
générateurs PWM
FPAA
A.M. des SE : effecteurs
Convertisseurs DA :
sortie quantifiée et échantillonnée
filtrage souvent nécessaire !
deux types principaux :
binaire
échelle R-2R
A.M. des SE : effecteurs
Convertisseur binaire :
Bn
R
Bn-1
2R
Bn-2
22 R
B0
2n R
inconvénient :
R
aop
grande précision = grand nombre de valeurs de résistances
problèmes de stabilité en température
sortie
A.M. des SE : effecteurs
Convertisseur échelle R – 2R :
VREF
B0
B1
B2
B3
2R
2R
2R
2R
R
R
R
2R
R
R
aop
sortie
avantage : pas besoin de beaucoup de valeurs de résistances
inconvénient : besoin d'interrupteurs SPDT
A.M. des SE : effecteurs
Facteurs clefs :
résolution
linéarité
temps de conversion
glitches : échantillonneur – bloqueur en sortie
bruit…
A.M. des SE : effecteurs
PWM :
modulation en largeur d'amplitude
utilisée pour les systèmes naturellement passe-bas
A.M. des SE : IHM
Interface homme machine
entrées de données
clavier
boutons poussoirs
interrupteurs à main, à pied
dispositifs de pointage
souris
touchpad
stylos optiques
afficheurs
LED
afficheurs LCD
écrans CRT, sortie télévision
Interfaces associées
multiplexage du clavier
protection / isolation de l’environnement
alimentation des afficheurs
A.M. des SE : mémoire de masse (NVM)
Mémoire non volatiles
stockage
du programme (firmware)
de données de calibration ou de configuration
encore peu de disques durs, ou bien disques amovibles
horloges temps réel (RTC) sauvegardées par batteries
Types
mask-ROM / OTP-ROM
EPROM
EEPROM
Flash
RAM sauvegardées par batteries
A.M. des SE : NVM : mémoires Flash
Flash
non volatile
alimentation simple (5V, 3.3V, 1.8V)
cellule de base : transistor MOS avec une porte isolée (entre la
porte de commande et le canal MOSFET)
les cellules peuvent être arrangées en
série, formant des portes NAND implicites
parallèle, formant des portes NOR implicites
la taille des contacts (bit line, source line) est le facteur
limitant pour la réduction de la taille des cellules.
A.M. des SE : NVM : mémoires Flash
Flash
A.M. des SE : NVM : mémoires Flash (2)
Fonctionnement d’une Flash
source : Samsung
A.M. des SE : NVM : mémoires Flash (3)
Fonctionnement d’une Flash (suite)
source : Samsung
A.M. des SE : NVM : mémoires Flash (4)
NOR
NAND
1MB - 16MB
8MB – 128MB
interface
type SRAM
IO
nécessite du matériel supplémentaire
pour exécuter directement un code de
boot
lecture
rapide, aléatoire
moins rapide, séquentielle par bloc
écriture
lente (6µs)
rapide (0.4µs)
effacement
(bloc)
TRES lent : 0.5s
lent (2ms)
cycles
10 000 – 100 000
100 000 – 1000 000
fiabilité
pas d’ECC
ECC (16B pour 512B de data)
utilisation
code
données
coût
>2x
x
capacité
A.M. des SE : NVM : mémoires Flash (4)
Flash NOR / NAND
A.M. des SE : NVM : mémoires Flash (5)
Flash NOR
lentes,
chères,
faciles à mettre en œuvre,
adaptées au code (XIP).
Flash NAND
rapides,
moins chères,
difficiles à mettre en œuvre,
adaptées aux données.
Certains processeurs intègrent directement une interface Flash
spécialisée (NAND et/ou série) : MiMagic5 de NeoMagic
(ARM922T).
Disk on Chip : NAND à interface SRAM
Flash NAND + SRAM + contrôleur
au démarrage, recopie automatique du premier secteur dans la
SRAM
interface standard SRAM
intègrent la correction d’erreur
intègrent souvent un système de fichiers
nécessitent un délai au Reset…
A.M. des SE : NVM : mémoires Flash (6)
Problème de la production
programmation avant montage sur outils dédiés
programmation in situ
JTAG (lent, coûts fixes faibles)
lit a clous (rapide, coûts fixes élevés, possibilité de le faire lors du test
électrique de la carte)
doit être anticipée lors de la création des schémas
A.M. des SE : mémoire vive (RAM)
Mémoire vive
types
statique : SRAM, SSRAM, ZBT-RAM, NoBL-RAM, …
dynamique : DRAM, SDRAM, DDRAM, …
intégrée au processeur ou non
cache, générique ou mixte
généralement de petite taille
fonction
fonctionnement du CPU
acquisition / restitution de données à haut débit (tampons)
Le choix du type de RAM est souvent dicté par le type
d’interface disponible sur le processeur
A.M. des SE : RAM : DRAM
Organisation
une DRAM est organisée en
matrice de rangées colonnes
chaque point de la matrice correspond à w bits (largeur de bus de la
mémoire)
capacité = Nrangées * Ncolonnes * largeur
profondeur = Nrangées * Ncolonnes
une capacité est souvent donnée sous la forme
taille matrice * largeur
A.M. des SE : RAM : DRAM (2)
Fonctionnement
l’adresse est passée sous forme rangée puis colonne
d’abord RAS : sélection d’une rangée
puis CAS : sélection d’une colonne
la donnée est disponible un certain temps plus tard
nécessité d’une logique de contrôle spécialisée : contrôleur
DRAM
Limitations des DRAM
RAS doit être actif pendant tout le cycle : empêche le pipeline
des accès.
une certaines forme de pipeline peut être implémentée sous
forme de bancs de mémoire entrelacés : accroissement de la
complexité de la logique de contrôle des DRAM.
A.M. des SE : RAM : SDRAM
SDRAM et DRAM
Synchronisation des transactions sur l’horloge microprocesseur.
Tous les signaux de contrôle sont échantillonnés sur front
d’horloge.
RAS et CAS n’ont besoin d’être positionnés que pendant un cycle
d’horloge : pipeline des opérations possible.
source : Hitachi
A.M. des SE : RAM : SDRAM (2)
Organisation
une SDRAM est organisée en
bancs
chaque banc en matrice de rangées colonnes
chaque point de la matrice correspond à w bits (largeur de bus de la
mémoire)
capacité = Nbancs * Nrangées * Ncolonnes * largeur
profondeur = Nbancs * Nrangées * Ncolonnes
une capacité est souvent donnée sous la forme
taille matrice * largeur * nombre de bancs
Exemple : SDRAM 64Mb en x32 (512k x 32 x 4)
profondeur : 2M
largeur : 32 bits
4 bancs
capacité : 64Mb
A.M. des SE : RAM : SDRAM (3)
Organisation (suite)
la sélection des bancs se fait par les bits d’adresse de poids
fort.
chaque banc peut être adressé de façon indépendante.
une fois qu’une rangée d’un banc a été sélectionnée, une nouvelle
colonne peut être sélectionnée à chaque cycle d’horloge.
de plus, si différentes rangées sont requises et se situent dans
des bancs différents, la plupart des temps de précharge
peuvent être éliminés. Un banc peut être utilisé pendant que les
autres sont en précharge.
A.M. des SE : RAM : SDRAM (4)
Rafraîchissement
principe : sélection d’une rangée, toutes les colonnes sont
ensuite rafraîchies.
taux de rafraîchissement standard
nombre de rangées a rafraîchir pour rafraîchir toute la (S)DRAM.
généralement 1k, 2k, 4k ou 8k.
le circuit de sélection de colonne consomme plus de puissance
que celui de sélection de rangée,
un rafraîchissement sélectionnant plus de colonnes par rangée
consomme donc plus : a taille égale, 1k consomme plus (en pointe)
que 8k…
compromis entre vitesse de rafraîchissement et consommation.
A.M. des SE : RAM : SDRAM (5)
Fréquence des cycles de rafraîchissement
distribués : cycles régulièrement espacés.
burst : rafraîchissement de toute la mémoire en bloc.
cycles standards (tous les environ 15.6µs au minimum)
les DRAM EDO disposent de cycles étendus (125µs).
A.M. des SE : RAM : SDRAM (6)
pour les DRAM
RAS only
externe, le contrôleur spécifie la rangée à rafraîchir.
CAS before RAS
le contrôleur initie le cycle
l’adresse de la rangée a rafraîchir est interne à la RAM, et incrémentée à chaque cycle
pas de lignes d’adresse a piloter : économise de l’énergie
hidden
extension du cycle de lecture ou écriture pour faire un rafraîchissement
aussi lent qu’un accès en écriture puis rafraîchissement normal
pour les SDRAM
auto
équivalent du CAS before RAS
self refresh
rafraîchissement même quand le système est en veille (pas d’horloge transmise) : une
horloge interne est produite.
besoin de commandes spéciales pour sortir de ce mode.
A.M. des SE : RAM : SDRAM (7)
Câblage
les contrôleurs (S)DRAM ne supportent pas tous toutes les
configurations possibles de (S)DRAM !!!
vérifier que le contrôleur (S)DRAM supporte bien la mémoire
choisie
largeur du bus
multiplexage adresse colonne
à partir de 80MHz environ, les contraintes d’intégrité du signal
deviennent critiques pour les SDRAM.
cf. le cours / les TP d’intégrité du signal
A.M. des SE : RAM : SRAM (1)
SRAM
une SRAM est plus rapide qu’une DRAM
cellule de base
SRAM : 6 transistors
DRAM : 1 transistor
pas besoin de rafraîchissement
consommation pic plus faible, consommation moyenne plus élevée
A.M. des SE : RAM : SRAM (2)
Types
asynchrones
synchrones standard
flow through
pipelined
synchrones
ZBT-RAM (NoBL, NT-RAM)
QDR-SRAM
DDR-SRAM
SigmaRAM, …
simple port / multi ports
A.M. des SE : RAM : SRAM asynchrones
Architecture
adresses
lignes de
contrôle
mémoire
data
(sortie)
asynchrones :
nécessité de maintenir les adresses / signaux de contrôle pendant toute
la durée du cycle
nécessité de définir des temps d’accès minimum aux ressources
synchrone Æ asynchrone : lentes
A.M. des SE : RAM : SRAM synchrones
2 architectures
flow through
adresses
lignes de
contrôle
registres
d’entrée
mémoire
registres
d’entrée
mémoire
data
(sortie)
pipelined
adresses
lignes de
contrôle
registres
de sortie
data
(sortie)
séparation du chemin mémoire – pin – registre d’entrée du processeur en
deux
augmentation de la fréquence de travail (débit)
introduction d’une latence d’un ou deux cycles en lecture
A.M. des SE : RAM : SRAM synchrones (2)
Caractéristiques
compteur burst interne (2bits)
linéaire
entrelacé
créées spécifiquement pour des caches sur des bus à deux maîtres
(processeur et contrôleur cache)
le choix pipelined / flow through dépend
du chipset utilisé,
de la fréquence de fonctionnement. La fréquence de transition se situe vers 66MHz.
source : Micron
A.M. des SE : RAM : SRAM synchrones (3)
Retournement de bus
la longueur de pipeline n’est pas la même en lecture et écriture
lecture : donnée 1 ou 2 cycles après l’adresse
écriture : donnée en même temps que l’adresse
donc insertion de cycle(s) mort(s) quand on passe d’un cycle de
lecture à un cycle d’écriture
adaptées à des bus dont le sens d’utilisation est globalement
constant !
A.M. des SE : RAM : SRAM synchrones (4)
cycles morts (pipelined)
cycle mort (flow through)
source : Micron
A.M. des SE : RAM : SSRAM : ZBT (1)
ZBT (Zero Bus Turnaround)
crées par Micron, pour éviter l’insertion de cycles morts lors des
retournement de bus
reprises par d’autres fabricants (NoBL, NT-RAM)
principe : équilibrage des pipe de lecture et écriture
adaptées aux changement fréquents de direction de bus
nécessitent un contrôleur spécial
le signal R/W ne peut plus servir d’indicateur de direction de
bus : possibilité de contention de bus
A.M. des SE : RAM : SSRAM : ZBT (2)
fonctionnement des ZBT (pipeline)
fonctionnement des ZBT (flowthrough)
source : Micron
A.M. des SE : RAM : SSRAM : ZBT (3)
limitation des ZBT
les temps de commutations (turn off) des drivers sont fixes
pour éviter la contention de bus, les fréquences d’utilisation
doivent rester dans la zone 50 – 166MHz.
au-delà, des cycles d’attente doivent être insérés…
A.M. des SE : RAM : SSRAM : QDR et DDR (1)
Les systèmes embarqués pour les réseaux demandent des RAM
toujours plus puissantes (Intel IXP2x00, Cognigine CGN16100,
SNP1000, …)
Facteurs clefs :
ratio lecture / écriture
application de look-up : lectures fréquentes, écritures occasionnelles
applications buffer : autant de lectures que d’écritures
applications QoS : ratio dépendant du trafic
possibilité ou non d’augmentation de la bande passante par augmentation
de la largeur de bus
latence acceptable
En fonction de ces différents facteurs, trois nouvelles sortes de
SRAM synchrones ont été crées :
QDR
DDR IO séparées
DDR IO communes
A.M. des SE : RAM : SSRAM : QDR et DDR (2)
QDR
bus de données lecture et d’écriture séparés
chaque bus fonctionne en DDR : transferts sur chaque front d’horloge
les deux bus fonctionnent de façon concurrente (cohérence assurée)
optimisée pour
un ratio RW proche de 1 (balancé à court terme)
packet buffering (petits paquets)
facteur limitant : une adresse à chaque front d’horloge
le bus d’adresse a souvent un fan out élevé : bus lent,
la matrice interne doit être rapide (deux accès par cycle d’horloge).
DDR CIO
un seul bus, DDR
un seul type d’accès à la fois
optimisée pour
des bus maintenus dans une même direction (ratio RW = 0 ou ∞)
lookup, data streaming (gros paquets)
A.M. des SE : RAM : SSRAM : QDR et DDR (3)
DDR SIO
mélange de QDR et DDR CIO, pour remédier aux facteurs
limitant fréquentiels de la QDR et fonctionnels de la DDR CIO
pour certaines applications,
les cycles morts de turn-around ne sont pas tolérables,
et un débit constant d’adresses doit être maintenu.
donc
bus de données lecture et écriture séparés,
un seul type d’accès à la fois.
tout se paye : chaque broche n’est occupée que 50% du temps…
A.M. des SE : RAM : SSRAM : QDR et DDR (4)
source : Micron
A.M. des SE : RAM : SSRAM : bref !
Bilan (ouf…)
choix des SRAM dicté par
le chipset !
le type d’application
le type d’accès le plus souvent effectué dans les applications cibles
source : www.qdrsram.com
et si ça ne suffit pas ?
QDR II : 333MHz (48Gb/s sur une x36)
DDR II : 333MHz…
A.M. des SE : unité centrale
Unité centrale :
circuits intégrés
microprocesseur plus circuits additionnels (IO, contrôleur RAM)
microcontrôleur
DSP
microcontrôleur "single chip" (µC + RAM)
circuit dédié (SoC)
système complet préexistant (PC104, VME…)
Souvent équipée de :
protection contre les crashs (watchdog)
référence temporelle (timer)
CPU pour systèmes embarqués (1)
Source : Industry Analyst
En 2003
CPU pour systèmes embarqués (2)
Entre 40 et 50 processeurs par habitation aux ÉtatsUnis, plus 10 processeurs par PC.
Une voiture moderne comporte une douzaine de
processeurs (63 pour une BMW série 7, 65 pour une
Mercedes classe S).
Dans un PC :
processeur central (Intel, AMD, …)
processeurs 8/16 bits
clavier (Philips ou Intel 8048)
souris
interface USB, Ethernet
lecteur disquette
disque dur, lecteur CD-ROM (Z80, H8S, 8051, SuperH, …)
CPU pour systèmes embarqués (3)
Il n’existe pas de CPU dominant sur le marché de
l’embarqué (comme sur le marché des PC).
Au contraire, le nombre de types de processeurs
embarqués augmente.
Les plus grandes familles
ARM
68K (Motorola)
MIPS
SuperH
PowerPC
SPARC
x86
évolution du marché des processeurs embarqués RISC
CPU pour systèmes embarqués (4)
Grandes familles de processeurs pour l’embarqué :
ARM (Advanced RISC Machines)
le 32 bits le plus vendu actuellement.
équipe la majorité des téléphones portables.
ARM ne vend que des licences de cœurs de processeurs.
plus de 151 processeurs utilisent des cœurs d’ARM (ARM7, StrongArm /
XScale pour la plupart),
utilisés dans
les imprimantes (HP, Lexmark, Samsung, Xerox),
les appareils photos (Agfa, Kodak, Konica),
les Set Top Box (Pace, RCA),
les portable MP3 (Sony, iRiver),
les consoles de jeux (Gameboy Advance, Dreamcast)
les téléphones portables (Alcatel, Ericsson, NEC, Nokia, Panasonic, Siemens,
Samsung)
les modems [câble, ADSL, 802.11] (Agere, 3Com, D-Link, SMC, US Robotics)
les PDA (HP iPaq, IBM, Psion, Sagem, Sony, Toshiba, )
…
CPU pour systèmes embarqués (5)
ARM (suite)
cœur de très petite taille, simple.
faible consommation.
StrongARM, développé par DEC, racheté par Intel (et devenu XScale)
232MHz – 700MHz
majoritairement processeurs orienté réseaux / réseaux sans fil
Exemples :
Intel IXP12xx0
Intel SA110 – SA1100
Intel IXP2x00
Intel PXA2x0
Samsung S3C4xx0
Atmel AT91xxxxxx
Motorla DragonBall MX1
Altera Excalibur (EPXAx)
CPU pour systèmes embarqués (6)
68k / 68HCxxx (Motorola)
architecture CISC
historiquement, une des plus grandes familles
68k : l’un des processeurs 32 bits les plus utilisés
68HCxx : famille de microcontrôleurs 8 – 16 – 32 bits
environ 80 millions de pièces de 68k vendues par an
toute la famille 68k est compatible (logiciel)
utilisés dans
automobiles
PDA
téléphones portables
réseaux / réseaux sans fil
électroménager
appareils photos
…
CPU pour systèmes embarqués (7)
x86
8086, 286, 386, 486, Pentium, AMD Athlon / Hammer
architecture CISC
5ème rang, derrière ARM, 68K, MIPS et SuperH.
architecture mal adaptée à l’embarqué :
lents
consommation élevée
difficiles à programmer.
MIPS (Microprocessor without Interlocked Pipeline Stages)
architecture RISC 32 et 64bits, couvrant une large gamme :
ultra faible consommation (SmartMIPS MIPS32 4KSc ) pour cartes à puce
très haute puissance (MIPS64 20Kc)
vente (licence) d’architectures et de cœurs.
équipe la majeure partie des
set top box numériques (31%)
consoles de jeux (76%, Playstation 1 et 2, Nintendo 64)
routeurs
imprimantes laser couleurs
exemples : R4000 / R5000
CPU pour systèmes embarqués (8)
SuperH (Hitachi)
architecture RISC super scalaire, 16, 32 et 64 bits.
exemples : SH7750 et SH7751.
utilisé principalement dans la DreamCast.
maintenant : alliance avec ST pour licencier des cœurs de SH4 et SH5.
optimisés pour
puissance (SH7750 : 430 MIPS @ 240MHz, 1.7GFLOPS)
faible consommation (900mW)
densité de code
faible taille sur silicium
PowerPC (Motorola et IBM)
utilisés sur la plateforme SPIF
architecture créée en 1991 par IBM et Motorola, étendue en 1999 par le
Book E pour assurer une compatibilité entre les différentes architectures
PowerPC embarquées.
architecture RISC, 32 bits, de 33Mhz à 2GHz.
encore peu utilisés dans l'embarqué
CPU pour systèmes embarqués (9)
PIC (Microchip)
picocontrôleurs, RISC, 8 ou 16 bits
taillés pour des applications réduites :
peu de RAM on chip
pas de bus processeur (à une exception près)
OTP, EPROM ou Flash (512 mots à 64k mots)
minimisent le nombre de composants externes
périphériques embarqués
UART, I2C, SPI, CAN
Timers, watchdog, PWM
analogiques : convertisseurs AD, comparateurs
CPU pour systèmes embarqués (10)
Comment choisir un CPU ?
prix, disponibilité…
caractéristiques électriques
tension(s) d’alimentation
consommation
fréquence de fonctionnement
alimentations séparées cœur - entrée/sorties
design logique statique / mise en veille
boîtier
impact routage et PCB (prix)
impact dissipation
impact fréquence
CPU pour systèmes embarqués (11)
Comment choisir un CPU ? (suite)
possibilités
performances
MIPS / FLOPS…
impact de l’environnement
doit prendre en compte l’application cible
EEMBC
nombre et types de périphériques embarqués
interfaces
le nombre de broches impacte directement le routage et le prix du produit
un bus est soumis à des contraintes de fan out : limité en fréquence,
surtout s’il est multiplexé (SuperH, …).
les interfaces rapides posent des problèmes d’intégrité et de CEM.
CPU pour systèmes embarqués (12)
Comment choisir un CPU ? (suite)
adaptation aux applications
timer (OS multitâche)
protection crash (watchdog)
architecture
densité de code (CISC / RISC) : critère majeur dans l’industrie de l’embarqué !
manipulations de bits (BTST, BCLR, BSET)
gestion des alignements (vidéo, réseaux)
fenêtres de registres (SPARC)
prédiction des branchements
cache
présence ou non
possibilité de le désactiver
write-back / write-through ? (périphériques mappés en mémoire)
prédictibilité / déterminisme
des performances
du comportement
CPU pour systèmes embarqués (13)
Comment choisir un CPU ? (suite)
il est donc capital d’avoir une idée de l’application à exécuter en
termes de
puissance de calcul requise
débit de données
matériel nécessaire
contraintes de sécurité
Le dialogue hard – soft n’est pas juste une question de
politesse, il est capital !
A.M. des SE : circuits spécifiques
Circuits périphériques, utilisés quand la quantité
d’informations à traiter est trop grande pour le
processeur central
coprocesseurs
génération de signaux
ASIC dédiés
FPGA
souplesse
nécessite aussi une mémoire de configuration
coût élevé
A.M. des SE : communications
Interface de communication
RS232
RS422
Ethernet, Arcnet (temps de transmission garanti)
I2C
CAN (automobiles)
USB, PCMCIA, IrDA
wireless (802.11, Bluetooth)
fibre optique (SPDIF)
A.M. des SE : ports de diagnostic
Ports de diagnostics / debug
Importants, les SE ne disposant souvent pas d’entrées sorties
standards (écran, clavier)
basiques
afficheurs, LED
points de test (pour analyseur logique)
évolués, nécessitent une couche logicielle spéciale (moniteur /
stubs)
RS 232
Ethernet
USB
dédiés
JTAG
BDM, AMDebug, On-Chip-Debug-Infineon
ICE (In Circuit Emulator)
A.M. des SE : alimentations
Alimentation
souvent le point le plus critique des systèmes embarqués
facteurs décisifs
stabilité
précision (10ppm)
autonomie
taille (poids)
sécurité
sources
externe (secteur)
autonome (batterie)
dépendantes de l’environnement (panneaux solaires, générateurs
magnétiques, …)
types
linéaires
à découpage
module
A.M. des SE : conclusion
On a vu :
CPU
mémoires
NVM (Flash)
RAM
Les prochains cours sur le matériel :
alimentations
capteurs / effecteurs
IHM
PCB
Intégrité du signal
Téléchargement