Sekventiell logik - Introduktion - Uppsala universitet
Sekventiell logik - Introduktion - Uppsala universitet
Sekventiell logik - Introduktion - Uppsala universitet
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