09.08.2013 Aufrufe

Flipflops und Zählerentwurf - Technische Informatik

Flipflops und Zählerentwurf - Technische Informatik

Flipflops und Zählerentwurf - Technische Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Copyright (C) <strong>Technische</strong> <strong>Informatik</strong><br />

Universität Duisburg-Essen<br />

PRAKTIKUM<br />

Gr<strong>und</strong>lagen der<br />

<strong>Technische</strong>n <strong>Informatik</strong><br />

VERSUCH 3<br />

<strong>Flipflops</strong><br />

<strong>und</strong> <strong>Zählerentwurf</strong><br />

Name: Matrikelnummer:<br />

Vorname: Gruppennummer:<br />

Betreuer: Datum:<br />

Vor Beginn des Versuchs sind die Fragen, die mit F1 bis Fn gekennzeichnet<br />

sind, zu beantworten. Die mit A1 bis An gekennzeichneten Aufgaben sind<br />

während des Praktikums zu bearbeiten<br />

Prof. Dr.Ing. Axel Hunger<br />

Dipl.Ing. Joachim Zumbrägel<br />

Universität Duisburg-Essen<br />

Fakultät Ingenieurwissenschaften<br />

Fachgebiet <strong>Technische</strong> <strong>Informatik</strong>


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

Einführung<br />

In dem vorangegangenen Versuch wurden mehrere Schaltungen simuliert <strong>und</strong> analysiert. Die<br />

wichtigsten Funktionen des Simulationsprogramms OrCAD Capture wurden vorgestellt <strong>und</strong><br />

angewendet. Diese Erkenntnisse sollen jetzt dazu benutzt werden, einige Schaltungen selbst zu<br />

entwerfen <strong>und</strong> zu simulieren.<br />

1. Flip-flops (FFs)<br />

Bei allen logischen Schaltungen, die wir bis jetzt bearbeitet haben, handelte es sich um rein<br />

„kombinatorische“ Schaltungen, auch Schaltnetze genannt. Bei Schaltnetzen handelt es sich<br />

um eine Komposition von reinen Logik-Gattern ohne Rückkopplung. Der Ausgang von<br />

Schaltnetzen ist immer nur von der aktuellen Eingangsbelegung abhängig.<br />

Im Gegensatz dazu handelt es sich bei „sequentiellen“ Schaltungen (Schaltnetze) um<br />

Schaltungen, deren Ausgangssignale nicht mehr ausschließlich von den Eingangssignalen<br />

der Schaltung abhängig sind, sondern zusätzlich von den inneren Zuständen der Schaltung.<br />

Diese wiederum sind abhängig von der „Sequenz“ der vorangegangen Eingangssignale.<br />

Flip-Flops sind die allgemeinsten <strong>und</strong> gr<strong>und</strong>legendsten Speicherbauelemente, die für<br />

Informationsspeicherung in den sequentiellen Schaltungen benutzt werden. Ein Flip-Flop kann<br />

in einem von zwei logischen Zuständen bleiben. Um seinen Zustand zu ändern, benötigt es ein<br />

neues Eingangssignal. Dieses macht das Flip-Flop zu einem 1 bit Speicherbauelement. Es gibt<br />

drei gr<strong>und</strong>legende Arten von Flip-Flops:<br />

• Speicher Flip-Flop (RS-FF)<br />

• Auffang Flip-Flop (D-FF)<br />

• Toggle Flip-Flop (T-FF)<br />

1.1 Reset Set (RS) Flip-flop<br />

Das RS-FF ist ein einfaches Speicher FF mit zwei Eingängen, S für das Setzen (set) <strong>und</strong> R für<br />

das Zurücksetzen (reset) des FFs. Das RS-FF speichert seine Zustände solange die Eingänge S<br />

<strong>und</strong> R gleich 0 sind. Der Ausgang des RS-FFs wird 1 sobald der Eingang S auf 1 gesetzt wird.<br />

Eine 1 am R Eingang erzwingt eine 0 am Ausgang. Dieses Verhalten wird durch die<br />

Wahrheitstabelle 1.1.1 veranschaulicht (Q n ist der vorhergehende Zustand von Q n+1 ).<br />

2/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

S R Q n Q n+1 Funktionalität<br />

0 0 0 0 Beide Eingänge sind 0, der<br />

vorherige Zustand wird<br />

0 0 1 1 gespeichert<br />

0 1 0 0<br />

0 1 1 0<br />

