2.4 Schaltwerke bauen
Systematisch Schaltwerke zu entwickeln ist nicht schwer. Im TGI wird dafür auf das Modell des Synchronen Moore-Automaten zurück gegriffen, siehe Vergleich verschiedener Automatentypen.
Mehrere D-FlipFlops werden zu einem Register zusammen gefasst. Die CLK-Eingänge der FF sind mit dem Takt verbunden und können dadurch ihre Zustände nur synchron zum Takt ändern. Zu jedem Zustand kann durch ein Ausgangsschaltnetz ein Ausgabemuster zugeordnet werden.

Zustandsdiagramm
Im Zustandsdiagramm für Digitaltechnik werden die Zustände durch Kreise dargestellt, hier drei Beispiele für unterschiedliche Darstellungen. In Digital wird bereits die Kodierung des Zustandes angezeigt. Die Alte Darstellung meint die alte TGI-Formelsammlung, die neue Darstellung die neue Formelsammlung. Allen gemein sind Zustandsname und die Angabe welche Werte im jeweiligen Zustand am Ausgang ausgegeben werden sollen. In Digital wird die Zustandskodierung oben immer angegeben, der Zustandsname ist optional.

Werte von Ausgängen in Digital im Zustand festlegen:
- Alle Ausgänge mit Werten aufführen:
a=1,b=0 - Nur die Ausgänge mit Wert 1 aufführen, die nicht aufgeführten haben dann den Wert 0:
a=1 - Wert von Leitungsbündel aufführen:
Y=10 (Y1=a=1,Y0=b=0)
Zustandsübergänge (Transitionen)

Die erste Transition ist der Sprung auf den Startzustand, die weiteren Zustandsübergänge erfolgen mit dem Takt, im ersten Beispiel ohne Bedingung.

Aus dem Zustandsdiagramm wird die Zustandsübergangstabelle erstellt, darin kann auch die Funktionstabelle für das Ausgangsschaltnetz enthalten sein. Daraus entsteht die Schaltung. Typische schriftliche (auf Papier) Prüfungsaufgabe:
- Erstelle aus Aufgabenstellung Zustandsdiagramm.
- Ermittle die Anzahl der notwendigen FlipFlops.
- Erstelle kodierte Zustandsübergangstabelle: Zu jedem Zustand muss die Kodierung der FlipFlop-Werte bekannt sein (Ist in Digital der oberste Wert im Kreis).
- Erstelle Funktionstabelle für das Ausgangsschaltnetz.
- Erstelle aus der Tabelle die Funktionsgleichung für b in DNF.
Zustand (State) | Z1n | Z0n | Z1n+1 | Z0n+1 |
---|---|---|---|---|
S0 | 0 | 0 | 0 | 1 |
S1 | 0 | 1 | 1 | 0 |
S3 | 1 | 0 | 0 | 0 |
Nicht aufgeführte Codierungen werden als Don’t Cares interpretiert, also ist
Zn = 0b11 -> Zn+1 = 0bxx.

Z1n | Z0n | a | b |
---|---|---|---|
0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 |
Aufgabe: Kreisblinklicht
Ein Kreisblinklicht soll entwickelt werden, ein Lichtpunkt läuft im Kreis durch L0,L1,L2,L0…
In Digital kann dies in nebenstehenden Varianten im Zustandsdiagramm dargestellt werden. Welche Darstellung finden Sie besser?
Erstellen Sie per Hand die codierte Zustandsübergangstabelle mit Ausgängen:
State | Z1n,Z0n | Z1n+1,Z0n+1
Erstellen Sie per Hand die Funktionstabelle für das Ausgangsschaltnetz:
Z1n,Z0n | L2,L1,L0
Wenn wenig Eingänge vorhanden sind kann das auch in einer Tabelle gemacht werden:
State | Z1n,Z0n | Z1n+1,Z0n+1 | L2,L1,L0
Erstellen Sie mit Digital das Zustandsdiagramm, erzeugen Sie die Zustandsübergangstabelle und die Schaltung. Ggfs. müssen die Ausgänge L0..L2 in Digital umsortiert werden.
Aufgabe: Würfel von 1 bis 6
Ein digitaler Würfel von 1 bis 6 soll mit einer Siebensegmentanzeige entwickelt werden. Dazu soll ein Schaltwerk die Werte 1 bis 6 ausgeben, die Siebensegmentanzeige hat bereits einen Dekoder eingebaut. Gegeben ist das Diagramm rechts.
Hinweis: In Digital werden die Werte von nicht angegebenen Ausgangs-Variablen mit 0 vermutet. Bei Leitungsbündeln wie Q=(Q2,Q1,Q0)=0b110 ist Q=110 ist möglich.
Erstellen Sie die Zustandsübergangstabelle usw.
Digital-Lösungen:

