Curs prezentare vol 7 Microprocesoare

download Curs prezentare vol 7 Microprocesoare

of 38

Transcript of Curs prezentare vol 7 Microprocesoare

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    1/38

    Curs 7

    Interfaarea cu dispozitive periferice

    Sistemele cu P pentru conducerea proceselor interfee pentru cuplarea perifericelor:

    - dialogul cu operatorul:o butoane, comutatoare, lmpi de semnalizare,

    tastaturi, afiaje etc.

    - nregistrarea i stocarea datelor din proces:o imprimante, plotere, memorii de mas etc.

    - conducerea proceselor fizice:o intrri de la traductoare:

    convertoare A/N traductoareanalogice; intrri numerice limitatoare de curs,

    senzori numerici; intrri n impulsuri traductoare cu

    ieire n impulsuri.

    o ieiri ctre elemente de execuie: convertoare N/A; ieiri numerice; ieiri n impulsuri.

    - comunicaia cu alte sisteme cu microprocesoare:o paralel;o serial. Fig.7.1. Interfaarea sistemelor cu P

    UCP cu P

    Interfa

    paralel

    Interfa

    serial

    Dispozitive periferice

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    2/38

    7.1. Interfaarea paralel

    Transferul informaiei ntre P i interfa:

    - n spaiul de I/E sau de memorie (I/E mapate inmemorie);

    - vitez de transfer mare dat de caracteristicile P iale porturilor interfeei paralele;

    - transferul se realizeaz pe magistrala de date asistemului cu P;

    - sincronizarea transferului semnalele de control decitire/scriere.

    Transferul informaiei ntre interfai periferic:

    pe o magistral paralel; cu vitez mare, dat de caracteristicile interfeei i

    ale dispozitivului periferic;

    la o distan relativ redus (de ordinul m)

    cu imunitate sczut la perturbaii.

    Fluxul de date:

    Unidirecional (sincronizat sau nesincronizat);

    Bidirecional (multiplexat n timp).

    Fig.7.2. Interfaarea paralel a sistemelor cu P

    UCP cu P

    Interfa paralel

    Dispozitive periferice

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    3/38

    7.1.1. Transferul paralel. Controlul fluxului de date ntre interfai periferic

    Tipuri de transfer paralel: cu sau fr controlul fluxului de date.

    I/E nesincronizat (fr controlul fluxului de date)

    Sursa: poate furniza date pe magistrala de I/E n orice moment; menine datele valide pe magistrala de I/E pn cnd

    depune noi date.

    Destinaia: utilizeaz datele prezente pe magistrala de I/E, fr a le

    memora; are acces la date ct timp acestea sunt disponibile pe

    magistrala de I/E.

    Intrare nesincronizat: perifericul depune date noi pe liniile I; P citete direct starea liniilor de intrare I.

    Fig.7.3. I/E paralel nesincronizatIeire nesincronizat:

    P comand direct nivelul semnalului de pe liniile de ieire E; perifericul utilizeaz continuu datele prezente pe liniile de ieire E.

    Date de la perifericI

    Date pentru perifericE

    UCP cu P

    Interfa paralel

    Dispozitive periferice

    IE

    MA MD MC

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    4/38

    I/E sincronizat (cu controlul fluxului de date):- fr confirmare;- cu confirmare: simpl sau dubl.

    I/E sincronizat fr confirmare:

    Sursa: poate furniza date pe magistrala de I/E n orice moment; indic depunerea datelor printr-un impuls pe linia STB; opional - menine datele valide pe magistrala de I/E.

    Destinaia: memoreaz datele prezente pe magistrala de I/E la

    detectarea impulsului pe linia controlat de surs (SRC); are acces la datele memorate pn la sosirea altora noi.

    Intrare sincronizat fr confirmare: perifericul comand nscrierea datelor n portul de intrare. P ateapt apariia de date noi n portul de intrare.

    Fig.7.4. I/E fr confirmareIeire sincronizat fr confirmare:

    P nscrie date n portul de ieire al interfeei paralele; perifericul ateapt ca interfaa s nscrie date noi.

    Date de la / spre perifericI/E

    SRCI/E

    UCP cu P

    Interfa paralel

    Dispozitive periferice

    I

    E

    MA MD MC

    SRCISRCE

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    5/38

    I/E sincronizat cu confirmare simpl (single-handshake):

    Sursa: poate nscrie datele la destinaie numai cnd aceastaeste pregtit s le preia (DST=1); opional - menine datele valide pe magistrala de I/E.

    Destinaia: indic sursei prin DST dac poate primi date noi; reine datele prezente pe magistrala de I/E la

    detectarea impulsului pe linia SRC;

    Intrare sincronizat cu confirmare simpl:

    perifericul ateapt permisiunea interfeeide a nscrie date noi; P ateapt apariia de date noi n portul de intrare.

    Fig.7.5. I/E cu confirmare simplIeire sincronizat cu confirmare simpl:

    P ateapt permisiunea interfeei de a nscrie date noi; perifericul indic interfeei momentul n care poate primi date noi.

    Utilizat n transferuri paralele unidirecionale.

    Date de la / spre perifericI/E

    SRCI/E

    DSTI/E

    UCP cu P

    Interfa paralel

    Dispozitive periferice

    I

    E

    MA MD MC

    SRCI

    SRCEDSTI

    DSTE

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    6/38

    I/E sincronizat cu confirmare dubl (double-handshake):

    Sursa: poate depune datele pe magistral numai cnd destinaia confirm c magistrala esteliber (DST=0); nscrie datele la destinaie (SRC=1). menine datele valide ct timp DST=0.

    Destinaia: indic sursei prin DST dac poate depune sau nu date pe magistral; reine datele prezente pe magistrala de I/E la dezactivarea semnalului pe linia SRC.

    Fig.7.6. I/E cu confirmare dubl

    Intrare sincronizat cu confirmare dubl:

    perifericul ateapt permisiunea interfeei pentru a depune i nscrie date noi; P ateapt apariia de date noi n portul de intrare.

    Ieire sincronizat cu confirmare simpl: P ateapt permisiunea interfeei de a nscrie date noi; perifericul indic interfeei momentul n care aceasta poate depune i nscrie date noi.

    Utilizat n transferuri paralele bidirecionale.

    Date de la / spre perifericI/E

    SRCI/E

    DSTI/E

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    7/38

    7.1.2. Interfaa paralel PPI 8255/8255A. Caracteristici tehnice i structura intern

    PPI - Programmable Peripheral Interface interfa paralel programabil

    40 de pini, compatibil TTL, alimentat la +5V; 8255/8255A - NMOS, 82C55A CMOS; 3 porturi I/E paralele de 8 bii.

    Fig.7.7. Structura intern a interfeei paralele 8525/8255A

    RDWRA1

    Grup A

    Port A

    Comand

    Grup AGrup A

    Port C

    (sup)Tamponmagistral

    de date Grup B

    Port C

    (inf)

    Comand

    Grup BLogicde

    comand

    citire/

    scriere

    Grup B

    Port B

    CS

    D7D0

    A0PB7PB0

    PC3PC0

    PC7

    PC4

    PA7PA0

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    8/38

    3 porturi de 8 bii: A, B i C: Grup A = Port A + Port Csup, Grup B = Port B + Port Cinf

    Tamponul magistralei de date asigur legtura ntre MD i magistrala intern, este

    validat la selectarea circuitului ( CS =0).Logica de citire/scriere stabilete sensul de transfer al datelor prin tamponul magistraleide date (RD , WR) i decodific liniile A1i A0 pentru a selecta registrele interne.

    Logica de comand conine un registru de control (CWR - Control Word Register), princare se poate programa modul de lucru al celor dou grupuri de porturi.

    Linia RESET terge coninutul registrelor interne (A, B, C porturi de intrare n modul 0).

    CS RD WR A1 A0 Tipul operaiei efectuate

    0 0 1 0 0 Citire port A

    0 0 1 0 1 Citire port B

    0 0 1 1 0 Citire port C

    0 0 1 1 1 Nici o operaie (D7D0 n HZ)

    0 1 0 0 0 Scriere n portul A

    0 1 0 0 1 Scriere n portul B0 1 0 1 0 Scriere n portul C

    0 1 0 1 1 Scriere n registrul de comand

    1

    0 1 1 Nici o operaie (D7D0 n HZ)

    Fig.7.8. Tabelul de funcionare al circuitului 8255/8255A

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    9/38

    Porturile A, B i C porturi independente de 8 bii.

    Portul A - un registru de ieire cu memorare;

    - un registru cu memorare pe intrare.Portul B - un registru tampon intrare/ieire cu memorare

    - un tampon de intrare;

    Portul C - un registru tampon de intrare fr memorare;- un registru tampon de ieire cu memorare.

    Porturile A i B linii utilizate numai pentru transferul de date pe octet

    Portul C - poate fi controlat pe octet, semioctet i pe bit.- liniile portului C au i funcii auxiliare de sincronizare a transferului prin A i B.

    7.1.3. Modurile de lucru ale interfeei paralele PPI 8255/8255A

    Circuitul 8255A poate lucra n trei moduri, selectabile prin program.

    Modul 0 - intrare/ieire nesincronizatA, B, Csupi Cinfpot fi programate separat pentru transfer paralel nesincronizat.

    Modul 1 intrare sau ieire sincronizatA i B programate independent pentru transfer paralel sincronizat cu confirmare simpl.

    Modul 2 intrare/ieire sincronizatPortul A programat pentru transfer bidirecional sincronizat, cu confirmare dubl.

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    10/38

    Mod

    Port AMod

    Port B

    0 I/E I/E I/E I/E I/E I/E I/E I/E I/E I/E 0

    1 I I/E I/E IBFA ASTB INTRA BSTB IBFB INTRB I 1

    1 E AOBF AACK I/E I/E INTRA BACK BOBF INTRB E 1

    2 I-E AOBF AACK IBFA ASTB INTRA

    Fig.7.9. Conectarea PPI 8255A n sistem i semnificaia pinilor n cele trei moduri de lucru

    RD WR D7D0 CS A1 A0

    RESET 8255A

    Port A Port C Port B

    PA7PA0 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB7PB0

    Magistrala de adrese

    Magistrala de comand

    Magistrala de date

    A1 A0

    I/OWI/OR

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    11/38

    Modul 1 intrare: SRC = STB (strobe); DST = IBF (Input Buffer Full);

    Fig.7.10. Evoluia semnalelor de control n modul 1; A, B - porturi de intrare

    1. Perifericul depune data pe liniile de intrare.2. Perifericul activeaz semnalul STB i nscrie data n portul de intrare.3. Portul de intrare reine data i indic acest lucru prin activarea liniei IBF.4. Informat despre ncrcarea datei, perifericul dezactiveaz linia STB.5. Perifericul poate nceta s mai menin data valid pe magistral.6. Atunci cnd STB IBFRD=1, 8255 activeaz linia de ntrerupere INTR, dac INTE=1.7. P afl c data este disponibili declaneaz o procedur de citire a ei (RD=0).8. Achitarea cererii de ntrerupere (INTR=0).9. Data este citit de microprocesor.10.Linia IBF este dezactivat: perifericul poate depune o nou dat pe magistral.

    Data stabil

    10

    STB

    IBF

    INTR

    RD

    Date de la

    periferic

    1 2 3 4 5 6 7

    89

    tPHtPS

    tST

    Numai dacINTE=1

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    12/38

    Modul 1 ieire SRC = OBF (Output Buffer Full); DST = ACK (Acknowledge);

    Fig.7.11. Evoluia semnalelor de control n modul 1; A, B - porturi de ieire

    11.P nscrie data n portul de ieire.12.Se dezactiveaz cererea de ntrerupere pe linia INTR (dac exist).13.Se termin scrierea, odat cu dezactivarea semnalului WR .14.Datele apar pe magistral dup tWB de la terminarea scrierii.15.Se activeaz linia OBF , care anun perifericul c datele sunt valide pe magistral.16.Perifericul confirm preluarea datei prin activarea semnalului ACK .17.Aceasta determin portul s-i dezactiveze linia OBF.18.Se dezactiveaz linia de confirmare a prelurii datei de ctre periferic.

    19.

    Atunci cnd WROBF

    ACK=1, se genereaz o ntrerupere pe linia INTR, dac INTE=1.20.P este anunat astfel c portul de ieire este pregtit s accepte noi date.

    WR

    OBF

    INTR

    tWB

    Date pentruperiferic

    Numai dac INTE=1

    Data stabil

    ACK

    1511 12 13 14 16 17 18 19 20

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    13/38

    Modul 2 - intrare-ieire sincronizat SRC = STBA, OBF A; DST = IBFA, ACK A.

    INTRA = STBAIBFARD + WROBFAACK A, condiionat de INTE1i INTE2.

    Controlul fluxului de date cade n sarcina perifericului.

    Fig.7.12. Evoluia semnalelor de control n modul 2; A - port intrare-ieire

    9

    tST

    tKDtAD

    tPHtPS

    Date pt. periferic

    1 2 3 4 5 6 7 10

    STBA

    IBFA

    RD

    PA7PA0

    WR

    OBFA

    INTRA

    ACKA

    11 13 1918

    8

    Date de la periferic

    14

    17

    14

    1615 2012

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    14/38

    7.1.4. Programarea interfeei paralele PPI 8255/8255A

    D7 D6 D5 D4 D3 D2 D1 D0

    1 MA1 MA0 PA PCS MB PB PCIGrup A Grup B

    Mod Tip Mod Tip

    Port A Port A PC7PC4 Port B Port B PC3PC0ControlWord

    0 0 - modul 00 1 - modul 11 x - modul 2

    1 - I0 - E 1 - I0 - E 0 - mod 01 - mod 1 1 - I0 - E 1 - I0 - E

    D7 D6 D5 D4 D3 D2 D1 D0

    0 x x x B2 B1 B0 S / R

    Nu conteaz Selecie bit port C OperaiaPC0 0 0 0PC1 0 0 1PC2 0 1 0PC3 0 1 1PC4 1 0 0

    PC5 1 0 1PC6 1 1 0

    Single Bit Set/Reset

    PC7 1 1 1

    1 - Set0 - Reset

    Fig.7.13. Cuvinte de comand

    Comenzi pe bit (portul C n modul 0)

    Activarea/dezactivarea ntreruperilor (modurile 1 i 2).

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    15/38

    Citirea portului C informaie de stare SW (Status Word) - interogare

    Mod Port A D7 D6 D5 D4 D3 D2 D1 D0 Mod Port B

    0 I/E PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 0 I/E

    1- I PC7 PC6 IBFA INTEA INTRA INTEB IBFB INTRB 1 - I

    1 - E OBFA INTEA PC5 PC4 INTRA INTEB OBFB INTRB 1 - E

    2 I-E OBFA INTE1 IBFA INTE2 INTRA

    Fig.7.14. Cuvntul de stare (citit din portul C)

    7.1.5. Utilizarea interfeei paralele PPI 8255/8255A n aplicaii

    Exemple de aplicaii folosind 8255/8255A:

    - interfaarea cu tastaturi i afiaje cu electronic proprie;

    - interfaarea cu convertoare D/A i A/D.

    Modurile de lucru i cuvintele de comand:

    - caracteristicile de interfaare ale perifericelor:o modul de transfer al datelor;o secvenierea temporal a operaiilor.

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    16/38

    Fig.7.15. Interfaarea cu tastaturi afiaj cu Fig.7.16. Interfaarea cu convertoarelogic de control proprie D/A i A/D

    PC3

    PA5PA0Mod 1 PA6

    Intrare PA7

    (STBA) PC4(IBFA) PC58255A

    PB5PB0Mod 1 PB6Ieire PB7

    (OBFB) PC1(ACKB) PC2

    PC6PC7

    PC0

    Tastatur cudecodificare

    R5R0SHIFTCTRL

    STBACK

    D5D0BACKSPACECLEARDATA READYACKBLANKINGCANCEL WORD

    Afiaj cu

    auto-explorare

    INTRA

    INTRB

    A0

    RD

    WR

    D7D0

    CS

    A1

    Mod 0PA7PA0

    IeirePC7

    PC6 Bit

    set/reset PC5PC4

    Mod 0 PC3PC0

    Intrare PB7PB0

    8255A

    SAMPLE EN

    STB

    MSBDATA AI

    LSB

    Convertor

    A/D 12 bi i

    ConvertorD/A (8 bii)

    DATAAO

    STB DATA

    OUTPUT EN

    A0

    RDWR

    D7D0

    CS

    A1

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    17/38

    Interfaa cu tastatura:

    Liniile R5R0 - codul tastei acionate dintr-o matrice cu 64 de taste (26)SHIFT i CTRL starea a dou taste funcionale: Codul de 6 bii se transmite n exteriorSTB indic apsarea unei noi taste, cu codul dat de R5R0.ACK permite tastaturii s furnizeze un nou cod.

    Portul A - intrare n modul 1, cu ntrerupere ctre P.

    Interfaa cu afiajul cu logic de explorare nglobat:

    D5D0 codul caracterului de afiat;BACKSPACE, CLEAR, BLANKING, CANCEL WORD comenzi specifice afiorului;

    READYDATA indic afiajului disponibilitatea unui nou caracter;ACK - indic interfeei preluarea caracterului.

    Portul B ieire n modul 1, cu ntrerupere ctre P.

    D7 D6 D5 D4 D3 D2 D1 D0

    1 0 1 1 0 1 0

    CW Port A - Modul 1Port A -Intrare

    PC6 , PC7 -Ieire

    Port B -Modul 1

    Port B -Ieire

    PC3PC0 -indiferent

    Liniile PC5PC0 alocate automat porturilor A i B n modul 1 - nu vor fi influenate de biiiD3i D0 din cuvntul de comand; numai PC6i PC7, vor fi programai ca ieire, prin D3=0.

    Pentru validarea liniilor INTRA i INTRB, trebuie setate bistabilele INTEA i INTEB, cuajutorul unor cuvinte set-reset pentru biii PC4i respectiv PC2.

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    18/38

    ; PROGRAMARE 8255A PENTRU INTERFAAREA CU TASTATURA I CU AFISAJ; CU ELECTRONIC NGLOBAT

    PPI EQU 50h ; Adresa de baz 8255A.CW EQU 10110100b ; Cuvntul de comand pentru configurarea 8255A.SINTEA EQU 00001001b ; Comand setare bit PC4=INTEA.SINTEB EQU 00000101b ; Comand setare bit PC2=INTEB.

    MVI A, CW ; ncarc n acumulator cuvntul de comand.OUT PPI+3 ; nscrie CW n registrul de comand (adresa 53h)

    MVI A, SINTEA ; ncarc n acumulator comanda de setare bistabil INTEA.OUT PPI+3 ; Validare generare ntreruperi pentru portul A.MVI A, SINTEBOUT PPI+3 ; Validare ntreruperi de la portul B.EI ; Valideaz ntreruperile la nivelul microprocesorului.

    ; . . . . . . . . . . . . . . . . . . . . . . . . . . .

    ; COMAND INTRODUCEREA UNUI SPATIU INTRE CARACTERE (BLANC)MVI A, 00001101b ; Seteaz linia PC6.OUT PPI+3 ; Este tot un cuvnt de comand, deci se nscrie tot la 53h.MVI A, 00001100b ; Reseteaz linia PC6.OUT PPI+3

    ; . . . . . . . . . . . . . . . . . . . . . . . . . . .

    ; COMAND STERGEREA CUVNTULUI AFIATMVI A, 0Fh ; Seteaz linia PC7.OUT PPI+3MVI A, 0Eh ; Reseteaz linia PC7.OUT PPI+3

    ; . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    19/38

    Interfaarea cu convertorul A/D

    Convertorul A/D - 12 bii: PC3PC0, PB7PB0.

    SAMPLE Enable lansarea conversiei.

    STB citirea rezultatului la terminarea conversiei.

    Portul B i CINF modul 0.

    Interfaa cu convertorul D/A

    Rezoluie de 8 bii PA7PA0

    STB DATA nscrie data numeric;

    OUTPUT ENABLE valideaz ieirea analogic.

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    1 0 0 0 0 0 1 1

    CW Port A - Modul 0Port A -Ieire

    PC7PC4 -Ieire

    Port B -Modul 0

    Port B -Intrare

    PC3PC0 -Intrare

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    20/38

    7.2. Interfaarea serial

    Transferul informaiei ntre P i interfa:

    - la fel ca la interfaa paralel.

    Transferul informaiei ntre interfai periferic:

    pe linii seriale (bit cu bit);

    cu vitez mai redus, dat de caracteristicile

    interfeei i ale dispozitivului periferic; la o distan invers proporional cu viteza (de

    ordinul zeci - sute de m)

    cu imunitate mai ridicat la perturbaii.

    Transferul serial sincronizat:

    - la nivel de caracter transfer asincron;

    - la nivel de bit transfer sincron.

    Fluxul de date:

    Simplex unidirecional;

    Half-duplex bidirecional, multiplexat n timp; Duplex bidirecional, simultan.

    Tipuri de legturi seriale:

    - punct la punct; Fig.7.17. Interfaarea serial a sistemelor cu P

    - multipunct.

    UCP cu P

    Interfa serial

    Adaptor de comunicaie

    Dispozitiv periferic

    sau

    sistem cu microprocesor

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    21/38

    Fig. 7.18. Modelul general al comunicaiei seriale punct la punct

    ETPD - echipamente terminale de prelucrare a datelor (DTE - Data Terminal Equipment);

    ETCD - echipamente terminale pentru comunicaii de date (DCE - Data CommunicationEquipment).Linia de comunicaie - mediul fizic prin care se propag datele seriale.

    - linii dedicate - linie telefonic nchiriat, linie telex, fibr optic, transmisie radio;- linii comutate linii telefonice din reeaua public.

    Adaptor de comunicaie adaptarea la caracteristicile liniei de date.Linii cu cuplaj direct (adaptor fr modem): EIA RS-232, RS-422A, RS-423A, RS-485.

    liniede date

    circuit de date

    Unitate

    centralcu micro-

    procesor

    Adaptorde comu-

    nicaie

    Interfaserial

    Unitate

    centralcu micro-

    procesor

    Adaptorde comu-

    nicaie

    Interfaserial

    legtur de datesim lex

    duplex

    semidu lex

    ETPDETPD ETCD ETCD

    ILIP IP

    IS IS

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    22/38

    7.2.1. Interfaa serial USART 8251A. Caracteristici tehnice i structura intern

    USART (Universal Synchronous / Asynchronous Receiver / Transmitter)- un canal serial full duplex;- viteza maxim 19200 Baud (asincron), 64000 Baud (sincron).

    Fig.7.19. Schema bloc a circuitului 8251A

    RD

    WR

    C/D

    Tampon

    transmisie

    Comand

    transmisie

    Tampon

    magistral

    de date

    Logic

    de

    comand

    i

    citire/

    scriere

    Comand

    modem

    CS

    D7D0 TxD

    TxRDY

    TxE

    TxCCLK

    RESET

    RTS

    CTS

    DTR

    DSR

    Tampon

    recepie

    Comand

    recepie

    RxD

    RxRDY

    RxCSYNDET/BRKDET

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    23/38

    Tamponul magistralei de date asigur legtura ntre MD i magistrala intern, estevalidat la selectarea circuitului ( CS =0).

    Logica de comandi citire/scriere:- stabilete sensul de transfer al datelor prin tamponul magistralei de date ( RD , WR) i

    decodific linia C/D (Control / Data) pentru a selecta registrele interne.- sincronizeaz funcionarea transmitorului i receptorului, cu ajutorul semnalului CLK,

    avnd frecvena cuprins ntre 750 Khz i 3 MHz (de cel puin 30 de ori > viteza serial).

    Linia C/D - se conecteaz la linia A0 a magistralei de adrese.

    CS RD WR C/D Tipul operaiei efectuate

    0 0 1 0 Citire octet din tamponul de recepie

    0 1 0 0 Scriere octet n tamponul de transmisie

    0 0 1 1 Citire cuvnt de stare

    0 1 0 1 nscriere cuvnt de mod/comand

    0 1 1

    1 Nici o operaie (D7D0 n HZ)

    Fig.7.20. Dialogul dintre P i 8251A

    RESET aduce circuitul n starea de inactivitate (Idle), pregtindu-l pentru programare.

    Canalul serial are dou blocuri complet independente:Transmitorul primete date de la P i le transmite pe TxD, sincron cu TxC.Receptorul primete date pe RxD, sincron cu RxC, care sunt preluate de P.

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    24/38

    Transmitorul format din:- un registru paralel paralel: ncrcat de P cu date de transmis.- un registru paralel serie: preia data din registrul paralel-paralel i o transmite pe TxD.- o logic de comand a transmisiei seriale pe linia TxD, sincronizat de TxC.

    Fig.7.21. Structura intern a transmitorului

    TxC sincronizeaz transmisia serial la nivel de bit: un nou bit apare pe TxD pe:- fiecare front cztor al TxC:

    o viteza de transmisie este egal cu frecvena TxC;- fiecare al 16-lea (al 64-lea) front cztor pe TxC:

    o viteza de transmisie este de 16 sau 64 ori mai mic dect frecvena TxC.

    TxRDY (Transmitter Ready) P poate nsrie un nou octet n registrul paralel-paralel.

    TxE (Transmitter Empty) registrul paralel-serie este gol.

    TxRDY, TxE ntreruperi la transmisie.

    Registru

    paralel-

    paralel

    Comand transmisie

    Registru

    paralel-

    serie

    TxRDY

    TxE

    TxC

    De lalogica decomandi

    citire/scriere

    De lamagistralaintern

    TxD

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    25/38

    Receptorul format din:- un registru serie paralel: preia biii de pe linia RxD, pe care i asambleaz n caractere.- un registru paralel paralel: preia caracterele din registrul serie-paralel, la dispoziia P- o logic de comand a recepiei seriale pe linia RxD, sincronizat de RxC.

    RxC sincronizeaz recepia serial la nivel de bit: starea liniei RxD este citit pe:- fiecare front cresctor al RxC:

    o viteza de recepie este egal cu frecvena RTxC;- fiecare al 16-lea (al 64-lea) front cresctor pe RxC:

    o viteza de transmisie este de 16 sau 64 ori mai mic dect frecvena RxC.

    Fig.7.22. Structura intern a receptorului

    RxRDY un caracter recepionat este disponibil pentru a fi citit de P (ntrerupererecepie)

    SYNDET/BRKDET (SYNc DETect/BReaK DETect) rol specific modului de lucru.

    Registru

    paralel-

    paralel

    Comand recepie

    Registru

    paralel-

    serie

    RxRDY

    TxC

    De lalogica decomandi

    citire/scriere

    Lamagistralaintern

    RxD

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    26/38

    Logica de comand modem controlul hardware al fluxului de date:

    DSR (Data Set Ready) intrare - modem pregtit pentru transfer;

    DTR (Data Terminal Ready) ieire - terminal de date pregtit pentru transfer;RTS (Request to Send) ieire cere permisiunea de a transmite;

    CTS (Clear to Send) intrare primete confirmarea la cererea de transmisie.

    7.2.2. Funcionarea USART 8251A n modul asincron

    Fig.7.23. Modul de lucru asincron

    Bit deparitate

    Inserai automat de ctre 8251A

    Transmisie

    De la microprocesor

    Bii deSTOP

    Bii de dateBii de date (n=58) Bit deSTART

    TxD Bit deSTART

    D0 D1 D2 . . . Dn-1

    Caracter

    D0 D1 D2 . . . Dn-1

    Bit deparitate

    Verificaide 8251A

    Testat de8251A

    Recepie

    Preluai de ctre microprocesor

    Bii deSTOP

    Bii de dateBii de date (n=58) Bit deSTART

    RxD Bit deSTART

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    27/38

    Modul de lucru asincron: sincronizarea receptorului cu transmitorul:

    o la nivel de caracter: grup de 58 bii succesivi.

    Linia TxD:- nu este nici un caracter de transmis nivel HIGH;- are un caracter de transmis:

    o transmite un bit de START nivel LOWo transmite biii caracterului, ncepnd cu lsb;o (opional) transmite bitul de paritate;o transmite 1, 11/2 sau 2 bii de STOP - nivel HIGH.

    Validarea transmisiei:- software TxEN=1 n registrul de comand;

    - hardware - CTS =0 confirmare la cererea de transmisie furnizat prin RTS=0.

    TxD abandonarea transmisiei n curs de desfurare: SBRK=1 n registrul de comand (Send BReaK character)

    foreaz TxD continuu pe nivel LOW.

    Linia RxD:- nu este nici un caracter prezent pe linie nivel HIGH;

    - apariia unui caracter:o sincronizeaz receptorul pe frontul cztor detectat pe linia RxD;o verific bitul de start la jumtatea perioadei corespunztoare vitezei de recepie;o citete periodic starea liniei RxD pentru a reine biii de date;o (opional) citete bitul de paritate;o verific prezena bitului (biilor) de STOP pe nivel HIGH.

    Validarea recepiei: software RxEN=1 n registrul de comand.

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    28/38

    Tipuri de erori detectate i semnalizate n cuvntul de stare (SW Status Word):

    - eroare de paritate bitul de paritate primit nu coincide cu bitul de paritate recalculat;

    o se seteaz bistabilul PE (Parity Error) din registrul de stare.

    - eroare de ncadrare bitul (biii) de STOP nu au fost gsii pe nivel HIGH;

    o seteaz bistabilul FE (Framing Error) din registrul de stare.

    - eroare de suprapunere P nu a citit la timp caracterul primit anterior, care s-a pierdut,fiind supranscris de urmtorul caracter sosit pe linie.

    o seteaz bistabilul OE (Overrun Error) din registrul de stare.

    Erorile detectate nu opresc funcionarea interfeei seriale.

    Bistabilele de eroare pot fi resetate prin program: ER=1 (Error Reset) n registrul decomand.

    La detectarea unui caracter BREAK (nivel LOW continuu pe linie, pe o durat mai maredect a unui caracter):

    linia BRKDET (ieire) trece pe nivel HIGH;

    este setat bistabilul cu acelai nume din registrul de stare.

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    29/38

    7.2.3. Funcionarea USART 8251A n modul sincron

    Modul de lucru sincron: sincronizarea receptorului cu transmitorul:

    o la nivel de bloc de bii: de ordinul sutelor de bii de date consecutivi.

    Fig.7.24. Modul de lucru sincron

    Inserate automatde 8251A

    Transmisie

    De la microprocesorDe la microprocesor

    DATEDATASYNCSYNCDATADATADATASYNCSYNCTxD

    TxEMPTY

    Bloc de date

    nscriere dateLips date

    Recepie

    Preluate de microprocesorVerificate de8251

    Preluate de microprocesor

    DATEDATASYNCSYNCDATADATADATASYNCSYNCRxD

    SYNDET

    Bloc de date

    Citire registru de stareCitire registru de stare

    Pstrare receptorn sincronism

    Intrare n sincronism

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    30/38

    Transmisia sincron:- nu sunt date de transmis nivel HIGH;- exist date de transmis:

    o transmite unul sau du caractere de sincronizare (SYNC);o transmite biii de date ai mesajului, fr bii de control intercalai;o P trebuie s alimenteze continuu transmitorul cu date, cnd TxRDY=1;o dac TxE=1, se insereaz automat caractere SYNC pentru a pstra sincronismul;

    Validarea transmisiei:- software TxEN=1 n registrul de comand;

    - hardware - CTS =0 confirmare la cererea de transmisie furnizat prin RTS=0.

    Recepia sincron:- cu sincronizare intern:

    o iniierea recepiei prin program: EH=1 (Enter Hunt mode) n registrul de comand:

    cutare caractere de sincronizare.o cnd ultimii 8 sau 16 bii coincid cu caracterul (caracterele) SYNC:

    se trece la recepia biilor de date; se activeaz linia de ieire SYNDET (SYNC Detected); se seteaz bitul cu acelasi nume din registrul de stare; bitul SYNDET este ters automat odat cu citirea registrului de stare.

    - cu sincronizare extern:o iniierea recepiei prin hardware: logic extern de sincronizare:

    foreaz linia SYNDET=1 (intrare) i determin: ieirea din modul HUNT; nceperea recepiei biilor de date.

    Validarea recepiei: software RxEN=1 n registrul de comand.

    Erori semnalizate: numai erori de paritate i de suprapunere.

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    31/38

    7.2.4. Programarea USART 8251A

    Resetare iniializare comenzi

    D7 D6 D5 D4 D3 D2 D1 D0S2 S1 EP PEN L2 L1 B2 B1

    Numr bii de STOP Tip paritate Numr bii de date Factor de vitez(mod asincron)

    Validaregenerare/control

    paritate0 0 - inactiv0 1 - 1 bit

    1 0 - 11

    /2 bii1 1 - 2 bii

    0 - impar

    1 - par 0 - fr paritate1 - cu paritate

    0 0 - 5 bii0 1 - 6 bii

    1 0 - 7 bii1 1 - 8 bii

    0 1 - 1/1

    1 0 1/161 1 1/64

    Fig.7.25. Iniializare n modul asincron

    D7 D6 D5 D4 D3 D2 D1 D0

    SCS ESD EP PEN L2 L1 0 0Tip paritate Numr bii de dateNumr

    caractereSYNC

    Tipsincro-nizare

    Validaregenerare/control

    paritate

    Mod sincron(Factor de vitez

    1/1)

    0 - dou1 - unul

    0-intern1-extern

    0 - impar1 - par 0 - fr paritate

    1 - cu paritate

    0 0 - 5 bii0 1 - 6 bii1 0 - 7 bii1 1 - 8 bii

    Fig.7.26. Iniializare n modul sincron

    Factorul de vitez divizor de frecven pentru semnalele de tact TxC i RxC.

    1 obligatoriu TxC al transmitorului datelor trebuie s fie comun cu RxC al receptorului.

    16, 64 TxC al transmiatorului datelor poate fi independent faa de RxC al receptorului.

    i i i l i fi l i d i i

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    32/38

    Funcionarea circuitului poate fi controlat n orice moment, de ctre microprocesor, princuvinte de comand (CW) nscrise n registrul de mod/comand.

    D7 D6 D5 D4 D3 D2 D1 D0

    EH IR RTS ER SBRK RxEN DTR TxEN

    Intrare nmod

    HUNT

    Resetareintern

    (=RESET)

    Foreaz

    RTS =0(pin)

    Resetarebistabilede eroare

    ForeazTxD=0(pin)

    Validarerecepie

    Foreaz

    DTR=0(pin)

    Validaretransmisie

    Fig.7.27. Cuvntul de comand

    D7 D6 D5 D4 D3 D2 D1 D0

    DSR SYNDET/BRKDET

    FE OE PE TxEMPTY RxRDY TxRDY

    Eroare dencadrare

    Eroare desuprapunere

    Eroare deparitate

    Indic dac

    DSR=0(pin) Reflect ntocmai starea pinilor cu acelai nume

    Fig.7.28. Cuvntul de stare

    Iniializarea USART 8251A: scrierea unei succesiuni de octei, cu C/D=1:

    - secvena de sincronizare (numai dup o resetare hardware):onscrierea a 3 octei de comand cu valoarea 00h;

    - nscrierea unui cuvnt de comand de resetare intern (IR=1);

    - nscrierea unui cuvnt de mod;

    - nscrierea a 1 sau 2 caractere de sincronizare n modul sincron;

    - nscrierea unui cuvnt de comand.

    d i i i i l d l ( / ) b i i i l d

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    33/38

    ntre dou scrieri succesive n registrul de control (C/D=1) trebuie asigurat un interval detimp de cel puin 16 perioade ale semnalului de tact CLK (tRV Recovery Time).

    Dup iniializare - 8251A este apt s transfere date.La nscrierea datelor n tamponul de transmisie - nu este necesar s se in cont de tRV.

    7.2.5. Utilizarea interfeei seriale USART 8251A n aplicaii

    Canal de comunicaie serial asincron RS232

    RS-232C - standard comunicaie serialasincron

    Caracteristici electrice:

    Nivelul logic 0 (L - Low) - 312V

    Nivelul logic 1 (H - High) 12 -3V

    Zona logic interzis: -3 3V

    Fig.7.29. RS-232 caracteristici electrice

    U[V]

    +12V

    +3V

    t0

    -3V

    -12V

    nivel

    L

    nivel

    H

    Caracteristicile mecanice:

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    34/38

    Caracteristicile mecanice:

    tipul conectorilor: DB25 sau DB9

    25 de semnale i linii de dialog pentru controlul transferului de date ntre interfaaseriali modem.

    Conectori de tip T (tat) pentruDTE

    Conectori de tip M (mam)

    pentru DCE

    Circuitele de interfa serial -semnale compatibile TTL

    Nu sunt direct compatibile cucaracteristicile electrice definitede standardul RS-232.

    Pentru adaptare:

    circuite emitor-receptorde linie(MAX232)

    Tensiunea negativ este formatcu ajutorul unor condensatoarecare se monteaz n exterior.

    Fig.7.30. RS-232 caracteristici mecanice

    Transmisie date

    Recepie date

    Cerere de transmisie

    Terminal de date pregtit

    Pregtit pentru transmisie

    Modem pregtit

    Mas semnal

    Mas protecie

    Indicator de apelDetecie purttoare

    Ceas de recepie

    Ceas de transmisie

    NumeNr. pin: /25

    2 (3)

    4 (7)

    15 (-)

    5 (8)

    17 (-)

    8 (1)

    3 (2)

    20 (4)

    7 (5)

    6 (6)

    1 (-)

    22 (9)

    TxD

    RTS

    TxC

    CTS

    RxC

    CD

    RxD

    DTR

    SG

    DSR

    PG

    RI

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    35/38

    T1IN T1OUT

    R1OUT R1IN

    T2IN T2OUT

    R2OUT R2IN

    C1+

    V+

    C1-

    C2+

    V-

    C2-

    C1

    2.2F

    +

    C2

    2.2F

    +

    C3

    2.2F+

    VCC

    C4

    2.2F

    +

    11

    12

    1

    3

    2

    6

    14

    10

    9

    13

    7

    8

    TTL RS232

    TxD

    RxD

    RTS

    CTS

    TxD

    RxD

    RTS

    CTS

    4

    5

    MAX232

    Fig.7.31. Adaptorul de comunicaie serial asincron MAX232

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    36/38

    Fig.7.32. Canal de comunicaie serial asincron RS232 ntr-un sistem cu P 8085

    RD WR D7D0 CS A1 A0

    8253

    GATE2 CLK2 OUT2

    Magistrala de adrese

    Magistrala de comand

    A1 A0

    I/OWI/OR

    RD WR D7D0 CS C/D

    CLK RESET8251

    TxCLK TxRDY

    RxCLK RxRDY

    TxD RxD RTS CTS

    A0

    I/OWI/OR

    T1IN R1OUT T2IN R2OUT

    MAX232

    T1OUT R1IN T2OUT R2IN

    Vcc

    TxD RxD RTS CTS

    Linii RS232

    fCLK (de la 8085)

    Magistrala de date

    La

    RESET

    ; Secvena de iniializare a circuitului USART 8251A dup un RESET hardware

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    37/38

    ; Secvena de iniializare a circuitului USART 8251A dup un RESET hardware

    USART EQU 80h ; Adresa de baz 8251ARESSOFT EQU 01000000b ; Comand resetare intern

    MW EQU 01001110b ; Cuvntul de mod: asincron, 8, N, 1, 1/16CW EQU 00100101b ; Cuvntul de comand: TxEN=1, RTS=1, RxEN=1.

    usart_init: MVI B,03h ; Se vor nscrie 3 octei,XRA A ; cu valoarea 00h (A=00h),

    sinc: OUT USART+1 ; (10tCY) n registrul de mod/comand (adresa 81h),NOP ; 4 tCYDCR B ; 5 sau 4tCYJNZ sinc ; 10tCY (cu asigurarea tRV > 16tCY).

    MVI A,RESSOFT ; ncarc n acumulator comanda de resetare.

    OUT USART+1 ; Resetare intern 8251ANOP ; 4 tCYNOP ; 4 tCYNOP ; 4 tCY

    MVI A,MW ; ncarc n acumulator cuvntul de mod.OUT USART+1 ; nscrie cuvntul de mod (pe adresa 81h).NOP ; 4 tCYNOP ; 4 tCYNOP ; 4 tCY

    MVI A,CW ; TxEN=1, RTS=1, RxEN=1.OUT USART+1 ; Valideaz transmisia i recepia serial a datelor.

    ; .......................................................

    ; Rutina de transmisie a unui caracter pe linia serial

  • 8/6/2019 Curs prezentare vol 7 Microprocesoare

    38/38

    ; Rutina de transmisie a unui caracter pe linia serial

    ; Intrare: A caracterul de transmis; Ieire: caracterul a fost inscris in bufferul de transmisie

    ; Distruge: B, PSW

    usart_out: MOV B,A ; Salveaz caracterul in BIN A, USART+1 ; Citete registrul de stareANI 00000000b ; Poate nscrie un nou caracter?JZ send ; Dac TxRDY=0, mai ateapt

    MOV A,B ; TxRDY=1, readuce n A caracterul de transmisOUT USART ; nscrie caracterul n bufferul de transmisie.RET ; Revine n programul apelant.

    ; Rutina de recepie a unui caracter pe linia serial

    ; Intrare: nimic; Ieire: A caracterul primit; Distruge: PSW

    usart_in: IN A, USART+1 ; Citete registrul de stareANI 00000000b ; Exist un caracter disponibil?JZ send ; RxRDY=0, mai ateaptIN USART ; Citete caracterul recepionatRET ; Revine n programul apelant.