Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

77
Schaltwerke Schaltwerke Klaus Becker 2003

Transcript of Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

Page 1: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

SchaltwerkeSchaltwerke

Klaus Becker2003

Page 2: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

2

KB

Sch

alt

syst

em

eZustandsbasierte SchaltsystemeZustandsbasierte Schaltsysteme

Page 3: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

3

KB

Sch

alt

syst

em

eTeil 1 Teil 1

Flip-Flops

Page 4: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

4

KB

Sch

alt

syst

em

eAn der TankstelleAn der Tankstelle

Ziel: Steuerung der Kontrolllampe einer ZapfsäuleZiel: Steuerung der Kontrolllampe einer Zapfsäule

nach D. Jonietz: Lehrprobenentwurf

Page 5: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

5

KB

Sch

alt

syst

em

eAn der TankstelleAn 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.

Page 6: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

6

KB

Sch

alt

syst

em

eZapfsäule als zustandsbasiertes Zapfsäule als zustandsbasiertes

SystemSystem

einhängen

bereit gesperrt

einhängenfreigeben

freigeben 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:Grundeigenschaft zustandsbasierter Systeme:

Page 7: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

7

KB

Sch

alt

syst

em

eBinäre KodierungBinäre Kodierung

S

00

00

11

11

R

00

11

00

11

Q‘

01

00

11

Q

01

01

01

01

nichts machennichts machen

freigebenfreigeben

einhängeneinhängen

einhängen und freigebeneinhängen und freigeben

Neuer Zustand

Aktueller Zustand

Zustände:

Q = 0: „bereit“Q = 1: „gesperrt“

Steuersignale:

S: einhängenR: freigeben

einhängen

bereit gesperrt

einhängenfreigeben

freigeben

Page 8: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

8

KB

Sch

alt

syst

em

eEntwicklung einer SchaltungEntwicklung einer Schaltung

S

00

11

R Q‘

01

11

Q

01

01

nichts machennichts machen

freigebenfreigeben

einhängeneinhängen

einhängen und freigebeneinhängen und freigeben

QSQ 'Q

1S

Q‘

Page 9: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

9

KB

Sch

alt

syst

em

eEntwicklung einer SchaltungEntwicklung einer Schaltung

S

00

00

11

R

00

11

00

Q‘

01

00

11

Q

01

01

01

nichts machennichts machen

freigebenfreigeben

einhängeneinhängen

einhängen und freigebeneinhängen und freigeben

