microcontrôleur
Anglais: microcontroller
Micro-ordinateur sur une seule puce, utilisé pour contrôler un dispositif tel qu'un moteur d'automobile ou un jouet.
microcontrôleur : un ordinateur assez petit pour vivre à l'intérieur de l'objet qu'il contrôle
Un microcontrôleur est un système informatique complet construit sur une seule puce de silicium, généralement pas plus grande qu'un timbre-poste. Il combine un cœur de processeur, de la mémoire (permanente et temporaire) et des interfaces d'entrée/sortie sur un seul morceau de silicium. Contrairement à un ordinateur à usage général qui se trouve sur un bureau, un microcontrôleur vit à l'intérieur de machines, d'équipements ou de produits de consommation où il gère une tâche spécifique et définie : lire des capteurs, prendre des décisions basées sur leurs entrées et contrôler des sorties comme des moteurs, des solénoïdes, des afficheurs ou des éléments chauffants.
Le cœur du processeur est généralement simple et lent par rapport aux standards des ordinateurs de bureau, fonctionnant souvent à des fréquences d'horloge comprises entre 1 et 100 mégahertz. La mémoire interne est modeste : flash embarquée ou EEPROM pour le stockage de programmes (généralement des kilo-octets à quelques centaines de kilo-octets) et SRAM pour la mémoire de travail (souvent seulement des kilo-octets). Cette limitation oblige les programmeurs à écrire du code léger et efficace. Un microcontrôleur destiné à un module de commande de moteur automobile pourrait avoir moins de transistors au total qu'un seul processeur graphique dans une console de jeu, pourtant il doit répondre aux lectures des capteurs en microsecondes sans défaillance.
Plateformes courantes et applications réelles
Les familles répandues incluent l'Intel 8051 (intégré dans les équipements industriels depuis les années 1980), la série PIC de Microchip et l'architecture AVR d'Atmel (qui a alimenté les premières cartes de développement Arduino). Les cœurs ARM Cortex-M dominent désormais les nouvelles conceptions. Une unité de contrôle moteur dans une voiture lit les capteurs de cliquetis, le retour d'injecteur de carburant et la position du papillon, puis ajuste le calage de l'allumage et l'alimentation en carburant des milliers de fois par seconde. Un contrôleur de machine à laver séquence les moteurs, les vannes et les éléments chauffants à travers un cycle programmé. Un contrôleur d'affichage LED décode les données série entrantes et rafraîchit les pixels. Un microcontrôleur de glucomètre amplifie les signaux des capteurs, effectue des calculs et pilote son écran LCD.
Des contraintes réelles façonnent la manière dont les microcontrôleurs sont choisis et utilisés. La consommation d'énergie devient critique dans les appareils alimentés par batterie : certaines variantes peuvent fonctionner pendant des mois avec une pile bouton en dormant la plupart du temps et en ne se réveillant que lorsque des événements externes exigent une attention. La stabilité en température est importante dans les environnements industriels où les composants doivent fonctionner de -40 °C à +85 °C ou au-delà. La nécessité de survivre au bruit électrique et aux brèves surtensions entraîne l'utilisation de temporisateurs de surveillance (matériel qui réinitialise la puce si le logiciel se bloque) et de filtres de protection sur les broches d'entrée.
Le terme reflète la réalité historique : ces appareils sont de véritables ordinateurs, plus petits que les mini-ordinateurs précédents mais construits et utilisés différemment. La programmation se fait en C, en assembleur, ou de plus en plus dans des langages de plus haut niveau compilés en code machine efficace. Un ingénieur hardware sélectionnant un microcontrôleur évalue la puissance de traitement, l'empreinte mémoire, le nombre de broches d'entrée/sortie, les convertisseurs analogique-numérique intégrés, les circuits de minuterie et le coût unitaire pour les volumes de production. Moins de fonctionnalités signifie un prix plus bas ; le surdimensionnement signifie de l'argent gaspillé. Le microcontrôleur se situe à la frontière entre le matériel électrique et la logique logicielle, ce qui le rend essentiel pour quiconque conçoit quelque chose qui doit détecter et réagir à son environnement.
Sources
- Source de la définitionWiktionary