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