RQSQ )('Q

1S

Q‘&R

Page 10: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

10

KB

Sch

alt

syst

em

eEntwicklung einer SchaltungEntwicklung einer Schaltung

RQSQ )('Q

1S

Q‘&R

RQSQ '

Q

1S

Q‘1R

RQSQ '

Q 1S

Q‘1R

Page 11: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

11

KB

Sch

alt

syst

em

eÜberprüfung der SchaltungÜberprüfung der Schaltung

1S

Q1R

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

Page 12: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

12

KB

Sch

alt

syst

em

eFlip-FlopFlip-Flop

Funktion S

00

00

11

11

R

00

11

00

11

Q‘

01

00

11

Q

01

01

01

01

Zustandbewahren

Zustand zurücksetzen

Zustandsetzen

1S

Q1R

P = Q

Flip-Flop-System

Systemverhalten

Eine Schaltung, die zwei stabile Zustände besitzt (bistabile Kippschaltung) wird als Flip-Flop bezeichnet.

Page 13: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

13

KB

Sch

alt

syst

em

eFlip-Flop als SpeicherelementFlip-Flop als Speicherelement

S

0

0

1

1

R

0

1

0

1

Q‘

Q

0

1

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

1S

Q1R

P = Q

Flip-Flop-System Speicherelement

Page 14: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

14

KB

Sch

alt

syst

em

eZustandsgraphZustandsgraph

S

Q = 0 Q = 1

RS

R

S

0

0

1

1

R

0

1

0

1

Q‘

Q

0

1

Funktion

Bewahren

Rücksetzen

SetzenS = R = 1 vermeide

n

S = 1; R = 0

Q = 0 Q = 1

S = 1; R = 0

S = 0; R = 1

S = 0; R = 1

S = 0; R = 0

S = 0; R = 0

Page 15: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

15

KB

Sch

alt

syst

em

eÜbungÜbung

Aufgabe:

Bauen Sie das Flip-Flop-System auf und testen Sie sein Verhalten.

Aufgabe:

Bauen Sie das Flip-Flop-System auf und testen Sie sein Verhalten.

S

0

0

1

1

R

0

1

0

1

Q‘

Q

0

1

Funktion

Bewahren

Rücksetzen

Setzen

1S

Q1R

P = Q

Flip-Flop-System Speicherelement

Page 16: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

16

KB

Sch

alt

syst

em

eÜbungÜbung

Funktion S

00

00

11

11

R

00

11

00

11

Q‘Q

01

01

01

01

&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.

Aufgabe:

Überlegen Sie zunächst, welche Werte Q´ annimmt. Bauen Sie anschließend die Schaltung auf und testen Sie sie.

Page 17: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

17

KB

Sch

alt

syst

em

eTeil 6Teil 6

Taktgesteuerte Flip-Flops

Page 18: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

18

KB

Sch

alt

syst

em

eAsynchrone SchaltungAsynchrone Schaltung

Funktion S

00

00

11

11

R

00

11

00

11

Q‘

01

00

11

--

Q

01

01

01

01

Speichern

Rücksetzen

Setzen

1S

Q1R

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.

Page 19: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

19

KB

Sch

alt

syst

em

eSynchronisation von Flip-FlopsSynchronisation 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-Zustand 0-Zustand

Page 20: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

20

KB

Sch

alt

syst

em

eTaktgesteuertes Flip-FlopTaktgesteuertes Flip-Flop

S

*

0

0

1

1

R

*

0

1

0

1

Q‘

Q

Q

0

1

C

0

1

1

1

1

C S

Q = 0 Q = 1

C RC S

C R

S = R = 1 vermeide

n

Verhaltensspezifikation:Verhaltensspezifikation:

Page 21: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

21

KB

Sch

alt

syst

em

eTaktgesteuertes Flip-FlopTaktgesteuertes Flip-Flop

S

*

0

0

1

1

R

*

0

1

0

1

Q‘

Q

Q

0

1

C

0

1

1

1

1

Verhalten:Verhalten:

S

Q

R

S

R

&

&

C

Realisierung:Realisierung:

Page 22: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

22

KB

Sch

alt

syst

em

eÜbungÜ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.

Aufgabe:

Bauen Sie das entwickelte Flip-Flop auf und testen Sie es.

Ergänzen Sie anschließend das unten dargestellte Impulsdiagramm.

Impulsdiagramm

Page 23: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

23

KB

Sch

alt

syst

em

eMaster-Slave-Flip-FlopMaster-Slave-Flip-Flop

S

R

S

R

&

&

C

S

R

&

&

1

QSQM

Master Slave

Page 24: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

24

KB

Sch

alt

syst

em

eÜbungÜbung

Aufgabe:

Testen Sie die Flip-Flop-Schaltung und beschreiben Sie das Verhalten eines Master-Slave-Flip-Flops mit Hilfe eines Zustandsgraphen.

Aufgabe:

Testen Sie die Flip-Flop-Schaltung und beschreiben Sie das Verhalten eines Master-Slave-Flip-Flops mit Hilfe eines Zustandsgraphen.

QM = 0

QS = 0

QM = 1

QS = 0

QM = 1

QS = 1

QM = 0

QS = 1

Page 25: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

25

KB

Sch

alt

syst

em

eFlankengesteuertes D-Flip-FlopFlankengesteuertes D-Flip-Flop

&D Q

& P = Q

&

&

&

&

C

hades.models.flipflops.Dff

Page 26: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

26

KB

Sch

alt

syst

em

eÜbungÜ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.

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.

Page 27: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

27

KB

Sch

alt

syst

em

eLösung - TaktsteuerungLösung - Taktsteuerung

S

*

0

0

1

1

R

*

0

1

0

1

Q‘

Q

Q

0

1

C

0

1

1

1

1

C S

Q = 0 Q = 1

C RC S

C R

S = R = 1 vermeide

n

C

S

Q

R

Page 28: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

28

KB

Sch

alt

syst

em

eLösung – MS-Flip-FlopLösung – MS-Flip-Flop

C SQM =

0QS = 0

C RC S

C R

C S

C R

QM = 1

QS = 0

QM = 1

QS = 1

QM = 0

QS = 1

C SC S

CC

Ein Zustandswechsel erfolgt beim Master-Slave-Flip-Flop um eine halbe Taktperiode verzögert.

Page 29: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

29

KB

Sch

alt

syst

em

eLösung – D-Flip-FlopLösung – D-Flip-Flop

C

D

Q

Page 30: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

30

KB

Sch

alt

syst

em

eFlankengesteuertes D-Flip-FlopFlankengesteuertes D-Flip-Flop

C D

CC

C D

CC

CC C DC D

Z0

Q = 0

Z3

Q = 0

Z2

Q = 1

Z1

Q = 1

C

D

Q0 3 0 3 0 1 2 3 0 3 0 1 2 1 2 3

Ein Zustandswechsel kann nur bei einer steigenden Taktflanke erfolgen.

Page 31: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

31

KB

Sch

alt

syst

em

eÜbung: SchieberegisterÜbung: Schieberegister

Entwerfen und testen Sie ein 4-Bit-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.

0 1 00 1

Page 32: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

32

KB

Sch

alt

syst

em

eLösung: SchieberegisterLösung: Schieberegister

0 1 00 1

Page 33: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

33

KB

Sch

alt

syst

em

eÜbung: SchieberegisterÜbung: Schieberegister

hades.models.register.ShiftRegister

Testen Sie den vordefinierten Schieberegister-Baustein von Hades. Welche Bedeutung haben die verschiedenen Eingänge?

Testen Sie den vordefinierten Schieberegister-Baustein von Hades. Welche Bedeutung haben die verschiedenen Eingänge?

Page 34: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

34

KB

Sch

alt

syst

em

eSchieberegister-BausteinSchieberegister-Baustein

Eingang zum Laden

Takt

Shift-Eingang

Umschalten: Laden/Shift

Reset

Page 35: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

35

KB

Sch

alt

syst

em

eÜbung: AddierwerkÜbung: Addierwerk

0

00 0 1 1 VA

Entwickeln Sie ein serielles 4-Bit-Addierwerk. Benutzen Sie vordefinierte Schieberegisterbausteine, um die Dualzahlen zwischenzuspeichern.

Entwickeln Sie ein serielles 4-Bit-Addierwerk. Benutzen Sie vordefinierte Schieberegisterbausteine, um die Dualzahlen zwischenzuspeichern.

0 1 1 0 0

1

Page 36: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

36

KB

Sch

alt

syst

em

eLösung – AddierwerkLösung – Addierwerk

Page 37: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

37

KB

Sch

alt

syst

em

eTeil 2Teil 2

Schaltwerke

Page 38: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

38

KB

Sch

alt

syst

em

eUniversalregisterUniversalregister

Ziel ist es, ein steuerbares Register zu entwerfen, das folgende Funktionalitäten ausweist: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.

Page 39: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

39

KB

Sch

alt

syst

em

eSystementwurfSystementwurf

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.

Page 40: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

40

KB

Sch

alt

syst

em

eSystemzuständeSystemzustände

ENA NR D

Z0 Z1

ENA NR D

ENA*

*

Das System kann zwei Zustände einnehmen: Z0: QFF = 0 bzw. Z1: QFF = 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.

Page 41: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

41

KB

Sch

alt

syst

em

eSchaltungsentwurfSchaltungsentwurf

ENA NR D

Z0 Z1

ENA NR D

ENA*

*

wenn QFF = 1 und ENA = 0

wenn ENA = 1 und NR = 1 und D = 1

1oder

ENA

NR

D

Q

clk

Page 42: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

42

KB

Sch

alt

syst

em

eÜbungÜbung

wenn QFF = 1 und ENA = 0

wenn ENA = 1 und NR = 1 und D = 1

1oder

ENA

NR

D

Q

clk

Entwickeln Sie eine Schaltung zur Realisierung des entworfenen Systems.Entwickeln Sie eine Schaltung zur Realisierung des entworfenen Systems.

Page 43: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

43

KB

Sch

alt

syst

em

eLösungLösung

wenn QFF = 1 und ENA = 0

wenn ENA = 1 und NR = 1 und D = 1

1oder

ENA

NR

D

Q

clk

Page 44: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

44

KB

Sch

alt

syst

em

eExkurs: Register-BausteinExkurs: 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

Page 45: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

45

KB

Sch

alt

syst

em

eÜbungÜbung

Testen Sie den Register-Baustein.Testen Sie den Register-Baustein.

hades.models.rtlib.register.RegRE

hades.models.rtlib.io.IpinVector

hades.models.rtlib.io.OpinVector

Page 46: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

46

KB

Sch

alt

syst

em

eDas Register als SchaltwerkDas Register als Schaltwerk

Speicherelement: Zwischenspeicherung des Systemzustands

Delta-Schaltnetz: Berechnung des neuen Zustands

Eingaben Ausgabe

Speicherelemente

Delta-Schaltnetz

Page 47: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

47

KB

Sch

alt

syst

em

eSchaltwerkeSchaltwerke

Eingaben Ausgaben

Delta-Schaltnetz

Speicherelemente: Zwischenspeicherung des Systemzustands

Delta-Schaltnetz: Berechnung des neuen Zustands

Lambda-Schaltnetz: Berechnung der Ausgaben

... ......

... ...

...Lambda-Schaltnetz

Speicherelemente

Page 48: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

48

KB

Sch

alt

syst

em

eDas Register als AutomatDas Register als Automat

ENA NR D

Z0

ENA NR D

ENA*

*

ENA

NR

D

Q

Q = 0

Z1Q = 1

Ein sequentiell arbeitendes, zustandsbasiertes System wird in der Informatik Automat genannt.Ein sequentiell arbeitendes, zustandsbasiertes System wird in der Informatik Automat genannt.

Page 49: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

49

KB

Sch

alt

syst

em

eBestandteile eines AutomatenBestandteile eines Automaten

ENA NR D

Z0

ENA NR D

ENA*

*

Q = 0

Z1Q = 1

Zustandsmenge: Z = {Z0, Z1}

Anfangszustand: Za = 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

Zustandsmenge: Z = {Z0, Z1}

Anfangszustand: Za = 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

Page 50: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

50

KB

Sch

alt

syst

em

eAutomatendefinitionAutomatendefinition

Zustandsmenge: Z = {Z0, Z1}

Anfangszustand: Za = 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, Za, E, A, , ) bestehend aus - einer endlichen Menge Z von Zuständen,- einem Anfangszustand ZaZ,- 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.