Der reset Eingang ist 1, d.h.<br />

der Ausgang Q wird 0<br />

1 0 0 1 Ist der Setzeingang 1, so<br />

wird das FF gesetzt, d.h. der<br />

1 0 1 1 Ausgang Q wird 1.<br />

1 1 0 X Dieser Zustand darf beim<br />

RS-FF nicht auftreten. Der<br />

1 1 1 X<br />

Ausgangszustand des FF ist<br />

nicht definiert.<br />

Tabelle 1.1.1: Wahrheitstabelle für einen RS Flip-Flop<br />

RS-<strong>Flipflops</strong> können sowohl mit NAND- als auch mit NOR-Gattern aufgebaut werden. Bild<br />

1.1.1 zeigt den gr<strong>und</strong>legenden Aufbau eines auf NOR-Gattern basierenden RS-FF.<br />

Bild 1.1.1: Ungetaktetes RS-FF aus NOR-Gattern<br />

(RS-LATCH)<br />

Bild 1.1.3 zeigt den Aufbau eines NAND-Gatter basierten RS-FFs mit Takteingang. Bild<br />

1.1.4 zeigt das dazugehörige Symbolschaltbild des RS-FFs. Mit Hilfe des Takts (CLK) wird<br />

definiert, wann die Eingangssignale S <strong>und</strong> R wirken. Ein getaktetes RS-FF wird häufig mit<br />

clear (CLR) <strong>und</strong> pre-set (PRE) Anschlüssen versehen, die es erlauben das FF unabhängig vom<br />

Takt <strong>und</strong> Vorzustand in einen wohl definierten Zustand zu versetzen. Die Eingänge CLR <strong>und</strong><br />

RRE dürfen nicht gleichzeitig verwendet werden.<br />

S<br />

R<br />

Bild 1.1.2<br />

Q<br />

Q<br />

3/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

Bild 1.1.3: Getaktetes NAND-Gatter RS-FF mit pre-set <strong>und</strong> clear<br />

S<br />

CLK<br />

R<br />

CLR<br />

PRE<br />

Bild 1.1.4<br />

1.2 Jump Kill (JK) Flip-flop<br />

Neben dem RS-Flipflop existieren noch eine Reihe weiterer <strong>Flipflops</strong>. Da sich die<br />

verschiedenen Flipflop-Arten durch die äußere Beschaltung voneinander unterscheiden, wird<br />

ein universelles Flipflop vorgestellt, nämlich das J-K Flipflop. Mit Hilfe dieses <strong>Flipflops</strong> ist es<br />

möglich andere Flipflop-Typen zu realisieren. Tabelle 1.2.1 stellt das zeitliche Verhalten des<br />

JK-FF, sowie des RS-FF, D-FF <strong>und</strong> des T-FF dar. Dabei steht Q n für den letzten Zustand am<br />

Ausgang Q, <strong>und</strong> Q n+1 für den Zustand, der sich bei der gegebenen Eingangsbelegung als<br />

Folgezustand am Ausgang Q einstellt. Ein X bedeutet dabei, dass diese Eingangsbelegung der<br />

Eingänge J <strong>und</strong> K verhindert werden muss.<br />

Inputs Q n Q n+1<br />

J K JK-FF RS-FF D-FF T-FF<br />

0 0 0 0 0 X 0<br />

0 0 1 1 1 X 1<br />

0 1 0 0 0 0 X<br />

0 1 1 0 0 0 X<br />

1 0 0 1 1 1 X<br />

1 0 1 1 1 1 X<br />

1 1 0 1 X X 1<br />

1 1 1 0 X X 0<br />

Tabelle 1.2.1<br />

Q<br />

Q<br />

4/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

Hier wird kurz auf die Funktionsweise des JK-FF eingegangen:<br />

Falls die Bedingungen J = 0 <strong>und</strong> K = 0 erfüllt sind, bleibt der Ausgang Q unverändert erhalten.<br />

("Speichern")<br />

Falls die Bedingungen J = 1 <strong>und</strong> K = 1 erfüllt sind, ändert sich der FF-Ausgang bei jedem Takt<br />

("Toggle").<br />

Falls die Bedingungen J = 0 <strong>und</strong> K = 1 oder J = 1 <strong>und</strong> K = 0 erfüllt sind, werden an den<br />

Ausgang auch diese Zustände weitergegeben, falls diese Zustände am Ausgang nicht bereits<br />

