+1 500 000 produits offerts

7000 colis expédiés chaque jour

+300 000 clients de 150 pays

Quick Buy Favoris
Panier

À la périphérie du microcontrôleur

Date de publication: 17-01-2025 Date de mise à jour: 10-04-2026 🕒 11 min de lecture


Un microcontrôleur est plus qu'un processeur – par définition, c'est un circuit contenant au moins quelques composants. Ceux-ci incluent des éléments nécessaires à l'exécution autonome d'un programme, tels que la mémoire ou une source de signal d'horloge. Mais dans un microcontrôleur, on trouve également des circuits supplémentaires appelés périphériques.

Dans cet article, nous allons essayer d'expliquer de manière accessible ce que sont les périphériques des microcontrôleurs, ainsi que de décrire les fonctions de leurs exemples les plus populaires. Il est important de souligner que ce texte est principalement destiné aux amateurs qui commencent tout juste leur aventure avec l'électronique. Nous n'entrerons pas dans le principe de fonctionnement de chaque périphérique, car certains d'entre eux sont très complexes. Pour l'instant, concentrons-nous sur les concepts et technologies de base. La plupart d'entre eux seront rencontrés dès le premier contact avec un microcontrôleur ou un module Arduino...

Dans cet article, nous répondons aux questions suivantes :

Que signifie réellement « périphériques » ?

En expliquant les principes généraux du microcontrôleur en tant que composant, on utilise souvent l'analogie avec un ordinateur. En effet, un microcontrôleur est un ordinateur compact construit sous forme de circuit intégré. Le schéma bloc ci-dessous présente la structure généralisée de l'ATmega328 – un microcontrôleur que l'on trouve au cœur, entre autres, de l'Arduino Uno. Il contient, entre autres, des éléments dont les noms nous sont bien connus des ordinateurs de bureau ou des ordinateurs portables (par exemple, CPU, FLASH et SRAM). Mais pas seulement.

Schéma bloc du microcontrôleur ATmega328.

Au centre, nous avons bien sûr le processeur (CPU, ou plutôt l'unité arithmétique et logique ALU avec une fonctionnalité similaire), la mémoire vive (SRAM ou une petite mémoire vive très rapide Cache utilisée pour stocker des données fréquemment utilisées) et la mémoire de programme (une sorte de disque dur, ici réalisé sous forme de structure Flash). Il convient de noter que ces éléments ne se trouveraient pas sur le schéma d'un microprocesseur – ce qui indique la différence fondamentale entre ces solutions. Lors de la conception d'un microcontrôleur, les fabricants s'efforcent d'atteindre l'intégration et l'universalité les plus poussées possibles – afin qu'un seul circuit ait la fonctionnalité d'un circuit complexe et pratique.

D'autres éléments du schéma peuvent être expliqués par analogie avec un ordinateur : l'EEPROM est également un type de mémoire, et le circuit contient également un oscillateur générant un signal d'horloge, utilisé pour cadencer le processeur. Les choses se compliquent un peu plus, car des blocs supplémentaires ont été connectés au bus principal : UART, SPI, minuteur/compteur (T/C) – tout comme une souris, une imprimante ou un moniteur sont connectés à un ordinateur. Ce sont précisément les périphériques. Autrefois, leurs fonctions étaient réalisées à l'aide de circuits intégrés séparés ou de circuits spécialisés entiers. Le microcontrôleur les contient pour faciliter la tâche des concepteurs et des fabricants d'appareils électroniques, mais ils sont un équipement optionnel.

GPIO

Comme on peut le voir sur le schéma, certains des périphériques ont des sorties externes. Mais c'est rare : la plupart des composants communiquent avec le « monde extérieur » via des ports, qui sont connectés aux broches physiques du microcontrôleur. Les ports (généralement appelés par l'acronyme GPIO, c'est-à-dire general-purpose input/output) peuvent être configurés par logiciel (souvent automatiquement) pour remplir différentes fonctions (après avoir configuré le rôle du GPIO par l'auteur du programme et enregistré cette configuration dans une mémoire non volatile, elle est chargée au redémarrage. De cette façon, les ports GPIO sont prêts à remplir la fonctionnalité qui leur est assignée). Une seule broche peut (par exemple) être utilisée pour contrôler une LED, être connectée à une entrée d'interface de communication ou servir de sortie pour un générateur PWM.

Périphériques couramment rencontrés

