Académique Documents
Professionnel Documents
Culture Documents
Le Microprocesseur 6809
I- Généralités :
Le microprocesseur 6809 est un processeur 8 bits de haute gamme, dont
l’organisation interne est orientée 16 bits. Il peut adresser 64 K-octets par
l’intermédiaire de son bus d’adresses.
Il est compatible au niveau source avec les programmes écrits pour le 6800 et
peut utiliser tous les circuits périphériques de ce dernier. Toutefois, le 6809 ne se
présente pas seulement comme une version améliorée du 6800, mais comme un
nouveau produit, dont l’architecture interne, les modes d’adressage et le jeu
d’instruction en fait un processeur orienté logiciel.
Cette première partie est consacrée à l’étude du composant seul, elle a pour but
d’amener le stagiaire à bien connaître le produit avant d’aborder ses possibilités
logicielles.
Les deux versions du 6809 (horloge interne ou externe) sont présentées dans ce
chapitre. La description de chacune des broches permet une analyse détaillée des
caractéristiques matérielles.
BA BS Fonctionnement du CPU
0 0 Normal
0 1 Reconnaissance d’interruption
1 0 Reconnaissance de synchro externe
1 1 Arrêt ou bus accordé
BA.BS = 0.0 : le microprocesseur est en fonctionnement normal, il gère les
bus adresses et données.
BA.BS = 0.1 : le microprocesseur est en phase de reconnaissance d’interruption
pendant deux cycles. Cet état correspond à la recherche matérielle du vecteur
interruption (RESET, NMI, IRQ, FIRQ, SWI, SWI2 ou SWI3).
BA.BS = 1.0 : ce signal est positionné lorsque le CPU rencontre l’instruction de
synchronisation externe (SYNC). Il attend cette synchronisation d’une des lignes
d’interruption, les bus sont en haute impédance.
BA.BS = 1.1 : cet état correspond à l’arrêt du processeur ou à l’autogestion venant
du 6809 de faire gérer les bus adresses et données par un circuit externe (EX.
DMA). Les bus sont en haute impédance.
2-4-3- Arrêt du microprocesseur : HALT
Cette entrée permet d’interrompre le déroulement d’un programme de façon
« hardware ». Le processeur termine l’instruction en cours, puis positionne BA et BS à
1. Il n’y a pas perte d’information, le processeur reprend la suite du programme dès
que la broche HALT est de nouveau haute. Tant que le processeur est l’arrêt :
les demandes d’interruptions IRQ et FIRQ sont masquées,
les demandes d’accès direct mémoire sont autorisées,
les demandes d’interruptions prioritaires RESET et NMI sont prises en comte mais
le traitement est différé,
les horloges fonctionnent normalement.
2-4-4- Initialisation : RESET
Un niveau bas sur cette entrée entraîne une réinitialisation complète du
microprocesseur :
L’instruction en cours est arrêtée.
Le registre de page est mis à zéro.
Les interruptions IRQ et FIRQ sont masquées.
L’interruption non masquable est désarmée.
Les vecteurs d’initialisation sont accessibles aux adresses FFFE-FFFF.
L’adresse constituée par ces deux octets mémoire est chargée dans le compteur
programme PC puis le processeur exécute le programme à partir de cette adresse.
2-4-5- Broches d’interruption : NMI, FIRQ, IRQ
Cette entrée est active sur un front descendant. Elle ne peut être masquée par
logiciel. Après une séquence d’initialisation, cette broche est validée par un
chargement du pointeur de pile S. Le processeur exécute un programme de traitement
d’interruption approprié, NMI doit avoir retrouvé son état initial avant la fin de celui-
ci.
2-4-5-2- Broches FIRQ et IRQ (Fast Interrupt Request, Interrupt Request)
Ces deux entrées sont actives sur des niveaux bas. Elles sont masquées ou
validées par logiciel. Le processeur exécute un programme de traitement, en fonction
de l’interruption détectée. La ligne FIRQ est prioritaire sur IRQ. Dans les deux cas,
ces lignes doivent être remises à l’état initial pendant l’exécution du sous-programme
d’interruption.
3- Les signaux spécifiques au 6809
3-1- Les signaux horloges
3-1-1- Entrées horloges : XTAL et EXTAL
Deux modes de fonctionnement sont possible :
- L’oscillateur interne est connecté par ces deux broches à un quartz externe
(résonance parallèle).
- Une horloge TTL est connectée à EXTAL, XTAL étant reliée à la masse. Le
quartz ou la fréquence externe quatre fois la fréquence bus.
3-1-2- Sorties horloges : E out et Q out
- E out : signal horloge du système (synchronisation avec la périphérie), la
fréquence est celle de base du microprocesseur.
- Q out : signal d’horloge, en quadrature avec E. Les adresses du CPU sont
correcte à partir d’un front montant de Q. Les données sont mémorisées sur
un front descendant de E.
E out
Q out
¼ cycle
4- Registre de page : DP
Ce registre (8 bits) est prévu pour étendre les possibilité d’adressage direct à
tout l’espace mémoire, sous contrôle du logiciel. Le contenu de ce registre apparaît
sur les lignes d’adresses poids fort (A8-A15), au cours de l’exécution d’une instruction
en mode d’adressage direct. Le contenu de DP et l’octet suivant le code opératoire
d’une instruction en adressage direct, contrôlent le bus adresses du microprocesseur.
A la mise sous tension le registre de page est mis à zéro (pour rester compatible avec
le 6800).
5- Registre de codes condition : CCR
Le registre codes condition (8bits) définit à tout instant l’état des indicateurs du
processeur. Les bits de ce registres sont :
7 6 5 4 3 2 1 0
CCR E F H I N Z V C
A = $C3
1100 0011
complément à deux de $22 + 1101 1110 C=0
1 1010 0001
Dans le cas d’une soustraction (CMP, NEG, SUB, SBC) l’indicateur Carry est
le complément de la retenue de l’opération effectuée.
Exemple 3 :