Département de génie électrique de génie informatique
Faculté des sciences et de génie
Université Laval
Microprogrammation et
Microcontrôleurs
GIF-4200 / GIF-7908
Introduction
aux microcontrôleurs
Partie “E”
Les documents des parties E à L proviennent du domaine public ou ont été produits à
l’Université Laval, les références sont:
Microchip:
* www.microchip.com
Motorola:
* www motorola com/mcu
National Senticonductor:
* www.national.com
Microchip:
* www.microchip.com
Motorola:
* www.motorola com/mcu
TMS37O:
* www.ti.com/sc/docs/micro/products/37O_info.htm
Philips
* www.semiconductors.philips. com
Dallas Semiconductor:
* www.maxim-ic.com
Atmel
* www.atmel.com/
Intel
* www.intel.com/
ARN
* www. arm.com
NewMicros Inc.
* www.newmicros.com
Circuit Cellar (articles de revues)
* www.circuitcellar.com
- 1 -
INTRODUCTION AUX MICROCONTRÔLEURS
page
1. Introduction aux microcontrôleurs 2
2. Bref historique des microcontrôleurs 3
3 - L’architecture générale d’un microcontrôleur 5
3.1- Le CPU (Unité centrale de traitement) 6
3.2 - La mémoire programme 7
3.3 - La mémoire donnée 10
3.4 Compteur de programme (Program Counter) 12
3.5 Pile (Stack) 13
3.6 Processeur de microcontrôleur 14
3.7 Unité d’arithmétique et de logique (ALU - Arithmetic and Logic Unit) 15
3.8 Registres de contrôle et de statut 15
3.9 Interruptions 16
3.10 Jeu d’instructions 16
3.11 - Programmation 18
3.12 - Entrées / Sorties (e/s) parallèles 21
3.13 - Entrées / Sorties (e/s) série 24
3.14 - Entrées / Sorties (e/s) série: UART et USART 25
3.15 - Entrées / Sorties (e/s) série: I2C 27
3.16 - Entrées / Sorties (e/s) série: Bus SPI (Serial Peripheral Interface) 29
3.17 - Entrées / Sorties (e/s) série: CAN (Control Area Network) 33
4. Unité de Chronomètre/Compteur (Timer/Counter unit) 35
5. Composants de l’horloge 36
6. Architecture de 4, 8, 16, 32 bits 37
7. Critères de sélection 41
- 2 -
1. Introduction aux microcontrôleurs
Plus de 10 milliards de microcontrôleurs sont produits chaque année, on recense environ 4 micro-
processeurs par foyer et une bonne douzaine de microcontrôleurs. Une automobile de gamme
moyenne possède plus de trente de ces circuits. La plupart des appareils électriques/électroniques
en incluent.1 Il s’agit d’un circuit électronique incontournable!
On peut certainement affirmer sans se tromper que les microcontrôleurs sont la symbiose de deux
technologies fondamentales du XXe siècle, à savoir les ordinateurs numériques et la technologie
de fabrication des circuits intégrés. En effet, les microcontrôleurs réunissent dans un seul circuit
intégré (un seul boîtier) tous les périphériques d’un ordinateur: unité centrale de traitement (CPU
ou central Processing Unit), unité arithmétique (ALU ou Arithmetic Logic Unit), mémoire, unités
d'entrée/sortie (GPIO ou General Purpose Input Output).
Les ordinateurs numériques sont construits selon deux architectures fondamentalement différentes
soit l’architecture de Harvard2 ou celle de Von Neuman3 (Figure 1). Dans l’architecture de Har-
vard, la mémoire programme et la mémoire donnée sont séparées alors que dans l’architecture de
Von Neuman, mémoires, programme et données sont confondues. Ainsi un ordinateur (un micro-
processeur), emploiera l’architecture de Von Neumann à "mémoire unique" puisque programmes
et données peuvent changer constamment. Par exemple, une utilisatrice d’ordinateur portable à mi-
croprocesseur travaillera sur un logiciel de traitement de texte puis sur un navigateur internet puis
sur un chiffrier. Le(s) programme(s) actif(s) et les données employées par celui-ci (ceux-ci) chan-
geront continuellement. Il sera donc nécessaire de recharger souvent la mémoire du microproces-
seur avec de nouveaux programmes qui travailleront sur des données différentes. Une mémoire
unique est pratique pour ce genre d’application.
1. http://www.eetimes.com/discussion/embedded-pulse/4025678/Intel-bows-out
2. Le terme vient d’un des premiers grands ordinateurs numériques, le Harvard IBM Mark I inauguré le 7
août 1944 à l’Université de Harvard, Cambridge (Massachusetts), États-Unis.
3. John von Neumann (28 décember 1903 – 8 février 1957): mathématicien américain d’origine hongroise
qui a apporté des contributions fort importantes dans plusieurs domaines dont celui de l’informatique.
- 3 -
Figure 1 Types d’architecture des ordinateurs.
Un microcontrôleur est employé dans un contexte différent. Songeons par exemple au microcon-
trôleur qui gère le fonctionnement d’un four à micro-onde. Le programme de fonctionnement de
l’appareil est toujours identique pour dégeler / chauffer / cuire les aliments alors que les données,
elles changeront. Tantôt 60 s pour chauffer un verre de lait, tantôt 2 min pour chauffer un bol de
soupe, etc. Pour ce type d’application, qui est le domaine d’utilisation des microcontrôleurs, le pro-
gramme demeure inchangé, seules les données changent, l’utilisation d’une architecture de Har-
vard à mémoire séparée pour les programmes et les données s’avère être le meilleur choix et tous
les microcontrôleurs emploient cette architecture. Pour revenir à notre exemple du four à micro-
ondes, qui a déjà fait la mise à jour du programme de son four! La mémoire programme pour ces
applications est donc bien "immuable" (au moins d’un point de vue utilisateur). Il est à noter ce-
pendant que le manufacturier (du four à micro-ondes) pourra bien sur faire des mises à jour du pro-
gramme résident, par exemple selon les options de l’appareil (exemple le nombre de cycles, etc.)1.
2. Bref historique des microcontrôleurs
Le premier microprocesseur était doté d’une architecture (de Von Neumann) à 4 bits. Il s’agit du
fameux "4004" de Intel mis sur le marché en 1971 et contenant 2300 transistors. Évidemment, le
développement de la technologie de fabrication des circuits intégrés et notamment celui des mé-
moires EPROM (Erasable Programable Read Only Memory) a permis de mettre plus de transistors
sur une même puce électronique et donc d’incorporer tous les éléments de base d’un micro-ordi-
nateur sur une même puce, le premier microcontrôleur est né à cette époque.
1. Notons que certains appareils domestiques peuvent être mis à jour, ainsi, il est possible de changer le "fir-
mware" de certains appareils de photos, calculatrices (IEEE Spectrum, Texas Instruments vs. the calculator
hackers, Kushner, D., 46[12]: 14-14, 2009), etc..
Mémoire
programme
Mémoire
données
Unité logique et
arithmétique (ALU) entrées /
sorties (e/s, i/o)
Unité de commande
de l’ordinateur (CCU)
Unité centrale de
Traitement (CPU)
Mémoire
(programmes
et données)
Unité logique et
arithmétique (ALU) entrées /
sorties (e/s, i/o)
Unité de commande
de l’ordinateur (CCU)
Unité centrale de
Traitement (CPU)
Architecture de HARVARD
Architecture de VON NEUMAN
1 / 51 100%