11.11.2012 Views

Sekventiell logik - Introduktion - Uppsala universitet

Sekventiell logik - Introduktion - Uppsala universitet

Sekventiell logik - Introduktion - Uppsala universitet

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Föreläsning 11<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

<strong>Introduktion</strong><br />

Kurs 1TE624 Elektronik I<br />

Uwe Zimmermann<br />

Fasta tillståndets elektronik<br />

<strong>Uppsala</strong> <strong>universitet</strong><br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.1


Mål för dagens föreläsning.<br />

1 Se begränsningar av kombinatorisk <strong>logik</strong><br />

2 Lära känna vanliga vippor<br />

3 Förstå konceptet av klockning och taktfrekvens<br />

På måndag<br />

1 Tillståndsgrafer<br />

2 Komplexa sekventiella nät<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.2


Ologisk <strong>logik</strong>? – Fördröjning<br />

A<br />

X<br />

Q<br />

A Q<br />

τD<br />

������������<br />

������������<br />

������������<br />

X<br />

NOR<br />

A B Q<br />

0 0 1<br />

0 1 0<br />

1 0 0<br />

1 1 0<br />

• alla verkliga logiska kretsar visar en fördröjning mellan inoch<br />

utgångarna<br />

• om signaler passerar genom olika många grinder kan man<br />

få oväntade resultat<br />

• fördröjnigstiden τD<br />

• beror på typ av grind (t.ex. NAND, NOR, AND, OR,. . . )<br />

• beror på kopplingsteknik (t.ex. bipolär, CMOS)<br />

• ligger mellan 1 ns och ungefär 100 ns<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.3


Fördröjning – i en adderare<br />

B 4<br />

A 4<br />

B 3<br />

A 3<br />

B 2<br />

A 2<br />

B 1<br />

A 1<br />

C 0<br />

Σ 4<br />

C 4<br />

Σ 3<br />

C 3<br />

Σ 2<br />

C 2<br />

Σ 1<br />

C 1<br />

4-bit heladderare med ripple carry 74LS83: 4-bit heladderare med snabb carry<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.4


Komponent: 74LS181 – 4-bit ALU<br />

En aritmetisk logisk enhet (arithmetic logic unit) kan utföra flera<br />

olika matematiska och logiska operationer mellan binärtal.<br />

En ALU är den innersta kärnan i en processor.<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.5


Ologisk <strong>logik</strong>? – Rekursion<br />

A<br />

B<br />

Q<br />

1<br />

1<br />

A<br />

B<br />

Q<br />

?<br />

������������������<br />

�����������<br />

������������������<br />

NAND<br />

A B Q<br />

0 0 1<br />

0 1 1<br />

1 0 1<br />

1 1 0<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.6


En enkel låskrets<br />

A1<br />

Q2<br />

B1<br />

A2<br />

Q1<br />

B2<br />

1<br />

0<br />

A1<br />

B1<br />

Q1<br />

A2<br />

B2<br />

S(et) R(eset)<br />

0<br />

Q<br />

0<br />

�������������<br />

���������������<br />

�������������<br />

�������������<br />

Q2<br />

1<br />

Q<br />

RS-lås<br />

R S Q Q<br />

0 0 Q0 Q0<br />

0 1 1 0<br />

1 0 0 1<br />

1 1 odefinerad<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.7


Vippor<br />

• en vippa är ett logiskt nät med två lägen<br />

• dessa lägen kan vara<br />

• bistabila – båda lägen är stabila<br />

• monostabila – bara ett läge är stabilt<br />

• astabila – inget läge är stabilt<br />

• en vippa har oftast två komplementära utgånger Q och Q<br />

(ibland också skriven som /Q)<br />

• övergången mellan lägen styrs av logiska signaler vid<br />

vippans ingångar<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.8


Översättningar och nya symboler<br />

engelska svenska<br />

flipflop vippa<br />

latch låskrets<br />

register en grupp av flera vippor<br />

symbol förklaring<br />

kretsen reagera på signalens<br />

stigande flank<br />

0 → 1 (�)<br />

kretsen reagera på signalens<br />

fallande flank<br />

1 → 0 (�)<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.9


RS låskretsar<br />

ANSI grindar IEC grindar IEC symbol<br />

R Q<br />

S<br />

S<br />

R<br />

Q<br />

Q<br />

R ≥1 Q<br />

S<br />

S<br />

Q R<br />

≥1<br />

