Professional Documents
Culture Documents
Microcontrleur
Introduction
Systme minimum
Composition et interconnexion
1-Lunitcentrale:
Traite des informations issues soit extrieurement ou provenances de la mmoire. Elle a
pour tche :
- Dlaborer des commandes et ordres vers les autres parties du systme (rsultat dun
traitement)
- Elle est capable dexcuter une suite dinstructions programme .
elle peut tre raliser par un microprocesseur (8,16, 32,..) standaed
(fabriqu par des constructeurs connus : motorola, intel, )
4
Lunit centrale dun systme programmable gre toutes (ou presque) les oprations
lmentaires au sein de ce systme. En effet, lUC soccupe des oprations de recherche,
dinterprtation (dcodage) et dexcution des instructions qui compose un programme.
En gnral, une UC :
1- accde la mmoire pour extraire (recherche) le code (mot) de linstruction.
a besoin de mcanisme dadressage dune mmoire (gnration dadresse).
2- excute squentiellement un certain nombre doprations lmentaires.
a besoin dun squenceur qui volue aux rythme dune horloge.
3- capable deffectuer des oprations logiques, arithmtiques, contrle de squencement.
a besoin dune unit arithmtique et logique (UAL).
Finalement, une unit centrale peut regrouper les 3 lments cits :
PROCESSEUR
MEMOIRE
programme
UNITE DE COMMANDE
dcodeur
squenceur
compteur ordinal
registre instruction
code
instruction
donnes
donne
UAL
gnrateurdadresses:
peut tre tout simplement un registre, compteur capable de gnrer des adresses
successives : on parle de compteur ordinal ou compteur de programme (PC).
Et peut tre aussi plus complexe et permet une gestion complte des adresses : sauts
conditionnels, inconditionnels,
squenceur:
doit tre capable de :
reconnatre linstruction extraire de la mmoire
prendre en compte des vnements externes : interruption par exemple
grer des boucles et sauts de programmes (prsence de pile).
UAL:
Elle permet deffectuer des oprations arithmtiques de bases (le plus souvent +, -, ).
Dans certains cas, cette unit peut tre plus complexes, cd raliser des opration de
calcul scientifique.
oprande
0, 1 ou 2 octets
Composantsd'unmicroprocesseur
L'unitarithmtiqueetlogique(UAL)
C'est l'organe qui effectue les oprations :
- arithmtiques : addition, soustraction, multiplication, ...
- logiques : et, ou, non, dcalage, rotation, ....
Deux registres sont associs l'UAL : l'accumulateur et le registre d'tat.
10
L'accumulateur
C'est une des deux entres de l'UAL. Il est impliqu dans presque toutes les
oprations ralises par l'UAL. Certains constructeurs ont des microprocesseurs deux
accumulateurs (Motorola : 6809)
Exemple : A tant l'accumulateur et B un registre, on peut avoir : A+B A (ADD A,B :
addition du contenu du registre A avec celui du registre B, le rsultat tant mis dans A)
Leregistred'tat(Flags)
A chaque opration, le microprocesseur positionne un certain nombre de bascules
d'tat. Ces bascules sont appeles aussi indicateurs d'tat ou drapeaux (status, flags).
Par exemple, si une soustraction donne un rsultat nul , l'indicateur de zro ( Z ) sera mis
1. Ces bascules sont regroupes dans le registre d'tat
11
11111100
+ 10000010 FCH +
carry : 1=01111110
82H
(252)10 + (130)10
17EH
= (382)10
La bascule C (carry) sert aussi capter le bit expuls lors d'une opration de dcalage ou
de rotation.
12
Signe: (S)
Cette bascule est mise 1 lorsque le rsultat de l'opration est ngatif ( bit de plus fort
poids du rsultat 1 )
Dbordement : (overflow : O)
Cet indicateur est mis 1, lorsqu'il y a un dpassement de capacit pour les oprations
arithmtiques en complment 2. Sur 8 bits, on peut coder de -128 ( 1000 0000 ) +127 (
0111 1111 ).
104 0110 1000
+ 26
+0001 1010
- 18
1110 1110
- 118
1000 1010
-136
Zro : (Z)
Cette bascule est mise 1 lorsque le rsultat de l'opration est nul.
13
Remarque
La plupart des instructions modifient le registre d'tat
exemple :
ADD A, B positionne les drapeaux : O, S, Z, A, P, C
OR B, C (B ou C -> B) positionne S, Z, P tandis que
MOV A, B ( Move, Transfrer le contenu de B dans A ) n'en positionne aucun.
Lesregistres
Deux type de registres : les registres d'usage gnral, et les registres d'adresses (pointeurs)
Les registres d'usage gnral
Ce sont des mmoires rapides, l'intrieur du microprocesseur, qui permettent l'UAL
de manipuler des donnes vitesse leve. Ils sont connects au bus donnes interne au
microprocesseur.
14
15
16
2-lesmmoires:
On appelle mmoire, tout systme permettant de conserver une
information et d'en disposer par la suite : par exemple un bit, un octet (huit
bits) ou plus gnralement un mot de n bits ou Byte.
Une mmoire est un ensemble de cases mmoires. Pour slectionner lune
des ces positions mmoires. Il faudra connatre son implantation cest--dire
son adresse . cette slection se fera partir dun dcodeur. Le mot binaire
lire ou crire transitera par un registre dentre/sorties. En gnral on
exprimera la capacit de la mmoire en kilo mots, ou kilooctets pour des mots
de 8 bits (ko), le nombre K valant 1024 (210).
Une mmoire qui peut tre lue ou crite est une mmoire vive ou RAM. Une
mmoire qui ne peut tre que lue est une mmoire morte ou ROM.
PROM: ROM programmable par lutilisateur.
EPROM: ROM effaable et programmable (effacement par ultra- violet).
EEPROM: ROM effaable et reprogrammable ( effacement lectriquement
17
Structure externe:
18
Bus dadresse
Exemple: n = 11 nombre de cases =211 = 2 * 210 = 2 ko ( capacit de stokage)
2 ligne de contrle: pour distinguer entre la lecture et lcriture:
- un signal de lecture RD
- un signal dcriture WR
19
Structure interne:
Case N 0
N ligne
dcodeur
BA
Case N -1
Signal dactivation (cs =
0)
Sys de contrle
Bus de donnes
RD=0
Wr=0
20
Dcodage dadresses:
Le but du dcodeur dadresses est de permettre la slection des diffrents
botier lectroniques, en fonction des adresses disponibles sur le bus dadresse
entre les diffrents composants du systme, par aiguillage entre la partie
RAM/ROM et les autres botier programmables, tels que les interfaces
priphriques,, cet aiguillage se fait grce la partie dcodage dadresses.
Cblage
Considrons un microprocesseur ayant un bus dadresses de 16 bits et
travaillant sur des donnes de 8 bits. Ce microprocesseur peut donc adresser
64 ko (65536= 216= 26. 210).
Notons A le bus dadresses (16 bits) A15 A0.
Notons D le bus de donnes (8 bits) D7 D0.
Le schma reprsentant les connexions dun microprocesseur une
mmoire de capacit 8 ko (213) et pouvant donc tre adresse par un bus
13 bits.
21
A0
A12
P
A0
A12
Mmoir
e de 8ko
A13
A14
A15
D0
D7
D0
D7
criture
lecture
22
4000H et 5FFFH.
23
Dcodage dadresse:
Les bits A15, A14 et A13 nous ont permis dadresser 3 mmoires de 8 ko.
En fait, il est possible avec les mme 3 bits, daccder 8 (23 ) mmoires de 8
ko en effectuant un dcodage dadresses. Ceci est le maximum thorique
permis avec 16 bits.
En effet: 8 * 8 = 23 * 213 = 216 = 64 ko.
Pour cela on utilise un circuit dcodeur avec
3 entres: A13, A14 et A15
8 sorties: une des 8 sorties est active
selon la valeur de A15 A14 A13.
Si par exemple A15 A14 A13 = 010, la 2me sortie va activer la 2me
mmoire.
Adresses des 8 mmoires:
Mm 0: 0 1FFFH
Mm 4: 8000H et 9FFFH
Mm 1: 2000H et 3FFFH
Mm 5: A000H et BFFFH
Mm 2: 4000H et 5FFFH
Mm 6: C000H et DFFFH
Mm 3: 6000H et 7FFFH
Mm 7: E000H et FFFFH
24
25
26
Exemple:
Lignes d@
RAM1
RAM2
RAM3
RAM4
27
TD1
Un systme microprocesseur comprend:
Les CSi des boitiers RAM et les OEi des boitiers EPROM sont
valides sur un niveau bas.
On donne:
A A A A A A A A A A A A A A A A
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@Hex
@i
RAM1
@f
@i
RAM2
@f
@i
EPRO
M1 @f
@i
EPRO
M2 @f
29
TD2
Un systme microprocesseur comprend:
A A A A A A A A A A A A A A A A
1 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
5
@Hex
@i
RAM
1
@f
@i
RAM
2
@f
@i
EPR
OM1 @f
@i
EPR
OM2 @f
31
32
Remarque:
En gnral les mmoires dynamiques, qui offrent une plus grande densit
d'information et un cot par bit plus faible, sont utilises pour la mmoire
centrale, alors que les mmoires statiques, plus rapides, sont utilises pour
les caches et les registres.
33
35
Cycle d'criture
La procdure d'criture consiste :
- tablir l'adresse;
- Slectionner le ou les botiers ncessaires;
- tablir la donne sur l'entre;
- tablir une impulsion d'criture.
36
3-Interfaced'E/S:
Elle permet au systme programmable de communiquer avec son environnement
(recevoir des ordres et donnes, fournir des commandes ou rsultats,).
On dsigne par interface,des circuits responsables de la gestion des signaux dE/S entre un
P et son environnement. On trouvera en gnral:
1.
2.
3.
4.
38
Rfrence
RAM
ROM
EPROM
EEPROM
Commentaire
68HC11A8
256
8K
512
68HC11A1
256
512
68HC11A0
256
68HC11E9
512
12k
512
68HC711E9
512
12k
512
E9 avec EPROM
68HC11E1
512
512
68HC11E0
512
68HC11E20
768
20k
512
68HC711E20
768
20k
512
68HC811E2
256
2k
68HC11F1
1K
512
39
Le microcontrleur 68HC11 peut fonctionner avec des horloges allant jusqu 12MHz.
Tous les registres tant statiques, une coupure dhorloge nentrane pas de perte de
donne.
Le 68HC11 construit autour dune unit centrale 8 bits. Il intgre de puissant
priphriques :
Ports parallles
Port de communication srie asynchrone (SCI)
Port de communication synchrone (SPI)
Ports analogiques
Timers trs complts
Chien de garde
Gnration dinterruptions temps rel
Jusqu 12Ko de ROM ou dEPROM
Jusqu 1Ko de RAM
Jusqu 8Ko dEEPROM
40
I-1-Brochageetstructureinterne68H11Ex:
Le 68HC11 est disponible suivant les versions en boitier DIL ou PLCC (figure 2 et figure 3). Le
modle fonctionnel du 68HC11 Ex est donne ci-dessous (figure 1). Des blocs fonctionnels
peuvent tre diffrents ou absents dans certaines versions.
41
42
Figure 2: Brochage du 68HC11 Ex en boitier PLCC.
43
I-2-Modedefonctionnementetdescriptiondessignaux:
VDD (+5 volts) et VSS (masse) : alimentation du boitier
Reset: permet de rinitialiser le circuit. En sortie, elle indique quun disfonctionnement a
t dtect en cours de fonctionnement par le chien de garde (watchdogs COP). Cette
sortie est de type drain ouvert.
EXTAL et XTAL : constituent linterface de connexion avec le quartz dfinissant la
frquence dhorloge.
E : sortie dhorloge systme dont la frquence est celle du quartz divis par 4.
MODA/ LIR et MODB/Vstby: Lors dun Reset du circuit, ces broches permettent de
MODA
0
1
0
1
Mode
Normal : circuit seul
Normal : mode tendu (multiplex)
Spcial : BOOTSTRAP
Spcial : TEST
44
45
Mode single chip (circuit seul): Le programme excuter se trouve dans les 512 octets
dEEPROM, qui sont alors forcs en $FE00 -$FFFF, et le MCU na pas de bus externe; toutes
les broches sont donc disponibles en tant que fonctions priphriques.
Mode tendu:
de ladresse est plac sur le port B. loctet de poids faible et les donnes sont multiplex sur le
port C. la ligne AS (adresse strobe: STRA) signal la prsence de loctet de poids faible dadresse
sur le port C. la broche R/W (STRB) dfinit le sens de transfert des donnes ( AS=0: Port C
donne).
Mode Bootstrap: Dans ce mode, le MCU excute peu aprs la mise sous tension un
programme en (ROM) de tlchargement en (RAM) par la liaison srie, puis le MCU se branche
soit en $FE00 (EEPROM), soit sur le programme de tlcharg en RAM, ladresse $0000.
Mode test: Ce mode est rserv aux tests en usines, ou la programmation de lEEPROM, en
vue de personnaliser le MCU.
La sortie LIR peut tre utilise comme aide au dbogage matriel de lapplication (consulter
le registre dinstruction), alors que lentre Vstby permet de sauvegarder le contenu de la RAM en
mode faible consommation (la tension tombe en dessous de 0.7).
46
47
PA0 PA7 (entres et/ou sorties) : entres (PA0, PA1, PA2), sorties (PA3, PA4, PA5,
PA6) et lentre/sortie (PA7) du port A. Elles sont partages avec les lignes du
timer : PA0 PA2 sont aussi les entres de capture IC3 IC1 du timer, PA3 PA6
sont aussi les sorties de comparaison OC1 OC5 du timer tandis que PA7 peut tre
configur comme entre de capture ou sortie de comparaison. Si le timer
accumulateur dimpulsions est utilis, cest galement PA7 qui lui sert dentre.
PC0 PC7 : Entres/sorties parallles usage gnral en mode circuit seul. En
mode tendu, elles deviennent les lignes o circulent les donnes et les huit bits de
poids faibles des adresses. La ligne AS dont le rle est alors tenu par la patte STRA
indique alors si le port C vhicule des adresses (AS=0) ou des donnes (AS=1). Le
rle de la ligne lecture criture est tenu quant lui par la patte STRB.
48
49
PD0 PD5 : entres/sorties parallles du port D qui sont communes avec les lignes des
ports srie de la SPI et de la SCI.
PE0 PE7 : entres unidirectionnelles du port parallle E. elles sont partages avec les
entres du convertisseur analogique/digital.
PB0 PB7 : sorties parallles en mode circuit seul et vhiculent les 8 bits de poids forts
des lignes dadresses en mode tendu. Les remarques faites pour le port C sappliquent
aussi ici.
Le tableau n3 donne un rsum sur le rle des diffrents signaux des ports du 68HC11.
50
51
I-3-Programmationdelunitcentralde68HC11
Le 68HC11 possde une unit centrale 8/16bits. Il reconnat des, pour certains
instructions, des mots de 16bits.
52
53
Fonctionnement de la pile :
54
LDAA #255
INCA
55
Ex:
Adressage direct: la donne est repre laide dune adresse effective sur
8bits $00 et $FF (256 premiers octets de lespace mmoire adressable par
le c.
LDAA $01
Adressage tendu: ladresse de la donne est sur 16 bits ($0000 et $FFFF)
56
Ex:
$1000
$1002
LDAA #$ 45
Etiquette
DECA
$1003
BNE Etiquette
$1005
STAA $1000
Adresse de la donne
57
Test sur bit et branchement: on effectuer des tests sur un ou plusieurs bits dans une
case mmoire et effectuer ou non un branchement en fonction de ltat de ce(s) bit(s).
BRESET
$10
Adresse
$80
$12
Masque
Dplacement
58
TD 3
59