Chapitre I Microprocesseur 6809 GSEA12013

download Chapitre I Microprocesseur 6809 GSEA12013

of 56

Transcript of Chapitre I Microprocesseur 6809 GSEA12013

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    1/56

    Conception des systmes Microprocesseurs

    A.Cherkaoui

    Introduction

    chapitre 1: Microprocesseur 6809

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    2/56

    Conception des systmes Microprocesseurs

    Plan

    Architecture du microprocesseur 6809

    architecture externe

    architecture interne

    le schma fonctionnel

    l'UAL

    l'accumulateur

    Introduction au jeu d'instructions du microprocesseur

    la pile

    Les interruptions

    Les mmoires

    Les interfacesle P.I.A. (Interface parallle)

    le P.T.M. (Compteur programmable)

    l'A.C.I.A. (Interface srie)

    2

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    3/56

    Conception des systmes Microprocesseurs

    Architecture du microprocesseur 6809

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

    Il est fabriqu en technologie MOS canal N

    botier DIL 40 broches.Il est monotension(5V).

    6809E est rythm par une horloge externe 2 MHZ

    adapt multiprocesseur.

    synchronis par une horloge extrieure.

    Compatibilit complte entre les 2 versions.

    3

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    4/56

    Conception des systmes Microprocesseurs

    Architecture du microprocesseur 6809

    Le bus des donnes 8 bits (Do D7)

    . 1 charge TTL et 8 entres de circuits CMOS. Bus en logique 3 tats.

    Le bus des adresses 16 bits (A0 A15 )

    .Bus en logique 3 tats. valides sur le front montant de Q.

    Le bus de contrle

    .La broche Read/Write . Valide sur le front montant de Q.

    4

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    5/56

    Conception des systmes Microprocesseurs

    Architecture du microprocesseur 6809

    Les lignes d'tat du bus : connatre l'tat du microprocesseur tout moment

    BA (Bus available) et BS (Bus state)

    1ercas : Le microprocesseur gre les bus d'adresses et de donnes.

    2mecas: reconnaissance d'int pendant 2cycles.Vect Reset,NMI,IRQ,SW1,2,3 3mecas : Il attend la synchro sur une des lignes d'interruption. Les bus HZ

    Dernier cas : (niveau bas sur HALT).(contrleur de DMA). Les bus HZ La ligne

    BAau niveau haut indique que les bus sont en haute impdance.

    5

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    6/56

    Conception des systmes Microprocesseurs

    Architecture du microprocesseur 6809

    Broche d'initialisation RESET

    Un niveau bas (x cycles d'horloge), rinitialisation complte du circuit:

    l'instruction en cours est arrt

    le registre de pagination (DP) est mis zro

    les interruptions IRQ et FIRQ sont masques

    l'interruption non masquable NMI est dsarme Le PC. est initialis avec le contenu des vecteurs d'initialisation

    qui se trouvent aux adresses $FFFE et $FFFF.

    Ce contenu reprsente l'adresse du dbut du programme qui sera

    excut par le microprocesseur.

    6

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    7/56Conception des systmes Microprocesseurs

    Architecture du microprocesseur 6809

    la broche : HALT (Arrt du microprocesseur).

    7

    BA = BS = 1

    Dans ce cas :

    les demandes d'interruption IRQ et FIRQ sont inhibes

    les demandes d'accs direct (DMA) la mmoire sont autorise.

    les demandes d'interruptions RESET et NMI sont prises en compte

    mais leur traitement est diffr

    les broches d'interruption

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

    Entres d'horloge XTAL et EXTAL (Extension crystal)

    Qout

    est en quadrature avec Eout

    =4 *horloge

    *Les donnes sont lues ou crites sur

    le front descendant de Eout.

    *Les adresses sont correctes partir

    du front montant de Qout

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    8/56Conception des systmes Microprocesseurs

    Architecture du microprocesseur 6809

    Broches complmentaires du bus de contrle :

    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'accs direct ou du rafrachissement mmoire

    -le circuit ayant gnr cette commande le bus pendant de 15 cycles

    Broches spcifiques au 6809 E

    Entres d'horloge : Einet QincommeEoutetQoutdu 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 opratoire Ins

    AVMA (Advanced Valid Memory Access) niveau haut signifie que le microprocesseur

    utilisera les bus au cours du cycle suivant pour multiprocesseurBUSY: Occupation des bus : Sortie mise au niveau haut pendant les instructions dutype : lecture,criture et excution du premier octet d'un oprande constitu dedeux octets (une adresse par exemple).

    Dans un systme multiprocesseur, ce signal indique le besoin pour un Microprocesseurde disposer des bus au cours du prochain cycle pour assurer l'intgrit de l'opration en

    cours. Cela vite l'adressage simultane d'une mme zone mmoire par 2 microprocs. 8

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    9/56Conception des systmes Microprocesseurs

    Architecture du microprocesseur 6809

    On ne doit pas activer TSCquand BUSYest actif

    Exemple d'application :

    9

    LIC : fin d'excution de l'instruction

    BUSY : besoin du bus au prochain cycle

    AVMA : va utiliser les bus au prochain cycle

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    10/56Conception des systmes Microprocesseurs

    Prsentation des diffrents registres

    interne au 6809

    Les accumulateurs A, B ou D.

    Les registres pointeurs Les registres d'index X et Y 16bitssont utiliss pour les modes d'adresse index.

    les registres S et U (16 bits). (pointeur de pile LIFO :U passage de paramtres)

    Ces registres "pointent" toujours le haut de la zone mmoire attribue

    Le Compteur de Programme (PC)

    Le registre de codes condition (CCR)

    10

    Exemple de sauvegarde de tous les

    registres avec S :

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    11/56

    Conception des systmes Microprocesseurs

    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 donne en mmoire, t=1(m).TE si m octets

    Excution :traduction et interprtation de l'octet (code opratoire)

    11

    Une priode TE supplmentaire est ncessaire pour raliser concrtement l'opration

    demande!

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    12/56

    Conception des systmes Microprocesseurs

    Le jeu d'Instructions

    Instructions de traitement des donnes

    Instructions arithmtiques addition (DAA, ABX, ADC)

    multiplication (MUL)

    soustraction (SBC, SUB)

    Instructions logiques rotation droite et gauche (ROL, ROR)

    dcalage droite et gauche (ASR, LSRet ASL, LSL)

    les fonctions logiques de base (AND, OR, EOR)

    l'incrmentation/dcrmentation et complmentation (COM- NEG-NOP- INC- DEC- CLR)

    Instruction de transfert de donnes transferts internes entre registres (EXG - TFR)

    transferts externes avec la mmoire (LD - ST)

    12

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    13/56

    Conception des systmes Microprocesseurs

    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 indicateursdu CCR sont actifs

    Instructions de branchement inconditionnel et de saut. saut relatif (BRA, BRN : 1 ou 2 octets) saut absolu (JMP : 2 octets)

    Instructions dappel et de retour de sous-programme Appel : saut absolu (JSR)

    saut relatif (BSR)

    Retour : RTSInstructions oprant sur les pointeurs U, S et X, Y.

    Load effective adress (in register) : LEA. donnes sur 16bits.DetA

    Empilement des registre dans la pile (PSH) dcrment pointeur

    Dpilement des registres de la pile (PUL) incrment pointeur

    13

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    14/56

    Conception des systmes Microprocesseurs

    Les modes d'adressage du 6809

    Les modes d'adressage sont :

    - ladressage inhrent ou implicite: ABX, ASL, ASR, CLR, INC

    - ladressage immdiat: LDA #$35 (PC =Adr+2 ou +4)

    - ladressage tendu: LDA $1997 (1997)A

    - ladressage tendu indirect: LDA [$1997]: ((1997)) A

    - ladressage direct: LDA $97 (DP:97)A

    - ladressage par registre: TFR X,Y (transfert de X dans Y).

    - ladressage index direct: LDA O,X ou LDA ,X. LDA 0,-X ou LDD 0,X++

    - ladressage index indirect:LDA [$35,X]-LDU [D, Y] ([Y+D] et [Y+D+1])D

    - ladressage relatif: LDA $FO,PC ou LEAX ETIQ, PC

    14

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    15/56

    Conception des systmes Microprocesseurs

    Lassembleur 6809

    Syntaxe du langage assembleur

    Etiquette Code Code Commentaire

    ORG Expression: Origine (initialisation du compteur programme)

    RMBExpression : Reserve Memory Bytes: un "saut" du PC lassemblage

    FCBexpr1, expr2... Form Constant Byte

    FDBExp1, Exp2,... Form Double Byte Constant

    FCC /A/ : Forme Constant Character string

    END: la limite du programme

    15

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    16/56

    Conception des systmes Microprocesseurs

    Lopration dassemblage

    1re passe : Analyse lexicographique :

    Analyse syntaxique

    Analyse smantique

    2me passe Lassembleur gnre le code objet en tenant compte des adresses et des

    donnes relles

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

    16

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    17/56

    Conception des systmes Microprocesseurs

    Plan adopt pour l'criture d'un programme

    OPT ABS

    Dfinition des variablesDEBUT EQU $4000

    TIRQ EQU $5000

    TFIRQ EQU $6000

    MEM EQU $2000

    PIA EQU $EF20

    Rservation des cases mmoires

    ORG MEM

    MEM1 RMB 1

    PILE RMB 100

    PPILE EQU *

    Rservation des portsORG PIA

    DDRA RMB 1

    CRA RMB 1

    Programme principal

    ORG DEBUT

    17

    LDS #PPILE

    BRA *

    Traitement des interruptions IRQ

    ORG TIRQ

    "

    RTI

    Traitement des interruptions FIRQORG TFIRQ

    "

    RTI

    Initialisation des vecteurs d'interruption

    ORG $FFF6

    FDB TFIRQ

    FDB TIRQ

    FDB TSWI

    FDB TNMI

    FDB DEBUT

    END

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    18/56

    Conception des systmes Microprocesseurs

    Le fonctionnement en interruption

    Dfinition

    Une interruption est une procdure qui permet de suspendre l'excutiond'un programme au profit d'un autre, avec la possibilit de reprendre

    l'excution du programme initial l o il avait t suspendu

    Interruptions "matrielles" 6809 possde 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:

    18

    Masque concernant l'interruption IRQ.

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    19/56

    Conception des systmes Microprocesseurs

    Le fonctionnement en interruption

    interruption "soft".

    SWI (SoftWare Interrupt)SWI2 (SoftWare Interrupt n2)

    SWI3 (SoftWare Interrupt n3)

    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 positionnentautomatiquement le flag CCRb6 1 (masquage de la FIRQ).

    Les bits I et F tant positionns 1 lors de l'excution d'un

    programme d'interruption, il est possible, nanmoins d'autoriser la prise

    en compte de nouvelles interruptions en les repositionnant O.

    19

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    20/56

    Conception des systmes Microprocesseurs

    Tableau rcapitulatif

    Interruptions

    20

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    21/56

    Conception des systmes Microprocesseurs

    Mthodologie de gestion

    des priphriques dentres-sorties

    Le mode programm

    Avant, le microprocesseur teste ltat du priphriques assur de sa disponibilit.

    Ltat du priphrique (prt ou occup, registre de rception plein ouregistre de transmission vide...) est gnralement indiqu par un bit dtatappel flag.

    Le mode interruptible

    Scrutation pour connaitre quel est le contrleur qui a provoqu la demande

    21

    h d l d

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    22/56

    Conception des systmes Microprocesseurs

    Mthodologie de gestion

    des priphriques dentres-sorties

    Ainsi apparat la notion de Priorit !

    Vectorisation par dcodeur de priorit et Mux.

    les sorties du codeur de priorit sont multiplexes avec les lignes d'adresse

    A1, A2 et A3.

    22

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    23/56

    Conception des systmes Microprocesseurs

    tude de linterface dE/S parallle PIA 6821

    Le coupleur dentre/sortie parallle est un circuit dinterface programmable

    (ou PIA : Peripheral Interface Adapter).

    Le PIA communique avec le P laide des signaux (compatibles TTL)reprsents sur la figure ci dessous.

    D0 D7 du PIA sont relies D0 D7 du P .

    E (Enable) du PIA est lie lentre dH du P.

    R/W au P pour grer la lecture\criture entre

    le PIA et le P.

    Reset du PIA Reset du P et au poussoir

    de Reset

    CS0, CS1 et CS2 slection et @ du PIA activ si CS0= CS1 = 1 et CS2 = 0. RS0 et RS1 slectionnent les registres internes du PIA selon le tableau :

    Gnralement, RS0 est relie A0 et RS1 est relie A1, ce qui place les quatre

    registres les uns la suite des autres.

    IRQA et/ou IRQB seront ou non relies la ligne IRQ du P 6809 ct A, ou B, ou les deux.

    23

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    24/56

    Conception des systmes Microprocesseurs

    Plan

    Introduction

    16 lignes dentres/sorties programmablesindividuellement une ligne dentre/sortie

    peut jouer alternativement le rle dentre

    et de sortie,

    quatre lignes eux sont des entres

    (CA1 et CB1), les deux autres tantprogrammables en entre ou en sortie

    (CA2 et CB2).

    Le PIA possde 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 : Cest un registre de contrle permettant,pour le port A , de dfinir le mode de fonctionnement des lignes

    dinterruption et de dialogue CA1 et CA2 ainsi que les possibilits degnration dinterruption via la ligne IRQA.

    24

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    25/56

    Conception des systmes Microprocesseurs

    Programmation du PIA

    Exemple:Adresse PIA:

    8000 DDRA et ORA

    8001 CRA

    8002 DDRB et ORB

    8003 CRB

    1. LDA #$00 Accs au DDRB

    STA $8003 ou CLR $8003

    2. LDA #$FF Port B en sortie

    STA $8002

    3. LDA #$04 Accs ORB

    STA $8003

    4. LDA #$E0 1110 0000 sur PortB

    STA $8002 25

    Adresses mmoires rserves au PIA en fonction de RS0 et RS1

    Registre CRA du PIA

    Et d d li t f i h

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    26/56

    Conception des systmes Microprocesseurs

    Etude de linterface srie asynchroneA.C.I.A. 6850

    A.C.I.A. : Asynchronous communication interface adapter.

    Format du mot: 5 et 8 bits, prcd 1 bit de start et suivi de 2 bits de stop

    compatibles TTL: Conversion TTLRS232le1489 et RS232TTL le 1488

    les niveaux fournis par lACIA : TTL et ceux dlivrs par la ligne:

    les infos sont vhicules, dans le code ASCII:

    liaison RS 232 (20Kbits)

    RS 423 (100 Kbits)

    RS 422 (10 mgabits)

    26

    niveau 1 : -12V

    niveau 0: +12V

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    27/56

    Conception des systmes Microprocesseurs

    tude de linterface srie asynchroneA.C.I.A. 6850

    Schma :

    Ce circuit intgre :

    un metteur de donnes asynchrone

    un rcepteur de donnes asynchrone

    une logique de commande Modem

    des entres dhorloge spares pour lmission et la rception.

    Ce circuit comprend quatre registres internes :

    1 registre de transmission

    1 registre de rception.

    1 registre de contrle

    1 registre d'tat

    27

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    28/56

    Conception des systmes Microprocesseurs

    ACIA

    Cot microprocesseur :

    Le bus des donnes : d0 ... D7, botier non slectionn ces lignes en HZLe bus de contrle:

    1. E : Signal dactivation des changes

    2. R/W = 1 ;buffers de sorties activs (possibilit de lire un registre).

    3. R/W = O ;buffers dentres activs (possibilit dcriture dans un registre)

    4. R/Wutilise galement pour ladressage des registres internes

    Le bus des adresses : CSO, CS1 ET /CS2 (Chip Select). Valide (110)RS (Register select) utilise avec R/W pour choisir un registre parmi les 4

    IRQ sortie

    Cot extrieur :

    Les lignes "horloge:1. Txclk : horloge de transmission sur Txdata. Le Reg de dcalage de trans est syn sur de Txclk

    2. Rxclk : horloge de rception sur Rxdata. Reg (charge et dcal) est syn sur Rxclk

    3. Les vitesses de transmission et rception peuvent varier de O 500 Kbits/s.

    28

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    29/56

    Conception des systmes Microprocesseurs

    ACIA

    Les lignes de contrle dun priphrique type modem.

    1.Ligne CTS (Clear To send) Entre bas ,permet de savoir si le modem est prt recevoir des infos.

    Influence sur le bit (TDRE) du SR, CTS bas sil ny a pas de modem

    2.Ligne DCD (Data carrier detect)

    niveau bas : prsence de la porteuse au niveau modem, tat normal.

    remarque : non utilise, elle doit tre toujours au niveau bas !

    Cette entre peut gnrer une interruption IRQ, si CR7 = 1 et si sur DCD

    3.La sortie RTS (Request To Send)

    mission demande par le microprocesseur au modem

    RTS dpend du mot crit dans le CR.La demande se traduit par RTS bas

    29

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    30/56

    Conception des systmes Microprocesseurs

    ACIA

    Exemples d'utilisation :

    Modem command par un ACIA

    Liaison AciaAcia

    30

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    31/56

    Conception des systmes Microprocesseurs

    ACIA

    Organisation interne

    TDR (Transmit Data Register) O on place le mot (8 bits) transmettre. lcriture du mot sur de E(b0en 1er)

    Ds que le transfert lieu , un bit du registre dtat est positionn "1"

    RDR (Rception Data Register)

    O on reoit le mot (8 bits) depuis le priphrique

    Quand un caractre complet est reu, est automatiquement transfr du

    registre de dcalage de rception dans le RDR. A ce moment l, un bit

    dans le SR est positionn "1". Le caractre peut alors tre lu par le

    microprocesseur. Le bit b0est reu en 1er.

    le registre dtat est 1, le transfert automatique est suspendu !

    Le registre dtat SR (Status Register)

    Permet au microprocesseur de connatre tout instant ltat T\R

    registre de contrle CR (Control Register)

    Configure le circuit en adquation avec le priphrique,mot de contrle (8

    bits) crit sur le front descendant de E. l'ACIA est 2 cases-mmoire,R\W 31

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    32/56

    Conception des systmes Microprocesseurs

    ACIA

    RS et R/W permettent de slectionner l'ensemble des registres:

    Tableau rcapitulatif (avec A0=RS) :

    Illustrations :

    32

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    33/56

    Conception des systmes Microprocesseurs

    ACIA

    Prsentation du registre de contrle

    CR0 et CR1 :1. Dterminent le rapport de division sur les signaux dentre Rxclk et Txclk.

    2. La combinaison (11) gnre un reset logiciel Master reset

    3. Master reset indispensable avant toute programmation du CR.

    4. Remise 0 du SR except les bits lis aux conditions externes :

    5. Initialise le TDR et RDR (contenu nul)

    CR2, CR3 et CR4 :

    format de loctet transmettre o recevoirCR5 et CR6:

    Contrlent la fois la sortie RTS et la demande dinterruption en transmission.

    Autorisent ou non une interrupt provoque par le fait que le TDR est vide ,TDRE = 1

    Pourquoi ?Lenvoi dun caractre vers la priphrie est toujours prcd dun test sur TDR pour

    sassurer 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 gnre par lACIA vers le microprocesseur chaque fois que le TDRest vide (dans ce cas, on choisit CR6 et CR5 = 01).

    33

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    34/56

    Conception des systmes Microprocesseurs

    ACIA

    CR7(Ne concerne que le rcepteur):

    Ce bit sert de masque dinterruption concernant 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 demande dinterruption IRQ bas.

    tude des bits du registre d'tat.

    SR0 = 1: registre de Rception RDR plein. SR0= 0 -->RDR vide --> attend!

    SR1 = 1: la donne est dispo ds le TDR. SR1= 0 -->TDR plein--> on attend !

    SR2 = 1si DCD = 1 (absence porteuse).interup IRQ si autorise (CR7 = 1)

    SR3 = 1: CTS est haut ( modem pas prt recevoir), forage de SR1= 1 -->la

    transmission est interrompue ! SR4 = 1:pas de sync absence du (des) bit(s) de stop

    SR5 =1: plrs caractres reus avant lecture du caractre prcdent

    SR6 = 1: la parit reue avec le caractre est incorrect

    SR7=1 : Indique quil y a une demande dinterruption 34

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    35/56

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    36/56

    Conception des systmes Microprocesseurs

    Programmation

    Programmer un ACIA consiste crire dans son registre de contrle un octet

    pour dfinir le mode de fonctionnement Il faut commencer par "Master reset " pour prendre contrle 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

    dinterruption gnre lors du passage au niveau 1 de TDRE

    Les donnes reues en srie par lentre RxData .Le rapport est programm

    linitialisation de lACIA. suivant lun des 3 modes.

    Puis ds RDR avec limination des bits de start,de stop et de parit

    La rception commence par lecture de SR pour tester le bit RDRF = 1, test ou

    demande dinterruption. Ds que RDRF = 1,fin rception mot dispo pour uP.

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    37/56

    Conception des systmes Microprocesseurs

    Gestion des interruptions

    En transmission :

    Si CR5 = 1 et CR6 = 0, la ligne IRQ est active au niveau bas ds que le TDR estdclar vide par le passage au niveau 1 de TDRE. Le programme de traitement

    de cette interruption a videmment comme but dcrire le caractre suivantdans le TDR, ce qui entrane en plus la remise zro de TDRE donc le retour

    ltat de repos de la ligne IRQ ainsi que la remise zro du bit SR7 du registre

    dtat.Ce fonctionnement est maintenu tant que lACIA nest pas sous contrle dunMaster 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 caractre, il met

    CTS au niveau haut ce qui force TDRE au niveau bas et inhibe le processus ci-dessus.

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    38/56

    Conception des systmes Microprocesseurs

    Gestion des interruptions

    En rception :

    Si CR7 vaut 1, la ligne IRQ est activ au niveau bas chaque fois que le RDR estplein (RDRF=1), le programme dinterruption est charg de lire le caractrereu, ce qui en outre remet RDRF zro ainsi que la ligne dinterruption aurepos.

    Cette opration est dclenche galement si une perte de la porteuse est

    signale (DCD=1) ou si le bit OVRN (SR5) passe au niveau haut. Les flags (PE) et(FE) ne dclenchent pas dinterruption et cest la charge du programmedinterruption lui-mme de contrler que le mot reu ne comporte pas derreuren testant les deux bits SR4 et SR6.

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    39/56

    Conception des systmes Microprocesseurs

    Exercices

    1- Enonc du problme:

    Le programme doit permettre dobtenir le mme fonctionnement que la carte oubli-clairage, soitrpondre lquation logique:

    A cet effet, le port A est utilis comme port dentre, et le port B en sortie de la faon suivante:

    PA7: masse PA3: borne B(entre 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 (dtresses) PB4: Non connect PB0: Bz

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    40/56

    Conception des systmes Microprocesseurs

    2- organigramme de fonctionnement et programme:

    A complter

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    41/56

    Conception des systmes 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 contrle associs

    et un registre dtat. Ces compteurs sont sous le contrle du logiciel et peuventtre utiliss pour gnrer des interruptions et/ou des signaux en sorties.

    Le PTM peut tre utilis pour des mesures de frquence, en compteur

    dvnements, en mesure dintervalles de temps et pour dautres tchessimilaires. Ce circuit peut gnrer des signaux carrs, des impulsions de largeur

    programmable et des signaux de rapport cyclique variable et des interruptions.

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    42/56

    Conception des systmes Microprocesseurs

    PTM 6840

    Les trois temporisateurs peuvent tre programms indpendamment.

    *Bus de donnes(D0..D7)*Slection du botier (CS0|,CS1-Chip Select) .*Lecture/criture| (R/W|)*Horloge E(Enable) : ce signal synchronise le transfert*Demande dinterruption (IRQ|-Interrupt ReQuest) plusieurs lignes OU-cbl .*Entre dinitialisation interne (Reset|)

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    43/56

    Conception des systmes Microprocesseurs

    PTM 6840

    Reset| : un niveau bas sur cette entre est pris en compte dans le PTM par lhorlogeE. lorsquun niveau bas est reconnu sur cette entre par le PTM, les actionssuivantes ont lieu :

    tous les registres tampons des compteurs sont repositionns leur valeur

    maximum de comptage

    tous les bits des registres de contrle sont mis 0 sauf cr10 qui est mis 1.

    tous les compteurs sont chargs avec le contenu de leurs registres tampons

    associs.

    toutes les sorties Ox des compteurs sont mises 0 et les horloges externes (c|)

    sont inhibes.

    tous les bits du registre dtat sont mis 0.

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    44/56

    Conception des systmes Microprocesseurs

    PTM 6840

    Lignes de slection des registres (RS0,RS1,RS2) : ces entrs sont utilises en

    relation avec la ligne R/W| pour slecter les registres internes, les compteurs etleurs registres tampons .

    Registres de contrle : CR1, CR2, CR3 :

    Dans le PTM, 3 registres criture seulement sont utiliss pour modifier le

    fonctionnement du temporisateur pour pouvoir sadapter une grande varit

    dapplications. Le bit de poids faible du registre de contrle #1 est utilis comme un bit

    dinitialisation interne. Quand ce bit est 0, tous les temporisateurs peuventfonctionner dans les modes dfinis par les autres bits des registres de contrle.

    Le fait dcrire un 1 logique dans CR10 permet de rinitialiser tous les compteurs

    avec le contenu de leurs registres tampons respectifs, toutes les horloges descompteurs sont inhibes et les sorties des temporisateurs et les indicateurs

    dinterruption sont mis 0. les registres tampons des compteurs et les registresde contrle ne sont pas affects par une initialisation interne et peuvent tre

    crits quelque soit ltat du bit CR10

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    45/56

    Conception des systmes Microprocesseurs

    PTM 6840

    Les fonctions des bits des registres de contrle sont rsumes dans le tableau ci-

    dessous :

    Initialisation interne CR10=0 : tous les temporisateurs fonctionnentCR10=1 :tous les temporisateurs sont initialiss

    Adressage registres de contrle CR20=0 :criture dans CR# 3CR20=1 :criture dans CR# 1

    Contrle horloge temporisatrice #3 CR30=0 :horloge| T3 nest pas prcompte

    CR30=1 : horloge| T3 est prcompte par/8Source dhorloge temporisatrice # x CRx1=0 :Tx utilise horloge externe sur entre Cx|

    CRx1=1 :Tx utilise horloge E

    Mode du comptage du temporisateur # x CRx2=0 :Tx configur pour mode normal 16bitsCRx2=1 :Tx configur pour mode 2*8bits

    Mode de comptage et contrledinterruption du temporisateur # x

    CRx3, CRx4, CRx5

    Validation dinterruption dutemporisateur # x

    CRx6=0 :indicateur dinterruption masqu sur IRQ|CRx6=1 :indicateur dinterruption valid sur IRQ|

    Validation sortie compteur dutemporisateur # x

    CRx7=0 :Tx sortie masqueCRx7=1 :Tx sortie valide

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    46/56

    Conception des systmes Microprocesseurs

    PTM 6840

    Lignes dentres/sorties asynchrones

    entres horloge (C1|, C2|, C3|) : les broches dentre C1|, C2| et C3| acceptent dessignaux asynchrones TTL pour dcrmenter respectivement les temporisateurs 1, 2 et 3.

    entres de dclenchement (G1|, G2|, G3|) : les broches dentre G1|, G2| et G3|acceptent des signaux asynchrones TTL pour dclencher 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 dfini par les modes de fonctionnement astables ou

    monostables. La forme du signal de sortie est dfinie en slectionnant 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

    asymtrique dans les deux modes continus et monostables. Le bit CRx7 de chaque

    registre de contrle est utilis pour valider la sortie correspondante. Si ce bit est 0, la

    sortie restera ltat 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 frquence et de largeur dimpulsion, mais la formerelle des signaux nest pas dtermine pour les applications typiques.

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    47/56

    Conception des systmes Microprocesseurs

    Modes de fonctionnement PTM 6840

    Le PTM a t conu pour fonctionner dans une grande gamme dapplications.Les diffrents modes de fonctionnement du temporisateur sont dfinis laidede trois bits de chaque registre de contrle ( CRx3, CRx4, CRx5 ). Ces modes sontrsums dans le tableau suivant :

    Registre de contrle Mode de fonctionnement du

    temporisateurCRx3 CRx4 CRx50 * 0 Continu

    0 * 1 Monocoup

    1 0 * Comparaison de frquence

    1 1 * Comparaison de largeur dimpulsion

    Mode de fonctionnement continu ( Multivibrateur astable)

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    48/56

    Conception des systmes Microprocesseurs

    Mode de fonctionnement continu ( Multivibrateur astable)PTM 6840

    G|: transition ngative sur lentr G|

    W : commande dcriture 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 ngative sur lentre dhorloge du compteur.

    t0 :Cycle dinitialisation du compteur.

    T0 :fin du temps de comptage.

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    49/56

    Conception des systmes Microprocesseurs

    Timer 6850

    CR PTM 6850

    49

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    50/56

    Conception des systmes Microprocesseurs

    PTM 6840

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    51/56

    Conception des systmes Microprocesseurs

    PTM 6840

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    52/56

    Conception des systmes Microprocesseurs

    PTM 6840

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    53/56

    Conception des systmes Microprocesseurs

    PTM 6840

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    54/56

    Conception des systmes Microprocesseurs

    PTM 6840

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    55/56

    Conception des systmes Microprocesseurs

    PTM 6840

  • 7/21/2019 Chapitre I Microprocesseur 6809 GSEA12013

    56/56

    PTM 6840