Lycée/SNT Seconde/Systèmes embarqués/Microcontroleurs/Architecture d'un microcontrôleur

Architecture d'un microcontrôleur

Systèmes embarqués - SNT Seconde

Architecture d'un microcontrôleur

30 min+20 XPapprentissage

Objectifs

  • Identifier les principaux blocs fonctionnels d'un microcontrôleur.
  • Comprendre le rôle de chaque bloc dans le traitement de l'information.
  • Relier cette architecture à des applications concrètes de l'embarqué.

Introduction

Avez-vous déjà rêvé de créer votre propre robot, une station météo connectée ou un jeu vidéo sur une console miniature ? Tous ces objets intelligents qui nous entourent ont un cœur commun : le microcontrôleur. C'est un ordinateur miniature, spécialisé et peu coûteux, qui rend l'électronique programmable accessible à tous.

Comment un microcontrôleur, un simple composant électronique, peut-il percevoir son environnement et agir sur lui de manière autonome ?

Le cerveau et la mémoire : UC et mémoires

Au centre du microcontrôleur se trouve l'Unité Centrale (UC ou CPU), souvent basée sur une architecture simple comme ARM ou AVR. C'est le cerveau qui exécute les instructions du programme, une par une, à une cadence donnée par l'horloge (en MHz). Pour fonctionner, l'UC a besoin de mémoires. La mémoire Flash (non volatile) stocke le programme que vous téléchargez, même lorsque l'alimentation est coupée. C'est comme la carte SD de votre console. La mémoire RAM (volatile) est l'espace de travail rapide où sont stockées temporairement les variables du programme (comme le score dans un jeu). Enfin, la mémoire EEPROM est une petite zone non volatile pour sauvegarder des paramètres (comme le meilleur score) de manière durable. Sur une carte Arduino Uno, la Flash fait 32 Ko, la RAM 2 Ko et l'EEPROM 1 Ko : on travaille avec des ressources très limitées !

Points clés

  • L'Unité Centrale (UC) exécute les instructions du programme.
  • La mémoire Flash stocke le programme de manière permanente.
  • La mémoire RAM est l'espace de travail temporaire et volatile.
  • La mémoire EEPROM stocke de petits paramètres de manière permanente.

Les sens et les actions : Entrées/Sorties et périphériques

Un microcontrôleur ne serait rien sans ses interfaces avec le monde extérieur. Les broches d'Entrées/Sorties (E/S ou GPIO) sont ses points de contact. Elles peuvent être configurées en entrée pour lire l'état d'un bouton-poussoir ou la tension d'un capteur (ex: luminosité). En sortie, elles peuvent allumer une LED, activer un moteur ou émettre un son via un buzzer. Pour communiquer avec d'autres composants, le microcontrôleur intègre des périphériques de communication série : l'UART (pour dialoguer avec un module Bluetooth), le SPI (très rapide, pour un écran) et l'I2C (pour connecter plusieurs capteurs sur les mêmes fils). Un autre périphérique essentiel est le Convertisseur Analogique-Numérique (CAN ou ADC). Il transforme une tension analogique continue (comme celle d'un potentiomètre) en une valeur numérique que l'UC peut traiter. Enfin, les timers/compteurs permettent de générer des signaux précis (pour faire clignoter une LED à une fréquence donnée) ou de mesurer des durées.

Points clés

  • Les broches GPIO (Entrées/Sorties) permettent d'interagir avec des capteurs et actionneurs.
  • Les périphériques de communication (UART, SPI, I2C) permettent de dialoguer avec d'autres circuits.
  • Le Convertisseur Analogique-Numérique (CAN) transforme une tension en valeur numérique.
  • Les timers permettent de gérer le temps et de générer des signaux précis.

Applications pratiques

Prenons l'exemple d'un petit robot suiveur de ligne. Le programme est stocké dans la Flash. L'UC le lit et l'exécute. Deux capteurs infrarouges, connectés à des broches d'entrée, lisent la réflexion de la lumière sur le sol. Leurs signaux analogiques sont convertis en numérique par le CAN. L'UC analyse ces valeurs dans sa RAM pour décider de la direction. Elle utilise ensuite des broches de sortie, via un pont en H (un amplificateur), pour contrôler la vitesse et le sens de rotation des deux moteurs. Un timer pourrait être utilisé pour faire avancer le robot pendant une durée précise. Autre exemple : une station météo. Un capteur de température/humidité communique via I2C. Les données sont traitées et affichées sur un écran LCD connecté en SPI. Si la température dépasse un seuil, une sortie active un ventilateur. L'EEPROM pourrait stocker les seuils d'alerte.

Points clés

  • Dans un robot, l'UC traite les données des capteurs pour commander des moteurs via les sorties.
  • Les communications série (I2C, SPI) sont omniprésentes pour connecter des écrans et capteurs.
  • L'architecture complète (UC, mémoire, E/S, périphériques) est nécessaire pour toute application embarquée.

À retenir

Un microcontrôleur est un système sur puce qui intègre tous les composants essentiels d'un ordinateur minimaliste : un processeur (UC), de la mémoire (Flash, RAM, EEPROM) et des interfaces de communication avec l'extérieur (GPIO, CAN, UART, SPI, I2C, Timers). Son architecture optimisée et ses ressources limitées le rendent parfait pour des applications embarquées dédiées, où il peut percevoir, traiter et agir de manière autonome.

  • Un microcontrôleur est un ordinateur complet miniaturisé sur une seule puce.
  • Son architecture repose sur trois piliers : le traitement (UC), le stockage (mémoires) et l'interaction (E/S et périphériques).
  • Il est conçu pour des tâches spécifiques dans des systèmes embarqués, avec des ressources matérielles limitées mais suffisantes.
Techno