Les circuits intégrés numériques : Les microcontrôleurs - Quiz
Les microcontrôleurs
Un microcontrôleur, souvent appelé MCU (Microcontroller Unit), est un circuit intégré qui regroupe sur une seule puce un processeur, de la mémoire et de nombreux périphériques électroniques. Il est conçu pour piloter automatiquement un appareil ou une machine en exécutant un programme enregistré dans sa mémoire.
Contrairement à un microprocesseur, qui a besoin de nombreux composants externes pour fonctionner, le microcontrôleur est presque autonome. Il suffit généralement de lui fournir une alimentation, un oscillateur et quelques composants de base pour qu'il puisse contrôler un système électronique complet.
Les microcontrôleurs sont présents dans les appareils électroménagers, les automobiles, les robots, les montres connectées, les télécommandes, les drones, les imprimantes, les systèmes d'alarme, les objets connectés et des milliards d'autres équipements.
Le principe de fonctionnement
Le microcontrôleur exécute en permanence un programme enregistré dans sa mémoire.
Il lit les informations provenant de ses entrées, effectue les traitements nécessaires puis commande ses sorties en fonction des résultats obtenus.
Ce cycle est répété des milliers ou des millions de fois chaque seconde afin de réagir presque instantanément aux événements extérieurs.
Par exemple, dans un four électrique, le microcontrôleur mesure la température grâce à un capteur, la compare à la température demandée puis commande la résistance chauffante pour maintenir la bonne cuisson.
Les principaux éléments d'un microcontrôleur
Un microcontrôleur moderne réunit plusieurs blocs fonctionnels sur une même puce.
- un processeur chargé d'exécuter les instructions ;
- une mémoire Flash contenant le programme ;
- une mémoire RAM destinée aux calculs temporaires ;
- une mémoire EEPROM ou une mémoire Flash permettant de conserver certaines données ;
- des ports d'entrée et de sortie ;
- des temporisateurs ;
- des interfaces de communication ;
- des convertisseurs analogique-numérique et parfois numérique-analogique ;
- des oscillateurs internes ou externes.
Cette forte intégration réduit le nombre de composants nécessaires et améliore la fiabilité du système.
Les mémoires
Le programme est généralement enregistré dans une mémoire Flash, qui conserve son contenu même lorsque l'alimentation est coupée.
La mémoire RAM sert à stocker les variables et les résultats des calculs pendant l'exécution du programme.
Certains microcontrôleurs possèdent également une mémoire EEPROM, utilisée pour conserver des paramètres comme des réglages, des compteurs ou des informations de configuration.
Les entrées et les sorties
Les broches d'entrée et de sortie, appelées GPIO (General Purpose Input/Output), permettent au microcontrôleur de communiquer avec le monde extérieur.
Une broche peut être configurée comme entrée afin de lire l'état d'un bouton, d'un interrupteur ou d'un capteur.
Elle peut également être configurée comme sortie pour commander une LED, un relais, un moteur ou tout autre circuit électronique.
Les entrées analogiques
De nombreux microcontrôleurs possèdent un ou plusieurs convertisseurs analogique-numérique intégrés.
Ils permettent de mesurer directement la tension fournie par un capteur de température, une photorésistance, un potentiomètre ou tout autre dispositif analogique.
Le programme peut ensuite utiliser ces mesures pour prendre des décisions ou effectuer des calculs.
Les sorties analogiques
Certains microcontrôleurs intègrent également un convertisseur numérique-analogique.
Lorsqu'ils n'en possèdent pas, ils utilisent souvent une technique appelée modulation de largeur d'impulsion (PWM) pour produire une tension moyenne variable.
Cette méthode permet par exemple de régler la luminosité d'une LED, la vitesse d'un moteur ou la puissance d'un système de chauffage.
Les temporisateurs
Les temporisateurs intégrés permettent de mesurer des durées, de compter des impulsions ou de produire des signaux périodiques.
Ils sont utilisés pour créer des horloges, générer des signaux PWM, mesurer la vitesse de rotation d'un moteur ou contrôler précisément des séquences de fonctionnement.
Les interruptions
Un microcontrôleur ne se contente pas d'exécuter son programme dans l'ordre.
Lorsqu'un événement important survient, comme l'appui sur un bouton ou la réception d'une donnée, une interruption peut interrompre momentanément le programme principal.
Le microcontrôleur traite immédiatement cet événement puis reprend l'exécution du programme exactement là où il s'était arrêté.
Les interruptions permettent d'obtenir une très grande réactivité sans gaspiller inutilement les ressources du processeur.
Les interfaces de communication
Les microcontrôleurs disposent généralement de plusieurs interfaces leur permettant de communiquer avec d'autres circuits.
Les interfaces UART servent aux communications série simples.
Les bus I²C permettent de relier plusieurs capteurs avec seulement deux fils.
Le bus SPI est utilisé pour communiquer rapidement avec des mémoires, des écrans ou des convertisseurs.
Selon les modèles, d'autres interfaces peuvent être disponibles, comme USB, CAN, Ethernet, LIN, I²S ou encore des contrôleurs radio intégrés.
Les modes de faible consommation
De nombreux appareils fonctionnent sur batterie et doivent économiser leur énergie.
Les microcontrôleurs disposent donc de plusieurs modes de veille qui réduisent fortement leur consommation électrique.
Ils peuvent arrêter certaines parties du circuit, ralentir leur horloge ou se mettre presque complètement en sommeil jusqu'à ce qu'un événement extérieur les réveille.
Cette fonctionnalité est indispensable dans les montres connectées, les capteurs sans fil ou les objets connectés fonctionnant plusieurs années avec une seule pile.
La programmation
Les microcontrôleurs sont programmés à l'aide de langages comme le C, le C++, l'assembleur ou parfois le MicroPython.
Le programme est transféré dans la mémoire Flash grâce à un programmateur ou directement par une interface USB, selon les modèles.
Une fois programmé, le microcontrôleur exécute automatiquement son logiciel à chaque mise sous tension.
Les applications
Les microcontrôleurs pilotent les machines à laver, les fours, les thermostats, les alarmes, les imprimantes, les robots, les drones, les véhicules, les systèmes de navigation, les objets connectés, les équipements médicaux, les instruments de mesure et de très nombreux systèmes industriels.
Ils permettent également de réaliser des cartes de développement destinées à l'apprentissage de l'électronique, au prototypage rapide et à la création de projets personnels.
Quelques microcontrôleurs célèbres
Les familles PIC de Microchip et AVR d'Atmel ont longtemps été les plus utilisées dans les projets éducatifs et industriels.
Les cartes Arduino ont largement contribué à populariser les microcontrôleurs auprès des étudiants, des enseignants et des passionnés d'électronique, principalement grâce aux microcontrôleurs AVR puis ARM.
Les familles STM32, basées sur l'architecture ARM Cortex-M, sont aujourd'hui très répandues dans l'industrie.
Les ESP8266 et ESP32 ajoutent des fonctions Wi-Fi et Bluetooth directement sur la même puce, ce qui les rend particulièrement adaptés aux objets connectés.