Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

Ähnliche Präsentationen


Präsentation zum Thema: "Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme."—  Präsentation transkript:

1 Schaltwerke Klaus Becker 2003

2 KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme

3 KB Schaltsysteme 3 Teil 1 Flip-Flops

4 KB Schaltsysteme 4 An der Tankstelle Ziel: Steuerung der Kontrolllampe einer Zapfsäule nach D. Jonietz: Lehrprobenentwurf

5 KB Schaltsysteme 5 An der Tankstelle Die Kontrolllampe zeigt an, ob die Zapfsäule bereit ist. Nur wenn sie bereit ist, führt ein Tankversuch zur Aktivierung der Pumpanlage. Durch Einhängen der Zapfpistole wird die Pumpanlage gesperrt. Sie ist erst wieder bereit, wenn sie freigegeben wird.

6 KB Schaltsysteme 6 Zapfsäule als zustandsbasiertes System einhängen bereitgesperrt einhängenfreigeben Zustand Anfangszustand auslösende Aktion Das Verhalten des Systems hängt nicht nur von den auslösenden Aktionen (freigeben / einhängen) ab, das Verhalten hängt auch von internen Zuständen des Systems (bereit / gesperrt) ab. Grundeigenschaft zustandsbasierter Systeme:

7 KB Schaltsysteme 7 Binäre Kodierung S S R R Q010011Q Q Q nichts machenfreigebeneinhängeneinhängen und freigeben Neuer Zustand Aktueller Zustand Zustände: Q = 0: bereit Q = 1: gesperrt Steuersignale: S: einhängen R: freigeben einhängen bereitgesperrt einhängenfreigeben

8 KB Schaltsysteme 8 Entwicklung einer Schaltung S0011S RQ0111Q01111 Q0101Q0101 nichts machenfreigebeneinhängeneinhängen und freigeben Q 1 S Q

9 KB Schaltsysteme 9 Entwicklung einer Schaltung S000011S R001100R Q010011Q Q010101Q nichts machenfreigebeneinhängeneinhängen und freigeben Q 1 S Q & R

10 KB Schaltsysteme 10 Entwicklung einer Schaltung Q 1 S Q & R Q 1 S Q 1 R Q 1 S Q 1 R

11 KB Schaltsysteme 11 Überprüfung der Schaltung 1 S Q 1 R P S = 1; R = 0; P =..; Q =.. P = 0; Q = 1 S = 0; R = 1; P =..; Q =.. P = 1; Q = 0 S = 0; R = 0; P = 1; Q = 0 P = 1; Q = 0 S = 0; R = 0; P = 0; Q = 1 P = 0; Q = 1 S = 1; R = 1; P = 0; Q = 1 P = 0; Q = 0 S = 1; R = 1; P = 1; Q = 0 P = 0; Q = 0 Bedingung: P = Q unzulässig

12 KB Schaltsysteme 12 Flip-Flop FunktionS S R R Q010011Q Q Q Zustand bewahren Zustand zurücksetzen Zustand setzen 1 S Q 1 R P = Q Flip-Flop-System Systemverhalten Eine Schaltung, die zwei stabile Zustände besitzt (bistabile Kippschaltung) wird als Flip-Flop bezeichnet.

13 KB Schaltsysteme 13 Flip-Flop als Speicherelement S0011S0011 R0101R0101 QQ01QQ01 Funktion Bewahren Rücksetzen Setzen S R Q Das entwickelte Flip-Flop-System verhält sich wie ein Speicherelement. Mit Hilfe der Funktionen Setzen und Rücksetzen wird ein Wert in den Speicher geschrieben, mit der Funktion Bewahren wird er im Speicher aufbewahrt. Schaltsymbol 1 S Q 1 R P = Q Flip-Flop-SystemSpeicherelement

14 KB Schaltsysteme 14 Zustandsgraph S Q = 0Q = 1 RS R S0011S0011 R0101R0101 QQ01QQ01 Funktion Bewahren Rücksetzen Setzen S = R = 1 vermeiden S = 1; R = 0 Q = 0Q = 1 S = 1; R = 0S = 0; R = 1 S = 0; R = 0

