1 diapo par page - Sylvain Tisserant

publicité
Introduction aux
microcontrôleurs
Systèmes embarqués
Sylvain Tisserant
Historique
Microcontrôleur : à l’origine pour systèmes de
contrôle de processus, d’environnement, etc.
Aujourd’hui : au cœur d’une part importante des
applications embarquées
A l’origine :
Systèmes de contrôle ≡ électriques puis électroniques
Assemblage de circuits logiques
Dès leur apparition les microprocesseurs ont été
utilisés pour apporter de l’intelligence et de la
souplesse
8085 d’Intel, puis Z80 de Zilog
Systèmes embarqués - S. Tisserant - ESIL - 2009
Définition
Intégration toujours plus poussée permet réunir tous
les composants indispensables à une application sur
une même puce.
Les microcontrôleurs appartiennent à la famille des
SoC : System on Chip (système sur puce).
Terminologie officielle française :
Microcontrôleur ≡ circuit intégré comprenant une
unité centrale de traitement (CPU), des mémoires
(vive, morte, programmable, etc.) et des dispositifs
d’entrée-sortie personnalisés
Systèmes embarqués - S. Tisserant - ESIL - 2009
Définition (2)
A priori pas de cache ni de gestion de mémoire
externe (MMU). Mais il existe depuis 2006 des
microcontrôleurs faisant appel à de la mémoire
externe. La tendance s’accentuera certainement.
En général les microcontrôleurs se déclinent en
gammes autour d’un même cœur :
Autres éléments (mémoires, timer, horloge,
périphériques, etc.) choisis en fonction de l’application.
Cœur (CPU) :
Développé pour un constructeur
Propriété Intellectuelle : ARM (Advanced RISC
Machines) ne fabrique pas de circuits.
Systèmes embarqués - S. Tisserant - ESIL - 2009
Extrait d’un catalogue
Systèmes embarqués - S. Tisserant - ESIL - 2009
Fabrication des circuits intégrés
Silicium intrinsèque
électron libre
trou
Isolant à 0 K
Semi-conducteur
Systèmes embarqués - S. Tisserant - ESIL - 2009
Fabrication des circuits intégrés (2)
Silicium dopé
électron supplémentaire
trou
Impureté pentavalente
Impureté trivalente
Type n
Type p
Systèmes embarqués - S. Tisserant - ESIL - 2009
Fabrication des circuits intégrés (3)
S
G
D
S
+
G
D
SiO 2
n
n
n
p
n
p
canal n induit
Transistor MOS (Métal – Oxyde – Semiconducteur)
Transistor à effet de champ
Interrupteur commandé
Systèmes embarqués - S. Tisserant - ESIL - 2009
Un processeur
Systèmes embarqués - S. Tisserant - ESIL - 2009
Finesse de la gravure
Systèmes embarqués - S. Tisserant - ESIL - 2009
Finesse de la gravure (2)
Les performances dépendent de la taille des
transistors donc de la finesse de la gravure :
Consommation : puissance dissipée ∝ taille
Fréquence : temps de transfert ∝ taille
Coût : surface ∝ taille2
Evacuation de la puissance dissipée :
Surface d’échange de plus en plus faible
Nécessité de diminuer la tension d’alimentation
P = U x I
Pas si simple : il est souvent nécessaire d’augmenter
la tension d’alimentation pour augmenter la fréquence
(bruit, etc.)
MSP430 : 4 MHz – 2.2 V et 8 MHz – 3.6 V
Systèmes embarqués - S. Tisserant - ESIL - 2009
Loi de Moore
Le nombre de transistors des processeurs
(circuits complexes) double tous les deux ans
(1975)
Remarquablement vérifiée pour les
processeurs Intel
Loi de Joy : la puissance des processeurs en
MIPS double tous les deux ans
Les processeurs deviennent donc de moins
en moins couteux et de plus en plus
puissants
Systèmes embarqués - S. Tisserant - ESIL - 2009
Loi de Moore (2)
Systèmes embarqués - S. Tisserant - ESIL - 2009
Fréquence d’horloge
MHz
60 GHz
10 GHz
Systèmes embarqués - S. Tisserant - ESIL - 2009
Marché des microcontrôleurs
Trois grands marchés pour microcontrôleurs
Contrôle-commande de processus industriels :
Contrôle communications et flots de données :
automates, robots, moteurs, alimentations stabilisées, etc.
Modems, sans-fils, graphique, disques durs, Ethernet,
téléphones portables, etc.
De plus en plus dans les PCs : un processeur entouré de
microcontrôleurs dédiés aux entrées-sorties
Automobile :
Sécurité et environnement : allumage, injection, ABS, tableau
de bord, navigation, climatisation, aide à la conduite, régulateur
de vitesse, tenue de route, etc.
Estimation 2000 : $ 2000 d’électronique en moyenne par
voiture, progression annuelle 5 % en 1995 et 16 % en 2000.
Systèmes embarqués - S. Tisserant - ESIL - 2009
Marché des microcontrôleurs (2)
Situation en 1999 :
µ-contrôleurs : 95 % du marché des CPUs
µ-processeurs (PC) : 5 % uniquement
Systèmes embarqués - S. Tisserant - ESIL - 2009
Principaux fabricants
Renesas : 24 % du marché
(fusion Mitsubichi et Hitashi)
Freescale : 17 %
(branche de Motorola indépendante depuis 2004)
Intel : 15 %
NEC
Toshiba
Infineon
Maxim/Dallas
Microchip
ST Microelectronics
Systèmes embarqués - S. Tisserant - ESIL - 2009
Taille registres et bus
Electronique n°154 – janvier 2005
Systèmes embarqués - S. Tisserant - ESIL - 2009
Taille registres et bus (2)
Prévisions 2008 :
4 bits : disparus
8 et 16 bits : 50 % du marché
32 bits : autre moitié
Passé :
4 et 8 bits : longtemps utilisés
Raison principale : coût ⇒ choix du µC le moins cher
adapté aux performances nécessaires
Aujourd’hui : cœur de 16 ou 32 bits ≡ même place que
8 bits.
Une puissance supérieure n’implique plus un coût
supérieur
Par économie les fabricants ne conservent pas la
production des 8 bits (évolution de la technologie, etc.)
Systèmes embarqués - S. Tisserant - ESIL - 2009
Architecture de Von Neumann
Systèmes embarqués - S. Tisserant - ESIL - 2009
Architecture de Havard
Séparation des données et des instructions (souvent en ROM)
Systèmes embarqués - S. Tisserant - ESIL - 2009
CISC, RISC ou SISC
Complex Instruction Set Computer
Assembleurs et compilateurs plus simples
Programmes plus compacts donc moins de mémoires et
moins de transferts
Processeur compliqué (contrôle, décodage, etc.), consomme
et dissipe beaucoup
Reduced Instruction Set Computer
Nb.instructions/tâche x Nb.cycles/instruction x temps/cycle
Philosophie inverse poussée par mémoires plus rapides
En plus : progrès des compilateurs, pipeline des instructions
et grand nombre de registres
Processeur beaucoup plus simple (surface, coût de
développement et de production) et consomme beaucoup
moins (5 fois moins pour PIC ou AVR par rapport à 68K)
RISC : très fréquents dans systèmes embarqués
Systèmes embarqués - S. Tisserant - ESIL - 2009
CISC/RISC vs. mémoire
Performance relative
1.0
1.0
0.8
RISC
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
100
200
ns
CISC
0
100
Temps d'accès mémoire
Systèmes embarqués - S. Tisserant - ESIL - 2009
200
ns
SISC
Specific Instruction Set Computer
Pour la plupart des microcontrôleurs car orientés vers
des applications spécifiques
Entrées/sorties
Manipulation de bits et tests
Modes de fonctionnement et économie d’énergie
DSP (Digital Signal Processor)
Traitement numérique de données : algorithmes
mathématiques et répétitifs
Contrôle de boucles câblé
Multiplieur-et-accumulateur (MAC)
Systèmes embarqués - S. Tisserant - ESIL - 2009
Mémoire Vive (RAM)
Statique (SRAM) : bascules, gestion simple
Dynamique (DRAM) : condensateur, donc empreinte
silicium plus petite, mais décharge et lecture
nécessitent le rafraichissement de l’information ce qui
complique la gestion
Mémoire volatile : nécessite une alimentation pour
conserver l’information
Etat actif : écriture-lecture, consommation dépend du
débit
Etat passif : bloc mémoire non sélectionné, la
consommation peut être réduite
Etat de veille : réduction de la tension d’alimentation,
conservation de l’information uniquement
Systèmes embarqués - S. Tisserant - ESIL - 2009
Point mémoire
SRAM
Data'
Data
W
SRAM
ligne de données
sélection
transistor
condensateur
DRAM
Systèmes embarqués - S. Tisserant - ESIL - 2009
Bloc mémoire
Point mémoire
k
2 lignes
k adresses
D
é
c
o
d
e
u
r
n sorties
Systèmes embarqués - S. Tisserant - ESIL - 2009
Adressage matricielle
W0
32 colonnes
A0 à A 5
64 lignes
W63
A6à A 8
Y3
Y2
Systèmes embarqués - S. Tisserant - ESIL - 2009
Y1
Y0
Mémoire morte (ROM)
Mémoire permanente :
connexions à la fonderie
Par exemple stockage du
code d’une application
embarquée
X0
X1
CS
X1
X0
Y3
Y2
Y1
Y0
0
0
1
0
1
0
0
1
1
1
0
1
1
0
0
0
1
0
1
1
1
1
1
1
Systèmes embarqués - S. Tisserant - ESIL - 2009
Y0
Y1
Y2
Y3
Mémoires programmables
PROM : programmable ROM
Programmation par fusibles : initialement toutes les
connexions sont présentes
Programmation par anti-fusibles : initialement aucune
connexion
silicium polycristallin
Irréversible
diélectrique
SiO2
SiO2
En externe
n+
contacts
Si
SiO2
m1
n+
SiO2
m2
SiO2
silicium amorphe
Systèmes embarqués - S. Tisserant - ESIL - 2009
Mémoires programmables (2)
Grille flottante :
Piège à électrons
Transistor bloqué
grille
source
drain
n+
n+
substrat p
grille flottante
EPROM : Erasable PROM
Exposition UV pour décharger la grille flottante
EEPROM : Electricaly Erasable PROM
Décharge de la grille flottante par effet tunnel
Systèmes embarqués - S. Tisserant - ESIL - 2009
Mémoires programmables (3)
EPROM et EEPROM :
Programmation nécessite un dispositif externe
Programmeur et éclairage UV pour EPROM
Tensions supérieures pour EEPROM
Mémoire flash :
EEPROM avec écriture in-situ
Nombre d’écritures limité
NVRAM :
Associe une RAM (avec ses avantages) et une mémoire
flash (sauvegarde en cas de coupure d’alimentation)
Mémoire vive statique maintenue par batterie
Conservation de l’information
Ecriture et lecture plus rapides que les autres mémoires non
volatiles
Nombre d’écritures non limité
Systèmes embarqués - S. Tisserant - ESIL - 2009
Programmation
Dans le passé : OTP
One Time Programmable
Utilisation d’une PROM
Réservé aux petites séries
Aujourd’hui : FP
Field Programmable
Ne nécessite pas le retrait du microcontrôleur
Grâce à EEPROM et mémoire flash
Permet les évolutions du firmware et la correction
d’erreurs
De plus en plus possibilité de le faire à distance
Systèmes embarqués - S. Tisserant - ESIL - 2009
Mémoires du futur
RAM Ferroélectrique (FRAM)
Mémoire vive non volatile
Même principe que mémoire dynamique
Diélectrique du condensateur : matériau ferroélectrique
Polarisation des dipôles par champ électrique donc
permanente
Lecture ≡ écriture : un changement d’état provoque
une impulsion qui est détectée (état à restaurer
comme pour mémoire dynamique)
Pas de limitation du nombre d’écritures
Consomme moins que mémoire flash, d’où l’intérêt
pour les systèmes embarqués
Systèmes embarqués - S. Tisserant - ESIL - 2009
Mémoires du futur (2)
Systèmes embarqués - S. Tisserant - ESIL - 2009
Mémoires du futur (3)
RAM Magnétorestrictive (MRAM)
Information stockée sous forme magnétique dans
matériau ferromagnétique
Magnétorésistance d’un matériau entre deux aimants :
Même orientation magnétique : faible résistance
Orientations magnétiques opposées : grande
résistance
Trois couches :
Dipôles magnétiques fixes (référence)
Matériau magnétorésistif : sert à la lecture
Matériau ferromagnétique (stockage)
Systèmes embarqués - S. Tisserant - ESIL - 2009
Mémoires du futur (4)
Systèmes embarqués - S. Tisserant - ESIL - 2009
Fabrication des microcontrôleurs
Technologie CMOS
Complementary Metal Oxide Semiconductor
Pratiquement tout circuit intégré aujourd’hui
Plus faible consommation
Autorise de le fonctionnement sur batteries
Meilleure immunité contre les perturbations
électromagnétiques
Microcontrôleurs avec ROM : technologie PMP
Post Metal Programming
Dizaine de couches supplémentaires au-dessus des
couches classiques d’un circuit intégré
⇒ repousser la programmation de la ROM à la fin du cycle
de fabrication (avant passivation)
Facilite le prototypage : 2 semaines pour programmation
ROM et fin du cycle de fabrication
Systèmes embarqués - S. Tisserant - ESIL - 2009
Gestion du temps
Horloge :
Signal périodique référence pour la synchronisation des unités
du microcontrôleur
En général oscillateur externe et PLL dans µC
Diviseurs de fréquence
Timer ≡ Composants caractéristiques des microcontrôleurs
Timer ≡ Compteur
Cadencé par une horloge ou un signal externe
Front montant ou descendant
Incrémentation, décrémentation (décompteur) ou bloqué
Cycle complet, incomplet ou comparaison à un registre
Génération d’interruptions
Chien de garde (watchdog)
Timer qui permet une réinitialisation du µC s’il n’est pas réarmé
régulièrement ⇒ évite le blocage du système (boucle sans fin,
problème matériel, etc.) et sa mise en sécurité
Systèmes embarqués - S. Tisserant - ESIL - 2009
Alimentation
Tension d’alimentation
Diminution de la tension d’alimentation
5 V : principal marché était embarqué automobile
3.3 V : applications portables et légères, utilisation de
batteries
En baisse permanente : consommation
Baisse de tension (brownout)
Protection pour mettre le µC dans un état de veille et
lui permettre de repartir lorsque la tension revient dans
son état normal
Systèmes embarqués - S. Tisserant - ESIL - 2009
Gestion de la consommation
Modes IDLE et HALT
Permettent de réduire la consommation
Sélectionnés par logiciel (instructions spéciales) ou par certains
stimuli externes (reset)
Les registres, mémoires et sorties sont maintenus
Attention : dépend des constructeurs (Idle ↔ Halt)
IDLE :
Tout est arrêté sauf : Oscillateur interne, gestion horloge, chien
de garde, idle timer
Idle timer : réveil régulier pour vérifier que tout va bien
Réveil : reset et interruptions
Consommation réduite à 30 % de la normale
HALT
Tout est arrêté y compris chien de garde
Réveil : reset et interruptions
Consommation réduite à qq % de la normale
Systèmes embarqués - S. Tisserant - ESIL - 2009
Gestion de la consommation (2)
Possibilités d’activer ou d’éteindre certains
composants du µC selon les besoins
Possibilités de sélectionner dynamiquement
une parmi plusieurs sources d’horloge
Systèmes embarqués - S. Tisserant - ESIL - 2009
Processeur asynchrone
Principe : pas d’horloge et unités indépendantes
Chaque élément fonctionne uniquement si
nécessaire (donnée ou instruction à traiter) par
exemple si registres d’entrée modifiés
Economie d’énergie
Chaque élément peut ainsi fonctionner aussi vite que
permis par le support physique
Gain en performance
A l’étude actuellement :
Conception et programmation différentes
Voie d’avenir pour les systèmes embarqués
En particulier pour les systèmes autonomes
Systèmes embarqués - S. Tisserant - ESIL - 2009
Téléchargement