herrschen.<br />

n<br />

Die charakteristischen Gleichungen für das JK-FF lautet: Q<br />

n + 1<br />

= K ⋅ Q<br />

n<br />

+ J ⋅ Q .<br />

Wir können anhand der Wahrheitstabelle (Tabelle 1.2.1) die Gleichungen <strong>und</strong> die Eingänge<br />

anderer FFs ableiten, die aus dem JK-FF abgeleitet werden können.<br />

Ein RS-FF kann aus einem JK-FF gebildet werden, indem verhindert wird, daβ die Eingänge J<br />

<strong>und</strong> K gleichzeitig den logischen Pegel "1" erhalten. Es soll die Bedingung J⋅K = 0 erfüllt<br />

werden.<br />

1.3 Delay (D) Flip-flop<br />

Wie der Name andeutet, ist der Zweck eines D-FFs das Speichern (oder Verzögern) einzelner<br />

Bits. Mit jedem Taktsignal wird das aktuelle Signal D am Ausgang Q übernommen. Bild 1.3.1<br />

zeigt das Gattersymbol eines D-FFs.<br />

Anhand der Wahrheitstabelle (Tabelle 1.2.1) lässt sich erkennen, wie ein D-FF aus einem JK-<br />

FF abgeleitet werden kann. Relevant sind für das D-FF nur die Eingangsbelegungen für die<br />

gilt, dass J ungleich K ist. Dies lässt sich leicht durch ein NOT-Gatter realisieren (Bild 1.3.2).<br />

Somit ist die geforderte Bedingung K = J immer erfüllt.<br />

D Q<br />

CLK<br />

Bild 1.3.1<br />

Q<br />

J Q<br />

CLK<br />

1.4 Trigger (T) Flip-flop<br />

Erneut betrachten wir die Wahrheitstabelle (Tabelle 1.2.1) um festzustellen, wie ein T-FF aus<br />

einem JK-FF abgeleitet werden kann. Relevant sind für das T-FF nur Eingangsbelegungen für<br />

die gilt, das J gleich K ist. Dies wird durch eine Verbindung zwischen J <strong>und</strong> K sichergestellt<br />

(Bild 1.4.1). Somit gilt: T = J = K<br />

D<br />

K<br />

Bild 1.3.2<br />

Q<br />

5/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

T<br />

J Q<br />

CLK<br />

K<br />

Bild 1.4.1<br />

Die charakteristische Gleichung für T-FFs kann der<br />

Wahrheitstabelle entnommen werden:<br />

n<br />

Q T Q<br />

n+1<br />

= ⊕<br />

Für T = 1 gilt: Q n<br />

Q n+1<br />

= , das bedeutet, dass der<br />

Ausgang mit jedem Takt zwischen 0 <strong>und</strong> 1<br />

umschaltet (Toggle). Das hat zur Folge, dass die<br />

Frequenz des Ausgangsignals gleich der Hälfte der<br />

CLK-Frequenz ist.<br />

F1: Bild 1.1 zeigt die Schaltung zweier Flip-Flops. Welches Flip-Flop arbeitet als D-FF <strong>und</strong><br />

warum?<br />

Bild 1.1<br />

F2: Welcher Zustand ist für ein RS-FF verboten?<br />

Q<br />

6/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

F3: Mit welchen Eingangsbelegungen wird das RS-FF gesetzt bzw. gelöscht?<br />

F4: Manche FFs haben zusätzliche Eingänge, wie clear (CLR) <strong>und</strong> pre-set (PRE). Welche<br />

Funktion haben diese Eingänge?<br />

F5: Notieren Sie den charakteristischen Ausdruck für einen D-FF?<br />

2. Register<br />

Ein Register ist ein Schaltkreis der ganze Datenwörter speichern kann. Ein Register entsteht<br />

durch die Verbindung mehrer FFs. Also besteht ein n-bit Register aus n FFs. Bild 2.1<br />

veranschaulicht einen 4 Bit Register aus D-FFs.<br />

Bild 2.1<br />

F6: Wie muss die serielle Eingangssequenz für den Eingang D lauten, damit das Muster<br />

(D3 D2 D1 D0) = (1010) in dem 4-Bit-Register gespeichert wird?<br />

7/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

F7: Wo kann ein Register angewendet werden? Nennen Sie zwei Beispiele.<br />

F8: Wie würden Sie die Schaltung in Bild 2.1 ändern, um ein Ring-Register zu erzeugen?<br />

