
Un
microcontrôleur est un
circuit intégré qui rassemble les éléments essentiels d'un
ordinateur :
processeur,
mémoires (
mémoire morte pour le programme,
mémoire vive pour les données), unités périphériques et interfaces d'
entrées-sorties. Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible consommation électrique (quelques milliwatts en fonctionnement, quelques nanowatts en veille), une vitesse de fonctionnement plus faible (quelques mégahertz à quelques centaines de mégahertz
) et un coût réduit par rapport aux
microprocesseurs polyvalents utilisés dans les
ordinateurs personnels.
Par rapport à des systèmes électroniques à base de
microprocesseurs et autres composants séparés, les microcontrôleurs permettent de diminuer la taille, la consommation électrique et le coût des produits. Ils ont ainsi permis de démocratiser l'utilisation de l'informatique dans un grand nombre de produits et de procédés.
Les microcontrôleurs sont fréquemment utilisés dans les
systèmes embarqués, comme les contrôleurs des moteurs automobiles, les télécommandes, les appareils de bureau, l'électroménager, les jouets, la téléphonie mobile, etc...
Structure d'un système à microprocesseur
Un microprocesseur a
besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes catégories : les besoins primaires, les besoins secondaires et les besoins fondamentaux.) de certains éléments pour fonctionner :
- de la mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.) morte dite ROM (principalement pour stocker le programme) ;
- de la mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.) vive dite RAM (principalement pour stocker les variables) ;
- des périphériques (principalement pour interagir avec le monde (Le mot monde peut désigner :) extérieur).
- une horloge pour le cadencer (principalement à quartz)
Ces différents blocs sont reliés par 3 bus :
- le bus d'adresse (D'une façon générale, on appelle bus en informatique un ensemble de N lignes en parallèle.) qui permet au microprocesseur de sélectionner la case mémoire ou le périphérique auquel il veut accéder pour lire ou écrire une information (instruction ou donnée) ;
- le bus de données (Un bus de données est un bus informatique dédié au transfert des données au sein de l'ordinateur.) qui permet le transfert des informations entre les différents blocs ; ces informations seront soit des instructions soit des données en provenance ou à destination de la mémoire ou des périphériques ;
- le bus de contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) qui indique si l'opération en cours est une lecture ou une écriture, si un périphérique demande une interruption etc...
Le fonctionnement est le suivant :
- À la mise en route (Le mot « route » dérive du latin (via) rupta, littéralement « voie brisée », c'est-à-dire creusée dans la roche, pour ouvrir le chemin.) du système, le microprocesseur va chercher dans la mémoire à l'adresse 0 (pour la plupart des processeurs) la première instruction (Une instruction est une forme d'information communiquée qui est à la fois une commande et une explication pour décrire l'action, le comportement, la méthode ou la tâche qui devra commencer, se terminer, être conduit, ou exécuté.) à exécuter ;
- il stocke cette instruction (Une instruction est une forme d'information communiquée qui est à la fois une commande et une explication pour décrire l'action, le comportement, la méthode ou la tâche qui devra commencer, se terminer, être conduit, ou exécuté.) dans un registre interne (En France, ce nom désigne un médecin, un pharmacien ou un chirurgien-dentiste, à la fois en activité et en formation à l'hôpital ou en cabinet pendant une durée...) appelé registre d'instructions ;
- il exécute cette instruction ;
- puis en consultant le registre pointeur d'instruction va chercher l'instruction suivante, etc...
Traditionnellement, ces composants sont intégrés dans des circuits distincts. Le développement d'un tel système à base de microprocesseur se trouve donc pénalisé par (liste non exhaustive) :
- La nécessité de prévoir l'interconnexion de ces composants (bus) ;
- la place occupée physiquement par les composants et les moyens d'interconnexion ;
- la consommation énergétique ;
- la chaleur (Dans le langage courant, les mots chaleur et température ont souvent un sens équivalent : Quelle chaleur !) dégagée ;
- le coût financier.
Les microcontrôleurs améliorent l'intégration et le coût (lié à la conception et à la réalisation) d'un système à base de microprocesseur en rassemblant ces éléments essentiels dans un seul
circuit intégré (Le circuit intégré (CI), aussi appelé puce électronique, est un composant électronique reproduisant une ou plusieurs fonctions électroniques plus ou moins complexes, intégrant souvent plusieurs types de composants électroniques de base dans un volume réduit, rendant le circuit facile à mettre en...). On parle alors de « système sur une puce » (en anglais : «
System on Chip »). Dans la suite, nous nous intéressons plus particulièrement aux microcontrôleurs 8 bits, c’est-à-dire ceux dont le
bus de données (Un bus de données est un bus informatique dédié au transfert des données au sein de l'ordinateur.) comportent 8 bits et le bus d'adresses 16 bits.
Périphériques
Les périphériques sont des circuits électroniques intégrés au microcontrôleur capables d'effectuer des tâches spécifiques. On peut mentionner entre autres :
- les convertisseurs Analogique/Numérique (donnent un nombre (Un nombre est un concept caractérisant une unité, une collection d'unités ou une fraction d'unité.) binaire à partir d'une tension (La tension est une force d'extension.) électrique) ;
- les convertisseurs Numérique/Analogique (opération inverse) ;
- les générateurs de signaux à modulation de largeur d'impulsion (La modulation de largeur d'impulsions (MLI ; en anglais : Pulse Width Modulation, soit PWM), est une technique couramment utilisée pour synthétiser des signaux continus à l'aide de circuits à fonctionnement tout ou rien, ou plus...) (MLI, ou en Anglais, PWM pour Pulse Width Modulation) ;
- les timers (compteurs de temps (Le temps est un concept développé pour représenter la variation du monde : l'Univers n'est jamais figé, les éléments qui le composent bougent, se transforment et évoluent pour l'observateur qu'est l'homme. Si on considère l'Univers comme un système dans son...) ou d'événements) ;
- les comparateurs (comparent deux tensions électriques) ;
- les contrôleurs de bus (UART, IIC, SSP) ;
- les oscillateurs (servent de base de temps (Le temps est un concept développé pour représenter la variation du monde : l'Univers n'est jamais figé, les éléments qui le composent bougent, se transforment et évoluent pour l'observateur qu'est l'homme. Si on considère l'Univers comme un système dans son...) aux timers).
Le fonctionnement des périphériques peut être paramétré et commandé par le programme et/ou les entrées-sorties. Les périphériques peuvent générer une interruption qui contraint le processeur à quitter le programme principal pour effectuer une routine d'interruption.