&<br />

&<br />

Q<br />

Q<br />

Q<br />

R S Q Q<br />

0 0 Q0 Q0<br />

0 1 1 0<br />

1 0 0 1<br />

1 1 odefinerad<br />

S Q<br />

R<br />

S Q<br />

R<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.10


grindat RS lås<br />

IEC grindar IEC symbol<br />

S<br />

EN<br />

R<br />

S’<br />

& &<br />

&<br />

R’<br />

&<br />

Q<br />

Q<br />

R S EN Q Q<br />

x x 0 Q0 Q0<br />

0 0 1 Q0 Q0<br />

0 1 1 1 0<br />

1 0 1 0 1<br />

1 1 1 odefinerad<br />

S Q<br />

EN<br />

R<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.11


grindat RS lås med preset<br />

S<br />

EN<br />

R<br />

&<br />

&<br />

preset<br />

clear<br />

&<br />

&<br />

• ingångarna R och S är styrda av EN<br />

Q<br />

Q<br />

• ingangarna preset och clear är direktverkande<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.12


Exempel på sekventiella system<br />

• trafikljus<br />

• hissar<br />

• tvättmaskiner<br />

• clockor<br />

• datorer<br />

• . . .<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.13


JK vippa<br />

J<br />

C<br />

K<br />

&<br />

&<br />

S<br />

R<br />

C<br />

Q<br />

Q<br />

Q<br />

J K C Q Q<br />

x x 0 Q0 Q0<br />

x x 1 Q0 Q0<br />

0 0 � Q0 Q0<br />

0 1 � 0 1<br />

1 0 � 1 0<br />

1 1 � Q0 Q0<br />

• i JK vippan togs det odefinerade läget S = R = 1 bort<br />

• istället växlar uttillstånden vid J = K = 1 med varje<br />

taktpuls<br />

IEC symbol:<br />

C<br />

J<br />

K<br />

Q<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.14


Master-Slave vippa<br />

master slave<br />

S<br />

Clk<br />

R<br />

S Q<br />

S Q Q<br />

EN<br />

R<br />

• i master-slave vippan är två vippor seriekopplade<br />

• slave-vippan har omvänd polaritet på grinden<br />

• informationen låses in i master-vippan under EN = 1<br />

• slave-vippans utgångar uppdateras när återigen EN = 0<br />

• kombinationen R = S = 1 är fortfarande odefinierad<br />

IEC symbol:<br />

EN<br />

R<br />

Q<br />

S Q Q<br />

C<br />

R<br />

Q<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.15


Komponent: 7473 – två M/S JK-vippor<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.16


D vippa<br />

D<br />

clk<br />

S<br />

R<br />

Q<br />

Q<br />

Q<br />

D clk Q Q<br />

x 0 Q0 Q0<br />

0 � 0 1<br />

1 � 1 0<br />

x 1 Q0 Q0<br />

• D-vippan har bara en ingång D som är kopplad till<br />

S-ingången av en RS-vippa<br />

• internt kopplas komplementet D till R-ingången av<br />

RS-vippan<br />

• den odefinerade kombinationen R = S = 1 av RS-vippan<br />

är utesluten<br />

• informationen från ingången D överförs till utgången Q<br />

med den stigande (eller fallande) taktsignalen<br />

• D-vippan används ofta för att mellanlagra binär information<br />

IEC symbol:<br />

D<br />

C<br />

Q<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.17


Praktiskt exempel: D-vippa i datorkretsar<br />

ALE<br />

DEN<br />

WR<br />

8086<br />

GND<br />

AD0<br />

AD1<br />

AD2<br />

AD3<br />

AD4<br />

AD5<br />

AD6<br />

AD7<br />

AD8<br />

AD9<br />

AD10<br />

AD11<br />

AD12<br />

AD13<br />

AD15 AD14<br />

VCC GND<br />

DIR<br />

EN<br />

EN<br />

Latch<br />

D i Q i<br />

Data<br />

Address<br />

ADi ������������� kombinerad adress/data<br />

ALE ����������� adress latch enable<br />

DEN ����������� data enable<br />

• processorer som 8086 har dubbelfunktion på vissa pinnar<br />

• minnes-adressen mellanlagras i en register av D-typ<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.18


Intel/AMD 8085 (1981)<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.19


Komponent: 74HC374 – 8-bit D-register<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.20


Praktiskt exempel: Skift-register<br />

C<br />