Erklären Sie Ihre Antwort <strong>und</strong> zeichnen Sie die Modifikation in das Bild.<br />

3. Zähler<br />

Bevor wir uns mit dem Entwurf eines Zählers beschäftigen, wollen wir kurz auf die<br />

charakteristische Gleichungen von Schaltnetzen bzw. Schaltwerken eingehen.<br />

Für kombinatorische Schaltungen (Schaltnetzen) gilt, dass die Ausgänge (Q) immer nur von<br />

der aktuellen Eingangsbelegung (X) abhängig sind. Es gilt also:<br />

n<br />

Q =<br />

f ( X<br />

Der Ausgang einer sequentiellen Schaltung (Schaltnetz) hingegen, hängt nicht nur von<br />

gegenwärtigen Eingängen, sondern auch von den inneren Zuständen der Schaltungen ab, die<br />

wiederum aus vorhergehenden Eingängen resultieren. Folglich gilt:<br />

Q<br />

n<br />

n<br />

)<br />

n<br />

= f ( X , Q<br />

Eine der typischsten Anwendungen für sequentielle Schaltungen ist ein Zähler. Besitzt der<br />

Zähler außer dem Takteingang keine weiteren Eingänge, so hängt der Zustand des Zählers nur<br />

vom vorhergehenden Zustand ab:<br />

Q<br />

n<br />

= f ( Q<br />

3.1 (5-3-2-1 Code) Zähler<br />

Im Praktikum soll ein (5-3-2-1 Code) Zähler entwickelt werden, der über ein Schaltnetz eine<br />

7-Segment-Anzeige ansteuert. Die Dezimalzahlen 0-9, die später auf der 7-Segment-Anzeige<br />

dargestellt werden, sind im 5-3-2-1 Code codiert (siehe Tabelle 3.1.1). Das Schaltwerk soll<br />

mit einem Takt (CLK) die Sequenz 0,1,2,3,4,5,6,7,8,9,0,1,… generieren, d.h. die 7-Segment-<br />

Anzeige soll nacheinander die einzelnen Dezimalzahlen darstellen <strong>und</strong> folglich nach der Zahl<br />

9 wieder mit der 0 beginnen. Bevor wir mit dem eigentlichen Entwurf beginnen, noch einige<br />

Erläuterungen:<br />

• Aufwärtszählend bedeutet, dass der Zähler ausgehend vom aktuellen Zählerstand mit<br />

dem nächsten Takt den nächsthöheren Wert annimmt.<br />

• Selbstanlaufend bedeutet, dass der Zähler zusätzlich beim Einschalten mit dem<br />

Startzustand (hier 0) beginnt.<br />

n−1<br />

n−1<br />

)<br />

)<br />

8/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

• Bei einem synchronenen Zähler werden alle <strong>Flipflops</strong> durch einen gemeinsamen Takt<br />

gesteuert.<br />

• Bei einem asynchronen Zähler werden die <strong>Flipflops</strong> nicht durch einen gemeinsamen Takt<br />

gesteuert, sondern werden z.B. von den Ausgängen anderer <strong>Flipflops</strong> getaktet.<br />

• Der 5-3-2-1 Code ist ein 4-Bit Binärcode, wobei die jeweiligen Bit-Stellen genau dem<br />

Dezimalwert entsprechen, wie er im Namen vorgegeben ist. Beispiel: Dezimal 7<br />

4-Bit Dual Code : 0111 = 0·2 3 + 1·2 2 + 1·2 1 + 1·2 0 = 7<br />

4-Bit 5-3-2-1 Code : 1010 = 1·5 + 0·3 + 1·2 + 0·1 = 7<br />

3.2 Entwurf des Schaltwerks für einen (5-3-2-1 Code) Zähler<br />

Es soll nun der Zähler mit Hilfe von vier JK-FFs realisiert werden. Dazu ist die<br />

Codierungstabelle des Zählers wie folgt gegeben:<br />

Dezimalzahl<br />

(Zählerzustand)<br />

Stellenwert/FF-Ausgänge<br />

5 3 2 1<br />

Q4 Q3 Q2 Q1<br />

0 0 0 0 0<br />

1 0 0 0 1<br />

2 0 0 1 0<br />

3 0 1 0 0<br />

4 0 1 0 1<br />

5 1 0 0 0<br />

6 1 0 0 1<br />

7 1 0 1 0<br />

8 1 1 0 0<br />