Ein endlicher Automat ist ein Tupel A = (Z, Za, E, A, , ) bestehend aus - einer endlichen Menge Z von Zuständen,- einem Anfangszustand ZaZ,- 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.

Page 51: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

51

KB

Sch

alt

syst

em

eMealy-AutomatMealy-Automat

Zustandsmenge: Z = {Z0, Z1}

Anfangszustand: Za = 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.

Ein Mealy-Automat ist ein endlicher Automat mit einer Ausgabefunktion : Z x E A, die von den Eingaben abhängt.

Page 52: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

52

KB

Sch

alt

syst

em

eMoore-AutomatMoore-Automat

Zustandsmenge: Z = {Z0, Z1}

Anfangszustand: Za = 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.

Ein Moore-Automat ist ein endlicher Automat mit einer Ausgabefunktion : Z A, die nicht von den Eingaben abhängt.

Page 53: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

53

KB

Sch

alt

syst

em

eTeil 3Teil 3

Miniprojekt: Ampelsteuerung

Page 54: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

54

KB

Sch

alt

syst

em

eMiniprojekt „Ampelsteuerung“Miniprojekt „Ampelsteuerung“

Ziel ist es, eine steuerbare Ampel zu entwerfen, die folgende Bedingungen erfülltZiel 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.