ToDo: Aufgabe Ampelsteuerung
Siehe mezdata.de/ti-basis/280_die-ampel/index.php
Schaltwerk mit Eingang
Das Kreisblinklicht soll jetzt mit einem Eingang E gesteuert werden können, nur wenn E=1 ist fängt es an im Kreis zu laufen.
Erstellen Sie eine Zustandsdiagramm in Digital und erzeugen Sie die Zustandsübergangstabelle. Warum wird eine weitere Spalte für E eingefügt?
Erzeugen und testen Sie die Schaltung.
Umschaltbare Anzeige
Eine Anzeige mit 3 Lampen soll mit einem Schalter X eine umschaltbare Ausgabe erzeugen.


Beim Zustandsdiagramm müssen bei den Transitionen die Schalterstellung von X berücksichtigt werden.
Beim VSN kommt eine Eingabe X hinzu.
Das ASN ermittelt beim Moore-Automat nur aus den Registerzuständen die Ausgabe. Eingaben wie X spielen dabei keine Rolle!




Aufgabe: Umschaltbare Anzeige
Eine Anzeige mit 3 Lampen soll mit einem Schalter X eine umschaltbare Ausgabe erzeugen.


Zunächst alles per Hand machen:
- Erstellen Sie ein Zustandsdiagramm mit den Zuständen S0..S2.
- Zeichnen Sie ein Blockschaltbild mit VSN,Register, ASN.
- Erstellen Sie eine codierte Zustandsübergangstabelle: State | Z1n,Z0n | X | Z1n+1,Z0n+1
- Erstellen Sie die Funktionstabelle für das Ausgangsschaltnetz.
Mit Digital die Lösung überprüfen.
Lösung

State | Z1n | Z0n | X | Z1n+1 | Z0n+1 |
---|---|---|---|---|---|
S0 | 0 | 0 | x | 0 | 1 |
S1 | 0 | 1 | 0 | 0 | 0 |
S1 | 0 | 1 | 1 | 1 | 0 |
S2 | 1 | 0 | x | 0 | 0 |
Z1n | Z0n | L2 | L1 | L0 |
---|---|---|---|---|
0 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |

Digital kennt nicht die Zusammenfassungen der Zustände mit Xen auf der linken Seite, ausserdem kombiniert es immer die Zustandsübergangstabelle mit dem Ausgangsschaltnetz.
ToDo: Aufgabe: Fußgängerampel
Siehe mezdata.de/ti-basis/280_die-ampel/index.php
Aufgabe: CTR DIV4 mit umschaltbarer Zählrichtung
Entwickeln Sie einen Zähler 0..3 bei dem mit einem Eingang X die Zählrichtung bestimmt werden kann: X=0 vorwärts, X=1 rückwärts: Blockschaltbild, Zustandsdiagramm, Zustandsübergangstabelle, (mit Digital Schaltplan).
Lösung

CTR DIV4 mit synchronem und asynchronem Reset

Wenn wir Schaltwerke mit Zustandsdiagrammen bauen passieren die Transitionen immer bei steigender Taktflanke, also synchron zum Takt. Manchmal wäre ein Schaltwerk praktisch, dass sich sofort (asynchron) zurücksetzten ließe. Hier ein Beispiel mit einem CTR DIV4 Zähler, der Eingang Clr setzt den Zähler bei steigender Flanke und der Eingang R sofort auf 0. Mit dem D-FF mit asynchronen Set- und Clr-Eingängen aus Digital kann das realisiert werden.
Aufgabe: CTR DIV4 mit synchronem und asynchronem Reset analysieren
Für eine Verständnisaufgabe bzgl. Synchronen und Asynchronen Reset eines Zählers wurde eine Testschaltung erdacht. Ein Umschalter kann ein Resetsignal A beim Wert ? wahlweise an einen synchronen Eingang Clr oder an einen asynchronen Eingang R zwecks Rückstellen des Zählers auf 0 umschalten. Vermuten Sie bei der jeweiligen Schalterstellung ein Timing mit Gatterdurchlaufzeiten und überprüfen Sie ihre Vermutung mit Digital.