9 1 1 0 1<br />

Tabelle 3.1.1<br />

Es stellt sich nun die Frage, wie die einzelnen FFs miteinander verb<strong>und</strong>en werden müssen, um<br />

die Funktionalität des Zählers so zu realisieren, dass sie der Wahrheitstabelle (Tabelle 3.1.1)<br />

entspricht. Dazu betrachten wir zunächst die Ausgangsgleichung Q<br />

n+<br />

1 eines FFs:<br />

Q<br />

n+<br />

1<br />

(<br />

n<br />

, Q<br />

n<br />

, Q<br />

n<br />

, Q<br />

n<br />

a = f Qa<br />

b c d<br />

)<br />

Für die charakteristische Gleichung des JK-FFs gilt :<br />

a<br />

9/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

Q<br />

n + 1<br />

=<br />

n n<br />

a K ⋅Q<br />

a + J ⋅Q<br />

a<br />

Wir müssen nun die allgemeine Ausgangsgleichung in eine Form bringen, die uns den<br />

Koeffizientenvergleich mit der charakteristischen Gleichung erlaubt, so dass wir Folgendes<br />

ableiten können:<br />

J a = f ( Q<br />

b<br />

, Qc,<br />

Q<br />

d<br />

)<br />

K a = f ( Q<br />

b<br />

, Qc,<br />

Q<br />

d<br />

)<br />

Um die Ausgangsgleichungen für die FFs zu bestimmen, soll nun ein KV-Diagramm<br />

verwendet werden.<br />

F9: Vervollständigen Sie das KV-Diagramm für den 5-3-2-1 Code:<br />

Q1<br />

Q2<br />

Bild. 3.2.1: KV-Diagramm des 5-3-2-1 Code<br />

Nun führen Sie für jedes FF folgende Schritte durch:<br />

1. Auflisten aller Zählerzustände ( n<br />

Z ), für die gilt, dass der Folgezustand Z<br />

n+<br />

1des<br />

Zählers<br />

zu einer 1 an dem jeweiligen Ausgang des betrachteten FFs führt ( Q<br />

n+<br />

1<br />

= 1).<br />

n+<br />

1 n n n n<br />

2. Bestimmen sie nun die Ausgangsgleichung Q a = f ( Qa<br />

, Q<br />

b<br />

, Qc<br />

, Q<br />

d<br />

) für das FF entweder<br />

mit Hilfe der Wahrheitstabelle oder mit Hilfe des KV-Diagramms (einfacher).<br />

3. Leiten Sie nun die Gleichungen für Ja <strong>und</strong> Ka her, indem Sie die Funktion<br />

charakteristischen Gleichung des FFs vergleichen.<br />

X<br />

2 7<br />

Q4<br />

8 3<br />

Q3<br />

a<br />

n+<br />

1<br />

a<br />

Q mit der<br />

10/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

Beispiel:<br />

Um die Vorgehensweise zu verdeutlichen, wird diese am Beispiel der Belegungen für J 3 <strong>und</strong><br />

K 3 ausführlicher beschrieben.<br />

1. Zunächst werden aus der Codierungstabelle des Zählers die Zustände herausgesucht,<br />

deren Folgezustand ( Z<br />

n+<br />

1)<br />

dazu führt, dass am Ausgang 1<br />

3 + n<br />

Q eine "1" anliegt. Dies ist<br />

bei den Zuständen 2,3,7,8 der Fall, da bei den entsprechenden Folgezuständen 3,4,8,9<br />

1 n<br />

Q den Wert 1 annimmt.<br />

3 +<br />

2. Nun kann mit der Tabelle die disjunktive Normalform für diese 4 Zustände (2,3,7,8)<br />

aufgestellt werden oder direkt aus dem KV-Diagramm eine vereinfachte Darstellung<br />

abgelesen werden :<br />

n+<br />

1 n n n n n n<br />

= Q ⋅Q<br />

⋅Q<br />

+ Q ⋅Q<br />

⋅Q<br />

Q3 1 2 3 1 2 3<br />

Hinweis: Bei der Vereinfachung muss darauf geachtet werden, dass der Vorzustand in<br />

n+<br />

1<br />

jedem Term enthalten ist, d.h. beim Aufstellen der Gleichungen für Q i muss jeder Term<br />

den Zustand Q i enthalten, da sonst später kein Vergleich mit der charakteristischen<br />

Gleichung des JK-FF möglich ist, ohne den Term zu erweitern.<br />