15 KB Schaltsysteme 15 Übung Aufgabe: Bauen Sie das Flip-Flop-System auf und testen Sie sein Verhalten. S0011S0011 R0101R0101 QQ01QQ01 Funktion Bewahren Rücksetzen Setzen 1 S Q 1 R P = Q Flip-Flop-SystemSpeicherelement

16 KB Schaltsysteme 16 Übung FunktionS S R R QQ Q & S Q & R P System Systemverhalten Aufgabe: Überlegen Sie zunächst, welche Werte Q´ annimmt. Bauen Sie anschließend die Schaltung auf und testen Sie sie.

17 KB Schaltsysteme 17 Teil 6 Taktgesteuerte Flip-Flops

18 KB Schaltsysteme 18 Asynchrone Schaltung FunktionS S R R Q Q Q Q Speichern Rücksetzen Setzen 1 S Q 1 R P = Q Flip-Flop-System Systemverhalten Das entwickelte Flip-Flop-System ist eine asynchrone Schaltung. Ein Zustandswechsel erfolgt erst, wenn die Signale an den betreffenden Stellen in der Schaltung eintreffen.

19 KB Schaltsysteme 19 Synchronisation von Flip-Flops In der Regel müssen bei Speichervorgängen mehrere Bits gleich- zeitig übernommen werden. Hierzu ist es notwendig, die Flip-Flops zu synchronisieren, d. h., eine am Eingang vorliegende Information darf erst auf ein bestimmtes Signal hin übernommen werden. Man verwendet hierzu i. a. ein periodisches Taktsignal. Fallende Flanke Steigende Flanke 1-Zustand0-Zustand

20 KB Schaltsysteme 20 Taktgesteuertes Flip-Flop S*0011S*0011 R*0101R*0101 QQQ01QQQ01 C01111C01111 C S Q = 0Q = 1 C RC S C R S = R = 1 vermeiden Verhaltensspezifikation:

21 KB Schaltsysteme 21 Taktgesteuertes Flip-Flop S*0011S*0011 R*0101R*0101 QQQ01QQQ01 C01111C01111 Verhalten: S Q R S R & & C Realisierung:

22 KB Schaltsysteme 22 Übung C S Q R S Q R S R & & C Aufgabe: Bauen Sie das entwickelte Flip-Flop auf und testen Sie es. Ergänzen Sie anschließend das unten dargestellte Impulsdiagramm. Impulsdiagramm

23 KB Schaltsysteme 23 Master-Slave-Flip-Flop S R S R & & C S R & & 1 QSQS QMQM MasterSlave

24 KB Schaltsysteme 24 Übung Aufgabe: Testen Sie die Flip- Flop-Schaltung und beschreiben Sie das Verhalten eines Master-Slave-Flip- Flops mit Hilfe eines Zustandsgraphen. Q M = 0 Q S = 0 Q M = 1 Q S = 0 Q M = 1 Q S = 1 Q M = 0 Q S = 1

25 KB Schaltsysteme 25 Flankengesteuertes D-Flip-Flop & DQ & P = Q & & & & C hades.models.flipflops.Dff

26 KB Schaltsysteme 26 Übung C D Q Aufgabe: Erstellen Sie zunächst eine D-Flip-Flop-Testschaltung. Erzeugen Sie dann die im Impulsdiagramm dargestellten Eingangssignale und ergänzen Sie das Q-Ausgangssignal.

27 KB Schaltsysteme 27 Lösung - Taktsteuerung S*0011S*0011 R*0101R*0101 QQQ01QQQ01 C01111C01111 C S Q = 0Q = 1 C RC S C R S = R = 1 vermeiden C S Q R

