Binärer synchroner Vorwärts/Rückwärts-Zähler Die zyklischen Folgen sind einfach zu veranschaulichen x = x = Damit sind aber noch nicht alle möglichen Übergänge erfasst Man muss nämlich berücksichtigen, dass sich der Zähler in einem beliebigen Zustand befinden kann, wenn x umgeschaltet wird Der Übergangsgraph wird jetzt deutlich komplexer x = x = Im Graphen wird ein Problem erkennbar: Jeder Zustand ist für sich aus der Kombination von Zustandsvektor S n und Eingangsvektor E n eindeutig erkennbar Aber es sind zwei Übergänge aus jedem Zustand möglich und es fehlt das Merkmal, an dem man erkennen kann, welcher Übergang auszuführen ist Das Problem ist dann lösbar, wenn man einen Unterschied zwischen der aktuellen Zählrichtung und einer neu eingestellten machen kann Das aber ist möglich, wenn es einen Zustandsspeicher gibt, der die aktuelle Zählrichtung angibt, die mit derjenigen am Eingang verglichen werden kann Das bedeutet ein zusätzliches Flip- Flop Takt Es gilt das nebenstehende Automatenmodell S n+ S n T-FF 3 Das Übergangsschaltnetz wird von 6 unabhängigen Schaltvariablen bestimmt Die Übergangstabelle muss also 64 Eingangskombinationen berücksichtigen Davon sind 4 Übergänge relevant und 4 redundant Die folgende Übergangstabelle ist für den Entwurf des Übergangsschaltnetzes maßgeblich (R = für T-FF Richtung ) X n T-FF T-FF T-FF T-FF Richtung 6
n n+ n+ x R s 3 s s s R s 3 s s s R s 3 s' s s Übung: Ergänzen Sie in der Übergangstabelle die fehlenden Zustandsübergänge und für einige willkürlich ausgewählte Kombinationen auch die T-Flip-Flop-Eingänge, damit das Prinzip geübt ist Das ist ein sehr komplexes Entwurfsproblem, das hier nicht vollständig behandelt werden soll 6
Übung: Die Schaltung wird deutlich weniger komplex, wenn man eine Umschaltung nicht in jedem Zustand des Schaltwerkes zulässt, sondern nur in je nach Zählrichtung einem Zustand, zb im Zustand Wie viele relevante Übergänge sind jetzt zu berücksichtigen? Ändert sich gegenüber dem vollständigen Ansatz etwas am Automatenmodell? An den beiden Zähler-Beispielen sollten die grundsätzlichen Merkmale des Entwurfes des es deutlich gemacht werden Im Folgenden soll der Entwurf des Ausgabe-es im Vordergrund stehen Schaltwerke mit zustandsgesteuerter Ausgabe Das klassische Beispiel für ein Schaltwerk mit einer zustandsgesteuerten Ausgabe ist die Steuerung einer Ampelanlage Beispiel für eine Ampel-Steuerung: Gruppen / und 3/4 zueinander feindlich Rot/ Gelb/ Grün/ Rot3/4 Gelb3/4 Grün3/4 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 7
Wird das synchrone Schaltwerk im Sekundentakt getaktet, erhält man eine Zykluszeit von 64 Sekunden Die Phasendauern werden auf den Zählerstand bezogen, der als binärer Aufwärtszähler realisiert wird An diesem Beispiel kann man auf eine Unzulänglichkeit des bisher benutzten Automatenmodells hinweisen Um verschiedene Programme abhängig von der Tageszeit einstellen zu können, sollte im Modell von vorneherein die Möglichkeit vorgesehen sein, auch das Ausgabe- durch Eingangsvariable zu beeinflussen Im Falle der Ampelsteuerung ist es notwendig, sich an die tageszeitlich unterschiedlichen Verkehrsbedingungen anzupassen Es kann sich dabei herausstellen, dass der Grundzyklus nicht angepasst werden muss Dh, dass nur die Ausgabe anpassbar sein muss Man stellt die Ausgabefolgen für die verschiedenen Verkehrsbedingungen auf Wenn man diese nacheinander in einen Speicher lädt, dienen die 6 niederwertigen Adressbits für die Adressierung der Ausgaben innerhalb einer Folge Die als Teil des Eingabevektors gelieferten zusätzlichen Adressbits dienen der Auswahl der konkreten Folge, die zur Ausführung kommen soll Takt A Anfangsadresse A 7 A 6 S n+ T-FF 5 T-FF 4 T-FF 3 T-FF S n wie Aufwärtszähler Ausgabezuordnung durch Speicher: einstellbare Anfangsadresse bestimmt Ausgabe- Programm T-FF T-FF Steuervariablen für die Lampenrelais Es ist also sinnvoll, nicht nur das durch Eingangsvariablen zu beeinflussen, sondern auch das Ausgabe- Welche Eingangsvariablen auf das jeweilige wirken sollen, legt die Anwendung fest Die Erweiterung des grundsätzlichen Modells ist in folgendem Schema dargestellt 7
Takt X n FF S n+ S n Ausgabe- Y n FF m S n Zur Schärfung des Problembewusstseins: Ein Schema schafft nur Ordnung beim Entwurf, der Teufel (oder die Teufelskunst!) steckt im Detail Die Grenzen der Entwurfsmethode Mit der Erweiterung der Anforderungen an die Steuerung der Ampelanlage kann die Flexibilität der Entwurfsmethode in Bezug auf veränderliche Betriebsbedingungen getestet werden Solange man die Übergänge nicht ändert, braucht man am Übergangsschaltnetz nichts zu ändern Die Anpassung der Ausgabe auf unterschiedliche Leuchtfolgen (Leuchtprogramme) ist auf der Basis der Realisierung mit Speichern relativ einfach zu realisieren Nun ist damit das Problem eigentlich nur halb gelöst Im Allgemeinen möchte man auch den Zyklus anpassen, zb, wenn man ihn verkürzen will Das testet die Flexibilität der Entwurfsmethode noch mehr Die größte Flexibilität bei der Verkürzung des Zyklus hat man dann, wenn man frei einen Zustand auswählen kann, nach dem das Schaltwerk zum Anfangszustand zurückkehrt (anders ausgedrückt: zum Anfang springt oder zum Anfang verzweigt) Es wird also gefordert, dass jeder Schaltwerkszustand danach bewertet wird, ob er der Endzustand ist oder nicht Das kann man durch einen Vergleich des aktuellen mit dem vorgegebenen Endzustand machen Solange die beiden ungleich sind, sollen die normalen Übergänge gelten Sobald sie gleich sind, soll der Ausnahmeübergang gelten Im Grunde soll diese Devise gewährleisten, dass möglichst viel von dem vorhandenen Entwurf erhalten bleibt und die Lösung für das erweiterte Problem als Ergänzung erfolgt 7
Wenn man das für die normalen Übergänge erhalten will und ein für die Ausnahmeübergänge ergänzt, dann muss man die Struktur so gestalten, dass beide e alternativ und gleichartig die zukünftigen Zustandsvektoren liefern können Das wird in folgendem Konzept deutlich Takt A Anfangsadresse A 7 A 6 S n+ T-FF 5 T-FF 4 T-FF 3 T-FF S n Ausgabezuordnung durch Speicher: einstellbare Anfangsadresse bestimmt Ausgabe- Programm T-FF T-FF Zustand für Neubeginn Vergleich: bei Gleichheit: Neubeginn; sonst: normal weiter wie Aufwärtszähler Steuervariable für die Lampenrelais Das Konzept sagt noch nichts über die Realisierung des alternativen Aufschaltens Übung: Bevor Sie jetzt weiter lesen, können Sie sich selbst fragen, welche Schaltungen, die Sie bisher kennen gelernt haben, Ihnen bei der Lösung des Problems helfen könnten Auf den nächsten Seiten werden Ihnen mehrere Lösungen vorgestellt Sie haben die Chance, wenigstens eine zu erfinden, bevor Sie weiterblättern (Ingenieur = Erfinder!) 73
Die erste Lösung nutzt die Multiplexer-Schaltung in Zusammenarbeit mit einer Antivalenz-, also EXOR-Schaltung Zustand für Neubeginn = = = = = = > wie Aufwärtszähler Übung: Verifizieren Sie die Schaltung im Sinne der Aufgabenstellung Unter welchen Bedingungen wäre die Schaltung geeignet, zu einem beliebigen Zustand zu verzweigen? 74
Da zum Anfangszustand verzweigt wird, in dem alle Flip-Flops sind, kann man in diesem Fall auch eine einfachere Schaltung vorsehen Zustand = = für = = Neubeginn = = > wie Aufwärtszähler 75
Die dritte Lösung realisiert das wahlweise Durchschalten zu den T-Flip-Flops mit Hilfe eines exklusiven Aufschaltens auf ein Sammelleitungssystem, das man Bussystem nennt Zustand = = für = = Neubeginn = = > wie Aufwärtszähler Jeder Ausgangstreiber der beiden alternativen Schaltungen hat zwei alternative Betriebsarten: Spannungswerte zum Ausgangspin durchschalten, oder keine leitende Verbindung des Ausgangspin zur Spannungsversorgung und zum Bezugspotential, anders ausgedrückt: die Schaltung vom Ausgangspin trennen oder abkoppeln oder hochohmig schalten Im durchlassenden Betrieb gibt es den Low- und den High-Schaltzustand Der hochohmige Zustand kommt als dritter Schaltzustand hinzu Solche Treiber heißen Tristate-Treiber Es ist ohne weitere Erklärung plausibel, dass mehr als zwei Einheiten mit ihren Treibern alternativ das Leitungssystem benutzen können und dass nicht nur eine Empfänger-Schaltung erreichbar ist (wie im Beispiel), sondern mehrere Wenn mehrere Einheiten ein Bussystem benutzen sollen, dann ist die Entscheidung darüber, wer darf, nicht mehr so einfach wie im Beispiel Dann muss man eine Schaltung vorsehen, die auf der Basis von Anfragewünschen eine Entscheidung nach Priorität trifft und dann gezielt eine Bewilligung zu derjenigen Einheit signalisiert, die die höchste Priorität hat 76
All diese Entwurfsalternativen zeigen, dass es sehr aufwendig werden kann, das ursprüngliche Entwurfskonzept an erweiternde Aufgabenstellungen anzupassen Was hat man denn mit der erweiternden Aufgabenstellung mehr erreichen wollen? Im Prinzip sollte eine Verzweigung in Abhängigkeit von bestimmten äußeren Konditionen erreicht werden Das Beispiel hat also das Problem von bedingten Abläufen aufgegriffen und es hat sich herausgestellt, dass die Entwurfsmethode wenig flexibel ist, sobald solche Aufgabenstellungen entstehen Bedingte Programmabläufe sind aber die Stärke der Einheiten, die über eine Programmablaufsteuerung verfügen, also Einheiten mit Computerarchitektur Die Konkretisierung des Schaltungsentwurfes muss sich unter diesen Gesichtspunkten hier teilen in den Entwurf für Automaten mit geringen Anforderungen an die Anpassungsfähigkeit der und Ausgabeeigenschaften während des späteren Betriebes Das ist zb das weite Feld der Steuerschaltungen innerhalb von Computern bzw von Einheiten mit Computerstruktur Ziel der Entwicklung ist ein Schaltungskonzept, das eine hohe Gesamtleistung der Einheit garantiert Die Berücksichtigung zukünftiger anpassender Änderungen behindert eher den Entwicklungsprozess im Blickwinkel der Geschwindigkeitsoptimierung Das ist das Feld der Entwürfe der Computerarchitektur in den Entwurf für Automaten mit merklichen Anforderungen an die Anpassungsfähigkeit der und Ausgabeeigenschaften während des späteren Betriebes Das ist das Feld der Steuerschaltungen, die zur Realisierung Einheiten mit Programmierfähigkeit brauchen die also über eine geeignete Programmablaufsteuerung verfügen Da die Einheiten mit Computerstruktur Mittel zum Zweck sind, dh eine Steuerungsaufgabe innerhalb einer Anwendung lösen, werden sie mit dem Zusatz embedded versehen Die Begriffsbildung kann vom verwendeten Computertyp ausgehen: dann spricht man von Embedded Computer oder Embedded Microcontroller Man kann aber auch vom Zweck als Steuerzentrale innerhalb der Anwendung ausgehen, die Embedded Controller genannt wird (was auch manchmal als Verkürzung von Embedded Microcontroller verwendet wird) Im Folgenden wird der Entwurf von ausgeklügelten Schaltungen für die Computerarchitektur nicht weiter verfolgt Da die Realisierung von Automaten mit computergestützten Einheiten ganz wesentlich vom maschinennahen Programmieren abhängig ist, sollen die Grundlagen hierfür diskutiert werden 77