3. Obige Gleichung wird nun mit der charakteristischen Gleichung des JK-FFs verglichen.<br />

Sie lautet für diesen speziellen Fall:<br />

n + 1 n n<br />

Q = K ⋅Q<br />

+ J ⋅Q<br />

3 3 3<br />

Durch Koeffizientenvergleich erhält man:<br />

J<br />

3<br />

= Q<br />

n<br />

1<br />

⋅Q<br />

n<br />

2<br />

<strong>und</strong><br />

daraus folgt<br />

K<br />

3<br />

= Q<br />

n<br />

1<br />

n<br />

1<br />

K 3 = Q<br />

⋅Q<br />

+ Q<br />

Zur Bestimmung der anderen Funktionen wird analog vorgegangen.<br />

n<br />

2<br />

n<br />

2<br />

11/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

F10: Leiten Sie nun die Funktionen für die fehlenden Eingänge J1, J2, J4, K1, K2, K4 der FFs<br />

ab. Verwenden Sie nicht die „Don’t care“ Zustände!<br />

Q =<br />

n+<br />

1<br />

1<br />

J1 =<br />

K1 =<br />

Q =<br />

n+<br />

1<br />

2<br />

J2 =<br />

K2 =<br />

Q =<br />

n+<br />

1<br />

4<br />

J4 =<br />

K4 =<br />

F11: Ist es möglich die Funktion der Eingänge J <strong>und</strong> K zu vereinfachen? Wenn ja, wie?<br />

12/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

F12: Vervollständigen Sie den Schaltkreis in Bild 3.2.2 unter Verwendung der Gleichungen<br />

von F10.<br />

Fig. 3.2.2: 5-3-2-1 Counter<br />

F13: Was ist der Unterschied zwischen einem synchronen <strong>und</strong> einem asynchronen Zähler?<br />

Welche Art Zähler stellt der Schaltkreis in Bild 3.2.2 dar? Erklären Sie Ihre Antwort.<br />

13/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

4. Entwurf des Schaltnetzes zur Steuerung einer 7-Segment-Anzeige<br />

Zur Ansteuerung der 7-Segment-Anzeige wird nun ein Schaltnetz benötigt, welches die<br />

Ausgänge des entwickelten Zählers so codiert, dass eine Ansteuerung der 7-Segment-Anzeige<br />

möglich ist. Die Anordnung der einzelnen Segmente der Anzeige ist in Bild 4.1 gegeben. Ein<br />

Segment leuchtet, sobald es mit einer logischen 0 angesteuert wird. Die Schaltung soll so<br />

realisiert werden, dass beim Auftreten einer nicht definierten Kombination alle Segmente<br />

leuchten (d.h. sie werden mit einer logischen "0" angesteuert).<br />

S6 S3<br />

S1<br />

S4<br />

S7<br />

S2 S5<br />

F14: Vervollständigen Sie folgende Wahrheitstabelle:<br />

S6 S3<br />

S6 S3<br />

Number Q4 Q3 Q2 Q1 S7 S6 S5 S4 S3 S2 S1<br />

0 0 0 0 0 0 0 0 1 0 0 0<br />

1 0 0 0 1<br />

2 0 0 1 0<br />

3 0 1 0 0<br />

4 0 1 0 1<br />

5 1 0 0 0<br />

6 1 0 0 1<br />

7 1 0 1 0<br />

8 1 1 0 0<br />

S1<br />

S4<br />

S7<br />

S1<br />

S4<br />

S7<br />

S2 S5<br />

S2 S5<br />

Bild 4.1<br />

9 1 1 0 1<br />

Tabelle 4.1: Wahrheitstabelle der 7-Segment-Anzeige<br />

S6 S3<br />

S6 S3<br />

S1<br />

S4<br />

S7<br />

S1<br />

S4<br />

S7<br />

S2 S5<br />

S2 S5<br />

S6 S3<br />

S6 S3<br />

S1<br />

S4<br />

S7<br />

S1<br />

S4<br />

S7<br />

S2 S5<br />

S2 S5<br />

S6 S3<br />

S6 S3<br />

S1<br />

S4<br />

S7<br />

S1<br />

S4<br />

S7<br />

S2 S5<br />

S2 S5<br />

S6 S3<br />

S6 S3<br />

S1<br />

S4<br />

S7<br />

S1<br />

S4<br />

S7<br />

S2 S5<br />