28 KB Schaltsysteme 28 Lösung – MS-Flip-Flop C S Q M = 0 Q S = 0 C RC S C R C S C R Q M = 1 Q S = 0 Q M = 1 Q S = 1 Q M = 0 Q S = 1 C S CC Ein Zustandswechsel erfolgt beim Master-Slave- Flip-Flop um eine halbe Taktperiode verzögert.

29 KB Schaltsysteme 29 Lösung – D-Flip-Flop C D Q

30 KB Schaltsysteme 30 Flankengesteuertes D-Flip-Flop C D CC C C C C Z 0 Q = 0 Z 3 Q = 0 Z 2 Q = 1 Z 1 Q = 1 C D Q Ein Zustandswechsel kann nur bei einer steigenden Taktflanke erfolgen.

31 KB Schaltsysteme 31 Übung: Schieberegister Entwerfen und testen Sie ein 4-Bit-Schieberegister. /1/ Das Register kann 4 Bit mit Hilfe von Flip-Flops speichern. /2/ Das Register hat einen Dateneingang, über den es neue Werte aufnehmen kann. /3/ Mit jeder steigenden Taktflanke werden die gespeicherten Werte um eine Einheit nach rechts verschoben. Das erste Flip- Flop übernimmt den Wert am Dateneingang, der Wert des letzten Flip-Flops geht (hier) verloren

32 KB Schaltsysteme 32 Lösung: Schieberegister 01001

33 KB Schaltsysteme 33 Übung: Schieberegister hades.models.register.ShiftRegister Testen Sie den vordefinierten Schieberegister-Baustein von Hades. Welche Bedeutung haben die verschiedenen Eingänge?

34 KB Schaltsysteme 34 Schieberegister-Baustein Eingang zum Laden Takt Shift-Eingang Umschalten: Laden/Shift Reset

35 KB Schaltsysteme 35 Übung: Addierwerk VA Entwickeln Sie ein serielles 4-Bit-Addierwerk. Benutzen Sie vordefinierte Schieberegisterbausteine, um die Dualzahlen zwischenzuspeichern

36 KB Schaltsysteme 36 Lösung – Addierwerk

37 KB Schaltsysteme 37 Teil 2 Schaltwerke

38 KB Schaltsysteme 38 Universalregister Ziel ist es, ein steuerbares Register zu entwerfen, das folgende Funktionalitäten ausweist: /1/ Das Register kann 1 Bit speichern. /2/ Das Register hat einen Dateneingang D und einen Datenausgang Q. /3/ Mit Hilfe eines Steuereingang ENA (enable) kann das Register aktiviert bzw. deaktiviert werden. /4/ Mit Hilfe eines Steuereingangs NR (negated reset) kann das Register initialisiert werden: Das Register wird mit 0 belegt, wenn NR = 0 ist. /5/ Das Register reagiert nur bei steigender Taktflanke.

39 KB Schaltsysteme 39 Systementwurf ENA NR D clk Q Zum Speichern wird ein flankengesteuertes D-Flip-Flop benutzt. Das System hat einen Dateneingang D und einen Datenausgang Q. Das System hat zusätzliche Steuereingänge ENA und NR.

40 KB Schaltsysteme 40 Systemzustände ENA NR D Z0Z1 ENA NR D ENA * * Das System kann zwei Zustände einnehmen: Z0: Q FF = 0 bzw. Z1: Q FF = 1 Man kommt vom Zustand Z0 in den Zustand Z1, wenn ENA = 1 und NR = 1 und D = 1, ansonsten bleibt man im Zustand Z0. Man bleibt im Zustand Z1, wenn ENA = 1 und NR = 1 und D = 1 oder wenn ENA = 0, ansonsten wird in Z0 gewechselt.

41 KB Schaltsysteme 41 Schaltungsentwurf ENA NR D Z0Z1 ENA NR D ENA * * wenn Q FF = 1 und ENA = 0 wenn ENA = 1 und NR = 1 und D = 1 1 oder ENA NR D Q clk