Page 55: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

55

KB

Sch

alt

syst

em

eEin-/Ausgabe-ModellierungEin-/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

Page 56: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

56

KB

Sch

alt

syst

em

eZustandsbasierte ModellierungZustandsbasierte Modellierung

ARot

E AGelb

AGruen

ZRot

E

ARot = 1AGelb = 0AGruen = 0 ZRotGelb

ARot = 1AGelb = 1AGruen = 0

ZGelbARot = 0AGelb = 1AGruen = 0

ZGruenARot = 0

AGelb = 0AGruen = 1

ZAusARot = 0AGelb = 0AGruen = 0

E

E

E

E

E

E

EE E

Page 57: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

57

KB

Sch

alt

syst

em

eÜbersetzung in ein SchaltwerkÜ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: Z2Z1Z0 ZRot: 100 ZRotGelb: 110 ZGelb: 010 ZGruen: 001 ZAus: 000

Schritt 1: Binäre KodierungSchritt 1: Binäre Kodierung

Page 58: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

58

KB

Sch

alt

syst

em

eÜbersetzung in ein SchaltwerkÜbersetzung in ein Schaltwerk

Schritt 2: SchaltwerkentwurfSchritt 2: Schaltwerkentwurf

Eingaben Ausgaben

Delta-Schaltnetz