S2 S5<br />

14/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

F15: Notieren Sie die Disjunktive Normalform von S1 bis S7.<br />

S1=_________________________________________________________________<br />

S2=_________________________________________________________________<br />

S3=_________________________________________________________________<br />

S4=_________________________________________________________________<br />

S5=_________________________________________________________________<br />

S6=_________________________________________________________________<br />

S7=_________________________________________________________________<br />

F16: Vereinfachen Sie die Funktionen für S1,…, S7 von F15 mit Hilfe eines KV-Diagramms<br />

<strong>und</strong> notieren Sie die vereinfachten Gleichungen.<br />

S1=_________________________________________________________________<br />

S2=_________________________________________________________________<br />

S3=_________________________________________________________________<br />

S4=_________________________________________________________________<br />

S5=_________________________________________________________________<br />

S6=_________________________________________________________________<br />

S7=_________________________________________________________________<br />

15/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

F17: Zeichnen Sie das Schaltnetz für die 7-Segement Anzeige.<br />

Bild 4.2<br />

5 Hierarchische Blöcke<br />

Wenn wir komplexe Schaltungen entwickeln, die entsprechend viele Bauteile enthalten,<br />

werden Schaltungen schnell unübersichtlich. Oft besteht auch der Wunsch bestimmte<br />

Schaltungen zu einer funktionalen Einheit zusammenzufassen, so dass eine solche Einheit<br />

später in anderen Schaltungen wieder verwendet werden kann.<br />

Um diese Probleme zu lösen, bietet OrCAD das Erzeugen von hierarchischen Schaltungen an.<br />

Hierarchische Blöcke sind Schaltungen, die zu einer Einheit zusammen gefügt wurden <strong>und</strong><br />

somit als quasi als „neu erstelltes Bauteil“ innerhalb anderer Schaltungen verwendet werden<br />

können.<br />

16/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

5.1 Hierarchische Ports<br />

Um eine Schaltung als hierarchischen Block verwenden zu können, muss die Schaltung an den<br />

jeweiligen Ein-<strong>und</strong> Ausgängen mit sogenannten „Hierarchical Ports“ Anschlüssen versehen<br />

werden. Nach dem diese „Ports“ platziert wurden, müssen sie noch entsprechend benannt<br />

werden.<br />

Um hierarchische Anschlüsse zu platzieren wählen Sie „Place → Hierarchical Port„<br />

Wählen Sie die „Capsym.olb“ Bibliothek aus. Aus der „Parts“ Liste wählen Sie den Typ des<br />

Anschlusses <strong>und</strong> benennen Sie den Anschluss. Anschließend bestätigen Sie mit OK. Jetzt<br />

können Sie den „Hierarchical Port“ auf der „Schematic Page“ so verwenden, wie jedes<br />

andere Element.<br />

5.2 Hierarchische Blöcke Platzieren<br />

Hierarchische Blöcke repräsentieren eine „Schematic Page“. Wenn Sie einen hierarchischen<br />

Block erstellen, spezifizieren Sie den Namen „Schematic Page“, die der hierarchische Block<br />

darstellen soll.<br />

Um einen hierarchischen Block zu platzieren, wählen Sie „Place → Hierarchical Block„ im<br />

„Edit“ Menü oder verwenden Sie das Symbol der Werkzeugpalette. Das „Place<br />

Hierarchical Block“ Dialogfeld sollte wie in Bild 5.2.1. dargestellt erscheinen.<br />

Geben Sie den Namen der zu referenzierenden<br />

„Schematic Page” in das Textfeld „Reference“ ein.<br />

Behalten Sie die Einstellung „Default“ bei.<br />

Im Feld „Implementation Type“ wählen Sie<br />

Bild 5.2.1: Place Hierarchical Block<br />

„Schematic View“ aus.<br />

Nun können sie das Feld „Implementation Name“<br />

ausfüllen. Tragen Sie hier den Namen des „Schematic<br />

Folder“ ein, der die „Schematic Page“ enthält, die sie<br />

im Feld „Reference“ angegeben haben.<br />

Bestätigen Sie nun ihre Einstellungen mit „OK“. Sie<br />

können nun den hierarchischen Block platzieren, in<br />

dem Sie mit der linken Maustaste ein Rechteck<br />

zeichnen. Falls Sie alle Einstellungen korrekt vorgenommen haben, werden automatisch die<br />

Pins des hierarchischen Blocks angezeigt. Die Pins korrespondieren mit den „Hierarchical<br />

