Chapitre 4
Chapitre 4
Chapitre 4
Les microcontrôleurs
1
Plan
Microprocesseur VS Microcontrôleur
Architecture interne d’un microcontrôleur
Les timers
Les ports d’entrée/sortie
La liaison série
PIC 16F877A
La programmation
2
Microprocesseur VS Microcontrôleur
Il y a une différence fondamentale entre un microprocesseur et un microcontrôleur :
- le microcontrôleur intègre dans un même boîtier, un microprocesseur, de la
mémoire, et des interfaces entrées/sorties.
3
Définition d’un microcontrôleur
4
Ventes de microcontrôleurs
5
Définition d’un microcontrôleur
Avantages
l Coût réduit
l Encombrement moindre
l Fiabilité
l Mise en oeuvre plus simple
l Consommation plus faible
6
Définition d’un microcontrôleur
Contenu
7
Définition d’un microcontrôleur
Exemple : Microcontrôleur PIC 16F877
8
Définition d’un microcontrôleur
Généralités sur les PIC
Trois grandes familles
- Base-Line (mots d’instructions de 12 ou 14 bits comme les 12Cxxx, 12Fxxx),
- Mid-Range (mots de 14 bits comme le 16F628, 16F877, etc.),
- High-End (mots de 16 bits).
Identification
Prenons l’exemple du PIC : PIC16F877A-I/P., 07514KQ
o Les 2 premiers chiffres indiquent la catégorie du PIC : 16 = Mid-Range.
o F indique que la mémoire programme est de type FLASH ; on retrouve CR pour
ROM et C pour EPROM (EPROM : Erasable ROM) ou EEPROM.
Remarque :
Un composant qu’on ne peut reprogrammer est appelé OTP pour One Time
Programming.
9
Définition d’un microcontrôleur
Généralités sur les PIC
o 877A indique le modèle du PIC.
o Parfois, un suffixe supplémentaire comme 20 est indiqué. Il s’agit de la fréquence
d’horloge maximale. 20 pour 20 MHz.
o I est la gamme de température industrielle (-40°C à +85°C).
o P est le type de boîtier PDIP, boîtier 40 broches Plastique DIL (Dual In Line).
o 07 est l’année de fabrication 2007 et 51, la semaine 51, donc fin décembre. 4KQ est
un code de traçabilité.
10
Architecture interne
Tous les microcontrôleurs utilisent l’une des 2 architectures nommées Harvard et
Von Neumann. Elles représentent les différentes manières d’échange de données
entre le CPU (microprocesseur interne) et la mémoire.
Architecture Von Neumann
L’architecture VON NEUMANN employée par la plupart des microcontrôleurs
actuels (INTEL80XX, Motorola HC05, HC08 et HC11, ou ZILOG Z80) est basée
sur un bus de données unique
Architecture Harvard
L’architecture HARVARD utilisée par les microcontrôleurs PIC est basée sur deux bus
de données. Un bus est utilisé pour les données et un autre pour les instructions
.
11
Architecture interne
Von Neumann VS Harvard
12
Architecture interne
Les mémoires (1)
l ROM memory : Aussi appelé program memory. C’est une mémoire Flash qui
contient le programme à exécuter.
l EEPROM memory
C’est une mémoire similaire à la mémoire programme. On s’en sert surtout pour
stocker des constantes.
13
Architecture interne
Les mémoires (2)
RAM memory :
l General Purpose Register : Mémoire RAM classique, utilisé pour stocker des
variables. Exemple :
int i;
i++; // incrémentation de i depuis la RAM
l SFR (Special Function Register) : C’est aussi de la mémoire RAM, sauf que les
rôles de chacune des cases mémoire (registres) ont été définis par le fabriquant.
Chaque registre SFR est connecté à un périphérique matériel spécifique et permet
de la contrôler. Exemple :
ADCON0 register permet de piloter le convertisseur A/D.
14
Architecture interne
Les mémoires (3)
15
Jeu d’instructions
Toutes les instructions compréhensibles par les microcontrôleurs forment ce que l’on
appelle le jeu d’instructions.
On distingue 2 types :
composants dits RISC (Reduced Instructions Set Computer), par exemple les PIC.
Dans ce cas, le microcontrôleur reconnaît et exécute seulement des opérations
simples (addition, soustraction, etc.) et des opérations plus complexes sont réalisées
en les combinant. Tous les PIC Mid-Range ont un jeu de 35 instructions.
composants dits CISC (Complex Instructions Set Computer). Les microcontrôleurs
de ce type possèdent 200 instructions différentes et peuvent réaliser de nombreuses
opérations à grande vitesse. Les instructions sont plus complexes.
16
Cadencement du microcontrôleur
Les cadencements possibles
l Quartz
l Très bonne Stabilité.
l Résonateur céramique
l Stabilité ( 0.5%)
l Moins couteux que le quartz
17
Les timers
Mode compteur ou temporisateur (1)
l Un timer est le nom courant de compteur / temporisateur.
18
Les ports d’entrée / Sortie
Ce sont des ports parallèles. Ils permettent de recueillir des informations ou de piloter
des modules sur l’environnement extérieur. Ils sont souvent bidirectionnels
(configurable en entrée ou en sortie).
19
Les ports d’entrée / Sortie
l Quelles sont les ports d’E/S de ce microcontrôleur?
20
Les ports d’entrée / Sortie
l Quelles sont les ports d’E/S de ce microcontrôleur?
21
PIC 16F877A
Synoptique simplifié
22
PIC 16F877A
Synoptique simplifié
23
PIC 16F877A
Synoptique simplifié
Les timers (3), modules programmables dont les fonctions sont : astable (signaux
périodiques), monostable (impulsion), compteur, signaux PWM (commande de
moteurs à courant continue).
Le CAN convertisseur analogique/numérique 10 bits - 8 entrées disponibles de 0 à
5V ; les résultats des conversions sont stockés dans des registres internes.
24
PIC 16F877A
Synoptique complet
25
PIC 16F877A
Synoptique complet
26
PIC 16F877A
Synoptique complet
27
PIC 16F877A
Synoptique complet
28
PIC 16F877A
Synoptique complet
29
PIC 16F877A
Synoptique complet
30
PIC 16F877A
Synoptique complet
31
PIC 16F877A
Synoptique complet
32
PIC 16F877A
Synoptique complet
33
LA PROGRAMMATION
Le microcontrôleur exécute le programme chargé dans sa mémoire FLASH.
Les mots binaires (sur 14 bits pour le PIC16F877A) sont considérés par le
CPU comme une commande.
Mais programmer
en binaire ou
même en
hexadécimal est
impossible
34
LA PROGRAMMATION
Le passage de ce code plus lisible en code binaire prêt à être mis en
mémoire s’appelle la compilation.
Remarque :
L’assembleur est un langage bas niveau étroitement lié au type de
microcontrôleur
35
LA PROGRAMMATION
Le C est un langage de plus haut niveau que l’assembleur et permet en
théorie d’être portable, donc de s’adapter à n’importe quel microcontrôleur.
36
Merci
37