D<br />

D in<br />

clk<br />

D<br />

D D D<br />

�������������������������<br />

��������������<br />

Q1 ���������������<br />

Q2 ���������������<br />

Q3 ���������������<br />

Q4 ���������������<br />

• ett skift-register består av seriekopplade master-slave vippor<br />

• taktsignalen är kopplad till alla vippor samtidigt<br />

• med varje takt skjuts informationen från ingången ett steg vidare<br />

• finns med både seriella och parallela in- och utgånger<br />

• användingsområden: USB, SATA, mobiltelefoner,. . .<br />

Q1<br />

Q2<br />

Q3<br />

Q4<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.21


Komponent: 74HC164 – 8-bit skift-register<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.22


T vippa<br />

clk<br />

D<br />

Q<br />

Q<br />

Q<br />

C<br />

Q<br />

Q<br />

�����������������<br />

�������������<br />

�������������<br />

• i en T-vippa kopplas D-ingången av en D-vippa till dess<br />

inverterande utgång Q<br />

• utgångslägen växlas med varje stigande (eller fallande)<br />

flank på taktsignalen (toggle)<br />

• vid en regulär takt på ingången få man halva<br />

taktfrekvensen på utgångarna<br />

• utgångarna producera taktsignaler med 180 graders<br />

fasvridning<br />

T-vippa med styringång:<br />

T<br />

clk<br />

&<br />

D<br />

Q<br />

Q<br />

Q<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.23


Praktiskt exempel: Binärräknare<br />

C<br />

clk<br />

D Q<br />

D Q<br />

D Q<br />

D Q<br />

���������������������������������������������������������������������<br />

Q1 �����������������������������������<br />

Q2 ��������������������������<br />

Q3 ����������������������<br />

Q4 ��������������������<br />

• seriekoppling av n vippor ger en 2 n binärräknare<br />

• signalfördröjningen i denna koppling leder till asynkrona<br />

utgångar<br />

• signalen hoppar från steg till steg – engl.: ripple counter<br />

Q1<br />

Q2<br />

Q3<br />

Q4<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.24


Komponent: 74HC4060 – 14-steg binärräknare<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.25


Monostabil vippa<br />

Q<br />

T<br />

Q<br />

Q<br />

�����������������<br />

����������������<br />

����������������<br />

τ<br />

• en monostabil vippa har ett stabilt grundläge (Q = 0)<br />

• en signal på trigger-ingången T sätter vippan i läge Q = 1<br />

• efter en konstant tid τ växlar vippan tillbaka till grundläget<br />

• tidskonstanten bestäms oftast av en extern<br />

RC-kombination τ ∝ RC<br />

• monostabila vippor finns i olika utföranden<br />

• resetable – väntetiden kan avbrytas<br />

• retriggerable – väntetiden kan förlängas<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.26


Astabila vippor = oscillatorer<br />

• en astabil vippa har inget stabilt läge<br />

• vippans utgångar växlar jämt<br />

• frekvensen bestäms av externa eller interna komponenter<br />

• RC-kopplingar ↩→ relaxations-oscillatorer<br />

• quartskristaller ↩→ quartsur, datorer<br />

• akustiska resonatorer ↩→ mobiltelefoner<br />

• den maximala frekvensen begränsas av fördröjningstiden<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.27


Praktiskt exempel: Oscillatorer<br />

1<br />

R R<br />

C C<br />

1 1<br />

N. Storey<br />

Fig. 13.22<br />

R 1<br />

C<br />

R 2<br />

1 1<br />

P. Horowitz<br />

The Art of Electronics<br />

out<br />

R 1<br />

R 2<br />

1 1<br />

Fairchild Semic.<br />

AN-118<br />

1<br />

10MΩ<br />

xtal<br />

C<br />

out<br />

100kΩ<br />

20pF 20pF<br />

P. Horowitz<br />

The Art of Electronics<br />

out<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.28


Komponent: NE555 – universal timer<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.29


Komponent: NE555 – universal timer<br />

Mål<br />

<strong>Sekventiell</strong> <strong>logik</strong><br />

Uwe Zimmermann<br />

Begränsningar av<br />

kombinatorisk <strong>logik</strong><br />

Vippor<br />

Översättningar<br />

Låskretsar<br />

Grindade vippor<br />

Sekvensiella system<br />

Klockade vippor<br />

Monostabila vippor<br />

Astabila vippor<br />

11.30

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!