42 KB Schaltsysteme 42 Übung wenn Q FF = 1 und ENA = 0 wenn ENA = 1 und NR = 1 und D = 1 1 oder ENA NR D Q clk Entwickeln Sie eine Schaltung zur Realisierung des entworfenen Systems.

43 KB Schaltsysteme 43 Lösung wenn Q FF = 1 und ENA = 0 wenn ENA = 1 und NR = 1 und D = 1 1 oder ENA NR D Q clk

44 KB Schaltsysteme 44 Exkurs: Register-Baustein CLK: Takt-Eingang (Register reagiert b. steigender Taktflanke) NR: Reset-Eingang (NR = 0: Reset) ENA: Enable-Eingang (ENA = 1: Register bereit) D: Daten-Eingang Q: Daten-Ausgang hades.models.rtlib.register.RegRE

45 KB Schaltsysteme 45 Übung Testen Sie den Register-Baustein. hades.models.rtlib.register.RegRE hades.models.rtlib.io.IpinVector hades.models.rtlib.io.OpinVector

46 KB Schaltsysteme 46 Das Register als Schaltwerk Speicherelement: Zwischenspeicherung des Systemzustands Delta-Schaltnetz: Berechnung des neuen Zustands Eingaben Ausgabe Speicherelemente Delta- Schaltnetz

47 KB Schaltsysteme 47 Schaltwerke Eingaben Ausgaben Delta- Schaltnetz Speicherelemente: Zwischenspeicherung des Systemzustands Delta-Schaltnetz: Berechnung des neuen Zustands Lambda-Schaltnetz: Berechnung der Ausgaben... Lambda- Schaltnetz Speicherelemente

48 KB Schaltsysteme 48 Das Register als Automat ENA NR D Z0 ENA NR D ENA * * NR D Q Q = 0 Z1 Q = 1 Ein sequentiell arbeitendes, zustandsbasiertes System wird in der Informatik Automat genannt.

49 KB Schaltsysteme 49 Bestandteile eines Automaten ENA NR D Z0 ENA NR D ENA * * Q = 0 Z1 Q = 1 Zustandsmenge: Z = {Z0, Z1} Anfangszustand:Z a = Z0 Eingabemenge: E = {000, 001,..., 111} Ausgabemenge: A = {0, 1} Überführungsfunktion: : (Z0, 000) Z0,..., (Z0, 111) Z1 Ausgabefunktion: : (Z0, 000) 0,..., (Z0, 111) 1

50 KB Schaltsysteme 50 Automatendefinition Zustandsmenge: Z = {Z0, Z1} Anfangszustand:Z a = Z0 Eingabemenge: E = {000, 001,..., 111} Ausgabemenge: A = {0, 1} Überführungsfunktion: : (Z0, 000) Z0, (Z0, 111) Z1,... Ausgabefunktion: : (Z0, 000) 0, (Z0, 111) 0,... Ein endlicher Automat ist ein Tupel A = (Z, Z a, E, A,, ) bestehend aus - einer endlichen Menge Z von Zuständen, - einem Anfangszustand Z a Z, - einer endlichen Menge E von Eingabewerten, - einer endlichen Menge A von Ausgabewerten, - einer Überführungsfunktion : Z x E Z und - einer Ausgabefunktion : Z x E A.

51 KB Schaltsysteme 51 Mealy-Automat Zustandsmenge: Z = {Z0, Z1} Anfangszustand:Z a = Z0 Eingabemenge: E = {000, 001,..., 111} Ausgabemenge: A = {0, 1} Überführungsfunktion: : (Z0, 000) Z0, (Z0, 111) Z1,... Ausgabefktn (Mealy): : (Z0, 000) 0, (Z0, 111) 0,... Ein Mealy-Automat ist ein endlicher Automat mit einer Ausgabefunktion : Z x E A, die von den Eingaben abhängt.