Ports“, die sie in der zugehörigen „Schematic Page“ definiert haben.<br />

17/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

6 Design <strong>und</strong> Simulation der Gesamtschaltung<br />

6.1 Schaltwerk des (5-3-2-1 Code) Zählers<br />

A1: Erstellen Sie ein Analog or mixed A/D Projekt <strong>und</strong> nennen Sie es Lab2. Benennen Sie den<br />

„Schematic Folder“ von SCEMATIC1 nach Lab2 um. Die Datei („Schematic Page“) im<br />

„Schematic Folder“ benennen sie bitte von PAGE1 nach Lab2Circuit um.<br />

A2: Erstellen Sie einen neuen „Schematic Folder“ namens Counter. In dem Ordner Counter<br />

erstellen Sie eine neue Datei (new page) namens CounterCircuit. Erstellen Sie in dem<br />

Schematic-Fenster der Schaltung CounterCircuit die Schaltung, die Sie in Aufgabe F12 (Bild<br />

3.2.2) gezeichnet haben <strong>und</strong> platzieren <strong>und</strong> benennen sie die Ports an den Ein- <strong>und</strong> Ausgängen<br />

der Schaltung.<br />

A3: Erstellen Sie innerhalb der Schaltung Lab2Circuit einen hierarchischen Block für den<br />

Counter.<br />

A4: Simulieren Sie den Hierarchischen Block mit entsprechenden Eingangssignalen um die<br />

Funktionalität zu überprüfen.<br />

6.2 Schaltnetz der 7-Segment Anzeige<br />

A5: Erstellen Sie einen neuen „Schematic Folder“ namens Controller. In dem Ordner erstellen<br />

Sie eine neue Datei (new page) namens ControllerCircuit. Erstellen Sie in dem Schematic-<br />

Fenster der Schaltung ControllerCircuit die 7-Segment-Anzeige, die sie in Aufgabe F17 (Bild<br />

4.2) erstellt haben <strong>und</strong> platzieren <strong>und</strong> benennen sie die Ports an den Ein- <strong>und</strong> Ausgängen der<br />

Schaltung<br />

A6:. Erstellen Sie innerhalb der Schaltung Lab2Circuit einen hierarchischen Block für den<br />

Controller.<br />

A7: Verbinden Sie die beiden hierarchische Blöcke des Counters <strong>und</strong> des Controllers.<br />

18/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

6.3 Simulation der Gesamtschaltung<br />

Bild 6.3.1 zeigt die zu erstellende Gesamtschaltung.<br />

Bild 6.3.1: Gesamtschaltung<br />

A8: Simulieren Sie die Schaltung mit entsprechenden Eingangssignalen um die Funktionalität<br />

zu überprüfen.<br />

19/20


Praktikum GTI Versuch 3: Flip-flops <strong>und</strong> <strong>Zählerentwurf</strong><br />

Digital Components<br />

Symbol-Name Type-Number Library<br />

NOT 7404 7400<br />

AND<br />

2-Input<br />

AND<br />

3-Input<br />

NAND<br />

2-Input<br />

NAND<br />

3-Input<br />

NAND<br />

4-Input<br />

OR<br />

2-Input<br />

NOR<br />

2-Input<br />

NOR<br />

3-Input<br />

7408 7400<br />

7411 7400<br />

7400 7400<br />

7410 7400<br />

7420 7400<br />

7432 7400<br />

7402 7400<br />

7427 7400<br />

XOR 7486 7400<br />

JK-FF<br />

with CLR<br />

JK-FF<br />

with PRE/CLR<br />

JK-FF<br />

with CLR<br />

JK-FF<br />

with PRE/CLR<br />

D-FF<br />

with PRE/CLR<br />

7473 7400<br />

7476 7400<br />

74107 7400<br />

74109 7400<br />

7474 7400<br />

D-FF 7474 7400<br />

D-TYPE<br />

REGISTER<br />

REGISTER<br />

FILE O.C.<br />

PRESETTABLE<br />

BINARY COUNTER<br />

BINARY<br />

COUNTER<br />

ROM 32⋅8<br />

5 Input, 8 Output<br />

32 bytes memory<br />

74LS173A 74ls<br />

74170 7400<br />

74LS197 74ls<br />

7493A<br />

74293<br />

74177<br />

7400<br />

ROM 32⋅8 BREAKOUT<br />

20/20

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!