Professional Documents
Culture Documents
Plan du cours
I.1 Introduction I.2 Architecture du microprocesseur I.3 Architecture externe
Le
schma fonctionnel LUAL
Laccumulateur Le compteur d instructions
Le registre d adr
sses Le registre d instructions
Le registre d tat
Les registres temporaires de l
UAL
Les registres gnraux
La logique de contrle II. Introduction au jeu d instructio
ns du microprocesseur
Le jeu d instructions
Le code mnmonique
Les modes d adressa
ge la pile III. Les interruptions IV. Les interfaces
le P.I.A. (Interface paralll
e) Les mmoires
l A.C.I.A. (Interface srie)
Master en Contrle et instrumentation
Page 1
Les systmes logique cble sont conus l aide de circuits intgrs logiques. Certains de
s circuits font appel :
(Les sorties sont dfinies uniquement partir des variables d entre)
(Les sorties dpendent toujours des entres mais aussi des tats antrieurs)
Master en Contrle et instrumentation
Page 3
Le fonctionnement n est plus dfini par un ensemble de circuits logiques, cbls entre
eux, mais par une suite ordonne d instructions stockes en mmoire et gres par cet lmen
. Nouveau synoptique :
Principe de la logique programme
Illustration partir d un circuit simple constitu de 3 cases mmoires et 3 portes lo
gique ET, OU et NON. On se propose de raliser la fonction : A exclusif B Schma :
Initialisation [M1] = A et [M2] = B Master en Contrle et instrumentation Page 4
un rle d intendance puisqu elle dcide de la disponibilit du bus tel ou tel lment logi
que. La logique de contrle possde une architecture complexe et trs spcialise. L lment
entral est reprsent par le dcodeur d instructions qui dcode les informations (premie
r octet) stockes dans le R.I. pour gnrer les signaux ncessaires l excution de l instr
uction. La logique de contrle gnre sur les lignes de contrle des niveaux logiques qu
i activent les diffrents circuits environnant tels que mmoires et circuits I/O. Ce
tte unit fournit, partir d un signal de rfrence qui est l horloge, tous les signaux
de synchronisation utiles au bon fonctionnement de l ensemble. Cette horloge es
t cre partir d un oscillateur interne qui utilise un signal en provenance d un qu
artz externe. Deux actions complmentaires noter : Le contrle de mise sous tension
du microprocesseur (initialisation des registres). Le traitement des interruptio
ns. Rsum : Dune manire gnrale le rle de lunit de commande est Cherche, dcode et ex
instructions : Compose de circuits logiques et de temporisations, elle gre le fonc
tionnement et la synchronisation de tout le systme en gnrant le signal d horloge et
les signaux internes ou externes (bus des commandes) au microprocesseur. Elle p
ermet grer la squence le droulement des instructions Elle cherche l instruction dan
s la mmoire en envoyant l adresse avec un signal de lecture la mmoire Elle dcode l
instruction et dtermine l opration excuter Gnre les signaux ncessaires l excutio
instruction Prparation de l instruction suivante. Le Registre d Instructions RI :
Sa tche : Le registre d instructions contient le premier octet de l instruction
en cours d excution. Commentaires : Le registre est charg pendant le cycle de base
extraction-excution. Il reoit l information (octet) grce au bus de donnes auquel il
est connect. L information qu il "capture" sur le bus des donnes est utilise par l
e dcodeur d instructions. Suivant le protocole ci-dessous : La donne extraite de l
a mmoire est stocke dans le R.I. (c est la phase extraction). Ensuite ce contenu e
st interprt par le dcodeur d instructions qui agit alors sur la logique de contrle (
c est la phase excution). Master en Contrle et instrumentation Page 16
Il en est de mme pour les dplacements et transferts des donnes d un endroit un autr
e comme :
De mmoire mmoire.
De mmoire units d entre-sortie (I/O). Cette action s
t en deux temps : Source Vers Accumulateur et ensuite Accumulateur vers destinat
ion. Les instructions supportes par un accumulateur sont trs nombreuses. Au niveau
de la programmation, il reprsente une grande souplesse d utilisation! Les autres
registres ne permettent que des oprations limites. Certains microprocesseur, possd
ent des accumulateurs de longueur double tel D chez Motorola et HL chez Intel dissocis en deux et gnralement baptiss individuellement A et B ou H et L respectivem
ent. Gros avantage prsent par un microprocesseur possdant plusieurs accumulateurs :
les oprations logiques et arithmtiques se font entre accumulateurs limitant ainsi
les accs (transferts) avec l extrieur. Les deux registres A et B sont interchange
ables (mme rle/instruction) sauf pour les instructions ABX et DAA et les oprations
sur 16 bits. Certaines instructions regroupent les registres A et B pour former
un seul accumulateur D de 16 bits. Dans ce cas l accumulateur A reprsente l octet
de poids fort et laccumulateur B loctet de poids faible.
Master en Contrle et instrumentation
Page 17
sont utiliss pour les modes d adressage index. Les donnes - 16 bitscontenues dans c
es registres servent de pointeur de donnes (adresses). Ces adresses "peuvent tre m
odifies" par une constante, prise comme valeur de dplacement (offset) qui permet a
lors de calculer une adresse effective. [Le pivot + offset] cela revient [X] ou
[Y] + le dplacement, le contenu de ces registres peut-tre incrment ou dcrment pour gr
des donnes stockes sous forme de table. Les registres S et U (registres 16 bits) :
- Le pointeur de pile S (Systme) est utilis automatiquement par le microprocesseu
r pour mmoriser l tat de tous ces registres internes dans le cas o il doit excuter u
n sous programme (d interruption ou non). - Le pointeur de pile U (Utilisateur)
est gr exclusivement par le programmeur pour effectuer, avec facilit, le passage de
s paramtres entre programmes et sous programmes, (nanmoins, il peut-tre utilis pour
sauvegarder un contexte mais cette fois, ce n est pas automatique). Les registre
U et S peuvent faire office de pointeurs - registres d index. Gestion de ces po
inteurs : Ces registres "pointent" toujours le haut de la zone mmoire qui leur es
t attribue, (haut dans le sens adresse la plus grande). On appelle cette zone une
pile. Cette pile fonctionne en mode LIFO (Last In First Out). Master en Contrle
et instrumentation Page 18
Les registres d index (registres de 16 bits) Les registres d index X et Y
Les divers modes de codage en mmoire des instructions et modes d adressage. Ces i
nstructions font rfrence des donnes ou a des adresses de diverses faons, ces rfrences
ant les modes d adressage dont dispose le microprocesseur.
Master en Contrle et instrumentation
Page 21
Dure d une instruction : L excution complte d une instruction n est pas instantane,
l unit de mesure est la priode de l horloge :
encore appel Cycle Machine . Ex: Fr
de l horloge E= 1 MHz donc T = 1 s. La dure dpend de la complexit de l instruction,
son expression est :
=
.
Mod
nt :
extraction- excution
Extraction : lecture de la donne en mmoire,
=
.
avec
priode de
l horloge E Il y a autant d extractions que d octets (code opratoire et code opran
de) constituant l instruction. Si m octets alors
=
.
Excution : traduction et interprtation de l octet (code opratoire) une fois
extrait. Un octet donc
= .
Master en Contrle et instrumentation
Page 22
Une priode TE supplmentaire est ncessaire pour raliser concrtement l opration demande.
La dure totale de l excution d une instruction est :
.
+ .
+
.
Master en Contrle et instrumentation
Page 23
ASLA
avec (A)=$80
ASRA
avec (A)= $81
ROLA
avec (A)= $81
Instruction de transfert de donnes a) transferts internes entre registres (EXG TFR) b) transferts externes avec la mmoire (LD - ST) Exemples :
EXG A, B avec (A)
= $10 et (B)= $01
Master en Contrle et instrumentation
Page 25
TFR A, B
LDA #$80
LDX #$1000
{
A B
7
37
0
96 97
Adr Adr+1
adr 19
0
Adr+2
37
1997
LDY $97 Charge le registre Y avec le contenu sur 16 bits dont les adresses sont
[DP] et partie basse et partie basse+1.
CCR E F H I N Z V C D X Y S U PC DP
15 7
{
A B
7 0
10 9E 97
Adr Adr+1 Adr+2
1960 adr 19
0
Adr+3
19 60
1997 1998
Master en Contrle et instrumentation
Page 32
{
19 60
1997 1998
Master en Contrle et instrumentation
Page 34
Dans ce mode, les registres pointeurs (X, Y, U, S et PC) sont utiliss pour effect
uer le calcul de ladresse effective de la donne recherche. Il existe 5 types dadress
age index. Ladressage index avec dplacement nul Ladressage index avec dplacement const
nt (non nul). Ladressage index avec dplacement accumulateur Ladressage index avec aut
o-incrmentation/dcrmentation Ladressage index relatif au Compteur Programme (PC) Locte
t qui suit le code opratoire (le post-octet) spcifie : La nature de lindexation Le
type dadressage (direct ou indirect) Le registre pointeur utilis. Loctet qui suit l
e code opratoire (le post-octet) spcifie : 1. La nature de lindexation 2. Le type da
dressage (direct ou indirect) 3. Le registre pointeur utilis. Le tableau ci-joint
montre le format de ce post-octet.
Master en Contrle et instrumentation
Page 35
1997
Lgende de la valeur $84 soit 1 00 0 0100 du post-octet (ligne numro 6 du tableau).
Adressage index dplacement constant Master en Contrle et instrumentation Page 37
Cest le post-octet qui spcifie laccumulateur utilis (pas doctet supplmentaire). Intrt
la valeur du dplacement est calcule par le programme en cours dexcution, en fonction
des vnements. Exemples : LDA B,X avec post-octet = $85 soit 1 00 0 0101.
Chargement du registre A avec le contenu se trouvant l adresse exprime par la som
me des contenus des registres B et X.
CCR E F H I N Z V C D X Y S U PC DP
15 7 0
{
A B
7
00 37
0
A6 85
Adr Adr+1 Adr+2
1960
+
adr adr+2 00 1997
LDX D,Y
avec post-octet = $AB soit 1 01 0 1011.
Charge le registre X avec le contenu se trouvant l adresse exprime par la somme d
es contenus des registres D et X ainsi que D+1 et X.
CCR E F H I N Z V C D X Y S U PC DP
15 7 0
{
A B
7
09 97
0
AE AB
Adr Adr+1 Adr+2
2000 1000 adr
+
adr+2 20 00 1997 1998
Master en Contrle et instrumentation
Page 39
Exemple : une simple instruction du type WRITELN peut faire appel une centaine di
nstruction. Ainsi plus despace-mmoire est ncessaire. Gain de temps lexcution : Plus d
nstructions de base implique un temps dexcution plus lent moins de disposer de mic
roprocesseur puissant (rapide) avec un grand champ mmoire. Le langage dassemblage
Ce langage est lintermdiaire entre un langage volu comme C ou Pascal et le langage m
achine. Le langage dassemblage est li au microprocesseur. Chaque processeur possde
son propre ensemble dinstructions. Ses avantages : minimise le code meilleur cont
rle sur le matriel. [bien adapt lcriture des routines dentres/sorties] Lassembleur
n petit compilateur. Ce langage sappuie sur labrviation de terme anglais pour chaqu
e instruction. Exemple de la fonction de remise zro (CLEAR) : CLR Vocabulaire Le
langage dassemblage : C est un langage constitu dinstructions et de pseudo-instruct
ions. Un programme crit dans ce type de langage est une suite de lignes symboliqu
es crites dans un ordre logique. Lassembleur : Cest un programme de traduction qui
traite chaque ligne du programme source pour fournir le code machine. Il dtecte l
es erreurs. Le rsultat de son travail sappelle le programme objet. Macro-assembleu
r : Cest un assembleur qui permet de traiter des macroinstructions : ensemble dins
tructions regroupes sous formes de fonction. Cross-assembleur : Cest un assembleur
qui permet de dvelopper en langage dassemblage, une application utilisant un micr
oprocesseur donn Master en Contrle et instrumentation Page 52
laide dun systme possdant un microprocesseur diffrent. Le systme, dit hte, engendre du
code machine pour le microprocesseur cible. Intressant pour les petits systmes car
dans ce cas, on bnficie des avantages dun systme plus important : Editeur, Systme dex
ploitation, etc... Dsassembleur : C est un logiciel qui travaille linverse de lasse
mbleur. A partir dun programme machine, il construit le langage mnmonique. Exemple
: $86 traduction de LoaD accumulateur A. Lassembleur 6809 : Le langage dassemblag
e est un langage de programmation utilise dans les systmes de dveloppement, disposi
tifs daide lcriture de programmes. Il permet de traduire un programme source crit en
langage symbolique (ou mnmonique) en un langage binaire. Cette opration appele "As
semblage" est ralise par un programme appropri appel "Assembleur". Il gnre directement
un programme excutable par le microprocesseur encore appel "programme objet". Com
me tout langage, ce dernier possde une syntaxe et un vocabulaire propres quil est
indispensable de connatre afin dtablir le programme source. Syntaxe du langage asse
mbleur : Chaque ligne dinstruction du programme comporte quatre parties appeles "c
hamps". Chaque champ est spar par un blanc (espace). Illustration :
Etiquette
Code Code Commentaire opratoire oprande _________________________________________
5 7 i i+2 j j+2
0
Master en Contrle et instrumentation
Page 53
Etiquette : Ce champ nest pas obligatoire. Une tiquette est un symbole dau plus 6 c
aractres alpha-numriques, commenant obligatoirement par une lettre de lalphabet. Dan
s le cas, o le champ tiquette est vide au moins un blanc doit prcder le champ suivan
t. Si le 1er caractre de la ligne est une *, la ligne est alors considre comme un c
ommentaire. Le rle de ltiquette est de permettre de reprer la position dune instructi
on dans le programme. Le champ opration : Il contient soit un code mnmonique de lopr
ation effectuer soit une directive dassemblage. Le champ oprande : Il complte le ch
amp opration et contient la "donne" ncessaire lexcution de linstruction. Sa syntaxe e
t varie et dpend du mode dadressage attribu linstruction. On trouve : des tiquettes (
es noms) des symboles (nom de registre) des nombres des expressions : Combinaiso
n des 3 lments ci dessus. Les nombres peuvent tre reprsents dans diffrentes bases dcim
le, octale(@), hexadcimale ($) et binaire (%). Lidentificateur de la base seffectue
grce un suffixe ou un prfixe dans le cas de certain assembleur (H). Sans indicati
on particulire, un nombre est interprt comme un dcimal. Les expressions : Elles se c
omposent dune suite de nombres et de symboles spars par des oprateurs logiques, arit
hmtiques et des parenthses. Elles servent spcifier une valeur selon les rgles de la
logique et de larithmtique.
Master en Contrle et instrumentation
Page 54
Dfinition dune adresse dorigine. Charge le PC la valeur spcifie par lexpression situ
ans le champ oprande. Remarque : Plusieurs ORG peuvent-tre utiliss dans un mme progr
amme source. On structure ainsi lespace mmoire en blocs : le programme principal l
es sous programmes la gestion des interfaces Chaque bloc est initialis par un ORG
. RMB : Reserve Memory Bytes (Rservation doctets en mmoire) Syntaxe : Rle : Provoque
lors de lassemblage un "saut" du PC, dun nombre doctets gal la valeur de lexpression
. Le but tant de rserver une zone mmoire pour un usage particulier. FCB : Form Cons
tant Byte (dfinition dune constante dun octet) Syntaxe : Rle : Symbole FCB expr1, ex
pr2... Symbole RMB Expression
Inscrit la valeur exprime sur 8 bits des expressions du champ oprande dans les cas
es mmoires dfinies par la valeur du PC. Pour chaque criture en moire : PC = PC+1 Rem
arque : Les expressions peuvent tre numriques ou alphanumriques. Le symbole
plac d
evant le caractre, le dsigne comme tant alphabtique, dans ce cas, le code ASCII est
mis en mmoire.
Master en Contrle et instrumentation
Page 56
Cette analyse permet de dire si une ligne syntaxiquement correcte un sens. Dtecte
un symbole non dfini par ailleurs. Lassembleur construit la table des symboles em
ploys. Il regroupe tous les symboles dfinis par le programmeur en leur donnant une
valeur chacun deux (Cration de la table des rfrences croiss). Il gnre un code inter
ire qui servira au second passage. Les directives dassemblage sont galement interp
rtes. 2me passe : Lassembleur gnre le code objet en tenant compte des adresses et des
donnes relles qui figurent dans la table des symboles. 3me passe : Cette phase four
nit le listing avec son code objet.
Master en Contrle et instrumentation
Page 60
Dans le cas de laccs alatoire, toute case mmoire peut tre crite ou lue en un temps don
n (dit temps daccs). Les units de ROM et de RAM des microordinateurs sont toutes les
deux du type accs alatoire, bien plus rapide que les units accs squentiel. IV.1.1.2
Dfinition dune mmoire : Arrangement binaire de cases , chaque case est rfrencie par u
n nombre qui lui est propre de manire non ambigu ; ce nombre est appel adresse de l
a case. IV.1.1.3 Capacit mmoire dun ordinateur: Cest le nombre de cases mmoires o les
informations sont emmagasines. Exemple: RAM de 1KO (kilo octet) = 210 x 8bits. RA
M de 1 Mga = 220 x 8bits. IV.1.1.4 Temps dcriture: Temps qui scoule entre linstant o l
formation stocker et ladresse sont fournies lentre de la mmoire et le moment o linf
ation est effictivement crite. IV.1.1.5 Temps de lecture: Temps qui scoule entre lin
stant o ladresse est fournie la mmoire et le moment o la donne apparat en sortie. IV.
.1.6 Temps daccs la mmoire: Le temps entre le signal dactivation et le moment o lopr
on est acheve. IV.1.1.7 Temps de cycle la mmoire: Le temps qui doit scouler entre de
ux activations successives de la mmoire.
Master en Contrle et instrumentation
Page 81
OE: Output Enable Fig.IV.2 RAM Statique type HM2064 w : Write I/O: Input/Output
Les RAMs statiques sont donc, plus simples utiliser mais elles prsentent les inco
nvinients suivants: 1- Un cot par bit plus lev; 2- Une intgration limite; IV.1.2.2 Le
s RAMs dynamiques: La limitation dintgration des RAMs statiques de grande capacit a
pouss la cration de RAM dynamiques. Llment mmoire de base est la capacit de gchett
rce dun transistor MOS, mais la rsistance gchette-source ntant pas infinie, cette cap
acit se dchargera, il faudra donc la recharger pour maintenir linformation, on dit
quil faut rafraichir la mmoire. En technologie MOS ce rafrachissement doit interven
ir toutes les 2ms pour une cellule.
Master en Contrle et instrumentation
Page 83
IV.1.3.2 PROM: Ce sont des mmoires mortes mais programmables par lutilisateur de m
anire irrversible. a) Par claquage de fusible: La structure dune PROM est trs proche
de celle dune ROM. A chaque intersection dune ligne et dune colonne, le constructe
ur a plac un transistor dont une des lectrodes est en srie avec un fusible de Nichr
om ou de polysilicium. Initialement toutes les lignes et les colonnes sont relies
(elles sont zro). Claquer un fusible se fait laide des programmateurs de PROM qui
fera circuler un courant lectrique de quelques dizaines de mA pour dteruire un fu
sible et ainsi crire un 0. Cependant, si on dsire conserver un 1 , il faut empcher l
e transistor conduire en mettant la source du transistor 5 volts. Donc, la ddP e
ntre la grille et la source est infrieur au tension de seuil, en effet le transis
tor est bloqu. Pour effectuer une lecture, une tension de 5 volts est place sur la
grille et le drain commun. Si un fusible est prsent, la valeur 1 est rcupre sur la
colonne correspondante; alors un zro 0 est rcupr sil n y a pas de fusible. Exemple:
Fig.IV.7 Exemple de PROM base des transistors MOS. b) Par claquage de jonctions:
La mmoire est organise sous forme matricielle en rseaux de diodes montes en tte-bche.
Ainsi tous les croisements sont isols au dpart. Pour tablir la connexion et ainsi c
rire un zro, il faut claquer par avalanche la diode D1 correspondant au croisemen
t concern; ceci est effectu par la mise du colonne de ce croisement sous une tensi
on inverse suffisante et la ligne du mot programmer sous une tension nulle (0v).
Par ailleurs, pour prserver les croisements isols; il faut relier les colonnes co
rrespondante une tension nulle (0v). Pour la lecture dun mot, il faut tout dabord
mettre la ligne du mot lire zro, et relier les colonnes 5 volts. Si les croisemen
ts sont connects, donc on aura la sortie un zro 0 , si dans le cas contraire cest un
1 qui est rcupr la sortie.
Master en Contrle et instrumentation
Page 87
Fig.IV.8 Exemple de PROM base des jonctions. IV.1.3.3 EPROM: Ce sont des mmoires
mortes programmables par lutilisateur; llment qui est la base dune mmoire morte effaab
e est le transistor de type particulier FAMOS (Floating gate Avalanche injection
MOS), canal N. Ce conducteur est noy dans un dilectrique trs forte rsistivit, il peu
t alors conserver pendant de trs longues dures des charges lectriques; mme avec llvati
n de la temprature ; la charge se conserverait plusieurs annes. Initialement le tr
ansistor est off ; la source et le drain ne sont pas relis.
Fig.IV.9 Exemple d EPROM base des transistors type FAMOS (MOS). Cependant, une fo
rte impulsion de -40v dclonche une conduction par avalanche, projtant les lectrons
du substrat avec une grande nergie sur le drain et surtout sur la grille (gate) f
lottante dun MOS conventionnel canal N. Aprs disparition de limpulsion les lectrons
restent prsonier sur la grille et dveloppe un champ lectrique qui repousse les lectr
ons du susbstrat crant ainsi une zone avec conduction par trous. Un courant lectri
que stabli entre le drain et la source . Le transistor est dit on (passant). IV.1.
3.4 Effacement dun EPROM: Il faut communiquer suffisamment dnergie aux lectrons accu
muls sur la grille afin quils puissent traverser la couche doxyde et rejoindre le s
ubstrat, cela consiste soumettre le boitier une nergie radioactive : rayon ultrav
iolet. Les photons hurlent (frappent) la grille flottante de silicium dlogeant le
s lectrons et provoquent leur immigration vers le substrat.
Master en Contrle et instrumentation
Page 88
IV.2.2.3 Bus de donnes D0-D7: Un bus de donnes de huit bits bidirectionnels, perme
ttant de transfrer les donnes de et vers le PIA et la MPU. Les dirvers de sortie d
u bus de donnes sont des circuits trois tats. IV.2.2.4 Les lignes Chip Select (CS1
, CS2, CS3) : des lignes devront tre connectes au bus dadresse de la MPU. En effet,
cest travers ces lignes que le PIA est slectionn ou adress. Pour slectionner le PIA,
les lignes CS1 et CS2 doivent tre niveau haut 1 et la ligne CS3 doit tre niveau b
as 0 . Ces lignes doivent tre maintenu leurs tats pendant la dure de limpulsion E (E
able). Cette impulsion de validation E est normalement lhorloge
2 . IV.2.2.5 La l
igne de validation E : Limpulsion de validation (E) est le seul signal de timing
fourni au PIA par la MPU. Tous les autres signaux de timing font rfrence au signal
E. IV.2.2.6 La ligne de Reset : cette ligne est utilise pour rinitialiser tous le
s registres du PIA 6820 un zro logique. Cette initialisation peut tre ralise par une
mise sous tension. La transition de cette ligne du niveau haut un niveau bas pu
is un niveau haut initilise tous les registres du PIA6820. IV.2.2.7 La ligne Rea
d/Write R / W : cette ligne est fournie par la MPU pour contrler la direction de
transfert des donnes sur le bus de donnes. Un niveau bas sur cette ligne valide le
s registres dentre permettant les donnes dtres transfres du MPU vers le PIA (MPU Write
. Un niveau haut sur la ligne R / W permet le transfert de donnes du PIA vers la
MPU (MPU Read). IV.2.2.8 Les lignes dinterruptions (IRQA et IRQB): ces lignes son
t actives au niveau bas et sont utilises pour interrompre la MPU directement ou i
ndirectement selon un circuit de priorit. Les interruptions sont gres par des routi
nes en examinant (lire et tester) squentiellement le contenu des deux bits (B6 et
B7) des registres de contrle (voir plus loin). IV.2.2.9 Les lignes dentres dinterru
ptions (CA1 et CB1): Ces lignes sont en entres uniquement et positionnent 1 le bi
t B7 du registre contrle du PIA (voir plus loin). IV.2.2.10 La ligne de contrle (C
A2): cette ligne peut tre programme dagir comme une entre dinterruption ou une sortie
priphrique et elle est compatible avec la logique TTL. La fonction de cette ligne
est programme par les bits (bits 3, 4 et 5) du registre de contrle.
Master en Contrle et instrumentation
Page 96
Organisation interne
1- TDR (Transmit Data Register) Registre de transmission dans lequel on place le
mot (8 bits) transmettre. Lcriture du mot a lieu sur le front descendant de E. Fo
nctionnement : Si pas de transmission en cours, alors le contenu du TDR est tran
sfr dans le registre dcalage automatiquement aprs une instruction dcriture. Si par co
tre, un caractre est en cours de transmission, le transfert TDR dans le registre
dcalage est diffr que l opration de dcalage est en cours (b0 en 1er). Grce au double r
egistre, le caractre suivant peut-tre crit dans TDR mme si le caractre prcdent est enc
re en cours de transmission dans le registre dcalage. Ds que le transfert lieu - U
n bit du registre dtat est positionn "1". 2- RDR (Rception Data Register) Registre d
e rception dans lequel on reoit le mot (8 bits) en provenance du priphrique. Fonctio
nnement : Quand un caractre complet est reu, il est automatiquement transfr du regis
tre de dcalage de rception dans le RDR. A ce moment l, un bit dans le registre dtat e
st positionn "1". Le caractre peut alors tre lu par le microprocesseur.
Master en Contrle et instrumentation
Page 106
Tant que le bit dans le registre dtat est 1, le transfert automatique est suspendu
! Du fait du double registre, la lecture peut-tre diffre tant que la rception du mo
t suivant nest pas termin. Cest le bit b0 de la donne qui est reu en 1er
Le registre
dtat SR (Status Register). Permet au microprocesseur de connatre tout instant ltat du
e transmission ou dune rception. Le registre de contrle CR (Control Register) : Per
met de configurer le circuit en adquation avec le priphrique. Reoit les paramtres de
fonctionnement sous forme dun mot de contrle (8 bits) crit sur le front descendant
de E - aussi bien pour la transmission que la rception. Ces registres ont la part
icularit d tre soit en criture soit en lecture uniquement. Etant donn que l ACIA est
vu par le microprocesseur comme deux cases-mmoire, le complment du dcodage est rali
s par la ligne R/W barre. Les combinaisons entre RS et R/W permettent de slectionn
er l ensemble des registres selon le schma suivant :
Master en Contrle et instrumentation
Page 107
Dune faon gnrale, lenvoi dun caractre vers la priphrie est toujours prcd dun tes
r sassurer que celui-ci est vide. Ce test peut tre obtenu par : 1- Une scrutation
permanente du bit dans le SR (dans ce cas on choisit CR6 et CR5 = 00). 2- Une in
terruption gnre par lACIA vers le microprocesseur chaque fois que le TDR est vide (d
ans ce cas, on choisit CR6 et CR5 = 01). Remarque : LACIA met systmatiquement CR6
et CR5 = 01 la mise sous tension pour viter lenvoi dinformation intempestive. CR5 e
t CR6 = 11 permet denvoyer un break sur la ligne de sortie cest--dire un niveau bas
. CR7 (Ne concerne que le rcepteur) : Ce bit sert de masque dinterruption concerna
nt les vnements suivants : 1- Registre de rception plein 2- Front montant sur lentre
DCD indiquant la perte de la porteuse. Ce bit mis 1 traduit ces vnements par une d
emande dinterruption IRQ bas.
Fonctionnement du registre de contrle CR de lACIA 6850
Etude des bits du registre d tat
Registre dtat SR SR0 : La lecture du bit b0 indique si le registre de Rception RDR
est plein (SR0 = 1) Master en Contrle et instrumentation Page 109
Exemple : Connexion de lACIA ladresse $E0XX pour interfacer la ligne srie 300 baud
(4800 Hz clock) avec le format de donnes suivante : 7 bits de donnes, pas de parit,
2 bits de stop. RTS=0 et validation des interruptions. brancher au sous program
me derreur par interruption pour indiquer une erreur lors de la reception ou la t
ransmission. Dbut de location des donnes transmettre ladresse $D002. Les donnes r
seront stockes ladresse $D000.
Programme dinterfaage de lACIA 6850
START LDAA #$03 STAA $E000 LDAA #$A1 STAA $E000 BRA DMY LDAA $E000 RORA BCS RECV
BITA #$38 reset ACIA store in control register sets IRQ, !RTS=0, 7 data bits ev
en parity, 2 stop bits, clk:16 store in control register set interrupt vector. m
ain program Read Status Register rotate right (RDRF -> Carry) if carry is set ->
jump RECV test error bits (PE, OVRN, FE) note: right shift was performed Page 1
13
DMY ISR
Master en Contrle et instrumentation
EXERCICES Exo1 : On dsire recevoir un caractre partir dun tlimprimeur avec les hypoth
es suivantes : - Vitesse de transmission 110 b ; - 7 bits dinformation ; - 2 bits
de stop ; - Parit impaire ; - Facteur dinversion horloge 1/16 cest dire il faut 16
bits ; Questions : 1- Faire le programme en assembleur du 6809 pour recevoir le
caractre du tlimprimeur ; 2- Faire le circuit dinterfaage du 6850 avec le microproce
sseur 6850; 3- Si la dure dun bit est de 9ms ; quelle est alors la frquence de lhorl
oge utilise.
Master en Contrle et instrumentation
Page 115