Académique Documents
Professionnel Documents
Culture Documents
Chapitre N°2
Objectifs de la leçon
Définir un microcontrôleur
Identifier les principales familles des microcontrôleurs
1 Introduction :
Les microcontrôleurs sont fréquemment utilisés dans les systèmes embarqués, comme les
contrôleurs des moteurs automobiles, les télécommandes, les appareils de bureau,
l'électroménager, les jouets, la téléphonie mobile, horloges, baladeurs, récepteurs GPS, transport
aérien/maritime/fluvial etc.
Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un
ordinateur : processeur, mémoires (mémoire morte pour le programme, mémoire vive pour les
données), unités périphériques et interfaces d'entrées-sorties. Les microcontrôleurs se
caractérisent par un plus haut degré d'intégration, une plus faible consommation électrique, une
vitesse de fonctionnement plus faible (de quelques mégahertz jusqu'à plus d'un gigahertz1) et un
coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels.
Ordre
Actionneur
Grandeur Capter Grandeur Traiter d’information Transmettre
physique Acquérir électrique Ordonner traitée Communiquer
8
3 Types et modèles usuelles de Microcontrôleurs :
Plusieurs constructeurs et fabricants proposent une multitude de références dans le domaine des
microcontrôleurs. Parmi ces fabricants on cite :
Texas
Intel
Instruments
STmicroelectroni
Motorola
cs
Atmel Microchip
Nippon Electric
Philips
Company
Siemens/Infineo Freescale
n
9
4.1 C.P.U. (MICROPROCESSEUR)
On peut noter qu’il existe deux catégories de microprocesseur : les CISC et les RISC.
- CISC (Complex Instruction Set Computer) : Ce microprocesseur possède un nombre
important d’instructions. Chacune d’elles s’exécute en plusieurs périodes d’horloges.
- RISC (Reduced Instruction Set Computer) : Ce microprocesseur possède un nombre
réduit d’instructions. Chacune d’elles s’exécute en une période d’horloge.
10
4.3 Mémoires de données :
Ce type d’interface, répartie sur plusieurs ports (maximum 8 bits), permet de prendre en compte
des états logiques appliqués en entrée (état de capteurs) ou de générer des signaux binaires en
sortie (commande d’actionneurs). Les broches de ces ports peuvent donc être configurées en
entrée ou en sortie, avec différentes options (résistances de rappel, sorties collecteurs ouverts,
interruption...). 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 :
-Un registre de direction pour une configuration en entrée ou en sortie,
-Un registre de donnée recopiant les états logiques de chaque broche de port,
-Un registre d’option permettant plusieurs configurations en entrée ou en sortie.
Dans ce dispositif la transmission est synchronisée par un signal d’horloge émis par l’unité
maître.
11
Figure N° 3 : Liaison série synchrone.
12
-Niveau de tension : Un “0” logique est matérialisé par une tension comprise entre 3 et 25V, un
“1” par une tension comprise entre -25 et -3 V. Des circuits spécialisés comme le MAX 232
réalise la conversion à partir de niveau TTL.
4.6 Le CAN :
4.7 Le Timer :
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’instruction. Un compteur préchargeable se décrémente
régulière au rythme de la fréquence d’horloge. Si aucun préchargement n’est effectué avant qu’il
n’atteigne la valeur “0” un Reset est généré relançant ainsi le microcontrôleur. Il faut donc
penser à précharger régulièrement ce chien de garde par programme lorsqu’il est activé.
13
5 Définition d’un Microcontrôleur PIC :
14
Exemple pratique 1:
15
Un convertisseur Analogique-Numérique 10-bits à 8 entrées multiplexées.
Deux modules de capture/comparaison/PWM.
Ports Entrées/Sorties : A, B, C, D et E.
Une interface de communication série (MSSP, USART).
Une interface de communication parallèle (PSP).
Tension de fonctionnement est entre 2.0V et 5.5V.
16
Exemple pratique 3 : PIC 16F877 ( Block Diagram : extrait du datasheet )
8 Organisation mémoire
Comme nous l’avons vu précédemment, une architecture Harvard dispose de deux zones mémoire :
une zone mémoire de donnée et une zone mémoire de programme. Lesquelles disposent chacune de
leur propre bus.
17
8.1 Organisation de la mémoire de programmes
Le propre des instructions RISC est de regrouper en seul mot le code de l’instruction et l’opérande
ou son adresse. La mémoire de programme est alors organisée en mots de 12, 14 ou 16 bits suivant les
familles des différents microcontrôleurs. Cette mémoire est découpée en pages dont la taille est
fonction de la totalité de la mémoire de programme. La mémoire de programme possède aussi une pile
à plusieurs niveaux. La mémoire de programme peut être une ROM, une EPROM ou une EPROM.
La figure 7 montre l’organisation de la mémoire de programme.
Pile (Stack)
une pile pour gérer les appels programmes et les
interruptions
Vecteur Reset
pointeur vers l’adresse mémoire du début du
programme principal
Vecteurs d'interruption
pointeur vers l’adresse mémoire du programme à
exécuter en cas d’interruptions
Mémoire programme
zone mémoire réservée au stockage des
programmes écrits par l’utilisateur
Bien que les circuits fonctionnent avec des instructions sur 12, 14 ou 16 bits, ils utilisent des données
codées sur 8 bits. Ces données se trouvent dans la RAM interne du circuit. Une partie de cette RAM
contient des registres à fonction dédiée (Special Function Registers) qui servent à initialiser et à piloter
les microcontrôleurs (TRISA, TRISB, STATUS etc.). Ces registres ont des adresses réservées et ne
peuvent être utilisés pour les variables de l’utilisateur. L’autre partie de la RAM, (General Purpose
Register) ne contenant pas de SFR, est utilisée pour enregistrer des variables.
La figure ci-dessous montre un exemple d’organisation de la mémoire de données.
18
BSR (Bank Select Register)
Access Bank
Pour fonctionner correctement les microcontrôleurs nécessitent la présence d’horloge qui doit être
câblée entre les bornes OSC1 et /ou OSC2. Quatre modes d’oscillateurs disponibles:
LP : Low Power crystal : quartz à faible puissance.
XT : Crystal/Resonator : quartz/résonateur en céramique.
HS : High Speed crystal/resonator : quartz à haute fréquence/résonateur en céramique HF.
RC : circuit RC (Resistance/capacité).
Chacun de ces modes peut être sélectionné à travers les bits de configuration FOSC1 et FOSC0
(registre : CONFIGURATION WORD à 2007h), comme suit :
En mode LP, XT ou HS, un quartz ou un résonateur en céramique est connecté aux pins
OSC1/CLKIN et OSC2/CLKOUT pour établir l’oscillation. La figure suivante montre comment ce
quartz ou ce résonateur en céramique est connecté au microcontrôleur :
Toujours dans l’un de ces modes de fonctionnement, le microcontrôleur peut avoir une horloge externe
connectée à la broche OSC1/CLKIN comme le montre la figure suivante :
9.3 Oscillateur RC :
21
12 Critères de choix d’un microcontrôleur :
- Architecture :
ALU (8, 16, 32, 64 bits)
Structure du processeur (Harvard, Von Neumann)
Type de processeur (RISC, CISC)
Taille des mémoires programme et donnée
Nombre de ports d’entrée/sortie
-Fonctionnalités :
Fonctions analogiques : CAN, CNA, Comparateur, ...
Fonctions de timing : Timer, Watchdog, ...
Fonctions de communication : UART (Communication série), USB, I2C, ...
Facilité de programmation : In-Circuit Serial Programming, Self Programming, ...
-Mise en œuvre, maintenance :
Coût de développement : outils de développement, formation, ...
Suivi du microcontrôleur : production suivie, disponibilité, composant obsolète, ...
-Caractéristiques électriques :
Fréquence d’horloge
Tensions d’alimentation
Consommation d’énergie, modes faible consommation d’énergie, ...
-Caractéristiques physiques :
Type de boîtier : DIL, PLCC, ...
22
13 Questions d’évaluations :
1. Quelle est la différence entre un microprocesseur et un microcontrôleur ?
2. Quelle est la différence entre le "RISC" et le "CISC" ?
3. Quelle est la différence entre une architecture de "Von Neumann" et de "Harvard" ?
4. Préciser l'architecture utilisée par les PIC. ?
5. Comment est organisée la mémoire ?
6. Présenter les constitutions interne d’un microcontrôleur par un schéma synoptique.
7. Définir le rôle de chaque constitution.
8. Pour fonctionner correctement, les microcontrôleurs nécessitent la présence d’une horloge. On
demande de donner et de schématiser les différentes façons pour réaliser le circuit d’horloge.
Nom
Circuit
d’horloge Schéma
23