- Erklären Sie den Unterschied zwischen synchronem und asynchronem Reset.
- An den Eingängen Clr und R wurden Bauteile angeschlossen, wie nennt man diese Bauteile und welche Aufgabe haben sie hier?
- Bei welchen Zuständen Q=(Q1,Q0) als Dualzahl ist das Signal A = 1?
- Erstellen Sie ein Timingdiagramm mit Berücksichtigung von Gatterdurchlaufzeiten für die Schalterstellung R.
- Erstellen Sie ein Timingdiagramm mit Berücksichtigung von Gatterdurchlaufzeiten für die Schalterstellung Clr.
Überprüfen Sie ihre Timingdiagramme mit Digital.
Hinweis zu Timingdiagrammen mit Gatterduchlaufzeiten bei Digital: Es werden bei zusammengesetzten Baugruppen wie dem CTR DIV4 mehr Zeiteinheiten angezeigt als bei der Annahme einer Zeiteinheit Verzögerung durch diese Baugruppe.
Übung: Zähler DIV4 mit synchronem und asynchronem Reset entwickeln
- Zustandsdiagramm mit Clr-Transitionen nach 0.
- Zustandsübergangstabelle
- Schaltung erzeugen
- Die einfachen D-FF durch Version mit asynchronem Set und Clr ersetzten, die Clr-Eingänge als Reset-Eingang zusammenschließen
Aufgabe: Code-Schloss
Eine Tür wird durch ein Codeschloss durch Drücken der Taster a,b,x geöffnet. Die Taster müssen nacheinander gedrückt und wieder losgelassen werden. Der Türschnappermagnet bleibt solange Taster x gedrückt ist geöffnet. Beim Drücken einer falschen Taste wird in einen Fehler-Zustand verzweigt, der durch Drücken der Taste x wieder verlassen werden kann.

Erstellen Sie eine codierte Zustandsübergangstabelle und eine Funktionstabelle für das Ausgangsschaltnetz.
Mein Zustandsdiagramm

Aufgaben mit Schrittmotor
Info Schrittmotor: [🔗 https://de.wikipedia.org/wiki/Schrittmotor] [So funktionieren Schrittmotoren, einfach erklärt!: 🔗 https://www.youtube.com/watch?v=aysx3r_nPCo]
Im Bild wird ein unipolarer Schrittmotor im Wave-Drive-Modus angesteuert.
Phase | Wave-Drive (weniger Strom) | Full-Step (mehr Kraft) | Half-Step (mehr Schritte) |
---|---|---|---|
0 | 0b0001 = 1 | 0b0011 = 3 | 0b0001 = 1 |
1 | 0b0010 = 2 | 0b0110 = 6 | 0b0011 = 3 |
2 | 0b0100 = 4 | 0b1100 = 12 = 0xC | 0b0010 = 2 |
3 | 0b1000 = 8 | 0b1001 = 9 | 0b0110 = 6 |
4 | – | – | 0b0100 = 4 |
5 | – | – | 0b1100 = 12 = 0xC |
6 | – | – | 0b1000 = 8 |
7 | – | – | 0x1001 = 9 |
Schaltwerk für Full-Step-Modus entwickeln
Statt mit Wave-Drive soll der Schrittmotor im Full-Step-Modus angesteuert werden. Entwickeln Sie ein Schaltwerk dafür.
Lösung Zustandsdiagramm
Lösung Schaltung
Schaltwerk für Steuerung mit Endschaltern entwickeln
Der Schrittmotor hat oben und unten Endschalter S_oben und S_unten. Entwickeln Sie ein Schaltwerk, dass den Motor immer zwischen beiden Endschaltern hin und her laufen lässt.
Hier wird ein 2 Bit Zähler mit veränderbarer Zählrichtung verwendet, Bedeutung der Eingänge:
- en: Enable, Zähler verarbeitet Clk-Impulse
- dir: Gibt die Zählrichung vor, 0=aufwärts; 1=abwärts
- in: Wert mit dem Zähler geladen werden kann bei ld=1. Muss Bitbreite des Zählers haben!
- ld: Load, bei 1 wird in als Zählstand synchron übernommen
- clr: Zähler wird synchron auf 0 gesetzt
Anzeige der Position mit 2 7-Segmentanzeigen
Die Zählposition soll mit 2 7-Segmentanzeigen dezimal angezeigt werden. Tipp: 2.2 Zähler (a-)synchron, Zustandsdiagramm
Lösung
Einstellbare Position mit Vergleichswert
Statt dem unteren Endschalter soll nun ein einstellbarer Vergleichswert für die Umkehr des Zähler sorgen. Der Zähler wird dazu auf 5 Bit erweitert und ein Eingang Vergleichswert gibt die Umkehr-Position vor.
Vervollständigen Sie die Vorgabe.
Tipp: Die Motorphase ist Zählwert%4.
Was passiert, wenn der Vergleichswert unter dem aktuellen Zählwert liegt?