Lambda-Schaltnetz

ARot

AGelb

AGruenE

Z2

Z1

Z0

Z2´

Z1´

Z0´

Zustandsvariablen vorher

Zustandsvariablen nachher

Page 59: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

59

KB

Sch

alt

syst

em

e

E

0101010101

Übersetzung in ein SchaltwerkÜbersetzung in ein Schaltwerk

Schritt 3: Entwicklung von Schalttermen für die Überführungsfunktion ( Delta-Schaltnetz)Schritt 3: Entwicklung von Schalttermen für die Überführungsfunktion ( Delta-Schaltnetz)

Z2

1111000000

Z1

0011001100

Z2‘

0100000100

Z0

0000110000

Z1‘

0100010011

Z0‘

0001000000

Z2‘ = Z2 Z1 Z0 E + Z2 Z1 Z0 E

Z1‘ = Z2 Z1 Z0 E + Z2 Z1 Z0 E + Z2 Z1 Z0

Z0‘ = Z2 Z1 Z0 E

Page 60: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

60

KB

Sch

alt

syst

em

eÜbersetzung in ein SchaltwerkÜbersetzung in ein Schaltwerk

Schritt 4: Entwicklung von Schalttermen für die Ausgabefunktion ( Lambda-Schaltnetz)Schritt 4: Entwicklung von Schalttermen für die Ausgabefunktion ( Lambda-Schaltnetz)

Z2

11000

Z1

01010

Aro

11000

Z0

00100

Age

01010

Agr

00100

Arot = Z2

Agelb = Z1

Agruen = Z0

Page 61: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

61

KB

Sch

alt

syst

em

eAmpel-SchaltungAmpel-Schaltung

Page 62: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

62

KB

Sch

alt

syst

em

eAutomatensimulatorAutomatensimulator

hades.models.fsm.FsmWrapper

Page 63: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

63

KB

Sch

alt

syst

em

eAutomatensimulatorAutomatensimulator

Page 64: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

64

KB

Sch

alt

syst

em

eÜbungÜbung

Testen Sie das entwickelte Ampelsystem mit dem Automaten-simulator von Hades.Testen Sie das entwickelte Ampelsystem mit dem Automaten-simulator von Hades.

Page 65: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

65

KB

Sch

alt

syst

em

eTeil 4Teil 4

Miniprojekt: Zähler

Page 66: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

66

KB

Sch

alt

syst

em

eMiniprojekt „Zähler“Miniprojekt „Zähler“

Ziel ist es, eine Schaltung zur Realisierung eines Zählers zu entwickeln, der folgende Eigenschaften hat: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 0 1 2 ... 9 0 durchlaufen und auf einem Display angezeigt.