52 KB Schaltsysteme 52 Moore-Automat Zustandsmenge: Z = {Z0, Z1} Anfangszustand:Z a = Z0 Eingabemenge: E = {000, 001,..., 111} Ausgabemenge: A = {0, 1} Überführungsfunktion: : (Z0, 000) Z0, (Z0, 111) Z1,... Ausgabefktn (Moore): : Z0 0, Z1 1 Ein Moore-Automat ist ein endlicher Automat mit einer Ausgabefunktion : Z A, die nicht von den Eingaben abhängt.

53 KB Schaltsysteme 53 Teil 3 Miniprojekt: Ampelsteuerung

54 KB Schaltsysteme 54 Miniprojekt Ampelsteuerung Ziel ist es, eine steuerbare Ampel zu entwerfen, die folgende Bedingungen erfüllt /1/ Die Ampel kann mit Hilfe eines Steuersignals auf Tag- und Nachtbetrieb eingestellt werden. /2/ Im Tagbetrieb durchläuft die Ampel die üblichen Phasen. Alle Phasen sollen der Einfachheit halber gleich lang sein. Ein Phasenwechsel soll mit einem Taktsignal ausgelöst werden. /3/ Im Nachtbetrieb soll nur die gelbe Lampe blinken.

55 KB Schaltsysteme 55 Ein-/Ausgabe-Modellierung ARot E Eingaben: E (E = 0: Nachtbetrieb; E = 1: Tagbetrieb) Ausgaben: ARot, AGelb, AGruen (ARot = 1: Rot-Lampe an; ARot = 0: Rot-Lampe aus;...) AGelb AGruen

56 KB Schaltsysteme 56 Zustandsbasierte Modellierung ARot E AGelb AGruen ZRot E ARot = 1 AGelb = 0 AGruen = 0 ZRotGelb ARot = 1 AGelb = 1 AGruen = 0 ZGelb ARot = 0 AGelb = 1 AGruen = 0 ZGruen ARot = 0 AGelb = 0 AGruen = 1 ZAus ARot = 0 AGelb = 0 AGruen = 0 E E E E E E E E

57 KB Schaltsysteme 57 Übersetzung in ein Schaltwerk Eingaben: E (E = 0: Nachtbetrieb; E = 1: Tagbetrieb) Ausgaben: ARot, AGelb, AGruen (ARot = 1: Rot-Lampe an; ARot = 0: Rot-Lampe aus) Zustände: Z 2 Z 1 Z 0 ZRot:100 ZRotGelb:110 ZGelb:010 ZGruen:001 ZAus:000 Schritt 1: Binäre Kodierung

58 KB Schaltsysteme 58 Übersetzung in ein Schaltwerk Schritt 2: Schaltwerkentwurf Eingaben Ausgaben Delta- Schaltnetz Lambda- Schaltnetz ARot AGelb AGruen E Z2 Z1 Z0 Z2´ Z1´ Z0´ Zustandsvariablen vorher Zustandsvariablen nachher

59 KB Schaltsysteme 59 E E Übersetzung in ein Schaltwerk Schritt 3: Entwicklung von Schalttermen für die Überführungsfunktion ( Delta-Schaltnetz) Z Z Z Z Z Z Z Z Z Z 2 = Z 2 Z 1 Z 0 E + Z 2 Z 1 Z 0 E Z 1 = Z 2 Z 1 Z 0 E + Z 2 Z 1 Z 0 E + Z 2 Z 1 Z 0 Z 0 = Z 2 Z 1 Z 0 E

60 KB Schaltsysteme 60 Übersetzung in ein Schaltwerk Schritt 4: Entwicklung von Schalttermen für die Ausgabefunktion ( Lambda-Schaltnetz) Z211000Z Z101010Z A ro Z000100Z A ge A gr A rot = Z 2 A gelb = Z 1 A gruen = Z 0

61 KB Schaltsysteme 61 Ampel-Schaltung

62 KB Schaltsysteme 62 Automatensimulator hades.models.fsm.FsmWrapper

63 KB Schaltsysteme 63 Automatensimulator

64 KB Schaltsysteme 64 Übung Testen Sie das entwickelte Ampelsystem mit dem Automaten- simulator von Hades.

