Hartmut Gemmeke Forschungszentrum Karlsruhe, IPE hartmutgemmeke@kitedu Tel: 07247-82-5635 Einführung in die Elektronik für Physiker 17 Schaltnetze und Schaltwerke Abhängigkeitsnotation für logische Schaltungen Schaltnetze (parallele Logik) Beispiele: Dekoder, Multiplexer, Addierer und Rechenwerke Schaltwerke (sequentielle Logik) und ihre Darstellung: Zustands- und Flussdiagramm, Zustandsfolgen (Tabelle, Funktion), Schaltung Beispiele: Elementare Kippschaltungen, bistabile Kippschaltungen (synchrone, zustandsgesteuerte und flankengesteuerte Anwendungen): allgemeine Flipflops, Zähler, Schieberegister Abhängigkeitsnotation* für digitale Schaltsymbole Variablen (Anschlüsse) steuern andere Variablen (Anschlüsse) es gibt steuernde und gesteuerte Variablen Die Steuernde Variable erhält ein Symbol für die logische Funktion der Beeinflussung und eine Identifikationsnummer 1, 2, für die zu steuernde Variable Gesteuerte Variable erhält Identifikationsnummern n 1, n 2, der sie steuernden Variablen, Abarbeitung von links nach rechts Symbol Bedeutung G UND V ODER N Exklusiv-ODER (steuerbare Negation) Z unveränderte Übertragung C Clock, Takt S Set R Reset EN Enable M Modus ausgewählt/oder nicht L Load T Toggle A Adresse CT Content (zb Zählerinhalt) *DIN 40 900 UND Das Treibergatter ( ) wird durch die Abhängigkeits- Notation zum und -Gatter, ODER Oder XOR Logik! Die Logik wird bezüglich x 3 von links nach rechts (durch Komma getrennt) ausgeführt, erst G1 dann V2 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 2
Beispiele zur Abhängigkeitsnotation I Zwei 2:1 Multiplexer ein Steuereingang beeinflusst mehrere Eingänge, der Negationsstrich über der Nummer der Steuervariablen zeigt an, dass die negierte Steuervariable in der Verknüpfung zu benutzen ist Das "1 Zeichen bezeichnet das oder für den Ausgang Die horizontalen Trennstriche teilen die einzelnen Logikbereiche für den Ausgang ab a G1 d 0 1 d 1 1 d 2 1 d 3 1!1 y 0=a d 0 +a d 1!1 y 1=a d 2 +a d 3 4:1 Multiplexer hier sind zwei Steueranschlüsse a 0 und a 1 durch die geschweifte Klammer zu einer Steuervariablen mit dem Wertebereich 0 bis 3 = 0 zusammengefasst, dh d 0 wird 3 nur erfasst, wenn a 0 und a 1 = 0 sind, oder d 3, wenn a 0 und a 1 = 1 sind 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 3 Beispiele zur Abhängigkeitsnotation II Vorwärts-/Rückwärtszähler mit synchronen Ladeeingängen und steuernder Wirkung eines Inhaltes (Content CT) 3 Betriebsarten, dh Modus M (0-2): (Load=0 & Up=0): abwärts zählen (-), wenn Enable(4) = 1, Notation 0,4- synchron mit dem Takt (C) Daten D über die Eingänge d 0 - d 3 laden, Notation 1,C5 2! (Load=0 & Up=1): aufwärts zählen (+), wenn Enable(4) = 1, Notation 2,4+ Übertragsausgang CO* wird vom Zählerinhalt CT gesteuert, dh = 1:! wenn beim Aufwärtszählen (Modus 2) der Zählerinhalt 15 beträgt (2,4 CT=15) bzw! wenn beim Abwärtszählen (Modus 0) der Inhalt des Zählers 0 ist (0,4 CT=0)! In beiden Fällen muss Enable(4) = 1 sein *Counter Overrange Load Up/Down 0" # 1$ M 0 2 Enable EN 4 0,4CT = 0 / 2,4CT = 15 Clk 0,4 % / 1,C5 / 2,4 + d 0 1,5D d 1 1,5D d 2 1,5D d 3 1,5D / trennt die alternativen Fälle CO 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 4
Systematik digitaler Schaltungen Schaltnetze (sofortige Ausführung) =! digitale Schaltungen ohne Speicher =! kombinatorische Logik =! Vektoren boolescher Funktionen 2! Schaltwerke (finit state machine, FSM) = Schaltnetze für m Eingangsvariable, n Zustands- und o Ausgangs-Variable +! Speicher für Zustandsvariablen Z +! Rückführung der Zustandsvariablen auf den Eingang +! Taktgeber #! #! #!! Y =! f ( X!, Z! ) = Ausgangsvektor! X = Eingangsvektor! Z (t k ) = letzter Zustandsvektor zur Zeit t k Schaltwerke haben ein Gedächtnis m X x 1 x 2 x n Schaltnetz Schaltnetz Ausgangsvektor y = f(x 1,x n ) Z(t k +1) n Z(t k ) o Y(X,Z) Zustandsvariablen Speicher! Takt y 1 y 2 y m 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 5 Beispiele für Schaltnetze I Dekoder 1 aus 4 Anwendung: aus binärer Adresse ein Gatter oder Chip selektieren: n! a 1 a 0! y 3 y 2 y 1 y a 0 " a 1 a0 " a 1 a 0 " a1 a0 " a1 Negation 2! 3! 1 0 0 0 0 0 1 1 0 1-lagiges Logik-Netz Jede Logik lässt sich durch ein 2-lagiges Logik-Netz (disjunktive Normalform) darstellen: 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 6
Beispiele für Schaltnetze II Multiplexer 4:1! Es gibt verschiedene Eingangsinformationen d 0 d 3 Eine Datenleitung d i soll mit den binären Selektoren a 0, a 1, dh einem Dekoder, ausgewählt und auf eine Ausgangsleitung y geschaltet werden 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 7 Rechenwerk als Beispiel für Schaltnetze I Halbaddierer (ohne Übertrag einer Vorstufe):! 0 + 0 = 0, Summe $ =0! 1 + 0 = 0 + 1 = 1, Summe $ =1! 1 + 1 = 10, dh Summe $ =0 und Carry (Übertrag) C = 1 a b! $ C! 1 0! 1 1! a b =1 & $ C $ = a % b! C = a & b! a b HA $ C Symbol für Halbaddierer 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 8
Rechenwerk als Beispiel für Schaltnetze II Volladdierer ' Carry der Vorstufe berücksichtigt C i -1 a i b i! $ i C i! 0 0 0 0 1 1 1 1 1 1 1 C $ 1 2 $ i = (a i % b i ) % C i-1! C i = a i & b i + C i-1 & (a i % b i )! Symbol für Volladdierer! a i b i C i-1 VA C i $ i 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 9 Rechenwerke III Beispiel: duale Addition von A = 13 und B = 9 mit einem 4-Bit Addierer A = 13 1 1 0 1 B = 9 1 0 0 1 -------------------------------- 1 0 1 1 0 = Summe Carry = Übertrag für den nächsten Addierer Binäre Zahlendarstellung mit beliebigen Vorzeichen führendes Bit = Vorzeichen: 0 = +, 1 =! Standard-Darstellung: a = ( sign(a), (a) ) (Problem, 0 kommt 2-mal vor, Rechenwerk muss für Subtraktion umgestellt werden), lässt sich verhindern: *! Negative Zahl als Zweier-Komplement = Einer-Komplement +1 Subtraktion = Addition einer negativen Zahl x i " y i = x i + y i +1 zb Darstellung von -1 und Subtraktion 13-1 = 13 + (-1) = 12 sign sign 1 0 0 0 0 1 13 0 1 1 0 1 1-Komplement 1 1 1 1 0-1 1 1 1 1 1 +1 0 0 0 0 1 --------------------------------------------------------------------------------------------------------- -1 = 1 1 1 1 1 $ = 12 (1) 0 1 1 0 0 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 10
Rechenwerke IV Zahlendarstellung für n = 4 im 2 er -Komplement! positive Zahlen bis 2 n 1 negative Zahlen bis 2 n! 0 0 0 0 0 0 0 0 0 0 0 0! 1 0 0 0 0 1-1 1 1 1 1 1! 2 0 0 0 1 0-2 1 1 1 1 0! 3 0 0 0 1 1-3 1 1 1 0 1 : :! 15 0 1 1 1 1-15 1 0 0 0 1! -16 1 0 0 0 0 4-Bit Volladdierer in Hardware Summe 0 Differenz Summe A+B für C 0 = 0 Differenz (A-B) = A + B + 1 mit C 0 = 1!! 1 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 11 Schaltwerk = sequentielle Logik Beschreibung in 4 Standardformen: Schaltung 2! Zustandsfolge-Tabelle, -Funktion 3! Flussdiagramm 4! Zustandsdiagramm, -graph Power-on Zustandsdiagramm x 0 S 0 S 1 Zustandsdiagramm besteht aus! Knoten, die den Zustand S k beschreiben, und! Kanten, die die Übergangsbedingungen x i zwischen den Zuständen definieren x 3 x 2 x 1 Beispiel: für ein Zustandsdiagramm! S0: Anfangszustand nach Power-on! S1: Übergangszustand! S2: Verzweigungszustand (if-schleife) if x 2 then S 3 else S 1! S3: Wartezustand if x 3 then S 0 else S 3 x 3 S 3 x 2 S 2 Alle Ausgänge des Schaltwerks ändern sich synchron (Moore) oder asynchron (Mealy State-Machines) 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 12
Beispiele Schaltwerke I Asynchrones RS-Flip-Flop mit NOR-Gattern (ungetaktet) Schaltung Wahrheitstafel Impulsdiagramm Flussdiagramm R S "+1 " 1 Q Q S R! Q! 1 Q -1! (0)! Q = 0 S = 1 n S=R=1 nicht definiert, schaltungsabhängig für NOR-Gatter führt auch [s,r]=[x,1] zu q=0 n y (S = 0) y (R = 0) n Zustandsdiagramm S R Q Q Schaltungssymbol y R = 1 n y Q = 1 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 13 Beispiele Schaltwerke II Beispiel: RS-Flipflop mit NAND-Gattern Wegen der Beschaltung tritt der Zustand S=R=0 (dh S=R=1) nicht ein S R! 1 S R! 1 Q! (1)! Q -1! Anwendung: Entprellung einer Taste Mechanischer Schalter schwingt nach - prellt, und hat eine mechanische Umschaltzeit t u Dabei öffnet sich der Schalter noch einmal, aber nicht so weit, das der Schalter den Gegenkontakt berührt Der Flip-Flop überbrückt die Unterbrechung 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 14
Schaltwerke: Elementare Kippschaltungen Definition: Kippschaltung = digitale Schaltung mit sprunghaftem Übertragungsverhalten! Schwellwertschalter (Schmitt-Trigger, haben durch Mitkopplung Hysterese)! stabile Kippschaltung (durch Rückkopplung selbsthaltend)! monostabile Kippschaltung (fällt nach bestimmter Haltezeit wieder in den stabilen Grundzustand zurück)! bistabile Kippschaltung (Flipflop)! astabile Kippschaltung (Multivibrator) Bedeutsam für die Schaltungstechnik sind insbesondere die bistabilen Kippschaltungen ungetaktet zb: RS-FF Bistabile Kippglieder (Flipflop) taktgesteuert zustandsgesteuert zb:synchrones RS-FF flankengesteuert (dynamisch) einflankengesteuert zb: D-FF zweiflankengesteuert zb: JK-MS-FF 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 15 Synchrone (getaktete) Flipflops Über C Taktzustandsgesteuerte Flipflops (transparente synchrone FF)! RS-Flipflop C = 1 entspricht asynchronem RS-Flipflop (gibt Eingänge frei) bei C 1->0 wird Q bis zum nächsten C=1 eingefroren C = 0 entspricht R=S=1 und damit Q = Q(t-1) Schaltsymbol in Abhängigkeitsnotation:! D-Flipflop oder D-Latch (Halteschaltung) C = 1 Q = D Eingangszustand D wird übernommen, für C = 1 und D = 0 wirkt Rückkopplung dabei als Reset auf R des RS- Flipflops bei C 1->0 wird Q=D bis zum nächsten C=1 eingefroren C = 0 entspricht R=S=1 Q = D(t-1) Schaltsymbol in Abhängigkeitsnotation: 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 16
Flipflops mit Zwischenspeicherung 2 RS-Flip-Flops: Master- und Slave-Flipflop (2 Flanken Flipflop) Übergang der Clock C von H * L: der Masterzustand wird eingefroren a)! Zwischenspeicherung des Eingangszustandes b)! Eingang verriegeln c)! Zwischenspeicher ausgeben, Slave (sowie Ausgang) folgt dem Master, RS-MS-FF Übergang der Clock C von L * H: der Slave wird eingefroren und vor Änderungen des Masters geschützt, dh Slave kann sich nur bei C-Übergang H * L ändern zweiflankengesteuertes dynamisches RS-Flip-Flop Symbol: Anwendung: Register oder D-Flipflop 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 17 Digitale Differenziation von Pulse-Flanken digitale Differenziation einer Flanke mit 3 Ingredienzien: Ungerade Zahl von Invertern, um ein um T -T verzögertes und invertiertes Signal zu erzeugen 2! UND -Gatter, um Vorderflanke heraus zu differenzieren 3! NOR -Gatter für die Rückflanke Anwendung:! flankengetriggertes RS- oder D- Flipflop entspricht Zustandsflipflop mit T = Clock und für Clock = A 1 Übernahme von R, S oder D mit steigender Flanke L # H Clock = A 2 (verzögerte) Übernahme mit fallender Flanke H # L! Verzögerungsschaltung Problem: Verzögerung* ist abhängig von verwendeter Technologie *Cave: bei Simulation muss Verzögerung berücksichtigt werden! 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 18
Einflankengesteuerte Flip-Flops ZB Einflanken D-Flip-Flop Übergang der Clock C von L * H und der Eingangszustand d 1 wird eingefroren a)! Ausgabe des Eingangszustandes b)! Eingang verriegeln Dh wie ein taktzustandsgesteuerter Flipflop nur die transparente Phase beschränkt sich auf ca die Anstiegszeit einflankengesteuertes dynamisches D-Flip-Flop Symbol: 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 19 JK-Flipflop JK-Flipflop = flankengesteuertes RS-Flipflop + Rückkopplung *! J=K=1 Toggle = automatischer Wechsel des Ausgangszustands mit jedem Takt* Ck! J K! R S! Q n+1! L /H! 1 Q n 0 Q n! Q n Q n! Q n! Q n! JK-Master-Slave Flipflops! Entkopplung von Ein- und Ausgang! Zusätzlich: Preset und Clear bei positiver Taktflanke übernimmt der Master den Eingang bei negativer Taktflanke übernimmt der Slave den Master Cave: J,K dürfen sich nicht ändern solange Ck=1 Anwendung: Zähler, Schieberegister ( Toggle -Funktion wird benötigt) * toggle-modus halbiert die Taktfrequenz der Clock am Ausgang 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 20
Die wesentlichen Flipflop-Typen RS-Flipflop D-Flipflop JK-Flipflop asynchron j=k=1 * toggle synchron: taktzustandsgesteuert 2-flankengesteuert (Master-Slave, Ausgabe mit 2 Flanke, ) 1-flankengesteuert 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 21 Allgemeine Multifunktionsflipflops Beispiel für Abhängigkeitsnotation Flipflop mit folgenden Funktionen:! Halte altes Q! T = Toggle! L = Lade D D = Data C = Clock L! T! Q n+1! Q n! Q n! D! D! Bezeichnungen an Schaltsymbolen:! Dynamischer Eingang, reagiert auf Übergang von Pegel 0 * nach Pegel 1 (positive Flanke)! Dynamischer Eingang mit Negation, reagiert auf 1 * 0! Verzögerter Ausgang (solange wie Eingang auf 1 steht) 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 22
Komplexe Digitalschaltungen: asynchrone Dualzähler Kombination von kombinatorischen (Boolesche Logik) und sequentiellen Schaltungskomponenten Zähler (gezählt werden die Pulse N)! Grundelement eines Zählers ist zb ein JK-Master-Slave Flipflop oder ein einflankengetriggertes D-Flipflop (Master-Slave)! Notwendig ist die Toggle Funktion J = K = 1 bzw D-Flipflop: Q verbunden mit D => asynchrone Dualzähler: Vorwärtszähler: Slave ändert seinen Zustand bei negativer Flanke von N Rückwärtszähler: Slave ändert seinen Zustand bei positiver Flanke von N (Tabelle von unten nach oben lesen) 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 23 Synchrone Binärzähler Zählimpulse werden gleichzeitig auf alle Takteingänge der Zählerstufen gegeben * synchrones Umschalten der Kippstufen 2! Kippstufe darf erst umschalten, wenn alle vorhergehenden Stufen auf 1 sind entspricht J = K = 1, sonst J = K = 0 entspricht keine Änderung Übertrag für die nächste Zählstufe! keine Verzögerung zwischen Takt und Zählresultat! Untersetzer = Frequenzteiler! 4-Bit-Zähler = 1:16 Umsetzer! Beliebiger Untersetzungsfaktor durch UND-Gatter der Q i verknüpft für ein CLR-Signal, zb: 1:10! Abhängig von der Stufe (Eingang oder Ausgang), auf die das Clear wirkt, ist CLR= Q 1 Q 3 oder Q 0 Q 3 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 24
Schieberegister (FIFO=first-in first-out) Bei jedem Taktimpuls wird die Information um eine Stelle weiter geschoben Parallele Auslese über Q A Q D JK-MS-Flipflop J = K ' D-Flipflop Q(t+1) = J (j,k)=(0,1) & Takt, => Q=0 (j,k)=(1,0) & Takt, => Q=1 Seriell- * Parallel-Wandlung! Schieberegister mit Parallel-Ausgang dient auch als Ringpuffer (Q D #Q in ) Parallel- * Seriell-Wandlung! Schieberegister mit Parallel-Eingang 08012009 Hartmut Gemmeke, WS2008/2009, Einführung in die Elektronik, Vorlesung 17 25