digitaalelektroonika viii loengkodu.ut.ee/~kalevipo/de_loeng8.pdf · 2009. 4. 27. · viii loeng...

21
Digitaalelektroonika VIII loeng Registrid ja loendurid 4/27/2009 2 Meeldetuletus trigerid RS triger JK triger D triger T triger

Upload: others

Post on 27-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • DigitaalelektroonikaVIII loeng

    Registrid ja loendurid

    4/27/2009 2

    Meeldetuletus

    � trigerid� RS triger� JK triger� D triger� T triger

  • 4/27/2009 3

    VIII loengu sisu

    � Registrid� erinevad tüübid� kasutamine

    � loendurid

    4/27/2009 4

    Trigerite realiseerimine loogikalülitustega

  • 4/27/2009 5

    Trigerite realiseerimine loogikalülitustega

    � RTL RS triger

    R

    S

    Q

    Q

    ���

    ����

    ��� ��� �����

    R S

    QQ

    4/27/2009 6

    Trigerite realiseerimine loogikalülitustega

    � KMOP RS triger

    R

    S

    Q

    Q

    ���

    R

    QS

    Q

  • 4/27/2009 7

    Trigerite realiseerimine loogikalülitustega

    � KMOP D triger

    D Q

    Q

    ���

    DQ

    ���

    Q

    4/27/2009 8

    Trigerite realiseerimine loogikalülitustega

    � KMOP D triger alternatiiv

    ���

    C

    C

    Q

    Q

    1

    0

    Q

    Q

    C

    C

    C

    D

    C

    0

    1

  • 4/27/2009 9

    Trigerite realiseerimine loogikalülitustega

    � KMOP MS D triger

    Q

    Q

    C

    D

    CC

    C

    CC

    C

    C

    C

    Q

    Q

    C

    D

    CC

    C

    CC

    C

    C

    C

    4/27/2009 10

    Registrid

  • 4/27/2009 11

    Registrid

    � N mäluelemendist koosnev lülitust� N = 4, 8, 12, 16 jne.� Mäluelemendina

    kasutatakse D trigerit� Tüübid

    � SISO� SIPO� PISO� PIPO

    D

    C

    Q

    Q

    D triger

    �� ��1

    4/27/2009 12

    Nihkeregister� nihkeregister, mis töötab jadakoodis� jadakood

    � andmed saabuvad registrisse ükshaaval ühest registri otsast

    � iga järgmine saabuv bitt (0 või 1) nihutab eelnevaid bitte ühe võrra edasi

    � nihkeregistriteks on SISO, SIPO ja PISO

    � rööpregister – andmed rööbiti (PIPO)

  • 4/27/2009 13

    PIPOPIPO – parallel input parallel output register

    rööpregister

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    QCLK

    CLR

    D0 D1 D2 D3

    Q0 Q1 Q2 Q3

    4/27/2009 14

    4 bitine lukkregister

    � iga takti korral toimub registrisse lugemine� väljundist loetakse signaal vaid lubava käsu korral

    Q0 Q1 Q2 Q3

    ENABLE

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    QCLK

    CLR

    D0 D1 D2 D3

  • 4/27/2009 15

    SISOSISO – serial input serial output register

    jadasisendiga ja ühe jadaväljundiga register

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    QCLK

    CLR

    andmedsisse andmedvälja

    algul register tühjendatakseandmed sisestatakse esimese trigeri kaudu ja iga taktiga nihkuvad andmed järgmistesse pesadesse (triger)andmete kätte saamiseks tuleb nad teisest otsast välja nihutada

    selle käigus andmed kas hävinevad või säilivad

    4/27/2009 16

    SISO

    � andmete lugemine ilma, et nad hävineksid� andmed loetakse registrisse, kui R/W on kõrges seisundis� andmed loetakse registrist, kui R/W on madalas seisundis

    D3

    CLK

    D2D1D0väljund-andmed

    sisend-andmed

    R/W

  • 4/27/2009 17

    SIPOSIPO – serial input parallel output register

    jadasisendiga ja paralleelse väljundiga register

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    QCLK

    CLR

    Q0 Q1 Q2 Q3andmedsisse

    andmete sisestamine sarnane SISO-gaandmete rööpselt kätte saamiseks kõigi trigerite väljundid oma viigugaka siin võib kasutada R/W signaali läbi NING lülituste andmete lugemiseks ja väljastamiseks

    4/27/2009 18

    PISOPISO – parallel input serial output register

    paralleelse sisendiga ja jadaväljundiga register

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    QCLK

    CLR

    D0 D1 D2 D3

    andmedvälja

    SHIFTREAD

    1 1 1

    Saab kasutada ka SISO nihkeregistrina

  • 4/27/2009 19

    Keerulisemad nihkeregistrid

    � keerulisemad nihkeregistrid võimaldavad mitmeid funktsioone korraga� registri nullimine� andmete laadimine ja väljastamine rööpkoodis� andmete laadimine ja väljastamine jadakoodis� bittide seisu inverteerimine registri igas pesas� andmete nihutamine mõlemas suunas� võrrelda nihkeregistri sisu mingi teise registri sisuga� registri sisu ühe võrra suurendamine ja vähendamine� teostada teise registriga aritmeetilisi ja/või loogilisi tehteid� kasutada lisatrigereid (lippe) tulemuse seisundi

    näitamiseks

    4/27/2009 20

    Näide keerulisemast registrist

    D0 D1 D2 D3

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    QCLK

    CLR

    Q0 Q1 Q2 Q3jadasisend

    jadaväljund

    PRESETENABLE

    milliseid loetletud operatsioone saab teostada?

  • 4/27/2009 21

    Inverteeriv register� kasutatakse lisaks Q väljundile ka inverteerivat Q

    väljundit� väljund läbi NING lülituse sisendisse � vajatakse vastavat käsubitti� võib ka Q väljundist läbi NING-EI

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    QCLK

    CLR

    Q0 Q1Q2

    INV

    Q3

    4/27/2009 22

    Andmete nihutamine mõlemas suunas

    � mõlemasuunaline nihkeregister, rööpregister� lisaks andmetele läbi dekoodri ka käsusõna

  • 4/27/2009 23

    Täiendavate bittide kasutamine

    � täiendav bitt võib näidata, et tehte tulemus on� null� positiivne� negatiivne� toimus registri ületäitumine

    � mikroprotsessorites nimetatakse lippudeks

    4/27/2009 24

    Nihkeregistrite kasutusalad

    � lukkregistrid� jadavärat, rööpvärat (port)� dekoodrid� viitlülitus – väljund järgib sisendit teatud aja

    möödudes� ringloendurid – registri väljund uuesti

    sisendisse

  • 4/27/2009 25

    viitlülitus

    � nihkeregister� 8 bitisesse registrisse sisestatud impulss väljub 8

    taktimpulssi alguses, seega hilistumine 7 takti

    C

    Din

    Dout

    1 2 3 4 5 6 7 8

    viiteaeg

    4/27/2009 26

    ringloendur

    � täidetakse vaid üks bitt� ringleb järjest kõigis trigerites

    ja viimasest uuesti algusesse� raiskab palju olekuid (4 vs. 16)� ei vaja dekoodrit

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    QCLK

    CLR

    Q0 Q1 Q2 Q3

    I bitt CLR korra 1 ülejäänud 0

    0

    1

    0

    0

    Q2

    0

    0

    1

    0

    Q1

    002

    1

    0

    0

    Q3

    03

    01

    10

    Q0C

  • 4/27/2009 27

    Johnsoni loendur

    � keeratud ringloendurid� sarnane ringloenduriga,

    kuid inverteeriv väljund tagasi algusesse

    � kasutusel rohkem olekuid (8 vs. 16)

    11103

    11114

    01115

    00116

    0

    0

    0

    0

    Q2

    0

    1

    0

    0

    Q1

    102

    1

    0

    0

    Q3

    07

    11

    00

    Q0C

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    Q

    D

    C

    Q

    QCLK

    CLR

    Q0 Q1 Q2 Q3

    4/27/2009 28

    Loendurid

  • 4/27/2009 29

    T triger

    J

    K

    Q

    QC

    “1”

    T

    Q

    Q

    J

    K

    Q

    QC

    “T”

    C

    Q

    Q

    sünkroonne T triger

    asünkroonne T triger

    T

    Q

    �JK

    �� ��1

    C

    Q

    T

    T Q

    CT

    Q

    CLR

    4/27/2009 30

    Sagedusjagaja e. kahendloendur

    � saab loendada kuni 2N-1 impulssi

    :2 :2 :2 :2 :2 :2

    LSB MSB

    T

    :2

    :2

    :2

    :2

  • 4/27/2009 31

    BCD-loendur

    � 4 kahendloenduse elementi� 10-s sisendimpulss (1010 e. 01012) nullib loendi

    TQC

    CLR

    TQC

    CLR

    TQC

    CLR

    TQC

    CLR

    QA QBQC QD

    4/27/2009 32

    veel loendureid

    � kasutusel on erineva arvuga sagedusjagajaid� 8, 10, 6, 24 jt

    � väljundite ja nullimissisendite vahele loogikaelemendid, mis teatud väljundite kombinatsiooni korral nullivad kõik trigerid

    � tagasiside trigerite Q väljundite ja sisendite vahel

    kellad

  • 4/27/2009 33

    loenduri nullimine loogikaelementide abil5-ni loendav kahendloendur

    T

    :2

    :2

    :2

    1 2 3 4 5

    TQC

    CLR

    TQC

    CLR

    TQC

    CLR

    QA QB QC

    1015

    0014

    0102

    000

    1

    0

    0

    QB

    103

    101

    000

    QCQAT

    4/27/2009 34

    loenduri nullimine Q abilkuuega jagav sagedusjagur

    T

    a

    b

    c

    1 2 3 4 5 6

    Q

    J

    K

    Q

    QC

    “1”

    aJ

    K

    Q

    QC

    J

    K

    Q

    QC

    “1” “1”

    b ctrigeril b on esimesed neli impulssi J = 1 ja ta töötab nagu T triger

    4. impulsi järel J = 0 ja triger b nullitakse6. impulsi järel a trigeri Q = 0 ehk c trigeri C = 0 ja samas ka J = 0, seega ka c triger nullitakse

  • 4/27/2009 35

    sünkroonsed ja asünkroonsed loendurid

    � vastavalt trigerite ümberlülitamisviisi järgi� asünkroonsed

    � sünkroonsed

    � kiirem, kallim, kapriissem

    J

    K

    Q

    QC

    J

    K

    Q

    QC

    J

    K

    Q

    QC

    J

    K

    Q

    QC

    J=K=1

    J

    K

    Q

    QC

    J

    K

    Q

    QC

    J

    K

    Q

    QC

    J

    K

    Q

    QC

    “1”

    T

    Dmin = N�DT

    Dmin – minimaalne lülitusaeg

    4/27/2009 36

    sünkroonne loendur

    � jadamisi ülekanne (series carry)

    T0 QC

    Q0

    Q

    T1 QC

    Q

    T2 QC

    Q

    T3 QC

    Q

    T4 QC

    Q

    Q1 Q2Q3 Q4

    T0=1

    T

    T0=1 T1=Q0 T2=Q0Q1 T3=Q0Q1Q2 T4=Q0Q1Q2Q3

    Dmin = DT + (N – 2)�DL

  • 4/27/2009 37

    sünkroonne loendur

    � paralleelne ülekanne (parallel carry)

    J

    K

    Q

    QC

    J

    K

    Q

    QC

    J

    K

    Q

    QC

    J

    K

    Q

    QC

    “1”

    T

    igas järgnevas trigeri sisendis summeeritakse eelnevate trigerite väljundid

    Dmin = DT + DL

    probleemidmida rohkem astmeid seda rohkem sisendeid vajasuur koormus esimeste trigerite väljunditelkui N ei ole kahe aste, siis läheb loogika palju keerulisemaks

    4/27/2009 38

    Üles-alla loenduridUp-down counter

    T Q

    Q

    T Q

    Q

    T Q

    Q

    U/D

    T

    pulsside lugemiseks vastupidises suunas (teatud numbrist allapoole) tuleb kasutada inverteerivat väljundit

    kontrollbitt ei tohi sisendimpulsside vahel seisundit vahetada kuna muidu loetakse lisapulss – seega kasutatakse sünkroonses režiimis

    kontroll-lüliti

  • 4/27/2009 39

    Üles-alla loendur paralleelse ülekandega

    Motorola 74LS192 16-loendur 40 MHz

    4/27/2009 40

    Programmeeritav taimer

    lubava käsu korral loetakse algnäit sisseantud juhul tegemist sünkroniseerimata loenduriga

    Q

    Q

    T Q

    Q

    T Q

    Q

    T Q

    Q

    T

    D0 D1 D2 D3

  • 4/27/2009 41

    Programmeeritava timeri näide

    Harris 82C54 programmeeritav timer: 3x 16-bitised loendurid

    4/27/2009 42

    Kasutusalad

    � loendamine� N-ga jagamine� sageduse mõõtmine

    � sagedus, aeg, teepikkus, kiirus

    � sammumootori kontroller