65 KB Schaltsysteme 65 Teil 4 Miniprojekt: Zähler

66 KB Schaltsysteme 66 Miniprojekt Zähler Ziel ist es, eine Schaltung zur Realisierung eines Zählers zu entwickeln, der folgende Eigenschaften hat: /1/ Der Zähler kann mit Hilfe eines Steuersignals auf Hoch- und Runterzählen eingestellt werden. /2/ Beim Hochzählen werden die Zahlen durchlaufen und auf einem Display angezeigt. /3/ Beim Runterzählen werden die Zahlen in der umgekehrten Reihenfolge durchlaufen: /4/ Mit Hilfe eines weiteren Steuersignals kann der Zähler bei jedem Stand auf Null gesetzt werden.

67 KB Schaltsysteme 67 Übung Führen Sie zunächst eine Ein-/Ausgabe-Modellierung und eine Zustandsmodellierung durch.

68 KB Schaltsysteme 68 Übung Testen Sie das entwickelte Modell mit Hilfe des Automaten- simulators von Hades.

69 KB Schaltsysteme 69 Übung Entwickeln Sie ein Schaltwerk für einen vereinfachten Zähler (der nur bis 3 zählt). Orientieren Sie sich an den eingeführten Schritten: Schritt 1: Binäre Kodierung Schritt 2: Schaltwerkentwurf Schritt 3: Entwicklung von Schalttermen für die Überführungsfktn Schritt 4: Entwicklung von Schalttermen für die Ausgabefunktion

70 KB Schaltsysteme 70 Lösungsvorschlag S1 R S0 Z0 !R&W S1 = 0 S0 = 0 Z1 Z3 Z2 W S1 = 0 S0 = 1 S1 = 1 S0 = 0 S1 = 1 S0 = 1 !R&W !R&W|R !R&!W !R&!W|R R R

71 KB Schaltsysteme 71 Lösungsvorschlag

72 KB Schaltsysteme 72 Lösungsvorschlag Eingaben: R, W (R = 1: Null setzen; R = 1: Zählen) (W = 1: Hochzählen; W = 0: Runterzählen) Ausgaben: S1, S0 (S1 S0 Darstellung als Dualzahl) Zustände: U 1 U 0 Z0:0 0 Z1:0 1 Z2:1 0 Z3:1 1 Schritt 1: Binäre Kodierung

73 KB Schaltsysteme 73 Lösungsvorschlag Eingaben Ausgaben Delta- Schaltnetz Lambda- Schaltnetz S1 S0 R U1 U0 U1´ U0´ Zustandsvariablen vorher Zustandsvariablen nachher W Schritt 2: Schaltwerkentwurf

74 KB Schaltsysteme 74 Lösungsvorschlag W* W* Schritt 3: Entwicklung von Schalttermen für die Überführungsfunktion ( Delta-Schaltnetz) U1* U1* U0* U0* U R R U U 1 = U 1 U 0 R W + U 1 U 0 R W + U 1 U 0 R W + U 1 U 0 R W U 0 = U 1 U 0 R W + U 1 U 0 R W + U 1 U 0 R W + U 1 U 0 R W

75 KB Schaltsysteme 75 Lösungsvorschlag W****W**** U10011U10011 U00101U00101 S10011S10011 R****R**** S00101S00101 S 1 = U 1 Schritt 4: Entwicklung von Schalttermen für die Ausgabefunktion ( Lambda-Schaltnetz) S 0 = U 0

76 KB Schaltsysteme 76 Lösungsvorschlag

77 KB Schaltsysteme 77 Literaturhinweise Gasper, Leiß, Spengler, Stimm: Technische und theoretische Informatik. Bayerischer Schulbuch-Verlag Eckhart Modrow: Automaten Schaltwerke Sprachen. Dümmler Verlag Heinz-Dietrich Wuttke, Karsten Henke: Schaltsysteme. Pearson Studium


Herunterladen ppt "Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme."

Ähnliche Präsentationen


Google-Anzeigen