Académique Documents
Professionnel Documents
Culture Documents
Un microcontrôleur est un circuit intégré de traitement de l’information, réunissant les éléments essentiels d’une
structure à base de microprocesseur.
Généralement on trouve à l’intérieur d’un tel composant :
• Un microprocesseur (C.P.U.),
• Des Timers pour générer ou mesurer des signaux avec une grande précision temporelle
• Watch dog
• ….
Avantages:
• Diminution de la consommation
• Diminution du coût :
Inconvénients:
• Performance réduite :
1
• Les capteurs captent les grandeurs physiques de l’environnement ( température, humidité, mouvement, ….)
• Le MCU traite ses informations
• À travers les actionneurs, le MCU agit sur l’environnement pour le Controller.
Le processeur : caractéristique :
Possède un Jeu d’instructions qui est généralement réduit par rapport à un microprocesseur généraliste.
3
le processeur : CISC / RISC
Une mémoire morte qui contient les instructions du programme que doit exécuter le microprocesseur dès la mise sous
tension (de l’ordre de kilo octets).
Ce type de mémoire, est uniquement accessible en lecture. Sa programmation nécessite une procédure particulière et
un matériel adéquat.
o
De la EPROM programmable électriquement et effaçable aux U-V (appelée aussi UVPROM),
o
De la EPROM programmable et effaçable électriquement.
o
De la mémoire flash (programmable à une vitesse plus rapide, densité élevée) : c’est la plus utilisée
aujourd’hui dans les MCU.
Mémoire de programme :
• Une mémoire morte qui contient les instructions du programme que doit exécuter le microprocesseur dés la mise
sous tension ( de l’ordre de kilo octets).
• Ce type de mémoire, est uniquement accessible en lecture. Sa programmation nécessite une procédure particulière
et un matériel adéquat.
• De la mémoire flash (programmable à une vitesse plus rapide, densité élevée) : c’est la plus utilisée
aujourd’hui dans les MCU
Mémoires de données
Ce dispositif permet de mémoriser temporairement les données générées par le microprocesseur pendant les
différentes phases du traitement numérique (résultats d’opérations, états des capteurs...). Ces mémoires sont
accessibles en écriture et en lecture ( de l’ordre de centaines d’octets).
On en trouve 2 types :
• De la mémoire vive (RAM) volatile : SRAM ou DRAM , les données perdues en cas de coupure de
l’alimentation) ayant un temps de lecture et écriture assez court(quelques ns),
• De la mémoire morte (EEPROM) non-volatile : (données conservées en cas de coupure de l’alimentation).
TIMER
3. Temporisation: compter les cycles d’horloge du uc lui-même. Dans ce cas, comme l’horloge est fixe, il s’agit
en réalité de compter du temps.
4
4. Comptage d'événements: compter les impulsions reçues sur un pin d’entrée.
Plusieurs registres associés au Timer permettent de configurer les différents modes décrits précédemment.
Ce dispositif est un système anti-plantage du microcontrôleur. Il s’assure qu’il n’y ait pas d'exécution prolongé
d’une même suite d’instructions.
Si le compteur dépasse une valeur donnée (timeout) alors on procède à un reset (redémarrage) du système.
Le chien de garde consiste souvent en un registre qui est mis à jour via une interruption régulière.
Les broches de ces ports peuvent donc être configurées en entrée ou en sortie, avec différentes options
(résistances de rappel:pull-up, pull-down,...).
Les ports peuvent être configurés pour établir des connexions parallèles ou série.
La configuration ainsi que l’état logique de ces broches est obtenue par des opérations d’écriture ou de lecture
dans différents registres associés à chaque port. On trouve généralement :
o Un registre de configuration pour une configuration en entrée ou en sortie avec plusieurs options.
C’est un circuit qui permet au processeur d’envoyer des données parallèles correspondant au différent bits de
données à travers une seule ligne et l’inverse.
Les données envoyées ou reçues se présentes sous la forme d’une succession de valeurs binaires (bit stream).
Il y a 2 types de liaison série : synchrone et asynchrone.
5
Contrôleur d’interruptions :
Le mécanisme des interruptions permet à un processeur de réagir à un ensemble d’évènements sans pour autant
surveiller par programme leur apparition. Une interruption est un évènement capable d’arrêter le déroulement
d’un programme pour exécuter une routine en réponse à cet événement.
Deux types d’interruption:
• les interruptions provenant de périphériques internes (timer, passage par zéro d’un compteur interne,
watchdog, USB, ethernet, ..)
• les interruptions provenant de périphériques externe (reset, bouton poussoir, clavier, changement d’état
d’un signal extérieur, …) à travers les broches d’entrées sorties.
Plusieurs interruptions peuvent être déclenchées en même temps, il existe souvent un contrôleur d'interruptions
destiné à gérer les conflits entre interruptions
Une interruption est signalée au processeur par un signal électrique sur une borne spéciale. Lors de la réception de ce signal,
le processeur (traite) l'interruption dès la fin de l'instruction qu'il était en train d'exécuter. Le traitement de l'interruption
consiste soit :
A l’ignorer et passer à l'instruction suivante : c'est possible uniquement pour certaines interruptions,
nommées interruptions masquables. Il est en effet parfois nécessaire de pouvoir ignorer les interruptions
pendant un certain temps, pour effectuer des traitements plus urgents . Lorsque le traitement est terminé, le
processeur démasque les interruptions et les prend alors en compte.
A arrêter la tâche en cours. Le processeur sauvegarde son état ( ces registres) en mémoire (la zone pile) et
appelle la routine correspondant au numéro d'interruption. L'adresse de début de la routine est donnée par la
table des vecteurs d'interruptions.
6
Convertisseur Analogique Numérique (CAN / ADC)
• Il possède plusieurs entrées multiplexées accessibles via les broches des ports de l’interface parallèle.
• Le ADC possède normalement 2 registres :
• Un registre de données contenant le résultat de la conversion,
• Un registre de contrôle permettant de lancer et de surveiller la conversion.
• Tous les composants qu’on vient de voir communique avec le processeur à travers un bus interne.
• Parmi les bus on cite le bus AMBA de ARM : Advanced Microcontroller Bus Architecture
7
8