1 / 77

Schaltwerke

Schaltwerke. Klaus Becker 2003. Zustandsbasierte Schaltsysteme. Teil 1 . Flip-Flops. An der Tankstelle. Ziel: Steuerung der Kontrolllampe einer Zapfsäule. nach D. Jonietz: Lehrprobenentwurf. An der Tankstelle.

emery
Download Presentation

Schaltwerke

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Schaltwerke Klaus Becker 2003

  2. Zustandsbasierte Schaltsysteme

  3. Teil 1 Flip-Flops

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

  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. Zapfsäule als zustandsbasiertes System freigeben einhängen auslösende Aktion einhängen Anfangszustand bereit gesperrt Zustand freigeben Grundeigenschaft zustandsbasierter Systeme: 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.

  7. Binäre Kodierung freigeben einhängen einhängen Neuer Zustand Aktueller Zustand bereit gesperrt nichts machennichts machen freigebenfreigeben einhängeneinhängen einhängen und freigebeneinhängen und freigeben S 00 00 11 11 R 00 11 00 11 Q 01 01 01 01 Q‘ 01 00 11 freigeben Zustände: Q = 0: „bereit“Q = 1: „gesperrt“ Steuersignale: S: einhängenR: freigeben

  8. Entwicklung einer Schaltung nichts machennichts machen freigebenfreigeben einhängeneinhängen einhängen und freigebeneinhängen und freigeben S 00 11 R Q 01 01 Q‘ 01 11 Q 1 Q‘ S

  9. Entwicklung einer Schaltung nichts machennichts machen freigebenfreigeben einhängeneinhängen einhängen und freigebeneinhängen und freigeben S 00 00 11 R 00 11 00 Q 01 01 01 Q‘ 01 00 11 Q 1 S & Q‘ R

  10. Entwicklung einer Schaltung Q 1 S & Q‘ R Q 1 S 1 Q‘ R S 1 Q 1 Q‘ R

  11. Überprüfung der Schaltung S 1 P Bedingung: P = Q 1 Q R 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 unzulässig S = 1; R = 1; P = 1; Q = 0 P‘ = 0; Q‘ = 0

  12. Flip-Flop S S 00 00 11 11 R 00 11 00 11 Q 01 01 01 01 Q‘ 01 00 11 Funktion 1 P = Q Zustandbewahren Zustand zurücksetzen 1 Q R Zustandsetzen Flip-Flop-System Systemverhalten Eine Schaltung, die zwei stabile Zustände besitzt (bistabile Kippschaltung) wird als Flip-Flop bezeichnet.

  13. Flip-Flop als Speicherelement S 0 0 1 1 R 0 1 0 1 Q‘ Q 0 1 Funktion Bewahren Rücksetzen Setzen S 1 P = Q 1 Q R Flip-Flop-System Speicherelement S Q R Schaltsymbol 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.

  14. Zustandsgraph S = 0; R = 0 S = 0; R = 0 S = 0; R = 1 S = 1; R = 0 S = 1; R = 0 Q = 0 Q = 1 S 0 0 1 1 R 0 1 0 1 Q‘ Q 0 1 Funktion Bewahren Rücksetzen Setzen S = 0; R = 1 S R S = R = 1 vermeiden S Q = 0 Q = 1 R

  15. Übung S 0 0 1 1 R 0 1 0 1 Q‘ Q 0 1 Funktion Bewahren Rücksetzen Setzen S 1 P = Q 1 Q R Flip-Flop-System Speicherelement Aufgabe: Bauen Sie das Flip-Flop-System auf und testen Sie sein Verhalten.

  16. Übung S S 00 00 11 11 R 00 11 00 11 Q 01 01 01 01 Q‘ Funktion & Q & P R System Systemverhalten Aufgabe: Überlegen Sie zunächst, welche Werte Q´ annimmt. Bauen Sie anschließend die Schaltung auf und testen Sie sie.

  17. Teil 6 Taktgesteuerte Flip-Flops

  18. Asynchrone Schaltung S S 00 00 11 11 R 00 11 00 11 Q 01 01 01 01 Q‘ 01 00 11 -- Funktion 1 P = Q Speichern Rücksetzen 1 Q R Setzen 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. 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. 1-Zustand 0-Zustand Steigende Flanke Fallende Flanke

  20. Taktgesteuertes Flip-Flop Verhaltensspezifikation: C 0 1 1 1 1 S * 0 0 1 1 R * 0 1 0 1 Q‘ Q Q 0 1 S = R = 1 vermeiden C  S C  R C  S Q = 0 Q = 1 C  R

  21. Taktgesteuertes Flip-Flop Verhalten: Realisierung: C 0 1 1 1 1 S * 0 0 1 1 R * 0 1 0 1 Q‘ Q Q 0 1 S & S Q C R & R

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

  23. Master-Slave-Flip-Flop Master Slave S & & QM QS S S R R & & R 1 C

  24. Übung Aufgabe: Testen Sie die Flip-Flop-Schaltung und beschreiben Sie das Verhalten eines Master-Slave-Flip-Flops mit Hilfe eines Zustandsgraphen. QM = 0QS = 0 QM = 1QS = 0 QM = 0QS = 1 QM = 1QS = 1

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

  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. Lösung - Taktsteuerung C 0 1 1 1 1 S * 0 0 1 1 R * 0 1 0 1 Q‘ Q Q 0 1 S = R = 1 vermeiden C  S C  R C  S Q = 0 Q = 1 C  R C S R Q

  28. Lösung – MS-Flip-Flop Ein Zustandswechsel erfolgt beim Master-Slave-Flip-Flop um eine halbe Taktperiode verzögert. C  S C  R C  S QM = 0QS = 0 QM = 1QS = 0 C  R C C C  S QM = 0QS = 1 QM = 1QS = 1 C  R C  S C  S

  29. Lösung – D-Flip-Flop C D Q

  30. Flankengesteuertes D-Flip-Flop C C Ein Zustandswechsel kann nur bei einer steigenden Taktflanke erfolgen. C  D Z0 Q = 0 Z1 Q = 1 C C  D C  D C Z3 Q = 0 Z2 Q = 1 C  D C C C D Q 0 3 0 3 0 1 2 3 0 3 0 1 2 1 2 3

  31. Übung: Schieberegister Entwerfen und testen Sie ein 4-Bit-Schieberegister. 0 0 1 1 0 /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. Lösung: Schieberegister 0 0 1 1 0

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

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

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

  36. Lösung – Addierwerk

  37. Teil 2 Schaltwerke

  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. Systementwurf ENA NR Q D clk 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. Systemzustände ENA  NR D * ENA ENA  NR D Z0 Z1 * 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.

  41. Schaltungsentwurf ENA  NR D * ENA ENA  NR D Z0 Z1 * wenn QFF = 1 und ENA = 0 ENA 1 oder Q NR wenn ENA = 1 und NR = 1 und D = 1 D clk

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

  43. Lösung wenn QFF = 1 und ENA = 0 ENA 1 oder Q NR wenn ENA = 1 und NR = 1 und D = 1 D clk

  44. Exkurs: Register-Baustein hades.models.rtlib.register.RegRE 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

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

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

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

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

  49. Bestandteile eines Automaten ENA  NR D * ENA ENA  NR D Z0 Z1 Q = 0 Q = 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

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

More Related