Les différences entre les microcontrôleurs disponibles sur le marché sont énormes : certains d'entre eux peuvent fonctionner seuls en tant qu'appareil réseau – d'autres sont conçus avec la miniaturisation à l'esprit et ne possèdent que quelques périphériques de base et (littéralement) quelques sorties. Mais quels sont les périphériques les plus couramment rencontrés et constituent, en fait, l'équipement par défaut des microcontrôleurs ?

Convertisseur analogique-numérique

Les convertisseurs analogiques-numériques font partie des périphériques les plus populaires rencontrés dans les microcontrôleurs. Ils peuvent également être achetés en versions autonomes – dans ce cas, ils se distinguent généralement par une plus grande précision et une meilleure résistance aux interférences, bien que de nos jours ces différences ne soient perceptibles que dans les applications professionnelles, où une très haute précision est requise. Ces circuits sont également appelés par l'acronyme A/C ou en anglais ADC (analog-digital converter).

La fonction d'un convertisseur A/C est relativement simple : il représente la valeur de la tension électrique sous forme numérique, c'est-à-dire un nombre. En d'autres termes, c'est un voltmètre numérique. Puisque (comme nous le savons de la loi d'Ohm) la tension, le courant et la résistance sont des grandeurs physiques liées, le circuit ADC permet également de collecter des données sur le courant et la résistance. L'utilisation de tels convertisseurs comprend, entre autres, la lecture des indications des capteurs analogiques, des thermocouples, etc. Le rôle bien connu de ces circuits est de déterminer le niveau de charge des batteries dans les appareils alimentés par batterie. Les entrées des appareils multimédias, convertissant les signaux analogiques en leur représentation numérique, sont également basées sur l'ADC. C'est ainsi que fonctionnent par exemple les scanners, les caméras, les appareils photo, les enregistreurs.

Le paramètre de base d'un convertisseur est sa résolution, mesurée en bits, ce qui est lié au nombre de comparateurs utilisés dans le circuit. Lorsqu'on parle d'un élément de 8 bits, cela signifie qu'il indique des valeurs de 0 à 255 (c'est-à-dire 2^8), avec 12 bits la précision augmente à 4096, avec 16 à 65536, etc. La résolution se réfère à la division de l'échelle complète de l'ADC, dont la limite supérieure est déterminée par la tension de référence. Dans un microcontrôleur, elle est fournie par un périphérique séparé ou nécessite la connexion d'une source externe (dans les circuits AVR, une broche marquée AREF est utilisée à cet effet). C'est un régulateur de tension avec de faibles capacités de courant, mais une haute précision et stabilité. La valeur de tension mesurée ne peut pas dépasser la valeur fournie par la source de référence – c'est pourquoi, en pratique, un circuit de diviseur optimisé est souvent connecté à l'entrée du convertisseur A/C.

Du point de vue du programme, la gestion des convertisseurs A/C est simple, dans certains environnements, elle se limite à récupérer la valeur de l'entrée analogique. Par exemple, les modules Arduino distinguent les broches auxquelles les convertisseurs sont connectés en les marquant avec la lettre A, pour « analog ».

DAC, ou convertisseur numérique-analogique

Dans des circuits plus avancés, on trouve des convertisseurs à fonctionnement inverse, c'est-à-dire C/A, numérique-analogique. Également connus sous leur nom anglais DAC, rencontrés non seulement dans le contexte des composants électroniques, mais aussi dans les équipements multimédias. Cela se produit parce que ces périphériques servent à convertir des nombres abstraits en une valeur de tension correspondante. C'est grâce à eux que les échantillons de son enregistrés numériquement peuvent être (littéralement) convertis en ondes sonores, en mettant en mouvement la membrane d'un haut-parleur.

Le DAC, comme l'ADC, possède une résolution exprimée en nombre de bits – le calcul de la précision est ici analogue à celui décrit ci-dessus. Il convient de noter que la sortie du DAC est généralement de faible puissance, et donc en pratique, les sorties de ces types de périphériques sont le plus souvent connectées à des amplificateurs.

Le DAC est un circuit moins couramment rencontré dans les microcontrôleurs en raison de son champ d'application plus restreint. Les applications de ces convertisseurs concernent principalement le domaine des multimédias, mais incluent également : la création de potentiomètres numériques, de circuits de calibration, le contrôle des affichages. Parfois, ils sont également utilisés pour contrôler le fonctionnement des moteurs, mais uniquement dans le cas d'éléments nécessitant une régulation de tension. Les convertisseurs C/A sont également un élément important des systèmes SDR, c'est-à-dire des circuits radio contrôlés par logiciel.

Compteurs et minuteurs

Le compteur et le minuteur sont théoriquement des périphériques distincts, mais souvent utilisés ensemble pour réaliser une tâche spécifique. Le minuteur sert à déterminer des intervalles de temps égaux, généralement basés sur le signal d'horloge du microcontrôleur. La tâche du compteur – ce qui est assez évident – est de compter les impulsions. Cela peut être fait sous forme d'incrémentation ou de décrémentation (compter vers le haut ou vers le bas, en commençant à partir d'une valeur donnée). Le registre du compteur a une capacité limitée (indiquée en bits dans la spécification du produit), après son débordement (remise à zéro), une interruption est générée – il est donc possible d'écrire un programme qui enregistre un-à-x impulsions sans avoir à surveiller constamment le signal. Cela présente deux avantages : cela décharge le noyau du microcontrôleur et permet également de travailler avec des signaux à haute fréquence. C'est une méthode très flexible, car la valeur de départ du compteur peut être réglée, nous pouvons donc compter à partir de n'importe quelle valeur dans la plage de 1 à la capacité maximale du registre.

Comptage des périodes, un mot sur le préscaler

Les impulsions comptées par le compteur peuvent se présenter sous forme de front montant ou descendant apparaissant sur une broche physique du circuit, mais également provenir directement du minuteur. Dans ce cas, le compteur sert à compter des périodes de temps plus longues. Rappelons-nous que le microcontrôleur est basé sur un signal dont la fréquence est donnée en mégahertz, et donc avec une période de l'ordre de quelques dizaines, voire quelques nanosecondes.

En utilisant la spécification du circuit ATmega328 mentionné : un compteur de 16 bits (valeur maximale 65535) comptant les impulsions de l'horloge (16MHz, c'est-à-dire apparaissant toutes les 62,5 nanosecondes) se déborderait après seulement 4 millisecondes.

Une telle fréquence d'interruptions peut être souhaitable, mais pas dans un nombre limité d'applications – c'est pourquoi les minuteurs sont également équipés d'un circuit de préscaler. Le préscaler réduit la vitesse du signal d'entrée du minuteur, en divisant la fréquence des impulsions par un nombre déterminé. En se basant sur l'exemple du microcontrôleur ATmega328 : il est équipé d'un préscaler de 10 bits, permettant de diviser les fréquences du signal d'horloge par 8, 32, 64, 128, 256 ou 1024. En utilisant ce dernier, le minuteur enregistrera une impulsion sur 1024. Connecté à un minuteur ainsi calibré, le compteur de 16 bits peut générer une interruption à des intervalles allant jusqu'à 4 secondes (62,5ns 1024 65535 ≈ 4,2s).

Applications

Comme on peut le deviner, le contrôle du nombre d'impulsions et des périodes de temps est l'une des fonctionnalités les plus importantes des composants électroniques :

  • ils permettent de générer des signaux PWM, c'est-à-dire des signaux carrés utilisés entre autres pour contrôler la vitesse des moteurs ou la luminosité des sources lumineuses ;
  • ils ont une application clé dans la communication asynchrone,
  • ils servent à introduire des délais de contrôle dans le programme (par exemple, debounce, c'est-à-dire ignorer l'état instable des contacts d'un relais/interrupteur) ;
  • ils facilitent l'introduction de sous-programmes exécutés de manière cyclique, permettant ainsi par exemple aux appareils de fonctionner de manière fluide, mais de surveiller régulièrement les états des interrupteurs, capteurs et autres éléments d'entrée.

Interfaces de communication

Dans notre cycle sur les bases de l'électronique, nous avons consacré un article séparé aux interfaces de communication des microcontrôleurs. C'est pourquoi nous nous limiterons ici à l'information la plus générale. La communication avec d'autres composants/appareils électroniques peut se faire à l'aide d'une interface matérielle, c'est-à-dire un périphérique du microcontrôleur, ou logicielle. Dans ce dernier cas, le programme, au détriment de la puissance de calcul du CPU, contrôle chaque aspect de l'échange de données, y compris la génération des signaux d'horloge, etc. Pour accélérer le fonctionnement de l'ensemble du circuit, une solution plus optimale consiste à utiliser un circuit qui prend en charge la gestion du bus, voire (dans certains cas) du protocole de communication. Du point de vue du programme, la transmission est alors simplifiée au maximum : elle consiste à introduire des données dans le tampon de sortie et à les récupérer du tampon d'entrée.

Avantages de l'utilisation des tampons

L'utilisation de tampons signifie que le noyau du microcontrôleur n'a pas besoin de s'engager immédiatement dans le processus de communication. Néanmoins : puisque dans certaines applications une réaction directe aux données reçues est souhaitable, les circuits de certaines interfaces peuvent générer une interruption matérielle lorsque de nouvelles valeurs apparaissent dans le tampon.

Interfaces matérielles les plus populaires

Dans les microcontrôleurs, on trouve le plus souvent des interfaces servant à la communication avec d'autres circuits intégrés (drivers, contrôleurs, multiplexeurs, etc.), bien que certaines d'entre elles aient une application plus large. Les solutions les plus populaires incluent les circuits prenant en charge les bus série SPI et I2C. Ce sont des technologies avec une bande passante relativement élevée, se distinguant par leur facilité d'implémentation (elles nécessitent seulement quelques lignes, dans les environnements de programmation, elles sont gérées par des commandes intuitives). Leur principal avantage reste la popularité : elles permettent d'étendre considérablement les capacités du microcontrôleur, de lui connecter d'innombrables contrôleurs, capteurs, affichages, multiplexeurs et de nombreux autres circuits/modules. Il en va de même pour l'interface UART, largement utilisée en électronique depuis plusieurs décennies, permettant une conversion facile vers le standard USB (à l'aide par exemple du circuit FT232), ce qui permet au circuit de communiquer avec un ordinateur. Cette fonctionnalité est utilisée pour effectuer des connexions de diagnostic, de maintenance, de mise à jour du programme du microcontrôleur et de nombreuses autres applications.

Autres périphériques et avenir des microcontrôleurs

Les circuits décrits ci-dessus sont présents dans presque tous les microcontrôleurs. On peut même risquer l'hypothèse que c'est grâce à leur implémentation que les microcontrôleurs jouissent aujourd'hui d'une telle popularité – ils ont donné à ces circuits des possibilités universelles et ont réduit des systèmes complexes à un seul « scalak ». Mais le développement des microcontrôleurs progresse constamment, ce qui leur permet de rester adaptés aux applications les plus modernes, ainsi que pratiques à utiliser. Il convient donc de mentionner encore quelques périphériques populaires, ainsi que de prêter attention aux tendances du marché qui suggèrent quelles solutions deviendront des standards courants dans un avenir proche.

USB

Sur la liste des interfaces populaires mentionnée précédemment, l'USB, c'est-à-dire le bus bien connu du secteur informatique et des appareils audiovisuels, est absent. En effet, les circuits de gestion matérielle de l'USB ne sont pas souvent implémentés dans les microcontrôleurs moins chers – principalement en raison de leur complexité et de la haute fréquence des signaux, ce qui entraîne des coûts. Cependant, les fabricants sont bien conscients que c'est précisément sur les microcontrôleurs que repose le fonctionnement d'un nombre croissant d'accessoires électroniques, d'appareils IoT, de modules d'automatisation domestique, ainsi que de produits destinés au marché de l'automatisation industrielle. Cette popularité croissante résulte notamment de la nécessité de mettre à jour régulièrement leur logiciel et leurs sécurités (ce qui serait impossible dans des conceptions basées sur des circuits simples à fonction strictement définie). Dans le même temps, les utilisateurs/opérateurs/techniciens attendent de plus en plus souvent que les appareils qu'ils utilisent prennent en charge l'interface USB (par exemple, pour une configuration pratique à l'aide d'un ordinateur portable). C'est pourquoi le contrôleur USB est un périphérique de plus en plus souvent rencontré dans les microcontrôleurs, en particulier les plus complexes. Grâce à eux, les circuits sont simplifiés, éliminant le besoin de construire des appareils basés sur des systèmes microprocesseurs.

RTC, ou horloge

Un autre choix pratique que les fabricants choisissent de plus en plus souvent est d'inclure dans le microcontrôleur une horloge temps réel (RTC, de l'anglais real-time clock). Grâce à elle, le circuit a un accès ininterrompu aux informations sur la date et l'heure actuelles. Cela a, bien sûr, de nombreuses applications pratiques (construction d'horloges, de contrôleurs temporels, etc.) – mais est également lié aux exigences croissantes de la sécurité informatique, basées sur des clés d'accès, des jetons, des certificats, etc., qui expirent.

Générateur PWM

Bien que les minuteurs et les compteurs puissent effectivement être utilisés pour générer un signal PWM, en pratique, ils ont de nombreuses autres applications et les utiliser pour une fonction aussi triviale n'est pas optimal. Pour cette raison, de nombreux microcontrôleurs intègrent des générateurs de signaux carrés autonomes, qui fonctionnent comme des périphériques indépendants. Cela permet de contrôler les récepteurs (par exemple, la luminosité d'une source lumineuse) avec un minimum d'utilisation du noyau : les commandes servant à gérer le générateur se limitent à des instructions de réglage et d'activation.

Chien de garde

Les circuits Watchdog Timer (WDT) ne sont pas nouveaux, mais aujourd'hui, ils constituent pratiquement la norme dans l'industrie des microcontrôleurs. Ce sont des circuits servant à réinitialiser le microcontrôleur en cas de panne, par exemple, s'il est bloqué dans une boucle infinie du programme ou en cas d'erreurs liées à une perturbation temporaire de l'alimentation, du signal d'horloge, etc. La portée d'action du WTD est configurable, ce qui est couramment pris en compte dans les environnements de programmation.

Un regard vers l'avenir

Pour conclure, jetons un coup d'œil à quelques « nouveautés » qui ne sont pas encore des éléments par défaut des microcontrôleurs, mais qui, grâce à leurs avantages indéniables, ont rapidement gagné un nombre croissant d'enthousiastes.

Périphériques indépendants du noyau

CIP (Core Independent Peripherals) sont des périphériques fonctionnant complètement indépendamment du noyau, pouvant fonctionner sans retarder le programme principal, et même lorsque le reste des composants du circuit est en veille, ce qui permet une économie d'énergie significative. Cela optimise le circuit pour une utilisation dans des circuits alimentés par batterie, par exemple, des capteurs IoT distants ou des appareils mobiles. Sous forme de CIP, on trouve des comparateurs, des convertisseurs, des générateurs et un nombre croissant d'autres périphériques.

Qu'est-ce que le CLB ?

Depuis un certain temps, dans certains microcontrôleurs de la marque Microchip, on a commencé à implémenter le CLB, c'est-à-dire des périphériques de type Configurable Logic Block. Ce sont des structures composées de portes logiques de base, qui peuvent être librement connectées/configurées par le concepteur (de la même manière que dans les circuits de type FPGA). Un tel périphérique peut exécuter très rapidement des instructions conditionnelles et d'autres fonctions simples (par exemple, basculer entre les modes de fonctionnement, activer le rétroéclairage, etc.), ainsi que générer une interruption du programme principal du microcontrôleur uniquement lorsque cela est nécessaire.

Interrupteurs tactiles ou capacitive touch

Depuis plus d'une décennie, dans les microcontrôleurs AVR (mais pas seulement), on peut rencontrer des sorties qui permettent de réaliser une interface utilisateur tactile. Cela peut être, par exemple, des boutons ou des curseurs réalisés sous forme de champs conducteurs placés sous la surface d'un panneau/boîtier. Le microcontrôleur détecte l'interaction avec eux, en utilisant la technologie capacitive, c'est-à-dire le changement de capacité causé par la proximité du corps avec le capteur capacitif (électrode). Cette solution élimine pratiquement le besoin d'utiliser des éléments électromécaniques, et comme elle est intégrée dans le circuit de commande principal, elle permet de construire des appareils avec une conception exceptionnellement compacte.

Transfer Multisort Elektronik (TME) est l’un des plus grands distributeurs mondiaux de composants électroniques, de pièces électrotechniques, d’équipements d’atelier et d’automatisation industrielle. Le catalogue comprend plus de 1 500 000 de produits provenant de 1 300 fabricants leaders. Les centres logistiques modernes de TME à Łódź et Rzgów (Pologne), avec une superficie totale de plus de 40 000 m², expédient près de 6 000 colis par jour à des clients dans plus de 150 pays.

TME investit également dans le développement des connaissances et compétences des jeunes ingénieurs et passionnés d’électronique grâce au projet TME Education et soutient la communauté technologique en organisant la série d’événements TechMasterEvent, promouvant l’innovation et l’échange d’expériences.

VOIR AUSSI