Vous êtes sur la page 1sur 56

Introduction

chapitre 1: Microprocesseur 6809

A.Cherkaoui

Conception des systèmes à Microprocesseurs


Plan
☞ Architecture du microprocesseur 6809
☞ architecture externe
☞ architecture interne
❐ le schéma fonctionnel
❐ l'UAL
❐ l'accumulateur …
☞ Introduction au jeu d'instructions du microprocesseur
☞ la pile
☞ Les interruptions
☞ Les mémoires
☞ Les interfaces
❐ le P.I.A. (Interface parallèle)
❐ le P.T.M. (Compteur programmable)
❐ l'A.C.I.A. (Interface série)

Conception des systèmes à Microprocesseurs 2


Architecture du microprocesseur 6809

 Le microprocesseur 6809 est un processeur 8 bits orienté 16 bits.

 Il est fabriqué en technologie MOS canal N

 boîtier DIL 40 broches.Il est monotension(5V).


• 6809E est rythmé par une horloge externe 2 MHZ

• adapté multiprocesseur.

• synchronisé par une horloge extérieure.

• Compatibilité complète entre les 2 versions.

Conception des systèmes à Microprocesseurs 3


Architecture du microprocesseur 6809

☞ Le bus des données 8 bits (Do à D7)


. 1 charge TTL et 8 entrées de circuits CMOS. Bus en logique 3 états.
☞ Le bus des adresses 16 bits (A0 à A15 )
.Bus en logique 3 états. validées sur le front montant de Q.
☞ Le bus de contrôle
.La broche Read/Write . Validée sur le front montant de Q.

Conception des systèmes à Microprocesseurs 4


Architecture du microprocesseur 6809

☞ Les lignes d'état du bus : connaître l'état du microprocesseur à tout moment


BA (Bus available) et BS (Bus state)

• 1er cas : Le microprocesseur gère les bus d'adresses et de données.


• 2ème cas: reconnaissance d'int pendant 2cycles.Vect Reset,NMI,IRQ,SW1,2,3
• 3ème cas : Il attend la synchro sur une des lignes d'interruption. Les bus HZ
• Dernier cas : (niveau bas sur HALT).(contrôleur de DMA). Les bus HZ La ligne
BA au niveau haut indique que les bus sont en haute impédance.

Conception des systèmes à Microprocesseurs 5


Architecture du microprocesseur 6809

☞ Broche d'initialisation RESET


