Cours Microcontrôleur Microprocesseur 47
Cours Microcontrôleur Microprocesseur 47
Cours Microcontrôleur Microprocesseur 47
I- Préambule
Microprocesseur et microcontrôleur : éléments incontournables en instrumentation.
Progressivement complétés par d'autres composants numériques.
Fausse Idée : marché de l'informatique → principal débouché du microprocesseur.
L'informatique (monde PC) : dominé par 3 fabricants (Intel, …).
Marché du microprocesseur : plusieurs centaines de fabricants → tout autre ordre de grandeur.
En 1998 : 99% des microprocesseurs → destinés au marché des systèmes embarqués (c.à.d de l'instrumentation
et du contrôle).
1
• Composant ASIC ou FPGA : Exploités complémentairement.
→ Un ASIC : très spécifique d'une application → spécialement développé pour celle-ci.
→ Le FPGA : destiné à faire n'importe quoi ← l'utilisateur qui devra le configurer
→ Le FPGA sert à la mise au point, et un fondeur de silicium transcrit ses fonctionnalités en un ASIC figé
III- Historique
• 1632 Oughtred (GB) invente la règle à calcul
• 1642 Pascal (F) imagine sa machine à calculer
• 1666 Moreland (GB) identifie la multiplication comme une suite d'additions
• 1770 Hahn (D) crée une machine à cylindre
• 1820 Babbage (GB) initie ses premiers travaux sur l’automatisation des calculs
• 1833 Babbage invente le concept de calculateur programmé (c.à.d enchaînement automatique des opérations)
2
• 1897 Braun (USA) invente l'oscilloscope
• 1906 Lee de Forest (USA) invente la triode
• 1920 Morrison (USA) imagine l'horloge à quartz
• 1938 Couffignal (F) le père de la numération binaire
• 1944 Création de l'ENIAC : première machine électronique (monstre d’environ 18000 tubes électroniques!)
L'ENIAC
• 1948 Bardeen, Brattain, Shockley (USA) découvrent l'effet transistor aux Bell Labs
• 1949 première machine IBM à cartes perforées
4
IV- Informatique industrielle
Pas de différence de principe entre ordinateur et un micro-système utilisé en informatique industrielle.
Un micro-ordinateur peut servir à contrôler un processus industriel ← des périphériques spécifiques : micro-
système ou système à microprocesseur.
Micro-système
5
Composition d’un système minimal.
V- Environnement d’un µP
Microprocesseur → composant essentiel d'un micro-système. Présente divers avantages :
- moins de composants
- modification aisée du programme
- consommation réduite.
Tout seul un µP ne peut rien faire, c'est comme un moteur de voiture sans roues, sans boite de vitesse et sans
carrosserie... Il comporte diverses broches d'entrée/sortie sous forme de bus.
1- L'environnement du µP
- Mémoires ROM et RAM : stockage de données et du programme applicatif
- Périphériques : autres dispositifs reliés au µP par le biais d'un coupleur d'interface.
6
2- Fonctionnement simplifié du µP
a- Constitution
Un µP → 3 parties principales :
- une unité de contrôle (UCT),
- une unité arithmétique et logique (ALU),
- un certain nombre de registres, le tout relié par un réseau complexe de bus interne.
7
b- Cycle Fetch
Un µP sous tension va travailler ← ordre en "levant un drapeau".
Le µP peut démarrer.
Soit le CP contienne la valeur 0800H (en hexadécimal sur 16 bits) : adresse de la première instruction à effectuer.
En interne le bus du µP est sur 8 bits ⇒ 2 phases pour transmettre une adresse de 16 bits. Soit :
• transfert de l'octet de poids faible du CP dans le registre d'adresse,
• transfert de l'octet de poids fort du CP dans le registre d'adresse,
• envoi d'un ordre de lecture à la mémoire centrale (RD),
• attente de WAIT puis,
• transfert du contenu du poids faible du CP vers l'ALU,
• incrémentation de 1 et retour dans le CP,
• transfert du poids fort du CP dans l'ALU et addition de la retenue éventuelle de l'opération précédente, puis
retour dans le CP,
• simultanément la donnée est transférée de la mémoire vers le registre de données via le bus de données.
8
Les processeurs Motorola
I- Avant-Propos
Les premiers produits crées par : Intel, Motorola, Rockwell, Zilog, Texas, NS, Fairchild et bien d’autres
2 géants : Intel et Motorola (concept CISC (Complex Instruction Set Computer)). Coté Motorola :
- Les processeurs : 6800 - 6802, 6809, 68000, 68020, 68030 …
- Les circuits de la périphérie : PIA 6821, ACIA 6850, DUART 68681, USART …
- Les microcontrôleurs : 6805, 68HC11, 68302, 68331, 68332, 68340 ...
II- Introduction
A- Qu’est-ce qu’un microprocesseur CISC?
Les CISC : principale caractéristique → mettre à disposition du programmeur un jeu d’instructions très développé et
un choix de modes d’adressage important.
B- Architecture de Communication
1- Les signaux
Figure 1
9
Le processeur communique avec son environnement en échangeant des données codées sur n bits par exemple :
- le niveau électrique 0 V (0 binaire),
- le niveau électrique 5 V (1 binaire
⇒ besoin de faire appel à n lignes électriques pour véhiculer les données (Bus de données).
Figure 2
10
Un troisième bus appelé bus de contrôle assure le contrôle directionnel, temporel et événementiel des échanges.
2- Le système à microprocesseur
Un système est une combinaison entre un microprocesseur et divers périphériques.
Le monde extérieur interagit avec l’application → Interfaces d’entrée/sortie (I/O qui signifie Input Output).
11
Figure 4- Système à microprocesseur
Une instruction → micro câblage électronique → délivre en sortie des signaux dépendants des signaux d’entrée.
L’ensemble des câblages d’instructions → regroupé dans l’ALU (Arithmétic and Logic Unit).
Une instruction → repérée par un code → la localisation ligne-colonne du câblage de l’instruction dans L’ALU.
12
Exemple d’instruction :
Un processeur CISC possède un unique bus de données, il ne peut donc effectuer l’opération suivante :
⇒ faut, simultanément trois emplacements, or il n’en voit qu’un par l’intermédiaire de son bus de données.
⇒ Il utilise pour résoudre ce problème une mémoire interne appelée Registre de données.
Exemple d’algorithme :
13
Autre Exemple d’algorithme (prise de décision) :
Afin de permettre la prise de décisions (conditions : <, >, =, >0, <0, etc...), un registre est indispensable : Status.
Le Status contient des témoins (flag) → A tester pour décider de la poursuite en séquence ou de la rupture.
14
Effectuer un calcul dans un registre
Soustraire la valeur 100 au contenu du registre
SI Z=1 ALORS
Effectuer Traitement 1
SINON
Effectuer traitement 2
FINSI
15
Figure 6- Modèle générique d’un processeur CISC
16
1- Le 6800 Le premier né :
Architecture interne :
! 1 ALU.
! 2 registres de données sur 8 bits (accumulateurs A et B).
! 1 registre d’adresse sur 16 bits (index X).
! 1 pointeur de pile sur 16 bits.
! 1 pointeur de programme sur 16 bits.
! 1 status sur 8 bits dont 6 utiles.
L’architecture de communication repose sur :
! 1 bus de données sur 8 bits.
! 1 bus d’adresse sur 16 bits.
! 1 bus de contrôle.
2- Le 6802
Ne diffère du 6800 que par 2 points :
- 128 octets de RAM interne adressée de $00 à $7F.
- Possède un état de repli en faible consommation dans lequel la RAM interne est maintenue.
3- Le 6809
Progrès considérable par rapport au 6800.
Architecture interne :
! 1 ALU
! 1 registre de données sur 16 bits (accumulateur D), ou utilisé comme 2 registres sur 8 bits
(accumulateur A : octet fort et accumulateur B : octet faible).
! 2 registres d’adresse d’usage général sur 16 bits (index X et Y).
! 1 registre d’adresse sur 16 bits soit d’usage général, soit comme pointeur de pile.
! 1 pointeur de pile dédié sur 16 bits.
! 1 pointeur de programme sur 16 bits.
! 1 status sur 8 bits.
17
L’architecture de communication repose sur :
! 1 bus de données sur 8 bits.
! 1 bus d’adresse sur 16 bits.
! 1 bus de contrôle.
4- Le 68000
Plus de compatibilité avec les processeurs antérieurs.
Modèle de programmation :
! 1 ALU.
! 8 registres de données sur 32 bits (utilisables sur 16 ou 8 bits).
! 7 registres d’adresse sur 32 bits (24 seulement sont utilisables).
! 2 pointeurs de pile sur 32 bits (24 seulement sont utilisables).
! 1 pointeur de programme sur 32 bits (24 seulement sont utilisables).
! 1 status sur 16 bits.
5- Le 68010
Passé quelque peu inaperçu alors qu’il apporte par rapport au 68000 des fonctionnalités intéressantes.
18
6- Le 68020
7- Le 68030
Apporte par rapport au 68020 :
- 1 unité de gestion de mémoire paginée (PMMU) intégrée,
- 1 bus synchrone, et
- 1 mémoire cache de données interne de 256 octets.
19
Figure 7- Registres internes : 6800, 6802, 6809, 68000, 68010
20
Figure 8- Registres internes : 68020, 68030
21
B- La notion de Microcontrôleur
L’objectif d’un microcontrôleur → diminuer les interconnexions de circuits.
⇒ Intégrer sur la même puce de silicium le microprocesseur et un certain nombre de périphériques.
Le modèle applicatif fait intervenir les circuits périphériques internes (figure 10) :
23
Figure 10- Modèle applicatif du 6805
2- Le 68HC11
Les 68HC11 possèdent des bus d’extension optionnels, et peuvent donc enrichir l’application.
24
Figure 11- Le modèle de programmation du 68HC11
25
Figure 12- Modèle applicatif du 68HC11
3- Le 68302
26
Figure 13- Schéma bloc du 68302
27
Figure 15- Processeur de communication du 68302
4- Le 68331
Données échangées avec l’extérieur sur 16 et non 32 bits, quand aux adresses elles sont sur 24 bits.
28
Figure 16- Modèle applicatif du 68331
5- Le 68340
Cœur : 68020.
29
Figure 17- Modèle applicatif du 68340 Figure 18- Le SIM du 68340
30
6- Exemples d’applications à base de microcontrôleurs
• Le 6805 (version REPROM 68705) utilisé dans des terminaux pour les réglages sur automates programmables.
• 68HC11 : Développement des applications tels des modules de gestion de distribution électrique et de réglage
d’appareils de chauffage et d’éclairage.
• Modules utilisant un 68HC11 gèrent les différents mode de paiement (cartes à pré-paiement, carte Visa).
• Application très intéressante avec un 68302 : carte de communication intelligente pouvant être utilisée comme
concentrateur de réseau.
• Le 68331 est utilisé au cœur d’une unité centrale d’automate programmable dont les modules sont reliés par un
réseau FIP.
31