Les Microcontrôleurs


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 de certains éléments pour fonctionner :
  • de la mémoire 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 extérieur).
  • une horloge pour le cadencer (principalement à quartz)
Ces différents blocs sont reliés par 3 bus :
  • le bus d'adresse 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 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 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 du système, le microprocesseur va chercher dans la mémoire à l'adresse 0 (pour la plupart des processeurs) la première instruction à 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 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 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 binaire à partir d'une tension électrique) ;
    • les convertisseurs Numérique/Analogique (opération inverse) ;
    • les générateurs de signaux à modulation de largeur d'impulsion (MLI, ou en Anglais, PWM pour Pulse Width Modulation) ;
    • les timers (compteurs de temps 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.