Un niveau bas (x cycles d'horloge), réinitialisation complète du circuit:
• l'instruction en cours est arrêté
• le registre de pagination (DP) est mis à zéro
• les interruptions IRQ et FIRQ sont masquées
• l'interruption non masquable NMI est désarmée
• Le PC. est initialisé avec le contenu des vecteurs d'initialisation
qui se trouvent aux adresses $FFFE et $FFFF.

Ce contenu représente l'adresse du début du programme qui sera


exécuté par le microprocesseur.

Conception des systèmes à Microprocesseurs 6


Architecture du microprocesseur 6809

☞ la broche : HALT (Arrêt du microprocesseur).


BA = BS = 1
Dans ce cas :
les demandes d'interruption IRQ et FIRQ sont inhibées
les demandes d'accès direct (DMA) à la mémoire sont autorisée.
les demandes d'interruptions RESET et NMI sont prises en compte
mais leur traitement est différé

les broches d'interruption


NMI (No Masquable Interrupt)
IRQ (Interrupt Request)
FIRQ (Fast Interrupt Request)

Entrées d'horloge XTAL et EXTAL (Extension crystal)


*Les données sont lues ou écrites sur
le front descendant de Eout.
Qout est en quadrature avec Eout =4 *horloge *Les adresses sont correctes à partir
Conception des systèmes à Microprocesseurs
du front montant de Qout 7
Architecture du microprocesseur 6809
☞ Broches complémentaires du bus de contrôle :
❐ MRDY (Memory ready) :
Allonger Eout de multiple de un quart de cycle max 10 cycles pour syst lents
❐ DMA/BREQ (Direct Memory Acces/Bus Request)
-l'accès direct ou du rafraîchissement mémoire
-le circuit ayant généré cette commande le bus pendant de 15 cycles
☞ Broches spécifiques au 6809 E
❐ Entrées d'horloge : Ein et Qin comme Eout et Qout du 6809
❐ TSC (Tree States Control) comme DMA/BREQ ,partage de bus
❐ LIC (Last Instruction Cycle):Le cycle qui suit est celui de recherche de code opératoire Ins
❐ AVMA (Advanced Valid Memory Access) niveau haut signifie que le microprocesseur
utilisera les bus au cours du cycle suivant pour multiprocesseur
❐ BUSY : Occupation des bus : Sortie mise au niveau haut pendant les instructions du
type : lecture,écriture et exécution du premier octet d'un opérande constitué de
deux octets (une adresse par exemple).
Dans un système multiprocesseur, ce signal indique le besoin pour un Microprocesseur
de disposer des bus au cours du prochain cycle pour assurer l'intégrité de l'opération en
cours. Cela évite l'adressage simultanée d'une même zone mémoire par 2 microprocs.
Conception des systèmes à Microprocesseurs 8
Architecture du microprocesseur 6809

☞ On ne doit pas activer TSC quand BUSY est actif


Exemple d'application :

LIC : fin d'exécution de l'instruction


BUSY : à besoin du bus au prochain cycle
AVMA : va utiliser les bus au prochain cycle

Conception des systèmes à Microprocesseurs 9


Présentation des différents registres
interne au 6809
☞ Les accumulateurs A, B ou D.
☞ Les registres pointeurs
• Les registres d'index X et Y 16bits sont utilisés pour les modes d'adresse indexé.
• les registres S et U (16 bits). (pointeur de pile LIFO :U passage de paramètres)

Ces registres "pointent" toujours le haut de la zone mémoire attribuée

☞ Le Compteur de Programme (PC)


☞ Le registre de codes condition (CCR)

Exemple de sauvegarde de tous les


registres avec S :

Conception des systèmes à Microprocesseurs 10


Le jeu d'instructions du 6809

☞ L'ensemble des instructions de base, est 59 instructions. En tenant compte des


variantes (modes d'adressage) il atteint 1464 instructions
☞Extraction : lecture de la donnée en mémoire, t=1(m).TE si m octets
☞Exécution : traduction et interprétation de l'octet (code opératoire)

Une période TE supplémentaire est nécessaire pour réaliser concrètement l'opération


demandée!

Conception des systèmes à Microprocesseurs 11


Le jeu d'Instructions

☞ Instructions de traitement des données


 Instructions arithmétiques
• addition (DAA, ABX, ADC)
• multiplication (MUL)
• soustraction (SBC, SUB)
 Instructions logiques
• rotation à droite et à gauche (ROL, ROR)
• décalage à droite et à gauche (ASR, LSR et ASL, LSL)
• les fonctions logiques de base (AND, OR, EOR)
• l'incrémentation/décrémentation et complémentation (COM - NEG -
NOP - INC - DEC - CLR)
 Instruction de transfert de données
• transferts internes entre registres (EXG - TFR)
• transferts externes avec la mémoire (LD - ST)

Conception des systèmes à Microprocesseurs 12


Le jeu d'Instructions

☞ Instructions de tests et de branchements


• instructions de tests sur un bit / un octet (BIT, TST)
• instruction de comparaison (CMP)
• instruction de branchement conditionnel (branchement si les indicateurs
du CCR sont actifs
☞ Instructions de branchement inconditionnel et de saut.
• saut relatif (BRA, BRN : 1 ou 2 octets)
• saut absolu (JMP : 2 octets)
☞ Instructions d’appel et de retour de sous-programme
• Appel : saut absolu (JSR)
saut relatif (BSR)
• Retour : RTS
☞ Instructions opérant sur les pointeurs U, S et X, Y.
Load effective adress (in register) : LEA. données sur 16 bits.D et A
Empilement des registre dans la pile (PSH) →décrémenté pointeur
Dépilement des registres de la pile (PUL) →incrémenté pointeur
Conception des systèmes à Microprocesseurs 13
Les modes d'adressage du 6809
☞ Les modes d'adressage sont :
- l’adressage inhérent ou implicite: ABX, ASL, ASR, CLR, INC

- l’adressage immédiat: LDA #$35 (PC =Adr+2 ou +4)

- l’adressage étendu: LDA $1997 (1997)→ A

- l’adressage étendu indirect: LDA [$1997]: ((1997)) → A

- l’adressage direct: LDA $97 (DP:97)→ A

- l’adressage par registre: TFR X,Y (transfert de X dans Y).

- l’adressage indexé direct: LDA O,X ou LDA ,X. LDA 0,-X ou LDD 0,X++

- l’adressage indexé indirect :LDA [$35,X]- LDU [D, Y] ([Y+D] et [Y+D+1])→D

- l’adressage relatif : LDA $FO,PC ou LEAX ETIQ, PC

Conception des systèmes à Microprocesseurs 14


L’assembleur 6809

☞ Syntaxe du langage assembleur


❐ Etiquette Code Code Commentaire

• ORG Expression : Origine (initialisation du compteur programme)

•RMB Expression : Reserve Memory Bytes: un "saut" du PC à l’assemblage

•FCB expr1, expr2... Form Constant Byte

•FDB Exp1, Exp2,... Form Double Byte Constant

•FCC /A/ : Forme Constant Character string

•END : la limite du programme

Conception des systèmes à Microprocesseurs 15


L’opération d’assemblage

☞ 1ère passe :
• Analyse lexicographique :
• Analyse syntaxique
• Analyse sémantique

☞ 2ème passe
• L’assembleur génère le code objet en tenant compte des adresses et des
données réelles

☞ 3ème passe :
Cette phase fournit le listing avec son code objet

Conception des systèmes à Microprocesseurs 16


Plan adopté pour l'écriture d'un programme

OPT ABS
LDS #PPILE
Définition des variables
BRA *
DEBUT EQU $4000
Traitement des interruptions IRQ
TIRQ EQU $5000
ORG TIRQ
TFIRQ EQU $6000
"
MEM EQU $2000
RTI
PIA EQU $EF20
Traitement des interruptions FIRQ
Réservation des cases mémoires
ORG TFIRQ
ORG MEM
"
MEM1 RMB 1
RTI
PILE RMB 100
Initialisation des vecteurs d'interruption
PPILE EQU *
ORG $FFF6
Réservation des ports
FDB TFIRQ
ORG PIA
FDB TIRQ
DDRA RMB 1
FDB TSWI
CRA RMB 1
FDB TNMI
Programme principal
FDB DEBUT
ORG DEBUT
END
Conception des systèmes à Microprocesseurs 17
Le fonctionnement en interruption
☞ Définition
Une interruption est une procédure qui permet de suspendre l'exécution
d'un programme au profit d'un autre, avec la possibilité de reprendre
l'exécution du programme initial là où il avait été suspendu

☞ Interruptions "matérielles" 6809 possède quatre:


❐RESET Ré-initialisation du microprocesseur.
❐NMI Non Masquable Interrupt
❐ FIRQ Fast Interrupt Request (3 octets PC,CCR)
❐IRQ Interrupt Request (12 octets)
☞On peut forcer l'état des deux bits voir tableau:

Masque concernant l'interruption IRQ.

Conception des systèmes à Microprocesseurs 18


Le fonctionnement en interruption
☞ interruption "soft".
SWI (SoftWare Interrupt)
SWI2 (SoftWare Interrupt n°2)
SWI3 (SoftWare Interrupt n°3)
→La sauvegarde du contexte est totale.
☞ Les interruptions de synchronisation:
CWAI (attente d'interruption).
SYNC (attente de synchronisation).

❐ Les lignes NMI, FIRQ, IRQ et RESET ainsi que l'instruction SWI
positionnent automatiquement le flag CCRb4 à 1 (masquage de l'IRQ).
❐ Les lignes NMI, FIRQ et RESET ainsi que l'instruction SWI positionnent
automatiquement le flag CCRb6 à 1 (masquage de la FIRQ).
❐ Les bits I et F étant positionnés à 1 lors de l'exécution d'un
programme d'interruption, il est possible, néanmoins d'autoriser la prise
en compte de nouvelles interruptions en les repositionnant à O.
Conception des systèmes à Microprocesseurs 19
Tableau récapitulatif
☞ Interruptions

Conception des systèmes à Microprocesseurs 20


Méthodologie de gestion
des périphériques d’entrées-sorties
☞ Le mode programmé
❐ Avant, le microprocesseur teste l’état du périphérique
❐ s’ assuré de sa disponibilité.
L’état du périphérique (prêt ou occupé, registre de réception plein ou
registre de transmission vide...) est généralement indiqué par un bit d’état
appelé flag.

☞ Le mode interruptible
Scrutation pour connaitre quel est le contrôleur qui a provoqué la demande

Conception des systèmes à Microprocesseurs 21


Méthodologie de gestion
des périphériques d’entrées-sorties
☞ Ainsi apparaît la notion de Priorité !
 Vectorisation par décodeur de priorité et Mux.
les sorties du codeur de priorité sont multiplexées avec les lignes d'adresse
A1, A2 et A3.

Conception des systèmes à Microprocesseurs 22


Étude de l’interface d’E/S parallèle PIA 6821

☞ Le coupleur d’entrée/sortie parallèle est un circuit d’interface programmable


(ou PIA : Peripheral Interface Adapter).
☞ Le PIA communique avec le µP à l’aide des signaux (compatibles TTL)
représentés sur la figure ci dessous.

→ D0 à D7 du PIA sont reliées à D0 à D7 du µP .


→ E (Enable) du PIA est liée à l’entrée d’H du µP.
→ R/W au µP pour gérer la lecture\écriture entre
le PIA et le µP.
→ Reset du PIA à Reset du µP et au poussoir
de Reset
→ CS0, CS1 et CS2 sélection et @ du PIA activé si CS0= CS1 = 1 et CS2 = 0.
→ RS0 et RS1 sélectionnent les registres internes du PIA selon le tableau :
– Généralement, RS0 est reliée à A0 et RS1 est reliée à A1, ce qui place les quatre
registres les uns à la suite des autres.
→ IRQA et/ou IRQB seront ou non reliées à la ligne IRQ du µP 6809 côté A, ou B, ou les deux.

Conception des systèmes à Microprocesseurs 23


Plan
☞ Introduction
• 16 lignes d’entrées/sorties programmables
individuellement une ligne d’entrée/sortie
peut jouer alternativement le rôle d’entrée
et de sortie,
• quatre lignes eux sont des entrées
(CA1 et CB1), les deux autres étant
programmables en entrée ou en sortie
(CA2 et CB2).
Le PIA possède six registres internes , soit trois registres par port :
→ DDRA Data Direction Register A :
→ ORA (Output Register A) ou registre de sortie pour le port « A » :
→ CRA Control Register A : C’est un registre de contrôle permettant,
pour le port « A », de définir le mode de fonctionnement des lignes
d’interruption et de dialogue CA1 et CA2 ainsi que les possibilités de
génération d’interruption via la ligne IRQA.
Conception des systèmes à Microprocesseurs 24
Programmation du PIA

Adresses mémoires réservées au PIA en fonction de RS0 et RS1

☞ Exemple:
Adresse PIA:
8000 DDRA et ORA
8001 CRA
8002 DDRB et ORB
8003 CRB
1. LDA #$00 Accès au DDRB
STA $8003 ou CLR $8003
2. LDA #$FF Port B en sortie
STA $8002
3. LDA #$04 Accès à ORB
STA $8003
4. LDA #$E0 1110 0000 sur PortB
STA $8002 Registre CRA du PIA
Conception des systèmes à Microprocesseurs 25
Etude de l’interface série asynchrone
A.C.I.A. 6850
☞A.C.I.A. : Asynchronous communication interface adapter.
☞Format du mot: 5 et 8 bits, précédé 1 bit de start et suivi de 2 bits de stop
☞compatibles TTL: Conversion TTL→RS232 le1489 et RS232→TTL le 1488
☞ les niveaux fournis par l’ACIA : TTL et ceux délivrés par la ligne:

☞ les infos sont véhiculées, dans le code ASCII:


– liaison RS 232 (20Kbits)
• niveau 1 : -
– RS 423 (100 Kbits) 12V
– RS 422 (10 mégabits) • niveau 0
: +12V

Conception des systèmes à Microprocesseurs 26


Étude de l’interface série asynchrone
A.C.I.A. 6850
☞ Schéma :

☞ Ce circuit intègre :
 un émetteur de données asynchrone
 un récepteur de données asynchrone
 une logique de commande Modem
 des entrées d’horloge séparées pour l’émission et la réception.
☞Ce circuit comprend quatre registres internes :
 1 registre de transmission
 1 registre de réception.
 1 registre de contrôle
 1 registre d'état
Conception des systèmes à Microprocesseurs 27
ACIA
☞ Coté microprocesseur :
❐ Le bus des données : d0 ... D7, boîtier non sélectionné ces lignes en HZ
❐ Le bus de contrôle:
1. E : Signal d’activation des échanges
2. R/W = 1 ;buffers de sorties activés (possibilité de lire un registre).
3. R/W = O ;buffers d’entrées activés (possibilité d’écriture dans un registre)
4. R/W utilisée également pour l’adressage des registres internes
❐ Le bus des adresses : CSO, CS1 ET /CS2 (Chip Select). Validée (110)
❐ RS (Register select) utilisée avec R/W pour choisir un registre parmi les 4
❐ IRQ sortie

☞ Coté extérieur :
❐ Les lignes "horloge:
1. Txclk : horloge de transmission sur Txdata. Le Reg de décalage de trans est syn sur de Txclk
2. Rxclk : horloge de réception sur Rxdata. Reg (charge et décal) est syn sur Rxclk
3. Les vitesses de transmission et réception peuvent varier de O à 500 Kbits/s.

Conception des systèmes à Microprocesseurs 28


ACIA
❐ Les lignes de contrôle d’un périphérique type modem.
1.Ligne CTS (Clear To send)
• Entrée bas ,permet de savoir si le modem est prêt à recevoir des infos.
• Influence sur le bit (TDRE) du SR, CTS bas s’il n’y a pas de modem

2.Ligne DCD (Data carrier detect)


• niveau bas : présence de la porteuse au niveau modem, état normal.
• remarque : non utilisée, elle doit être toujours au niveau bas !
• Cette entrée peut générer une interruption IRQ, si CR7 = 1 et si sur DCD

3.La sortie RTS (Request To Send)


• émission demandée par le microprocesseur au modem
• RTS dépend du mot écrit dans le CR.La demande se traduit par RTS bas

Conception des systèmes à Microprocesseurs 29


ACIA
☞ Exemples d'utilisation :
❐ Modem commandé par un ACIA

❐ Liaison Acia – Acia

Conception des systèmes à Microprocesseurs 30


ACIA
☞ Organisation interne
❐ TDR (Transmit Data Register)
• Où on place le mot (8 bits) à transmettre. l’écriture du mot sur de E(b0 en 1er)
• Dès que le transfert à lieu , un bit du registre d’état est positionné à "1"
❐ RDR (Réception Data Register)
• Où on reçoit le mot (8 bits) depuis le périphérique
• Quand un caractère complet est reçu, est automatiquement transféré du
registre de décalage de réception dans le RDR. A ce moment là, un bit
dans le SR est positionné à "1". Le caractère peut alors être lu par le
microprocesseur. Le bit b0 est reçu en 1er.
• le registre d’état est à 1, le transfert automatique est suspendu !
❐ Le registre d’état SR (Status Register)
Permet au microprocesseur de connaître à tout instant l’état T\R
❐ registre de contrôle CR (Control Register)
Configure le circuit en adéquation avec le périphérique,mot de contrôle (8
bits) écrit sur le front descendant de E. l'ACIA est 2 cases-mémoire,R\W
Conception des systèmes à Microprocesseurs 31
ACIA
☞ RS et R/W permettent de sélectionner l'ensemble des registres:

☞ Tableau récapitulatif (avec A0=RS) :

☞ Illustrations :

Conception des systèmes à Microprocesseurs 32


ACIA
☞ Présentation du registre de contrôle
❐ CR0 et CR1 :
1. Déterminent le rapport de division sur les signaux d’entrée Rxclk et Txclk.
2. La combinaison (11) génère un reset logiciel Master reset
3. Master reset indispensable avant toute programmation du CR.
4. Remise à 0 du SR excepté les bits liés aux conditions externes :
5. Initialise le TDR et RDR (contenu nul)
❐ CR2, CR3 et CR4 :
format de l’octet à transmettre où à recevoir
❐ CR5 et CR6:
• Contrôlent à la fois la sortie RTS et la demande d’interruption en transmission.
• Autorisent ou non une interrupt provoquée par le fait que le TDR est vide ,TDRE = 1
Pourquoi ?
L’envoi d’un caractère vers la périphérie est toujours précédé d’un test sur TDR pour
s’assurer que celui-ci est vide. Ce test peut être obtenu par :
1- Une scrutation permanente du bit dans le SR (on choisit CR6 et CR5 = 00).
2- Une interruption générée par l’ACIA vers le microprocesseur chaque fois que le TDR
est vide (dans ce cas, on choisit CR6 et CR5 = 01).

Conception des systèmes à Microprocesseurs 33


ACIA
❐ CR7(Ne concerne que le récepteur):
Ce bit sert de masque d’interruption concernant les événements suivants :
1- Registre de réception plein
2- Front montant sur l’entrée DCD indiquant la perte de la porteuse.
Ce bit mis à 1 traduit ces événements par une demande d’interruption IRQ bas.

☞ Étude des bits du registre d'état.


 SR0 = 1: registre de Réception RDR plein. SR0 = 0 -->RDR vide --> attend!
 SR1 = 1: la donnée est dispo ds le TDR. SR1 = 0 -->TDR plein--> on attend !
 SR2 = 1 si DCD = 1 (absence porteuse).interup IRQ si autorisée (CR7 = 1)
 SR3 = 1: CTS est haut ( modem pas prêt à recevoir), forçage de SR1= 1 --> la
transmission est interrompue !
 SR4 = 1 :pas de sync absence du (des) bit(s) de stop
 SR5 =1: plrs caractères reçus avant lecture du caractère précédent
 SR6 = 1: la parité reçue avec le caractère est incorrect
 SR7=1 : Indique qu’il y a une demande d’interruption
Conception des systèmes à Microprocesseurs 34
ACIA

Registre de commande Registre d’état

Conception des systèmes à Microprocesseurs 35


Programmation
• Programmer un ACIA consiste à écrire dans son registre de contrôle un octet
pour définir le mode de fonctionnement
• Il faut commencer par "Master reset " pour prendre contrôle du CR
• Le PG de transmission commence par le test du bit SR1 appelé TDRE(TDR vide)
• Pour un nouveau mot, on doit tester TDRE, ou exploiter la demande
d’interruption générée lors du passage au niveau 1 de TDRE
• Les données reçues en série par l’entrée RxData .Le rapport est programmé à
l’initialisation de l’ACIA. suivant l’un des 3 modes.
• Puis ds RDR avec élimination des bits de start,de stop et de parité
• La réception commence par lecture de SR pour tester le bit RDRF = 1, test ou
demande d’interruption. Dès que RDRF = 1,fin réception mot dispo pour uP.

Conception des systèmes à Microprocesseurs


Gestion des interruptions
• En transmission :
Si CR5 = 1 et CR6 = 0, la ligne IRQ est activée au niveau bas dès que le TDR est
déclaré vide par le passage au niveau 1 de TDRE. Le programme de traitement
de cette interruption a évidemment comme but d’écrire le caractère suivant
dans le TDR, ce qui entraîne en plus la remise à zéro de TDRE donc le retour à
l’état de repos de la ligne IRQ ainsi que la remise à zéro du bit SR7 du registre
d’état.
Ce fonctionnement est maintenu tant que l’ACIA n’est pas sous contrôle d’un
Master Reset et tant que la ligne CTS est maintenue au niveau bas par le
modem.
Rappelons que lorsque le modem ne veut plus transmettre de caractère, il met
CTS au niveau haut ce qui force TDRE au niveau bas et inhibe le processus ci-
dessus.

Conception des systèmes à Microprocesseurs


Gestion des interruptions
• En réception :
Si CR7 vaut 1, la ligne IRQ est activé au niveau bas à chaque fois que le RDR est
plein (RDRF=1), le programme d’interruption est chargé de lire le caractère
reçu, ce qui en outre remet RDRF à zéro ainsi que la ligne d’interruption au
repos.
Cette opération est déclenchée également si une perte de la porteuse est
signalée (DCD=1) ou si le bit OVRN (SR5) passe au niveau haut. Les flags (PE) et
(FE) ne déclenchent pas d’interruption et c’est à la charge du programme
d’interruption lui-même de contrôler que le mot reçu ne comporte pas d’erreur
en testant les deux bits SR4 et SR6.

Conception des systèmes à Microprocesseurs


Exercices
1°- Enoncé du problème:
Le programme doit permettre d’obtenir le même fonctionnement que la carte “oubli-éclairage”, soit
répondre à l’équation logique:

A cet effet, le port A est utilisé comme port d’entrée, et le port B en sortie de la façon suivante:
•PA7: masse PA3: borne B(entrée ds voiture) PB7: Non connecté PB3: Non connecté
•PA6: masse PA2: borne C (veilleuses)PB6: Non connecté PB2: Non connecté
•PA5: masse PA1: borne D (codes) PB5: Non connecté PB1: Non connecté
•PA4: borne A(contact) PA0: borne E (détresses) PB4: Non connecté PB0: Bz
Conception des systèmes à Microprocesseurs
2°- organigramme de fonctionnement et programme:

A compléter

Conception des systèmes à Microprocesseurs


PTM 6840
Principe de fonctionnement

• Le PTM (Programmable Timer Module) est un circuit programmable de la


famille 6800 permettant la programmation de temporisations variables.

• Le PTM comprend 3 compteurs binaires 16bits, 3 registres de contrôle associés


et un registre d’état. Ces compteurs sont sous le contrôle du logiciel et peuvent
être utilisés pour générer des interruptions et/ou des signaux en sorties.

• Le PTM peut être utilisé pour des mesures de fréquence, en compteur


d’évènements, en mesure d’intervalles de temps et pour d’autres tâches
similaires. Ce circuit peut générer des signaux carrés, des impulsions de largeur
programmable et des signaux de rapport cyclique variable et des interruptions.

Conception des systèmes à Microprocesseurs


PTM 6840

Les trois temporisateurs peuvent être programmés indépendamment.

*Bus de données(D0..D7)
*Sélection du boîtier (CS0|,CS1-Chip Select) .
*Lecture/Écriture| (R/W|)
*Horloge E(Enable) : ce signal synchronise le transfert
*Demande d’interruption (IRQ|-Interrupt ReQuest) plusieurs lignes « OU-câblé ».
*Entrée d’initialisation interne (Reset|)
Conception des systèmes à Microprocesseurs
PTM 6840

Reset| : un niveau bas sur cette entrée est pris en compte dans le PTM par l’horloge
E. lorsqu’un niveau bas est reconnu sur cette entrée par le PTM, les actions
suivantes ont lieu :

• tous les registres tampons des compteurs sont repositionnés à leur valeur
maximum de comptage
• tous les bits des registres de contrôle sont mis à 0 sauf cr10 qui est mis à 1.
• tous les compteurs sont chargés avec le contenu de leurs registres tampons
associés.
• toutes les sorties Ox des compteurs sont mises à 0 et les horloges externes (c|)
sont inhibées.
• tous les bits du registre d’état sont mis à 0.

Conception des systèmes à Microprocesseurs


PTM 6840
• Lignes de sélection des registres (RS0,RS1,RS2) : ces entrés sont utilisées en
relation avec la ligne R/W| pour sélecter les registres internes, les compteurs et
leurs registres tampons .
• Registres de contrôle : CR1, CR2, CR3 :
• Dans le PTM, 3 registres à écriture seulement sont utilisés pour modifier le
fonctionnement du temporisateur pour pouvoir s’adapter à une grande variété
d’applications.
• Le bit de poids faible du registre de contrôle #1 est utilisé comme un bit
d’initialisation interne. Quand ce bit est à 0, tous les temporisateurs peuvent
fonctionner dans les modes définis par les autres bits des registres de contrôle.
Le fait d’écrire un 1 logique dans CR10 permet de réinitialiser tous les compteurs
avec le contenu de leurs registres tampons respectifs, toutes les horloges des
compteurs sont inhibées et les sorties des temporisateurs et les indicateurs
d’interruption sont mis à 0. les registres tampons des compteurs et les registres
de contrôle ne sont pas affectés par une initialisation interne et peuvent être
écrits quelque soit l’état du bit CR10
Conception des systèmes à Microprocesseurs
PTM 6840
• Les fonctions des bits des registres de contrôle sont résumées dans le tableau ci-
dessous :

Initialisation interne CR10=0 : tous les temporisateurs fonctionnent


CR10=1 :tous les temporisateurs sont initialisés
Adressage registres de contrôle CR20=0 :écriture dans CR# 3
CR20=1 :écriture dans CR# 1
Contrôle horloge temporisatrice #3 CR30=0 :horloge| T3 n’est pas précomptée
CR30=1 : horloge| T3 est précomptée par/8
Source d’horloge temporisatrice # x CRx1=0 :Tx utilise horloge externe sur entrée Cx|
CRx1=1 :Tx utilise horloge E
Mode du comptage du temporisateur # x CRx2=0 :Tx configuré pour mode normal 16bits
CRx2=1 :Tx configuré pour mode 2*8bits
Mode de comptage et contrôle CRx3, CRx4, CRx5
d’interruption du temporisateur # x
Validation d’interruption du CRx6=0 :indicateur d’interruption masqué sur IRQ|
temporisateur # x CRx6=1 :indicateur d’interruption validé sur IRQ|
Validation sortie compteur du CRx7=0 :Tx sortie masquée
temporisateur # x CRx7=1 :Tx sortie validée

Conception des systèmes à Microprocesseurs


PTM 6840
Lignes d’entrées/sorties asynchrones
• entrées horloge (C1|, C2|, C3|) : les broches d’entrée C1|, C2| et C3| acceptent des
signaux asynchrones TTL pour décrémenter respectivement les temporisateurs 1, 2 et 3.
• entrées de déclenchement (G1|, G2|, G3|) : les broches d’entrée G1|, G2| et G3|
acceptent des signaux asynchrones TTL pour déclencher respectivement les fonctions
des temporisateurs 1, 2 et 3.
• les sorties des temporisateurs O1, O2 et O3 peuvent commander 2 charges TTL et
produire un signal dont la forme est défini par les modes de fonctionnement astables ou
monostables. La forme du signal de sortie est définie en sélectionnant soit le mode
16bits soit le mode 2*8bits. Le mode 16bits fournira un signal carré dans le mode astable
et une seule impulsion dans le mode monostable. Le mode 2*8bits fournira un signal
asymétrique dans les deux modes continus et monostables. Le bit CRx7 de chaque
registre de contrôle est utilisé pour valider la sortie correspondante. Si ce bit est à 0, la
sortie restera à l’état bas quelque soit le mode de fonctionnement.
• Des signaux apparaissent sur les sorties ( sauf si CRx7=0) pendant les modes de
fonctionnement de comparaison de fréquence et de largeur d’impulsion, mais la forme
réelle des signaux n’est pas déterminée pour les applications typiques.

Conception des systèmes à Microprocesseurs


Modes de fonctionnement PTM 6840

• Le PTM a été conçu pour fonctionner dans une grande gamme d’applications.
Les différents modes de fonctionnement du temporisateur sont définis à l’aide
de trois bits de chaque registre de contrôle ( CRx3, CRx4, CRx5 ). Ces modes sont
résumés dans le tableau suivant :

Registre de contrôle Mode de fonctionnement du


temporisateur
CRx3 CRx4 CRx5
0 * 0 Continu
0 * 1 Monocoup
1 0 * Comparaison de fréquence
1 1 * Comparaison de largeur d’impulsion

Conception des systèmes à Microprocesseurs


Mode de fonctionnement continu ( Multivibrateur astable)
PTM 6840

• G|↓ : transition négative sur l’entré G|


• W : commande d’écriture dans les registres tampons du temporisateur.
• R :initialisation du temporisateur(CR10=1 ou Reset| externe=0)
• N :nombre 16bits dans le registre tampon compteur.
• L : nombre 8bits dans le registre tampon LSB du compteur( poids faible).
• M : nombre 8bits dans le registre tampon MSB du compteur( poids fort).
• T :transition négative sur l’entrée d’horloge du compteur.
• t0 :Cycle d’initialisation du compteur.
• T0 :fin du temps de comptage.
Conception des systèmes à Microprocesseurs
Timer 6850
☞CR PTM 6850

Conception des systèmes à Microprocesseurs 49


PTM 6840

Conception des systèmes à Microprocesseurs


PTM 6840

Conception des systèmes à Microprocesseurs


PTM 6840

Conception des systèmes à Microprocesseurs


PTM 6840

Conception des systèmes à Microprocesseurs


PTM 6840

Conception des systèmes à Microprocesseurs


PTM 6840

Conception des systèmes à Microprocesseurs


PTM 6840

Conception des systèmes à Microprocesseurs