Introducere in Microprocesoare_Part24

download Introducere in Microprocesoare_Part24

of 6

description

12

Transcript of Introducere in Microprocesoare_Part24

  • 7/17/2019 Introducere in Microprocesoare_Part24

    1/6

    coniuncfia

    llrgljgvirlt

    de adresare

    crr

    semnalele

    de

    pe

    magistrala

    de

    cc,nfr6i. 6

    it',

    6

    it,

    mMR

    giMEMW.

    Informatia.itita.io

    inscrisi

    este

    vehicuiatl

    pe

    magistrala

    de

    date. Pentru

    sistem

    portul

    in

    care

    se

    lnscrie

    este

    un

    part

    d,e

    iegire, cel

    din

    care

    se cite;te

    esti

    port

    cle

    ,i,ntrare,

    sau.

    dac5.

    se-cite;te

    si.se inscrie

    -

    bort

    intrareli'egire.

    ^

    Ilagl

    info-i'malia

    citit5.

    sau insciisd.

    de ra pbri

    este

    sub

    forma

    unui

    ur

    int

    de

    un

    bit,

    atunci pentru interfatare

    se

    poate

    utiliza un

    circuit

    hrstabil..de

    tip

    RS,

    JK,

    D, T,

    siucrone

    sau

    asin'crone.

    In

    plus,

    accesu]

    insple/dinsplc

    port

    se

    poate

    face cu porti

    SI

    utilizind

    pro'prietatea

    de

    mascare

    (un

    bit

    zerg

    -pg

    inilare

    are

    eiectul

    mascb.

    de

    resetire

    a

    iegirii,

    r-ezi

    instrrqctiunea

    ANi).

    Un

    circuit

    RS

    asincron,

    ca port

    de

    ie;ire,

    poate

    avea intririle

    de

    tlate R,

    S (deci

    pentru

    inscrier-ei

    comandate

    dd semnaie

    oblinute

    prin

    ,conjunclia

    unui

    cuvint

    de

    adresare

    cu

    un semnar

    de'iontrol

    l,rgl{

    w,

    I,fowr

    ca_in

    figura

    J2,

    b,iar

    instructiunile

    *tilizate

    ar

    putea

    fi:

    srAX,

    srA,

    r{ov

    }I,

    r,

    oUT

    port

    etc.

    ca

    port

    de intrare

    "ir

    hs

    asincron

    are

    icsirca

    conectat6-prin

    iitermcdiul

    unei

    porli

    SI,

    la

    o

    iinie (bit)

    a magis-

    iraiei

    de

    date. Deschiderea

    acestei

    porl;,

    deci

    sclectarea

    pirrtului,"

    se

    obfine

    prin

    conjugarea

    cnvintului

    de

    aclresare

    cu

    semnalc^

    de

    control

    ltElr{

    R,_

    IIO

    &

    iar

    instrucliunile

    de

    citire

    putind

    fi

    LDA,

    LDAX,

    IIO\r

    r,

    U, IN

    port

    etc.

    .

    Acelea;i

    posluititeli

    oferite

    de u'

    RS

    asincron

    pot

    fi

    implernen-

    tate;i

    cu

    un circuit

    basculant sincion

    cle

    orice

    tip.

    La

    unciriuitbas-

    culant

    sincron

    semnalul

    de

    sclectaie

    iobtinut)

    poate

    fi

    folosit

    ca

    semnal

    de

    tact,

    iar

    intrilile

    de date

    sau

    iesiiile'se

    lJaga

    i"

    -agisila

    de

    date.

    'cind

    existS"

    intriri

    pi:iorita'e

    (asincrone),

    SnT,

    R]RESET,

    acestea

    pot

    xi,

    de asemenea,

    folosite

    pentrr,i.

    inscriere.

    Instructiunile

    utilizate

    Jilt

    STAX,

    STA,

    I,IOV

    \.f, r,

    OUT

    port

    etc.

    peirtru

    inscliere

    si LDA,

    LDAX,

    )f0\i

    r,

    l{,

    IN

    port

    etc. pentiu

    citire.

    in cazul

    cind infoimafia

    citit[/inscrisi.

    de

    ia

    *n port

    este

    sub

    forma

    unui cuvint,

    cu.lungimeamaimare

    de

    un.bit,

    se

    indice

    registre pentru

    irnpiementarea

    .interfa,firii.

    citeria

    sugestii,

    de

    posibile

    iirplern'entdri,

    sint

    prezentate

    in figurile

    3.12;i

    3.i3.

    trir

    principiu,

    o

    structuid.

    deinter-

    t'_arl

    Fentru

    un

    port

    de

    intrare,ie;ire

    ar

    fi

    ia cea

    din

    figura

    6.2;i cuprin-

    cle:.un

    registru

    tampon

    (buffer)

    de

    intrare,

    un

    registrir

    tampoir

    1ndtteil.

    de

    ie;ire;i

    un

    circuit

    de selectare.

    Tamponul

    delntrare

    m&noreaza

    (si

    lormeazd)

    semnalele

    primite

    de la

    peliferic

    gi

    re pf,streazi

    pini.

    cind,

    ,selectat

    de microprocesor,

    este

    cititl

    prin

    opbziiie,

    tamponui

    de

    iepire

    :ste

    selectat

    si

    inscris

    de

    c5.tre

    nricroproc.esoi

    apoi

    pxstreazl

    inform

    jtia

    pentru

    a

    fi

    utilizati

    de periferic.

    Cuvintui

    de adresare

    impreuni

    ",,

    ,.*-

    na-lele-de

    pe

    magistraia

    de

    controi

    determinr

    prin

    iuteimediul

    circui-

    tului

    de selectare

    sensul

    de

    transfer

    ai

    informafi6i.

    uneori

    se

    mai

    adaug5.

    un registru

    de stare

    care

    indicL

    dacl

    datele irebirie

    citite

    sau inscriie

    in

    port.

    a'7 e

    ,';?iFERIC

    ,rr.

    U.,.

    a,r.,,;;.. o.

    a'l*,0,"

    pentru o interfald

    in

    general,

    inier{ata r,rnr-ii periteric

    necesitS" mai

    multe portuf i,

    iirdiferent

    de

    modr"rl de

    -{electa1..,

    rleci

    trebuie mai

    multe adrese:

    -

    o

    adresS.

    sau

    dot'Lir

    peirtru portul inirare/ie;ire

    de daie dr"rp5

    curn

    acesta

    este

    realizat bidireclional sau

    din doui

    potturi

    unidirec-

    f

    ionale;

    -

    o

    adresf,

    pentru

    un

    port

    de

    ilirare care

    conline

    starea

    periferi-

    cului;

    -

    o adresi

    pentrr-r.

    uu

    pori

    ck

    ieqire care

    va contine un cuvint de

    comandiL c5"tre perileric.

    Deoarece

    starea

    unui peiifeiic

    -se

    poate exprima

    doar

    prin

    unui

    sau

    dou5.

    fanioane,

    acestea

    se

    reunesc

    cu

    fariioanele

    de

    la

    alte

    periferice

    formind astfel

    un

    registru

    port

    cornnir cu

    o

    singurd

    adres[. La

    fel

    ;i

    semnalele

    de

    comandS"

    peniru

    mai

    nulte periferice

    se pot

    reuni intr-un

    singt'.r port.

    AceastS,

    rnodalitate

    de

    reunire

    intr-un

    singur port

    reduce

    numlrul

    de

    adrese repartizate,

    dar

    necesitl

    o

    mascare

    corespunzitoare

    a

    cuvintului

    de

    comandd

    lnainte

    de

    inscrierea sa

    in

    portul

    respectil'

    ,sau

    o

    mascare

    a

    cuvintului

    de

    stare

    dup5"

    citirea

    sa

    riin

    port.

    Pentru

    sistemele

    cu un

    ntimdr

    redus

    dc

    poriuri,

    in

    modalitatea I/O

    izolati,

    ctivintul

    de

    adresare

    Ar...A,

    poate

    fi

    utilizat

    pentru selectarea liniari.

    De

    exemplu,

    dacl

    bilii

    .,{-...,42 sint

    foiosili

    separat

    pentru

    selectarea

    a 6 interfele,

    iar

    combinaliile

    AlAs pentru

    identificarea

    a

    cite

    unui

    port din

    fiecare interfafl,

    rezultl

    posibiiitatea

    de adresare a

    24

    de

    porturi

    de

    intrare

    ;i

    tot

    atitea

    de

    ie;ire.

    Un

    exempiu

    de

    structuri, de

    inter{a 5.

    nestandard

    este

    prezentati

    in

    exemplul

    din anexa

    ,45.

    Degi

    structurile

    de

    interfa 5,

    sugerate,

    pot

    fi implementate

    cu

    elc-

    mente

    ciiscrete,

    totu;i in

    multe

    cazrari,

    aceste

    interfele

    sint

    realizate

    sub

    forma

    unor

    circuite

    integrate

    {standard)

    .

    l{i

    llAG trE ADRESARE I i

    i

    --T-il

    .t.? '7

  • 7/17/2019 Introducere in Microprocesoare_Part24

    2/6

    6.2.

    lnterfefe

    standard

    .

    Interfelele

    standard

    pot

    exista

    ca

    circuite

    independente

    sau

    cel

    rnai frecvent

    ca

    circuite

    cbmponente

    (suport)

    ain

    tariltia

    urrui

    anumii

    microprpcesol.

    Pot

    fi

    catcgorisite,

    in

    funilie

    de modalitatea

    de

    transfer

    a informafiei

    la/de

    la

    p,eriferic,

    in

    interfile

    se.riale

    qi

    iitiilrle

    paralele.

    Aceste

    interfefe

    sint

    realizate

    programatil,

    adica

    tunctiuniie'sint fixate

    prjn program.

    Abrevia(iil_e

    sub

    caie

    pot

    fi

    intilnite

    cete

    cu

    transfer

    fa-

    ralel

    sinl:

    PIo

    (Parallel

    Input

    output),

    pIA

    (progr"**"b1"

    tr'terface

    Adapter),.PPI

    (Programmable

    peripheral

    Interfade);

    iar

    pentru

    cele

    serraie

    exrstS.

    abreviaf

    iile:

    UART

    (universal

    dsynchronorls

    Receiver

    Transmiter),

    ACI.{

    (Asynchronous

    cornmunicationi

    Interir.ce

    Adapter),

    USART

    (universal

    Synchronous

    and Asynchronous

    Receiver

    Trarrimii-

    ter).

    6.2.1. Circuite

    de interfagd

    cu transfer

    paralel

    o structuri

    de

    principiu

    pentru

    o

    interfafi.

    cu

    transfer

    paralel,

    care

    poat-e

    ^fi

    i.mplementati

    cu-

    componente

    discrete

    p"

    o-

    plu.6,

    este

    prezentati

    in.

    figura

    6.3. Interfala

    se- conec

    teaz|

    la cel6

    trei

    'magistrale

    a-le

    sistemului

    prin.

    intermediul

    unor

    buffere,

    in

    strucioru

    ." .Jrr1i,rir,d

    ;i

    trei.registre:.registru

    de

    stare

    (numai

    cu

    2

    bifi

    sr,

    so),,"sirtiri-p.ii

    f3

    jeplre

    ;i

    registru

    port_de

    inrrare.

    Deci

    interfat"

    ";;;iit1'r"i

    "di"se,

    electarea

    registrelor-se

    lace

    prin

    conjuncfia

    semnalelor

    de la

    decodifi_

    cator

    cu

    semnalele

    de

    control.

    ^

    rnstrucliunea

    our port

    duce

    ra transferul

    datelor

    din

    acumulator

    in

    registru

    pgrtlq

    ie;ire;

    in

    aceasti

    ope:alie

    .o"r".e

    ;a;.;,

    porturui

    ;i

    semnalul

    qo

    w. Totodati

    semnaluf

    I/o*vr

    inscrie

    in

    regiitru

    de

    stare

    bitul

    S1:l

    ;i

    simuitan interfafa

    va

    genera

    spre periferic

    semnalul

    ffi

    :

    0. Dacd.

    lerifericul

    iesizeizisemnalul

    de date valide

    activat,

    atunci

    va

    prelua

    luvintul

    din

    portul

    de

    iegire

    ;i

    va gencra

    Ia

    rindui

    sdu

    semnalul de

    confirmare

    DATE

    RECEPTIO-

    NATE:0

    care

    va

    gterge

    bitul

    Si.

    Succesiunea

    in

    activarea

    semnarelor

    DATE

    D

    IRETA-TDE

    si

    ffi

    in

    procesul

    de transfer

    a

    datelor

    spre perifiric

    se

    nume; te

    transfer

    ci

    proiotoi

    (hand-

    shakirrg)

    sau

    ccmutticaic

    ci

    confirmare.

    ln

    rnomentul

    cind perifericui

    are

    date valide va genera

    spre

    inter-

    fali

    un

    semnal

    OafE

    OA

    tXf

    n.\RE

    \:ALIDE

    :

    0.

    La

    primirea

    aces-

    tui semiral

    interfala

    va

    genera

    spre

    microprocesor

    CERERE

    DE

    INTRERUPERE

    :

    1

    ;i

    in

    registrul

    de

    stare

    se

    inscrie

    bitut

    SO

    :

    l.

    Cu

    instructiunea

    IN

    port

    ciatele

    din portul

    cle intrare

    sint transferate,

    prin

    intermediul rnagistralei interne qi

    a

    magistralei sistemului,

    in

    aJu-

    278

    mulator.

    6itirea

    acestui port se realizeazl.

    fizic

    cu semnalul de selectare

    produs

    de

    IIO-R

    ;i

    adresa

    portului.

    Starea

    interfetei

    poate

    fi

    aflat[ de c5.tre microprocesor prin

    citi-

    rea

    registrului

    de

    .i"r"'.o instructiunea

    IN

    ;

    la

    aceast'ir

    operafie

    concuri

    semnalul

    to-tr:

    0

    ;i

    adresa

    corespunz5.toare.

    I.a

    microprocesoarele

    mai

    evoluate existl

    instrucfiuni

    care

    permit

    transferul

    unui cuvint

    dintr-o

    locafie

    de memorie

    in

    alti localie

    de

    memorie.

    Daci

    interfata

    la

    astfel

    de

    microprocesoare

    este

    conectatd.

    in

    modul

    de adresare

    in

    spaliul

    memoriei

    sau

    cbmbinat,

    atunci

    cu o

    singurS,

    instruclie.de

    acest tip se^poate

    tran-sfera.

    un

    cuvint de la

    intrare

    direct

    in

    memorie

    sau

    invers.

    Structura

    de

    principiu,

    cu

    facilitS"fi

    adS"ugate,

    se

    regise;te

    in

    toate circuitele integrate

    de

    interfald

    paralell.

    Structura

    de

    circuit

    formatS.

    dintr-un

    registru (latch)

    de

    8

    biii

    cu

    ie;ire

    tampon

    TSL

    poate

    fi folositS"

    pentru implementarea

    porturilor

    de

    intrare/iesire.

    AceastS,

    structurS.

    in

    varianta

    integrati prezinti

    intriri

    I'IAGISTRALA DE ADRASARE A

    ISTRALA

    DF DATF

    D7-

    I.IAGISTRAL A

    I\TtRNA

    DE

    I)ATE

    -DATE

    RECEPTIONAIE

    --nnre

    oE-lEsrne

    vaitoe

    Fig.

    6.3.

    StructurS" de

    principiu

    pentru

    o

    inter{afi

    paraleltr.

    279

  • 7/17/2019 Introducere in Microprocesoare_Part24

    3/6

    i.l-r

    ]

    n.r.r

    I

    l

    -r."

    t

    tl

    fE.'Rul

    Irrt'rnel

    de contrcl

    de

    selectare^

    circuit,

    precurn

    ;i

    un

    {anicn

    tle stare ce

    pcate

    ii

    utilizat

    ca

    semnal

    r1e.

    intrerupere pentru'

    p,"P. Exist5

    rrariante intJgra.re

    gi

    pentrn.

    tr:ansfen:l

    bidirecfional

    (transcei'..er']

    crr

    o structuri"

    sim"ilari

    cu

    cer

    din

    {i.qrt'ri

    1.'8.

    l).

    I;:oarte

    f:-ec-,-elt

    iu,:rclirltca

    cie

    i;llerfat

    pal:rleli

    se reg5segte

    in-

    tiocii;-"qI

    il1-l'-i,lri

    circi.rii

    iltegrat

    rnuliifri:iclional.

    Circuitui

    "rnul'tifunc-

    ll.c:+lp-icz:ntat

    in

    fi3.i,rra

    f.4 ccniine: i-Zh+g

    haiti

    i{OM,

    pRCM

    sau

    l:-Fli3l,i

    ;

    2-Co.:;i

    po;i-.iri I'iO

    de

    ii

    biti

    fiecare,

    3-

    un

    regisir-r-r

    de stare.

    Ac]"rrsaiea

    ii:r:,:iclici,

    p"

    celcr

    ticr-,i;

    lorturi I/o ::i

    a.

    registrrrl".ri

    de stare

    se

    {acc

    cL'"

    il

    ii;lii

    cie

    :r-rile:are.

    Pentiu

    r-r

    c:-pacita?e

    "rni"rrr*r"-Je

    adresare

    se

    coirecteazir

    il;.n13ie1

    rnai

    iri'illie

    astfc-i cl,:

    circ.rire,

    clar

    fiecEi-uia

    s5

    i

    sc

    gerreieze

    c1e ia

    r-rii

    ilecodificatoi

    sr-::r:i:ali:l

    cclesputjzyatsr

    de

    selec-

    tare

    cs.

    Si:mirrlul

    cle

    camanda

    rtEsllf

    initializeaz5

    registrul

    de

    stare.

    c

    aiti,

    silLici:-irl

    de circr:it

    multifunctio'ai

    este prezentatl

    in

    fi-

    grii:i.r

    6.5.

    Acest circuit

    co;rfine:

    i-755

    baili

    I?-lli,{;

    Z-trei

    porturi

    I1i);

    3-r'egist.r

    de

    stare;

    4-u'

    numI.r5to;: progran:abil

    (timei).

    Re-

    zult5" ci

    numai crr tlc'i

    circuiie,

    un m.ic:roproce-soi;i

    aceste'cloui.'tipuri

    de

    circuite

    muitifunctionaie,

    se

    poate

    realiza

    un

    inicro:.istem

    dcstul

    d.e

    pr.iternic.

    \umlrlior*J

    piogiarnabil

    {[

    -1.j)

    realiEcazi,

    printr-o

    imple-

    -s

    ',,

    ./OP

    I

    i,ralw I

    -

    r.,Ft'i

    t I

    Ftg.

    0"1.

    Structuri.

    de

    circr:it

    nrulti{nncfional,

    memorie

    -de

    ,

    FEi I

    ,,RAFE

    Frograme

    gi

    por-turi

    tr/O

    LA

    ; Rl,L

    ._t

    IESIRE/

    INTRARE

    LA

    PORTTIL

    O1

    I

    ESIRE/

    INTRAR

    E

    DE IA

    PORTUI-

    C2

    iEsrRF/

    tNIRARf

    DELAPORruLc3

    Fig. 6.5. Structurb

    de circuit

    multifuncfional,

    memorie

    ds

    -

    date,

    timer

    ;i

    porturi

    I/e

    mentare

    in

    hard, ternpoiizS.rile necesare sistemului

    in locul

    tempori-

    zh"ritror

    implementate

    prin

    soft

    ($ 5.4.2 instrucfiunea 31).

    Prin

    program

    numirritor:ui se

    iricarcl

    cu

    un

    cuvint

    dutlu de

    16

    bi i,

    clin

    care primii

    doi bili

    mai

    semnificativi Bl4, Bl5

    sint folosili

    pentru

    prescrierea

    mo-

    il,ului

    de

    lucru.

    Cu

    restul

    de

    i

    4

    biii

    se

    inscrie

    numlrul

    N

    de ia care

    incepe

    nurrdralea inrrersi

    (N^o,,:

    Zra

    :

    16.384).

    Impulsurile de

    numS.rat si'nt

    aplicate

    din

    exterior

    pe intrarea

    TACT

    PENTRU

    TII,[ER,

    iar

    Ia

    {ESIRE

    TIBIER va aplrea un

    semnal

    cu

    o

    varialie

    in

    funclie

    de

    nu-

    mirul

    incS"rcat in

    numirS"tor

    si

    modul

    de lucru prescris.

    CeIe

    patru

    irodtrli

    de

    lucru ar

    putea fi:

    1-contor

    de evenimente,

    "B15

    Bl4: O0'

    Z-generator

    de semnal dreptrrnghiular,

    0i; 3-monosiabil deciangat

    prin

    program, 10;

    4-generator

    de

    impulsuri,

    i1.

    Acestea

    sint

    exernpli-

    ticate in

    figi:ra

    6.6.

    in

    inodul

    de

    iscru 00,

    numiritoiul

    va

    produce

    senrlalul

    de

    iesire

    zeio

    ircepind din

    rnoneirtul

    prescrlerii

    pinl

    in

    rrroinerrtui

    cind

    numirul

    de e-,-eni:ncnte

    (i:npu.lsuri

    de

    irtrare)

    devj.ne

    cgal

    cu.

    :-\.

    Ca

    generator

    de

    seinna.i

    dreptr:nghi-.iiar,

    pentiu

    /i

    pai seinnalu.i

    de

    ie;ire \ra

    avea

    succe-

    ,lFl;.:

    impulsuri valoaiea zeio

    ;i

    apoi

    tirnp

    de

    {

    impulsuri

    \-:rlcrirrea

    f

    .

    iar::

    pettru

    -V

    irnpal

    ace;te intei'r'ale

    co::espund respec-

    \- r i'-r

    :i',

    rrr-ttit:,'elo:'

    ''

    -

    li

    '-_

    -.

    Pr'oliam:trea iir

    rnqCul

    de

    lucru 10

    )2-

    \ia

    prodrxce p,.:ntr-u

    senna-iul

    de

    iesire, inccpind

    din

    rnonientul prescrie-

    rii, r'aloarea

    i

    tirnp cle Ii

    -

    I

    impuls'.rri, iar pentru

    al

    .l'r'-lea

    impuls

    .,-aloarea

    zero. i\ceasti

    funclionare

    existri;i in

    modrii

    de

    lucru

    i1,

    dar

    -a,rE+;

    +;

    rrv.

    Semnaiul

    IESIiiR TLr\',iEIt

    care

    reflectS" o

    anumit6. temporizare

    sau

    conto::izaie e-cte

    fclosit

    ca semnal

    de

    intler'rtpc.re

    pentru

    mic.opro-

    ccscr.

    I]e exemplu,

    utilizind frecvenla

    iefelei

    de

    50 Hz

    sau

    60

    Hz, ca

    semnal

    de

    tact

    si

    incllcind

    nr:m5,r)1torui, respectir,'

    cu vaiorile

    l/:32lro::50iil, .\-:

    30

    lre

    :

    6C]ro,

    in

    tnoclui

    de

    lucrtt 11.

    se

    genereaz[

    semnale

    cie

    intrerupere

    peiltru

    rnicroprocesor,

    deci

    se

    poate

    realiza

    un ceas in

    ,-{

    r.

    r1tle?r.

    .

    iliilp

    :?

    -

    L

    lN

    ACESI

    lylOMEM

    815

    B1/,

    ftljENffiWSL

    '------t--

    00

    U

    m

    CONIINIJTUL

    I']IJI'4ARATORULUI

    A AJUNS LA

    ZERO

    timp

    reai

    cu

    iezolutia

    de

    1 sec.

    r-in

    prograrn pentru

    un

    ceas cu

    rezolutia

    de

    0,01

    sec este

    pre-

    zentat

    in

    exemplul

    41.3.

    6.2.2. Circuite de interfati

    cu transfer serie

    DatoritS. capacitS,filor

    li-

    niilor

    magistralei,

    transferul

    paralel

    nu

    este

    indicat

    la

    dis-

    F

    E

    o

    I

    l

    &

    ;

    10

    11

    FiC.

    6.6.

    \rariatia

    semnalului

    IE

    SIRE

    TIMER p:ntru

    ceie patru

    moduri

    de

    lucru

    posibiie

    280

    fEEorsrRU

    1

    uE

    STABIJ

    28l

  • 7/17/2019 Introducere in Microprocesoare_Part24

    4/6

    t_anle

    rnai

    mari

    de

    2

    m. Cu amplificatoare

    de

    magistralS""

    Fi

    la

    viteze

    de transfer

    nu

    prea

    ridicate

    se

    poate

    ajunge pini

    la

    maxim

    l0-20 m.

    Problema

    distanlei

    de

    comunicalie,

    restrictivi

    la

    interfetele

    para-

    lele,

    poate fi

    eliminatS" prin

    transferul

    serie.

    Prescripliile pentru

    c-omu-

    nicaliile

    seriale

    slnt expuse

    in

    $

    i.1, iar

    cuvintul

    asamblat

    pentru

    aceasta

    in

    figura

    1

    .5.

    Cind

    se

    transmit

    serial caracterele

    in

    cod

    ASCII, iabelul

    1.7,

    bitul b7 poate

    fi

    utilizat

    cu

    bit

    de

    paritate

    pentru

    detectarea

    erorilor

    de

    paritate

    par5.

    sau

    impari

    introduse

    pe linia

    de

    transfer.

    Funclionarea

    unei

    interfete

    seriale

    se

    reduce,

    in fond, la

    modurile

    de

    realizare cu

    re-

    g_istre

    de

    deplasare

    a convertoarelor

    paralel

    serie

    si

    serie

    paralel,

    S

    3.2.

    Conversia

    paralel

    serie

    se realizeazd.

    prin

    incircarea

    unui iuvint

    intr-un

    registru;i

    apoi

    deplasarea acestuia

    cu cite

    un rang la

    fiecare

    impuls

    de

    tact;

    primul

    bit

    oblinut

    la

    iegire

    este cel

    mai

    pulin semnificativ,

    iar

    ultimul fiind

    bitul cel

    mai

    semnificativ.

    Aceea;i-operatie

    de serializare

    se poate face

    si

    prin

    soft,

    ca in

    exempiuide lainstructiunea

    49.

    La

    con-

    versia

    serie

    paralel registrul

    este

    incS.rcat

    serie,

    pe fiecare

    impuls

    de

    tact, cu cite

    un

    bit

    ai

    cuvintului,

    iar

    apoi

    dupi al optulea

    tact eite

    scos

    paraiel.

    Si

    aceasti conversie

    poate

    fi

    realizat| prin

    soft;

    unele

    micro-

    pro.cesoare

    sint

    prevlzute

    in

    acest sens

    cu o

    borni

    pentru

    intrare/iesire

    serre.

    .

    Bazatd

    pe conversia

    serie

    paralel

    si

    paralel serie,

    realizat[

    de

    un

    registru

    de deplasare, se poate concepe

    -un

    circuit,

    independent,

    de

    interfall serialS" cu structura reprezentatl

    in

    figura

    6.1,

    a.

    Acest

    cir-

    cuit

    este intilnit, cel

    mai

    frecvent,

    sub abreviatia

    UART. in

    structura

    circuitului

    UART

    se

    disting:

    blocul

    de

    transmisie,

    blocul

    de

    recepfie,

    blocul de

    control

    gi registrul de

    stare.

    Blocul

    de transmisie conline

    un

    registru

    buffer

    de

    intrare

    pentru

    inci"rcarea

    paralelS" a cuvintului

    de date gi

    un

    registru

    (de

    deplasare)

    pentru trantmisia

    serie

    a

    datelor.

    lncS.rcaiea

    cuvintului

    in

    bufferul

    de

    intrare

    se

    {ace pe frontul

    clzi.tor

    al

    impulsului (de

    strobare,

    de selec-

    tare) INTRARE DATE,

    figura

    6.1, b. Frontul crescdtor

    al acestui

    impuls

    iniliazi

    in

    registrul

    de transmisie

    deplasarea

    cuvintului, cu

    adiugarea

    bitului

    de

    start,

    a

    celui

    (a celor)

    de

    stop si

    ie;irea

    serial5".

    Blocrr-l

    de

    receplie

    are

    in componenla

    sa

    un registru (de

    deplasare)

    pentru

    recepfia

    seriall a

    datelor

    si un

    registru

    buffer

    pentru

    ie;irea

    paraleli a

    datelor.

    Functionarea

    receptorului poate fi

    privitl

    ca

    o ima-

    gine

    in oglind[

    a

    funclion6rii

    emilltorului.

    Cuvintul

    serie

    intri

    in re-

    gistrul

    de

    receplie,

    pe

    durata

    a

    10

    sau

    1

    1 deplasiri,

    dupi

    ce

    s-a

    detectat

    bitul de

    start.

    Odat5. deplasarea

    termiiatS" cuvintul este

    incircat

    paralel

    in

    bufferul de

    iegire prin

    comanda

    dat5" de

    semnalul

    de

    strob

    IESIRE

    DATE.

    Atit

    circuitul

    UART

    de emisie,

    cit

    ;i

    cel

    de

    receplie

    trebuie

    sl

    aib5.

    un

    generator

    de

    tact (Generator

    Baud). Aceste

    generatoare

    de

    tact

    trebuie

    sl

    aib[

    o

    frecvenfS"

    de

    16

    sau

    64

    de

    ori mai mare decit frecvenla

    282

    -'rRlB

    ]l ,:FiaE

    Dlr:

    -t

    f-----

    L\

    '._7,L

    A:,k,

    .,':

    --;:.a

    ui

    u

    .-;;::

    ;p:.

    ".l

    )E+E

    0 0

    5i

    "RAPLj

    I]EIE

    :R /nt

    Ll

    [email protected]

    ER:j/1I?L'

    DF

    PAR 1 JAT

    E

    ELI.I.iR

    DE

    ]NTRI.FT

    GC.

    l,-A

    k :EpIl

    c

    c)

    Fig.

    6.7.

    InterfafS.

    serialS:

    a

    -

    structuri.

    de principiu

    pentru

    un circuit

    UART;

    b

    -

    comenzile

    tealiz,ate

    prin

    impulsul

    de strob

    INTRARE

    DArE;

    ,

    ;#,:tti?:".rj:

    u.u*otore

    a

    bililor

    in

    baud-

    (Baud.rate)

    pentru

    transmisia

    (sau

    recepfia)

    cuvintului;

    frecven-

    fele

    in

    bauzi

    Ia

    emisie

    si

    receplie

    trebuie

    si.

    fie

    egale.

    Registrul

    ,de

    stare

    _prezint5.

    .9

    legire

    la

    bufferul

    de iegire

    date

    gi

    alta

    formatS"

    din semnale

    la. pinii circuitului.

    starea

    circuitului

    poaie

    fi cititS.

    prin

    incS.rcarea

    confinutulu.i

    registrului

    de

    stare

    in

    bufferul

    de

    iegire

    prin.aplicare-a

    impulsului de strob

    CITIRE

    STARE.

    Bilii

    de

    stare trebuie

    s5,

    reflecte,

    minim,

    urml-toarele

    cinci

    situatii:

    ^Su

    prapunelc.

    Valoarea

    I

    a

    acestui

    bit

    cle

    stare

    indici faptul

    ci.

    cuvintul

    serie

    recepfionat

    .in

    registmi

    receplie

    d.ate s-a suprapu^s

    peste

    cuvintul

    receptionat

    anterior

    si

    care

    nu a

    fost

    transferat

    inci^in

    buffe-

    rul

    de

    iesire.

    Evoare

    de cadrw.

    valoarea i

    pe'tru

    acest

    bit

    de

    stare

    indicd. faptul

    c5.

    circuitul

    UART

    nu

    a

    g5.sit

    in c-adrul

    cuvintului

    serie

    receptionat

    bitul

    de

    start._Aceasta

    po_ate*apirea

    cind

    intervalul

    (cadrut)

    di'execulie

    a

    recepfiei

    la circuitul

    UART

    nu

    se

    suprapune

    exact

    peste'formatul

    cur,rin-

    tului

    receptionat,

    deci

    nu se regS.se^ste

    ^bitul

    de

    stirt (sau cel

    de

    stop,

    ca in

    figura

    6.8,

    a).

    Zgomotele

    de pe

    linie

    sint

    cele

    mai

    frecvente

    cauze

    pentru

    eroarea

    de

    cadru.

    zo,t

  • 7/17/2019 Introducere in Microprocesoare_Part24

    5/6

    Eroare

    de

    paritate.

    Cind

    acest

    bit de stare

    are

    vaLoarea 1

    inseamna

    ci

    in

    cuvintul

    receplionat

    nu

    s-a indeplinit

    paritatea pari sau

    imphi,

    impusl-in

    formatul

    de cuvint

    serie.

    Prin

    aceastd"

    eroi"re

    de pariiate

    se pot

    detecta

    in

    cuvintul

    receptionat

    numai

    o

    modificare a

    unui

    numer

    impar

    de

    bi i.

    -

    Brffer

    d.e intrare

    gol.

    Cind,

    in

    bufferul

    de

    intrare

    date

    se

    poate

    intro-

    duce urmS.torul

    cuvint

    ce

    poate

    fi

    transmis

    serie,

    bitul

    acest-a

    din

    regis-

    trul

    de

    stare

    este pus la

    valoarea

    1.

    Desff,;urarea in

    timp a'proceselon

    in

    UART

    este

    complet

    independentS.

    de desfi;urarea in timp

    a celor

    din

    microproc,esor.

    Odati incS.rcat

    un

    cuvint

    de

    citre

    microprocesor, in

    bu{ferul

    de

    intrare,

    acesta

    nu

    are

    nici

    o

    posibilitate

    de

    a sesiza cinctr

    trebuie incS,rcat

    cuvintul

    urm5.tor. Pentru

    a

    informa

    microprocesoruL

    s-a

    introdus

    acest

    bit de stare. lncS.rcarea

    se face prin

    impulsrit

    de

    strob

    INTRARE

    DATE.

    Datd

    ualidd.

    Acest bit are valoarea

    1 cind

    in

    registrul

    de

    recepfie

    date

    exist[

    un

    cuvint ce

    poate

    fi

    citit; transferul

    in

    bufferul

    de

    ie]ire

    se face cu

    impulsul

    de

    itrob iESIRE

    DATE.

    Asamblarea

    bi{ilor

    de

    stare in cuvint'"rl

    de

    stare al

    circr-ritului

    UART

    este

    reprezentat[

    in

    figura

    6.7,

    c.

    Acest

    cur

    int

    poate

    fi

    citirr

    din

    bufferul de

    iegire

    cu

    instrucliunea

    IN

    apoi

    prin initrucliuni

    de

    mascare

    gi

    comparare

    corespl.lnzltoare

    se poate

    determitra valoarea

    oricdrui

    bit

    de

    stare.

    Blocul

    de

    control

    logic permite

    pentru

    circuitul

    UART progra-

    marea

    anumitor funcfii

    cum

    ar

    fi:

    1-lungimea

    cuvintului

    de

    date

    (5,6,-l

    sau

    8 bi i);2-unul

    sau doi bili

    de

    stop; 3-paritate

    par5.

    sa'.r

    lmpara-

    (dar aceasta

    numai

    cind

    este activat semnaiul

    PARITATtr)"

    Uneori este posibili

    si programarea frecvenlei

    baud.

    Structura prezentatS"

    poate functiona

    ca

    un

    circuit

    independent.

    sau conectat

    la un microprocesor.

    Ca

    circuit independent

    structura

    pre-

    zentatl.

    necesitS" trei adrese

    de

    selectare

    pentru

    generarea

    impulsurilor

    de

    strob

    INTRARE

    DATE,

    IESIRE DATE,

    CITIRE

    STARE

    si

    even-

    tual

    a

    patra pentru blocul

    de

    control.

    Cind

    este conectat

    la

    un

    micro-

    procesor

    aceasta se realizeazS"

    printr-un

    port paralel

    intrare/ie;ire.

    Cele

    mai multe circuite

    UART

    existente

    sint

    implementate

    sub

    forma

    unor

    LSI-uri

    care

    sint

    elemente

    suport

    din

    familia

    unui

    microprocesor.

    Aceste

    circuite

    suport

    se vor conecta

    direct in

    sistemul

    respectiv

    prin cele

    trei

    magistrale

    filrd"

    a

    necesita

    o

    interfa 5. ca

    circuitele UART

    independente.

    Funcfionarea

    circuitului

    UART

    este

    asincroni

    in raport

    cu

    cea a

    microprocesorului.

    Se presupune,

    de exemplu,

    c5.

    printr-un

    UART se

    -

    comunicS"

    cu

    un terminal

    CRT.

    De

    fiecare

    dati

    cind

    bste

    ap6satl

    o

    tasti

    a

    terminalului

    circuitul

    UART receplioneazi codul

    unui

    caracter.

    Dar

    numai trjlii

    caracterului

    sint tra.nsmisi

    cu

    frecvenla

    baud,

    frecventa

    cu.

    care

    sint

    transmise caracterele

    depinde

    de

    ritrnul

    de

    aplsare a

    tastelor,

    figura

    6.8,

    a.

    ilIicroprocesorul

    va'funcfiona intr-o

    luiin ae agteptare

    pini

    cind'bitu1

    Dat5"

    valid[

    din

    registru

    de

    stare (bitu1

    1)

    este.inicris,

    284

    ,:Leci

    caracterui

    va

    fi transmis

    cu

    instrucliunea

    IN 01

    in

    acumulator

    i01

    este

    ad.resa de

    selectare

    a

    bufferului

    c1e

    iegire),

    figura

    6.8,

    b.

    Dacl

    s-a

    programat

    o

    frecvenlb" c1e

    transmisie

    dc

    3OO bauzi, qu

    un

    format

    ae

    rh

    nlli

    r-ezulti

    un transfer

    maxim

    de

    30

    caractere/sec..Crr

    programul

    din

    figura

    6.8,

    c,

    care coirsumi

    13 ps,

    ia

    o

    durati

    a stirii'Tu1ot":

    I

    lt?,

    microirrocesoi-ul

    cicieazd

    d.e

    2554

    intre

    doul.calactele

    recepfionate

    de

    la

    terininal.

    Ilar

    Ia o

    cadenla de

    tastare

    mai

    mic5"

    decit

    30

    catacterel

    sec

    timpul

    irosit de

    microprocesor

    in

    bucl,a

    de

    a;teptare

    se. rn5.re9te.

    Peirtru a

    eiimina

    pierderei acestui

    timp

    din.

    funclionarea

    microproce-

    ..orului

    bitul

    Dat5.'va1ic15.

    este

    ccnecta.t-la

    micloprocesor

    ca semnal

    de

    intrc'rupere.

    cir-c.uitele

    UART,

    prin

    blocr,rl

    de

    comandl,

    genereazl

    si

    scmnalele

    uentru

    transrnisia

    9i

    receplia datelor

    cu

    protocol

    prin intermediul

    mode-

    rnurilor.

    Legitura'ia

    dijtalll

    intre dou5.

    sisteme

    prezintl:.un

    circuit

    LIARf',

    trro]"*

    (emi'1ltol

    in ultla

    inaltl

    flec-rlergQ

    la emisie;

    ca'blu

    electric sau

    optii; (receptor)

    modem,

    circuit

    UART

    la

    recepfie.

    6.3.

    Metode

    de control

    ale oPeraliilor

    de

    intrare/iegire

    OdatS

    structuratS.

    in

    hardware

    conectalea

    perifericelor

    la

    sistem

    se

    trece

    la

    etapa

    urmetoale

    de

    elaborare a

    softului

    care

    controleazS'

    "transferul

    informaliei

    intre

    perifelice

    ,si

    sistem'

    Acest

    soft

    se

    reduce

    la

    un sistern

    de

    subrutine de

    I/o

    (handler

    device,

    driver

    software).

    Existl,

    pentru controlul

    operaliilor

    cle

    intrare/iegire,

    urmS.toarele

    trei

    o)

    arlT;.:: it.l

    c0H

    Aii

    c02H

    :,r

    criiAs

    li

    .1 J

    iJET

    Fig.

    6.8.

    FxplicativS,

    psntru

    transmisiaserialS,:

    a

    -

    suc-

    cesiunea

    aleatorie

    a

    cuvinte-

    lor

    serializate,

    nesuprapu-

    nered,

    de

    cadru

    duce

    la

    Pielderea

    bitului

    de

    start;

    D, o

    -

    subrutinb

    Pentru

    de-

    tectarea

    ;i

    inclrcarea

    unei

    date

    valide

    c)

    CI]IS"E

    RECISTRU

    DE

    STARE

    iADRESA

    COI"]

    )

    285

  • 7/17/2019 Introducere in Microprocesoare_Part24

    6/6

    metode

    :

    |

    -.transfer_ur,

    inrraref

    iegir.e pro-gramat,.

    2

    -

    transferur

    inrrarel

    egire

    prin

    interm.ediut

    t"tirii'jir;t*'j

    -i

    l"ii_"r**t,

    prin

    acces

    direct

    la

    mentorie

    (DMA).

    -

    -"'1"''"

    Deoarece

    procesele

    comandate_d".

    ol

    sistem

    pe

    bazd"

    de

    micropro-

    cesor

    sint foarte

    variate,

    rezurtd

    ci

    ;i

    tipurile

    de'feriferice

    sint

    foarte

    numeroase.

    Fiecare

    periferic

    necesitS.

    anumite

    operatrii specifice,

    de

    exemplu:

    discului

    trebuie

    si

    i

    se

    tr1"rl:I"

    r,rrmerui

    pisiei,

    l"rra"

    *"g_

    netici

    sd.

    fie

    derulati,

    convertorurd

    ArD.a

    i

    r"

    pr"scrie

    numi.rul

    de

    canal,

    la

    imprimanti

    trebuie

    sL se

    verifice

    daci.

    are

    hirtie,

    pornirea

    moto_

    rului

    trebuie

    si

    se

    faci.

    doar

    daci

    protecfia

    este

    conectatd.

    etc.

    Este

    necesar

    ca

    o

    subrutinS"

    s5

    tealizeze

    o

    funcfionare

    cit

    mai

    automatS.

    a

    perifericurui

    eliberind

    programur

    principal

    de

    aceste

    sarcini.

    cu

    toatl

    marea

    varietate

    de

    sarcini

    ce

    trebuie

    si

    ie

    realizeze

    subrutinele

    de

    cleser-

    vire

    a

    perifericeror,

    totusi

    func,tiile

    in

    cadrul

    unei

    subrutine

    se

    pot

    re_

    duce

    la

    urmi,toarele

    patru:

    1.

    Inifializarea

    perifericului.

    2.

    Inilierea

    transferului

    de

    date.

    3.

    Transfer-ul

    de

    date.

    4.

    Terminarea

    transfcrului

    de

    date.

    Iniliarizarea

    perifericului,

    de

    reguli,

    se

    face

    o

    singuri.

    datd.

    cind

    sistemur

    este

    conectat

    la

    tensiune;

    interfafa,

    controrerui

    gi

    dispozitivul

    periferic

    pot

    fi

    complet

    inifializate

    de cb.tre

    semnarur

    RESET.

    unere

    opfiuni,

    ca

    de

    exemplu:

    clirectia

    de transf".

    pti;

    ;;;urile

    Ii

    o,

    coduri,,

    cadenli

    de

    transfer,

    formatul

    de

    cuvint,

    paritate,

    moduri

    de

    rucru

    are

    .

    registrelor

    etc.

    trebuie

    inifiarizate

    de

    citri

    *i.rop.o...or

    imediat

    dupd

    conectarea

    tensiunii.

    6.3.1.

    Transferul intnare/iegire

    programat

    in

    metoda

    de.intrare./iesire

    programatS,

    toate

    transferurile

    de

    date

    citre,

    si

    de

    la,

    dispozitivele

    periferic"

    ,"

    "i".to"rr.dic5"

    toate operaliiie

    de

    intrari/iesire

    sint

    .rn

    .or,t.lr,iirxd;:ffirt

    1iiyin"r.

    Ietoda

    arb

    doui

    variante:

    varianta

    directi.

    si

    ,varianta

    cu

    dialog

    {saq

    interogare

    sau

    scrutare).

    Iri

    iariant{t

    di,rlectd

    microprocesorul

    citeste

    porturile

    de

    intrare

    ;i

    inscrie

    in

    porturile

    de

    ie;ire

    frri

    a

    face

    nici

    o

    verificare

    prearabilI-

    cum

    este

    in

    exemprur

    urmitor,

    in

    care

    se

    citeste

    portul

    de

    adresS.

    2

    000H

    gi

    se

    insciie

    (complementat)

    in

    portul

    :OOOH':--"*^'

    286

    LIMBAJ

    MASINA

    LIMBAJ

    DE

    ASAN{BLARtr

    ADRESA

    CONTINUT

    09J0

    3A

    0901

    00

    o90z

    20

    0903

    2F

    C}IA

    STA

    3OOOH

    904

    0905

    0906

    09a7

    .trriP

    START

    -

    Se

    poate

    introduce

    in

    operalia

    -de

    explorare

    a

    perifericeior

    si

    salt

    n

    program'l

    de execulie

    i' funcfie

    de

    coniinuturile

    porturilor.

    In

    uarianta

    dc

    'interogaze

    (polling

    technique)

    se

    utilizeaz5"

    bista-

    bile

    de

    condifie,

    figura

    6.i,

    q.

    Sfarea

    icestor'fini6ane

    indicn

    micropro-

    'cesorului

    dac[

    perifericul

    are

    nevoie

    de o operatie

    intrare/ie;ire.

    Fani-

    oanele

    sint

    interogate

    in mod continuu.

    structura

    logici.

    4

    'nui

    pro-

    gram

    de

    interogare

    este

    redat5.

    in

    figura

    6.9,

    b.

    programul

    verific5"

    ciclic

    valoarea

    fanioanelor.

    Daci

    unul

    d.in aceste

    fanioane

    este pus

    pe

    1

    se

    erecui5.

    subrutina

    de

    servire

    co.respunzaitoare

    perifericului

    care

    a prls

    fanionul

    pe

    unu. Programul

    procesorului

    este incontinuu

    o

    bucli

    cle

    interogare

    (polling

    ioop)

    sau numai

    din

    cind

    in

    cind.

    intrl

    in

    aceastd.

    bucl5".

    Prioritatea

    acordatS.

    in

    bucli,

    in servirea

    perifericelor

    se

    sta-

    bileste prin

    ordinea

    in

    care

    se

    interogheazi;

    unele

    periferice caie

    ne-

    cesiti

    mai mult5. atentie

    din partea

    procesorului

    pot fi

    introduse

    de

    mai

    multe

    ori

    in

    ordinea

    de

    interogare.

    Fanioanele

    perifericelor

    (Fl

    -FB)

    pot {i

    asamblate

    intr-un

    registrrl

    'care va fi

    consid.erat

    in

    sistem .r

    ,r.r port

    de

    intrare,

    figura

    6.10,

    q.

    Interogarea

    perifericelor

    se

    reducc

    la citirea

    acestui port

    de

    intrate.

    Dupi

    fiecare citire

    a

    portului

    de intrare

    se

    determind

    prin

    program

    care

    fanion

    a

    fost

    pus

    pe

    1.

    ordinea

    in

    care

    p;in

    program

    se

    determinl

    valoaiea

    fiecirui

    fanion

    este

    ;i

    ordinea

    de

    prioriiate

    in

    sistern.a

    peri-

    fericelor.

    ETICHETA

    INSTRUCTIUNE

    COMENTARIU

    START:

    LDA

    2OOOH;

    ;CITESTE

    ;PORTUL

    DE

    ;INTRARE.

    ;COMPLEMEN-

    :TE.AZA

    ;INFORI{ATIA

    ;INSCRIE

    IN

    ;PORTUL

    DE

    ;IESIRE.

    ;SI]

    REIA

    ;PROGRAMUL.

    32

    00

    30

    C3

    00

    09

    0908

    090s

    287