/3/ Beim Runterzählen werden die Zahlen in der umgekehrten Reihenfolge durchlaufen: 0 9 8 ... 1 0.

/4/ Mit Hilfe eines weiteren Steuersignals kann der Zähler bei jedem Stand auf Null gesetzt werden.

Page 67: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

67

KB

Sch

alt

syst

em

eÜbungÜbung

Führen Sie zunächst eine Ein-/Ausgabe-Modellierung und eine Zustandsmodellierung durch.Führen Sie zunächst eine Ein-/Ausgabe-Modellierung und eine Zustandsmodellierung durch.

Page 68: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

68

KB

Sch

alt

syst

em

eÜbungÜbung

Testen Sie das entwickelte Modell mit Hilfe des Automaten-simulators von Hades.Testen Sie das entwickelte Modell mit Hilfe des Automaten-simulators von Hades.

Page 69: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

69

KB

Sch

alt

syst

em

eÜbungÜ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:

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

Page 70: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

70

KB

Sch

alt

syst

em

eLösungsvorschlagLösungsvorschlag

S1R

S0

Z0

!R&W

S1 = 0S0 = 0

Z1

Z3

Z2

W

S1 = 0S0 = 1

S1 = 1S0 = 0

S1 = 1S0 = 1

!R&W

!R&W!R&W|R

!R&!W!R&!W

!R&!W!R&!W|R

R

R

Page 71: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

71

KB

Sch

alt

syst

em

eLösungsvorschlagLösungsvorschlag

Page 72: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

72

KB

Sch

alt

syst

em

eLösungsvorschlagLö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: U1U0 Z0: 0 0 Z1: 0 1 Z2: 1 0 Z3: 1 1

Schritt 1: Binäre KodierungSchritt 1: Binäre Kodierung

Page 73: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

73

KB

Sch

alt

syst

em

eLösungsvorschlagLösungsvorschlag

Eingaben Ausgaben

Delta-Schaltnetz

Lambda-Schaltnetz

S1

S0R

U1

U0

U1´

U0´

Zustandsvariablen vorher

Zustandsvariablen nachher

W

Schritt 2: SchaltwerkentwurfSchritt 2: Schaltwerkentwurf

Page 74: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

74

KB

Sch

alt

syst

em

eLösungsvorschlagLösungsvorschlag

W

*11110000

Schritt 3: Entwicklung von Schalttermen für die Überführungsfunktion ( Delta-Schaltnetz)Schritt 3: Entwicklung von Schalttermen für die Überführungsfunktion ( Delta-Schaltnetz)

U1

*00110011

U0

*01010101

U1‘

001101001

R

100000000

U0‘

010101010

U1‘ = U1 U0 R W + U1 U0 R W +U1 U0 R W +U1 U0 R W

U0‘ = U1 U0 R W + U1 U0 R W +U1 U0 R W +U1 U0 R W

Page 75: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

75

KB

Sch

alt

syst

em

eLösungsvorschlagLösungsvorschlag

W

****

U1

0011

U0

0101

S1

0011

R

****

S0

0101

S1 = U1

Schritt 4: Entwicklung von Schalttermen für die Ausgabefunktion ( Lambda-Schaltnetz)Schritt 4: Entwicklung von Schalttermen für die Ausgabefunktion ( Lambda-Schaltnetz)

S0 = U0

Page 76: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

76

KB

Sch

alt

syst

em

eLösungsvorschlagLösungsvorschlag

Page 77: Schaltwerke Klaus Becker 2003. KB Schaltsysteme 2 Zustandsbasierte Schaltsysteme.

77

KB

Sch

alt

syst

em

eLiteraturhinweiseLiteraturhinweise

Gasper, Leiß, Spengler, Stimm: Technische und theoretische Informatik. Bayerischer Schulbuch-Verlag 1992.

Eckhart Modrow: Automaten Schaltwerke Sprachen. Dümmler Verlag 1988.

Heinz-Dietrich Wuttke, Karsten Henke: Schaltsysteme. Pearson Studium 2003.

...