Architecture des microcontrôleurs
Première partie :
Introduction aux Système
Microprocesseur
Thamallah Ali
1
1
Plan
Elément de base (Microcontrôleur & Microprocesseur)
Exemple d’application : Régulation de température
Architecture interne d’un système à microcontrôleur
Organisation et gestion d’une mémoire
Circulation de l’information dans un Microcontrôleur
Exécution d’une instruction (Programme)
Etapes nécessaires pour la programmation d’un
Microcontrôleur ou bien un microprocesseur
2
1. Microcontrôleur
Un circuit électrique
Plusieurs applications industrielles sont à base des microcontrôleurs :
Pilotage et Commande des processus (Machine à laver)
Asservissement et régulation des grandeurs physiques
(Régulation de température)
Traitement des données
3
Exemple d’application : Régulation de température
4
Relais :
5
Clavier matriciel:
Microcontrôleur:
Principe de fonctionnement
Si
SiTTs<T
1 <T
1 s<T2
T1 T2
Ts
7
4. Architecture interne d’un microcontrôleur
L’application fonctionne selon un programme
Le microcontrôleur possède un circuit mémoire pour stocké le programme
de l’application
- ROM : Read Only Memory(Mémoire à lecture seule)
Mémoire Morte
Toutes les données qui y sont stockées ne sont pas
perdues lors d’une coupure de courant
- RAM : Random Access Memory (Mémoire Vive)
Toutes les données qui y sont stockées sont
perdues lors d’une coupure de courant
ROM : stocke le programme de l’application
RAM : contient les registres spéciaux et d’usage générale
8
La première application :
Clavier
entrée
entrée
Capteur Microcontrôleur sortie Relais
Ou bien un -> Résistance
système à chauffante
micrprocesseur
Un microcontrôleur (système à microprocesseur)
possède des entrées/sorties pour communiquer avec l’extérieur
9
Le microcontrôleur possède un microprocesseur pour l’exécution
du programme
le microprocesseur est également appelé CPU (Central Processing Unit)
Entrées Sorties
Exécuter un programme La mise à jour des sorties
en fonctions :
- Etas des entrées
- Programme
Le microcontrôleur possède des bus internes permettant la communication
entre les différents élément du microcontrôleur
10
Un microcontrôleur possède au minimum dans un seul boitier :
1- Mémoire ROM
Bus internes
2- Mémoire RAM
3- Microprocesseur
4- Port Entrées/Sorties
Bus internes
5- Bus internes
11
Microprocesseur
Microcontrôleur
12
13
14
5. Organisation de la mémoire
La mémoire peut être vue comme un ensemble de cellules ou cases contenant
chacune une information : une instruction ou une donnée.
Chaque case mémoire est repérée par un numéro d’ordre unique : son adresse
Une adresse généralement est notée en hexadécimal.
Une case mémoire peut être lue ou
écrite par le microprocesseur
(cas des mémoires vives)
ou bien seulement lue
(cas des mémoires mortes)
15
6. Exécution d’un programme
Le programme est stocké dans la mémoire sous formes d’une liste d’instructions
Le microcontrôleur exécute, une à une les instructions codées sous forme binaire
16
Les instructions sont stockées dans des cases mémoires
Chaque case a une adresse bien déterminée
17
Schéma fonctionnelle d’une mémoire
Le nombre de ligne d’adresses dépend de la capacité de la mémoire :
n lignes d’adresse permette d’adresser 2n cases mémoires :
8 bits d’adresses permettent d’adresser 256 octets,
16 bits d’adresses permettent d’adresser 65536 octets (64 Ko).
Exemple : mémoire RAM 6264 , capacité=8K ×8 bits :
13 broches d’adresses A0 à A12, 213=8192 = 8Ko.
18
Interface Microprocesseur/Mémoire
19
Connexion de plusieurs mémoires sur le bus d’un microprocesseur
20
21
7. Circulation de l’information dans un
Microcontrôleur
Bus de Donnée (DATA)
Bus des instructions (Instructions)
22
Le microprocesseur échange des informations avec la mémoire et l’unit´e d’E/S,
sous forme de mots binaires, au moyen d’un ensemble de connexions appel´e bus.
Un bus permet de transférer des données sous forme parallèle, c’est-`a-dire en
faisant circuler n bits simultanément.
Les microprocesseurs peuvent être classés selon la longueur maximale des mots
binaires qu’ils peuvent échanger avec la mémoire et les E/S : microprocesseurs 8
bits, 16 bits, 32 bits, ...
23
Le bus peut être décomposé en trois bus distincts :
1- Le bus d’adresses permet au microprocesseur de spécifier l’adresse de la case
mémoire `a lire ou à écrire ;
2- Le bus de données permet les transferts entre le microprocesseur et la mémoire ou
les E/S ;
3- le bus de commande transmet les ordres de lecture et d’´ecriture de la mémoire et
des E/S.
ROM RAM
Bus d’instructions
24
Bus de Donnée (DATA)
Bus des instructions (Instructions)
25
Deux architectures
Ce type d’architecture utilise un seul bus pour la circulations des données et
des instruction
Ce type d’architecture utilise des instructions de type CISC
(Complex Instructions Construction Set)
26
Ce type d’architecture utilise deux bus l’un pour les données et l’autre pour les
instruction
Ce type d’architecture utilise des instructions de type RISC
(Reduce Instructions Construction Set)
27
8 Exécution d’une instruction (Programme)
Une instruction est donnée sous la forme suivante :
La structure d’une instruction est bien adaptée au fonctionnement de L’ALU.
Registre : Work W
28
Exemple 1 :
Additionner le contenu du registre W avec le contenu de la case d’adresse 0x 30
L’instruction écrite sous forme d’une instruction assembleur.
1ére cas
Additionner le contenu du registre W avec le contenu de la
ADDWF 0x30,0
case d’adresse 0x 30 et le résultat sera enregistré dans W
W W+le contenu de l’adresse 0x30
2éme cas
Additionner le contenu du registre W avec le contenu de la case
ADDWF 0x30,1
d’adresse 0x 30 et le résultat sera enregistré dans l’adresse 0x30
l’adresse 0x30 W+le contenu de l’adresse 0x30
Cette même instruction ADDWF s’écrit sous la forme code machine, qui ne contient
que 0 ou bien 1.
30
Généralement la procédure de l’exécution d’une instruction est constituée
de trois micro-étapes :
–Recherche l’instruction (fetch) –Exécution
–Décodage de l’instruction –Ecriture du résultat dans W
– Lire le registre 0x 30
31
32
Ecrire le résultat de l’instruction N+1
exécution
Exécution l’opération de l’instruction N+1
Instruction N+1
Lire l’opérande de l’instruction N+1
Décodage de l’instruction N+1
Recherche l’instruction N+1 @ PCIR
Ecrire le résultat de l’instruction N
Exécution d’une instruction :
exécution
Exécution l’opération de l’instruction N
Instruction N
Lire l’opérande de l’instruction N
Décodage de l’instruction N
Recherche l’instruction N @ PCIR
Exécution d’une instruction avec la technique pipeline
Fetch N+1
Fetch N+2
Instruction N Instruction N+1
Décodage N
Exécution de N
Décodage N+1
Exécution de N+1
33
Le séquenceur est dirigé par une horloge qui délivre un signal de fréquence donnée
permettant d’enchaîner les déférentes étapes de l’exécution d’une instruction :
Q1: Décodage
Q2: Lecture opérande
Q3 : Exécution
Q4 : Ecriture du résultat
les microcontrôleurs PIC de Microchip nécessitent quatre microcycle.
34
8. Etapes nécessaires pour la programmation d’un
microcontrôleur
Niveaux de Programmation :
Editeur
Haut niveau Micropascal, PIC C, C
Editeur
Langage Assembleur:
compilation MBLAP
Code source
Langage Machine 000001110000
Langage C
Editeur : Mplab .ASM
35
Les différentes étapes de la réalisation d’une application
à base d’un microcontrôleur:
Fichier
Ecrire le
Etape 1 programme
Non.ASM
Fichier
Etape 2 COMPILATION
Mplab
La compilation consiste de remplacer les instruction du fichier .C par des
codes binaires (fichier .HEX)compréhensible par les microcontrôleur
Transfère du
Etape 3 Fichier .HEX
Programmateur
Transférer le fichier .HEX de la mémoire du PC vers la mémoire du
36
microcontrôleur
Langage
Assembleur
37