Praxisintegrierter Studiengang Mechatronik/Automatisierung Digitaltechnik Lerneinheit 3 Anwendung sequentieller Schaltungen Dr. Volker Lohweg 004450-001079/Februar 2006 Diese Lerneinheit wurde für den Studiengang Elektrotechnik der Fachhochschule Südwestfalen entwickelt und wird im praxisintegrierten Studium der Fachhochschule Bielefeld eingesetzt. Stand: Februar 2006 © 2004 Fachhochschule Südwestfalen Das Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere das Recht der Vervielfältigung und Verbreitung sowie der Übersetzung und des Nachdrucks, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Kein Teil des Werkes darf in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder ein anderes Verfahren) ohne schriftliche Genehmigung der Fachhochschule Südwestfalen reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. Redaktion: Institut für Verbundstudien der Fachhochschulen Nordrhein-Westfalens – IfV NRW Im Alten Holz 131, D-58093 Hagen Telefon +49 (0) 2331 9330–901, Telefax +49 (0) 2331 9330–903 Internet: http://www.ifv-nrw.de/ Inhaltsverzeichnis 3 Inhaltsverzeichnis Geleitwort zur dritten Lerneinheit ............................................................................................. ........... 5 9 Anwendung sequentielle r Schaltungen...................................................................6 9.1 Zähler- und Frequenzte ilerschaltungen.......................................................................... 6 9.1.1 Asynchrone Schaltungen................................................................................................ 7 9.1.1.1 Asynchroner Aufwärts-Dualzähler .................................................................................. 7 9.1.1.2 Asynchroner Abwärts-Dualzähler ................................................................................... 8 9.1.1.3 Asynchroner BCD-Zähler................................................................................................ 9 9.1.2 Synchrone Schaltungen................................................................................................ 11 9.1.3 Entwurf synchroner Zä hler und Teiler .......................................................................... 11 9.1.3.1 Einführung .................................................................................................................... 1 1 9.1.3.2 Schaltungssynthese mit Übergangstabellen ................................................................ 13 9.1.3.3 Algebraische Schaltungssynthese................................................................................ 20 9.1.3.4 Praktische Hinweise zum Entwurf synchroner Schaltungen ........................................ 22 9.2 Teilerschaltungen ......................................................................................................... 28 9.2.1 Asynchrone Teiler......................................................................................................... 29 9.2.2 Synchrone Teiler........................................................................................................... 32 9.3 Register ....................................................................................................................... . 33 9.3.1 Pufferregister ................................................................................................................ 3 3 9.3.2 Schieberegister............................................................................................................. 34 9.3.2.1 Serielle Datenübertragung............................................................................................ 35 9.3.2.2 Rechenoperationen ...................................................................................................... 36 9.3.2.3 Rückgekoppelte Schieberegister .................................................................................. 37 10 Lösungen der Au fgaben .........................................................................................43 10.1 Sequentielle Schaltungen ............................................................................................. 43 Literaturverzeichnis ........................................................................................................... ................ 48 Abbildungsverzeichnis .......................................................................................................... ............ 49 Tabellenverzeichnis ............................................................................................................ .............. 50 Inhaltsverzeichnis 4 Geleitwort zur dritten Lerneinheit 5 Geleitwort zur dritten Lerneinheit In der dritten Lerneinheit werden die Konzepte sequentieller Schal- tungen weiter vertieft. Im Mittelpunkt stehen Zähler- und Teiler- schaltungen sowie Sequenzer. Die Lerneinheit endet mit einem Ü- berblick über Schieberegister-Schaltungen und deren Anwendung. Im Anschluss an einzelne Abschni tte werden Übungsaufgaben ge- stellt, die Sie unbedingt vor der weiteren Bearbeitung des Stoffes lösen sollten. Darüber hinaus wird dringend empfohlen, die zahlrei- chen Beispiele nachzuvollziehen. Sie dienen zur Vertiefung der Lehrinhalte. Die Lösungen der Übungsaufgaben fi nden Sie am Ende der Lernein- heit. Literaturangaben sind ebenso am Ende der Lerneinheit angege- ben. Dabei wurde Wert darauf gele gt, neben einführender Literatur, auch vertiefende und weiterführen de anzugeben. Im Gegenzug wur- de allerdings darauf verzichtet Originalaufsätze im Einzelnen zu zitieren. 9 Anwendung sequentieller Schaltungen 6 9 Anwendung sequentieller Schaltungen 9.1 Zähler- und Frequenzteilerschaltungen Zähler- und Frequenzteilerschaltung en sind typische Vertreter se- quentieller Schaltungen. Sie sind in allen Bereichen der Elektronik zu finden. Denken Sie an Geräte de r Messtechnik, aber auch an unser tägliches Leben: Digitaluhr, Kilome terzähler, usw. Digitale Zähler- schaltungen bestehen aus Flipflop s und kombinatorischer Logik. Prinzipiell gibt es keine Untersch iede zwischen Zählern und Teilern – sofern man den inneren Aufbau der Schaltungen betrachtet. Ge- meinsam ist, dass ein Zähler mit N Zuständen und ein Frequenzteiler, der aus einem Eingangstakt der Taktrate f eine Impulsfolge der redu- zierten Taktrate N f f = red bildet, durch dieselbe Schaltung realisiert werden kann. Dennoch gibt es Un terschiede, die Mit Hilfe der fol- genden Definitionen erklärt werden sollen. Definition 9.1 (Zähler) Ein Zähler ist eine sequentielle Schaltung mit N Flipflops und N Zählausgängen, die ausgewertet werden. Die Flipflops können durch Initialisieren – also Setzen, Rücksetzen und Laden in ei- nen definierten Anfangszustand gebracht werden. Von diesem Anfangszustand aus erfolgt die Zä hlung bis zu einem definierten Wert. Definition 9.2 (Teiler) Ein Teiler ist eine sequentielle Schaltung mit N Flipflops und – in der Regel – einem Ausgang, de r die reduzierte Taktrate aus- gibt. Eine Initialisierung ist ni cht notwendig, da erwartet wird, dass erst im „eingeschwungene n“ Zustand der Ausgang das ent- sprechende Ergebnis, dann aber für eine „lange“ Zeit, liefert. Bei der Realisierung von Zählern und Frequenzteilern unterscheidet man zwischen asynchronen und synchronen Schaltungen. Bei asyn- chronen Schaltungen wird für jedes Flipflop ein eigener Takt er- zeugt. Dieser wird in der Regel von einem Ausgangssignal des vor- herigen Flipflops abgeleitet. Synchrone Schaltungen operieren mit einem gemeinsamen Takt für alle Flipflops. Der Takt bestimmt die Geschwindigkeit der gesamten Schaltung. Üblicherweise sind sync hrone Schaltungen schneller, und es sind Methoden bekannt, die ei nen systematischen Entwurf zulas- sen. Dennoch sollen in diesem Abschn itt asynchrone Schaltungen kurz diskutiert werden, da sie in ei nfachen Applikationen Verwendung finden. Grundsätzlich gilt aber: 9.1 Zähler- und Frequenzteilerschaltungen 7 Goldene Regel Verwenden Sie – wann immer möglich – synchrone Schaltun- gen. 9.1.1 Asynchrone Schaltungen Wir wollen in diesem Abschnitt nä her auf einige „Klassiker“ der digitalen Zählerschaltungen eingehen. Es sei darauf hingewiesen, dass der Entwurf asynchroner Schalt ungen oftmals intuitiv geschieht, obwohl aus der Literatur Entwurfsmethoden bekannt sind. Sie sind jedoch nicht so eingängig wie bei synchronen Schaltungen. 9.1.1.1 Asynchroner Aufwärts-Dualzähler Zähler, die das Zählergebnis als Dualzahl an ihren Ausgängen zur Verfügung stellen, werden als Dual zähler bezeichnet. Der asynchro- ne Dualzähler ist die einfachste Va riante aller Zähler. An der Schal- tung lassen sich dennoch die typi schen Nachteile asynchroner Schal- tungen aufzeigen. Für den Dualzähler lassen sich alle Arten flankengetriggerter und Master-Slave- Flipflops einsetze n. Das Konzept der asynchronen Zähler basiert auf der Kaskadieru ng einfacher Frequenzteiler mit Flipflops. Aus der zweiten Lerneinh eit ist bekannt, dass mit Flipflops Frequenzteiler aufgebaut werden können. In diesem Zusammenhang denke man an das rückgekoppelte D-FF oder an das T-FF, das aus einem JK-FF entstanden ist. Wird ein T-FF (JK-FF) verwendet, wird mit jedem Takt im Verhält- nis 1:2 geteilt. Schaltet man N FFs hintereinander, wird an jeder Stu- fe der Takt um den Faktor 2 gete ilt. Greift man die Ausgänge jedes FFs ab, erhält man einen asynchro nen Dualzähler. Die Abbildung 9.1 zeigt einen asynchronen 4-Bit-Aufwärts-Dualzähler mit JK-FFs, die auf der negativen Taktflanke triggern. Die JK-FFs sind als T-FFs geschaltet. J Q Q K J Q Q K J Q Q K J Q Q K 1 1 1 1 QA QB QC QD Clock Abbildung 9.1: Asynchroner 4-Bit-Aufwärts-Dualzähler. Die Ausgänge werden mit Q A , Q B , Q C und Q D bezeichnet. Wir gehen davon aus, dass der Set- und Clear-Ein gang nicht belegt ist, aber sich beim Einschalten der Anfangszustand 0000 ergibt. Es ist zu erken- 9 Anwendung sequentieller Schaltungen 8 nen, dass jedes FF als Frequenzteile r arbeitet. Lediglich das erste FF wird mit einem Clock belegt. Bei allen anderen wird der jeweilige Ausgang Q benutzt, um das nachfolg ende FF zu triggern. Der Zähler beginnt bei 0000 und zählt bis 111 1. Danach beginnt er von vorne. Zeichnet man den Signalverlauf de r Ausgänge auf, erhält man das folgende Zeitdiagramm (vgl. Abb. 9.2): Clock QA QB QC QD CO t CO t 2 CO t 3 CO t 4 Abbildung 9.2: Zeitdiagramm ei nes asynchronen 4-Bit-Aufwärts- Zählers. Sie sehen, dass die Clock-to-Output Zeit der FFs eine entscheidende Rolle spielt. Durch die asynchrone Weiterleitung des Signals addiert sich in unserem Fall die Gesamtdurchlaufzeit zu CO t ⋅ 4 auf. Das bedeutet, dass insbesondere im Übergang von 0111 nach 1000 die Schaltung für nur eine kurze Zeit in einem stabilen Zustand verharrt. Innerhalb dieser Zeit muss das Ergebnis abgetastet werden. Aus die- sem Grund können asynchrone Zähler nur bis zu einer so genannten Maximaltaktrate betrieben werden. Diese wird von Halbleiterherstel- ler angegeben. Sie berechnet sich wie folgt: CO t N f ⋅ = 1 max (9.1) Dabei ist N die Anzahl der verwendeten FFs. Das grundsätzliche Problem asynchroner Zähler ist an Gleichung 9.1 sofort zu erkennen. Schaltungen mit großen Bitbreiten sind langsam. Hier helfen nur Flipflops mit sehr kurzen Clock-to-Output Zeiten. 9.1.1.2 Asynchroner Abwärts-Dualzähler Ebenso wie der Aufwärtszähler lässt sich der Abwärtszähler realisie- ren. Dazu wird der Ausgang des FFs invertiert und an den Clock- Eingang des Folge-Flipflops geleite t. Zur Inversion wird der jeweili- ge Q - Ausgang verwendet. Abbildung 9.3 zeigt die Schaltung. Wir gehen davon aus, dass der Set- und Clear-Eingang nicht belegt ist, aber sich beim Einschalten der Anfangszustand 0000 ergibt. 9.1 Zähler- und Frequenzteilerschaltungen 9 J Q Q K SET CLR J Q Q K SET CLR J Q Q K SET CLR J Q Q K SET CLR 1 1 1 1 QA QB QC QD Clock Abbildung 9.3: Asynchroner 4-Bit-Abwärts-Dualzähler. Das Zeitdiagramm ist in Abbildung 9.4 dargestellt. Clock QA QB QC QD Abbildung 9.4: Zeitdiagramm ei nes asynchronen 4-Bit-Abwärts- Zählers. Der Zähler startet in diesem Fall bei 1111 und zählt rückwärts bis 0000. Beachten Sie auch bei dieser Schaltung die Verschiebung der Ausgänge durch die asynchrone Ausführung des Zählers. 9.1.1.3 Asynchroner BCD-Zähler Neben den vorgestellten Schaltungen lassen sich auch weitere reali- sieren. Als Beispiel soll ein 4- Bit-BCD-Aufwärts-Zähler dienen, dessen Schaltung in Abbildung 9.5 dargestellt ist. J Q Q K J Q Q K J Q Q K J Q Q K 1 1 1 1 1 1 QA QB QC QD Clock & Abbildung 9.5: 4-Bit-BCD-Aufwärts-Zähler. Die Schaltung zählt von 0000 bis 1001 und beginnt danach wieder von vorne. Mit Hilfe der Wahrheitsta belle 7.5 (JK-FF) lässt sich die Schaltung analysieren. 9 Anwendung sequentieller Schaltungen 10 Das erste FF arbeitet als T-FF. Da s zweite FF arbeitet ebenso als Frequenzteiler, da angenommen wird, dass der Ausgang D Q beim Start 1 ist, da J D = 0 ist. Das dritte FF arbeitet wiederum als T-FF. Somit zählt die Schaltung bis 0110; das UND-Gatter setzt das vierte FF. Der Wert J D = 1 wird jedoch erst mit der fallenden Flanke von Q A übernommen (0111), was dazu führt, dass die Zahl 1000 erreicht wurde. Damit ist J D = 0, Q A wechselt auf 1. Hieraus folgt: 1001 wird erreicht. Deshalb wird mit der fallenden Flanke von Q A die Schaltung rückgesetzt (vgl. Abb. 9.6). Clock QA QB QC QD Abbildung 9.6: Zeitdiagramm de s 4-Bit-BCD-Aufwärts-Zählers. Es ist ersichtlich, dass mit Hilfe von Intuition eine derartige Schal- tung realisiert werden kann. Auch gibt es prinzipielle Vorgehenswei- sen zum Entwurf asynchroner Scha ltungen. Es muss aber berück- sichtigt werden, dass synchron e Schaltungen mit entsprechenden Verfahren effektiv und zielführen d entwickelt werden können. Zu- dem sind synchrone Schaltungen in der Regel schneller und stö- rungs-unanfälliger. Deshalb werden wir uns im nächsten Abschnitt dem Entwurf synchroner Schaltunge n widmen. Zunächst sollten Sie jedoch die Übungsaufgaben lösen. Übung 9.1 Entwerfen Sie einen asynchronen 4-Bit-Vorwärts- und Rück- wärtszähler mit JK-FFs. Die Rich tung soll mit Hilfe eines Steu- ereingangs S umschaltbar sein. Es gilt dabei: S = 1 (up) und S = 0 (down). Ebenso ist ein Reset- Eingang zum Rücksetzen vorzu- sehen (Reset = 1 Æ Rücksetzen). Übung 9.2 Realisieren Sie einen asynchronen Modulo-5-Aufwärtszähler mit JK-FFs. Zählreihenfolge: 0, 1,2,3,4,5,0,1,2,3,4,5,.... 9.1 Zähler- und Frequenzteilerschaltungen 11 9.1.2 Synchrone Schaltungen Synchrone Zähler und Teiler werden durch einen gemeinsamen Takt, der für alle Flipflops gleichermaßen verw endet wird, betrieben. Alle Flipflops schalten – abgesehen von Laufzeiteffekten – zum gleichen Zeitpunkt. Üblicherweise wurden in der Verg angenheit flankengetriggerte JK- Flipflops zum Aufbau von Zählern un d Teilern eingesetzt, da die zu verwendenden kombinatorischen Schaltungen an den Eingängen der Flipflops minimal werden. Wie bere its in der zweiten Lerneinheit angedeutet, trifft dieser Sachverha lt jedoch nur für diskret aufgebaute Schaltungen zu, da hier Kosten im Sinne von „Gattermenge“ einge- spart werden. In der heute übliche n Vorgehensweise Schaltungen in programmierbare Bausteine unterzubri ngen, ist dieser Ansatz in so- weit nicht mehr zielführend, weil nunmehr die Transistoranzahl der „Kostenfaktor“ ist. Hieraus folgt, dass in der Regel die zu verwen- dende Transistoranzahl deutlich geri nger ausfällt, wenn D-Flipflops verwendet werden, obwohl die Gatteranzahl gegenüber der JK- Variante gestiegen ist. Deshalb finden Sie in Designs, die für pro- grammierbare applikationsspezifisc he Bausteine ausgelegt sind, in den allermeisten Fällen D-FFs. Der Schaltungsaufwand bezüglich der kombinatorischen Eingangsscha ltungen ist aber in der Regel deutlich höher. Es lässt sich zusammenfassen: – Diskrete Zähler und Teiler Æ JK-FF. – Integrierte Zähler und Teiler Æ D-FF. In den nachfolgenden Abschnitten werden wir ausschließlich diese FF-Typen betrachten. 9.1.3 Entwurf synchroner Zähler und Teiler 9.1.3.1 Einführung Bei dem Entwurf synchroner Zähler und Teiler geht man davon aus, dass über eine entsprechende ko mbinatorische Schaltung aufgaben- spezifisch festgelegte Daten an den Eingängen der Flipflops anlie- gen. Mit einem gemeinsamen Takt C werden diese Werte übernom- men und generieren einen Ausgan gsvektor. Dieser dient als Ein- gangsvektor der kombinatorischen Schaltung K e der Eingänge. Soll- ten gewisse Umcodierungen der Au sgänge nötig sein, wird eine zweite kombinatorische Schaltung K c verwendet. Dieses ist jedoch nur in seltenen Fällen notwendig . Üblicherweise werden die Aus- 9 Anwendung sequentieller Schaltungen 12 gänge der Flipflops direkt verwende t, um ein Zählergebnis zu gene- rieren. Die Abbildung 9.7 zeigt das Blockschaltbild eines synchronen Zählers oder Teilers für 3 Bit mit JK-Flipflops. Größere Schaltungen besitzen entsprechendes Aussehen . Etwaige Steuervariable werden der kombinatorischen Schaltung K e ebenfalls zugeführt. J Q Q K SET CLR J Q Q K SET CLR J Q Q K SET CLR QA QA' QB QC QB' QC' Clock C z z* Kombinatorische Schaltung Ke Kombinatorische Schaltung Kc rückgeführter Datenbus Steuereingänge Abbildung 9.7: Blockschaltbild ei nes synchronen 3 Bit-Zählers mit JK- Flipflops. Die gestrichelte Linie im Block K c unterstreicht die bedingte Verwendung des Blocks. Der rückgeführte Datenbus verbin det die Ausgänge Q mit den Ein- gängen der kombinatorischen Schaltung K e. Dabei werden nicht invertierte und invertierte Ausgänge zurückgeführt. Man nennt die- sen Datenvektor Zustandsvektor mit den ihm innewohnenden Zu- standsvariablen ; er erhält die Bezeichnung z und beschreibt die inne- ren Zustände der Schaltung. Der Vektor z* wird als Zustandsfolge- vektor bezeichnet. Die maximale Anzahl innerer Zustände entspricht der Anzahl der Binärzustände am Zä hler- (Teiler) Ausgang. Da jeder Zählausgang durch ein Flipflop realisiert wird, entspricht die Anzahl der Flipflops ⎡ ⎤ ) ( ld N n = (9.2) Wobei N die Anzahl der inneren Zust ände darstellt. Das Symbol ⎡ ⎤ k steht für die nächste ganze Zahl k ≥ 9.1 Zähler- und Frequenzteilerschaltungen 13 9.1.3.2 Schaltungssynthese mit Übergangstabellen Die Schaltungssynthese beinhalt et den Entwurf der kombinatori- schen Schaltungen, die das Verhalte n des Zählers oder Teilers festle- gen. Da ausschließlich JK- oder D-FFs verwendet werden, sollen die Wahrheitstabellen nochmals untersucht werden. Für die Synthese sequentieller Schaltungen sind so genannte redu- zierte Wahrheitstabellen für die Ermittlung des spezifischen kombi- natorischen Schaltungen besser ei nzusetzen als die ausführlichen Tabellen, die Sie in der zweiten Le rneinheit kennengelernt haben. In den reduzierten Tabellen – auch Übergangstabellen genannt – wer- den gleiche Übergangszustände zu sammengefasst. So gilt für den Übergang Q = 0 Æ Q = 1 beim JK-FF: J = 1, K = 0 oder J = 1, K = 1. Die Variable K beeinflusst diesen Übergang demnach nicht. Dem- entsprechend lässt sich dann schrei ben: J = 1, K = x (Don’t Care). Führt man diesen Ansatz für alle Kombinationen und die beiden oben genannten Flipflop-Typen durch, erhält man die folgenden Tabelle 9.1 und Tabelle 9.2: Tabelle 9.1 Übergangstabelle für das JK-FF. Q t Q t+1 J K 0 0 0 x 0 1 1 x 1 0 x 1 1 1 x 0 Tabelle 9.2 Übergangstabelle für das D-FF. Q t Q t+1 D 0 0 0 0 1 1 1 0 0 1 1 1 Mit Hilfe der FF-Typen kann man die entsprechenden Schaltungen ermitteln, indem in eine Zustandstabelle die Zähler- bzw. Teilerzu- stände und deren Folgezustände eingetragen werden. Anhand der Übergänge wird mit Hilfe der Tabe llen 9.1 oder 9.2 der jeweilige Eingang eines FFs analysiert und be schrieben. Anschließend erfolgt eine Schaltungsminimierung mit de n Methoden der Booleschen Al- gebra bzw. mit entsprechenden Verf ahren (K-Plan, QMC, Espresso). Damit ist die Schaltung dann synthetisiert. 9 Anwendung sequentieller Schaltungen 14 Wir wollen den prinzipiellen Entwu rf anhand von Beispielen illust- rieren. Beispiel 9.1 (3 Bit-Aufwärts-Dualzähler) Es soll ein synchroner 3 Bit-Aufwärts-Dualzähler mit JK-FFs entworfen werden. Wir wissen, dass der Zähler von 000 bis 111 zählen soll. Damit ist nach Glei chung 9.2 klar, dass 3 JK-FFs verwendet werden müssen. Es wi rd nun eine Zustandstabelle aufgestellt, die einerseits das Üb ergangsverhalten beschreibt und andererseits die Belegung der FF-Eingänge festlegt (vgl. Tabelle 9.3). Tabelle 9.3: Zustandstabelle für einen 3 Bit-Aufwärts- Dualzähler. z z* J und K i z C z B z A z * C z * B z * A J C K C J B K B J A K A 0 0 0 0 0 0 1 0 x 0 x 1 x 1 0 0 1 0 1 0 0 x 1 x x 1 2 0 1 0 0 1 1 0 x x 0 1 x 3 0 1 1 1 0 0 1 x x 1 x 1 4 1 0 0 1 0 1 x 0 0 x 1 x 5 1 0 1 1 1 0 x 0 1 x x 1 6 1 1 0 1 1 1 x 0 x 0 1 x 7 1 1 1 0 0 0 x 1 x 1 x 1 Wie sie sehen, erfolgt anhand der Zustände und Folgezustände das Eintragen der binären Werte in die Spalten für die Eingänge der jeweiligen Flipflops. Dabei betrachtet man z. B. den Über- gang der Zustände für i = 0 und z A : z A = 0 Æ z * A = 1; hieraus er- gibt sich mit Hilfe von Tabelle 9.1 eine Eingangsbelegung J A = 1 und K A = x. Diese Werte sind in der Tabelle fett markiert. Für alle weiteren Flipflops und Indizes i verfährt man ebenso und vervollständigt die Tabelle. Nach der Aufstellung der Eingangsbelegungen kann mit Hilfe des K-Plans die entsprechende Minimierung für alle Eingänge vorgenommen werden. Man trägt den Zustand z mit seinen Ein- gangsvariablen z i auf und bestimmt z. B. die KMF für die Ein- gänge J i und K i . Durch die Kopplung von Zustand, Folgezustand und Eingangsbelegung erhält man die gewünschte Zählfunktion. Schlussendlich wird dann noch i i i i Q z Q z = = , gesetzt. Zustand und Folgezustand werden gemäß der synchronen Tak- tung entsprechend durchgereicht. Die Tabelle wird Schritt für Schritt abgearbeitet. 9.1 Zähler- und Frequenzteilerschaltungen 15 FF A: J A -Eingang, 1 = A J i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 1 1 1 x A z C z B z x x x 1 FF A: K A -Eingang, 1 = A K i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 1 1 1 x A z C z B z x x x 1 FF B: J B -Eingang, A A B Q z J = = i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 1 x A z C z B z x x x 1 x FF B: K B -Eingang, A A B Q z K = = i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 1 1 x A z C z B z x x FF C: J C -Eingang, A B A B C Q Q z z J ⋅ = ⋅ = 9 Anwendung sequentieller Schaltungen 16 i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 1 A z C z B z x x x x FF C: K C -Eingang, A B A B C Q Q z z K ⋅ = ⋅ = i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 1 x x A z C z B z x x Mit Hilfe der o. g. Gleichungen lässt sich die Schaltung zeich- nen (vgl. Abb. 9.8). Sie ist zum einen in der Variante nach Ab- bildung 9.7 dargestellt, zum ande ren wurde die ebenso verwen- dete Reihendarstellung genutzt. J Q Q K SET CLR J Q Q K SET CLR J Q Q K SET CLR 1 1 & C Q B Q A Q C J Q Q K SET CLR J Q Q K SET CLR J Q Q K SET CLR A Q C Q B Q 1 & C Abbildung 9.8: 3 Bit-Aufwärts-Dualzähler. 9.1 Zähler- und Frequenzteilerschaltungen 17 Wir wollen die obige Schaltung nun mit D-FFs auslegen. Dazu wird wiederum die entsprechende Übergangstabelle (vgl. Tab. 9.4) – nun aber für D-FFs – aufg estellt. Anschließend erfolgt die Minimierung und Realisierung der kombinatorischen Logik für die D-Eingänge. Tabelle 9.4: Zustandstabelle für einen 3 Bit-Aufwärts- Dualzähler. z z* D i z C z B z A z * C z * B z * A D C D B D A 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 2 0 1 0 0 1 1 0 1 1 3 0 1 1 1 0 0 1 0 0 4 1 0 0 1 0 1 1 0 1 5 1 0 1 1 1 0 1 1 0 6 1 1 0 1 1 1 1 1 1 7 1 1 1 0 0 0 0 0 0 FF A: D A -Eingang, A A A Q z D = = i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 1 1 1 A z C z B z 1 FF B: D B -Eingang, A B A B A B A B B Q Q Q Q z z z z D ⋅ + ⋅ = ⋅ + ⋅ = i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 1 1 1 A z C z B z 1 9 Anwendung sequentieller Schaltungen 18 FF C: D C -Eingang, A B C A C B C A B C A C B C C Q Q Q Q Q Q Q z z z z z z z D ⋅ ⋅ + ⋅ + ⋅ = = ⋅ ⋅ + ⋅ + ⋅ = " " i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 A z C z B z 1 1 1 1 Mit Hilfe der Gleichungen lässt sich die Schaltung zeichnen (vgl. Abb. 9.9). Q Q SET CLR D Q Q SET CLR D Q Q SET CLR D A Q C Q B Q C & & >=1 & & >=1 & Abbildung 9.9: 3 Bit-Aufwärts -Dualzähler, realisiert mit D- FFs. Sie sehen, diese Schaltung ist im Sinne unseres klassischen Kos- tenbegriffs aufwendiger. Vergle icht man nochmals die beiden Übergangstabellen der Realisieru ngen, wird klar, dass die Schal- tung mit D-FFs aufwendiger sein muss – es sind keine Don’t- Cares vorhanden, die günstig in die Realisierung der kombinato- rischen Schaltung mit einbezogen werden können! Das Zeitdiagramm der obigen Scha ltungen ist in Abbildung 9.10 dargestellt. Es ist erkennbar, da ss die Ausgänge der Schaltungen lediglich mit einer Clock-to-Out put Zeit auskommen. Diese ist aufgrund des synchronen Verhalte ns für alle Ausgänge, bis auf die Bauteileschwankungen, gleich. 9.1 Zähler- und Frequenzteilerschaltungen 19 Clock C A Q B Q C Q CO t Abbildung 9.10: Zeitdiagr amm eines 3 Bit-Aufwärts- Dualzählers. Die obige Schaltung ist selbstverstä ndlich auch als Teiler zu verwen- den, falls nur ein Ausgan g genutzt wird. Es gilt: – Teilerverhältnis 1:2: A Q , – Teilerverhältnis 1:4: B Q , – Teilerverhältnis 1:8: C Q Üblicherweise werden Zähler neben den eben genannten Übergangs- tabellen auch mit so genannten Zustandsgraphen beschrieben, die letztendlich nicht anderes darstellen , als die graphischen Repräsenta- tion der Übergangstabelle. Der Zustandsgraph des oben genannt en Beispiels besitzt folgendes einfaches Aussehen (vgl. Abb. 9.11) . Er beschreibt die zeitliche Ab- folge der Zustände in der Schalt ung. Zustandsgraphen dienen zum einfachen Veranschaulichen der Syst emzustände. Vielfach stellen sie ein exzellentes Hilfsmittel zum En twurf sequentieller Schaltungen dar. 0 1 2 3 4 5 6 7 Abbildung 9.11: Zustan dsgraph eines 3 Bit-Aufwärts-Dualzählers. 9 Anwendung sequentieller Schaltungen 20 9.1.3.3 Algebraische Schaltungssynthese Bei der algebraischen Synthese ve rwendet man die Übergangstabelle in reduzierter Form (vgl. Tab 9.5). Es werden die charakteristischen Gleichungen als ) ( * z z f = aufgestellt. Erst danach erfolgt die Zu- ordnung zu einem Flipflop-Typ. Auch hier wird vor der eigentlichen Zuordnung eine Minimierung (DMF oder KMF) durchgeführt. Wir wollen das Vorgehen an dem be reits bekannten Beispiel unseres Dualzählers erproben. Beispiel 9.2 (3 Bit-Aufwärts-Dualzähler) Tabelle 9.5: Zustandstabelle für einen 3 Bit-Aufwärts- Dualzähler. z z* i z C z B z A z * C z * B z * A 0 0 0 0 0 0 1 1 0 0 1 0 1 0 2 0 1 0 0 1 1 3 0 1 1 1 0 0 4 1 0 0 1 0 1 5 1 0 1 1 1 0 6 1 1 0 1 1 1 7 1 1 1 0 0 0 Zunächst realisieren wir mit Hi lfe des K-Plans die entsprechen- den Gleichungen. A A A Q z z = = * i = 0 i = 1 i = 2 i = 3 i = 5 i = 4 i = 7 i = 6 1 1 1 A z C z B z 1