1.5k likes | 2.36k Views
Digitaltechnik Weiterbildungslehrgang XII – Kurs 4. Tobias Selinger 14./15. November 2013. Digitaltechnik: Wurzeln. 2. Physik (Halbleitertechnologie). Mathematik. Aussagenlogik, Boolesche Algebra. elektronische Schaltungen. ich denke ich bin. digitale Logikschaltungen.
E N D
DigitaltechnikWeiterbildungslehrgang XII – Kurs 4 Tobias Selinger 14./15. November 2013
Digitaltechnik: Wurzeln 2 Physik(Halbleitertechnologie) Mathematik Aussagenlogik, Boolesche Algebra elektronische Schaltungen ich denke ich bin digitale Logikschaltungen z.B. Addierer, Dekoder, Speicher,Zähler, Prozessoren...
Teil 1 3 Logische Grundoperationen
Problem 1: Aufzugssteuerung Motor Tür-kontakt Knopf 4 Problem: Ein Aufzug soll sich nur dann nach oben bewegen, wenn der Knopf gedrückt und die Tür zu ist. Lösung? nach H. Bühler: Grundlagen einer Verständigung mit Computern
Aufzugssteuerung 5 Problem: Ein Aufzug soll sich nur dann nach oben bewegen, wenn der Knopf gedrückt und die Tür zu ist. Motor Motor Tür-kontakt Knopf Lösung mittels Elektrotechnik (NaWi 5. Klasse): Reihenschaltung nach H. Bühler: Grundlagen einer Verständigung mit Computern
Binäre Kodierung mit Schaltvariablen x1 0 0 1 1 x2 0 1 0 1 y 6 Motor Schaltvariablen bzw. logische Variablen können nur zwei Werte annehmen: 0 bzw. false, „nein“ oder 1 bzw. true, „ja“ y Tür-kontaktx1 Knopfx2 Übung: Interpretieren Sie die folgenden Systemzustände: • x1=1, x2=0 • x1=0, x2=1 • Ergänzen Siein der Schalttabelledas gewünschteAusgabe-Verhalten: Definition der Schaltvariablen: x1: „Tür geschlossen?“ x2: „Knopf gedrückt?“ y : „Motor läuft?“
Binäre Kodierung mit Schaltvariablen Motor y Tür-kontaktx1 Knopfx2 x1 0 0 1 1 x2 0 1 0 1 y 0 0 0 1 7 Schaltvariablen bzw. logische Variablen können nur zwei Werte annehmen: 0 bzw. false, „nein“ oder 1 bzw. true, „ja“ Übung: Interpretieren Sie die folgenden Systemzustände: • x1=1, x2=0 • x1=0, x2=1 • Ergänzen Siein der Schalttabelledas gewünschteAusgabe-Verhalten: Definition der Schaltvariablen: x1: „Tür geschlossen?“ x2: „Knopf gedrückt?“ y : „Motor läuft?“
Logik-basierte Systembeschreibung ... Motor y Tür-kontaktx1 Knopfx2 x1 0 0 1 1 x2 0 1 0 1 y 0 0 0 1 x1 & y x2 8 Beschreibung des Systemverhaltens durch eine aussagenlogische Formel (Schaltfunktion): „Motor gdw „Tür ist und „Knopf ist läuft“ geschlossen“ gedrückt“ y = x1x2 ... und technische Realisierungmit Logikbaustein: UND-Operator nur Signalfluss,kein Stromfluss! UND-Gatter
Zwei Darstellungen: Logik - Elektronik 9 Systemgrößen: Systemverhalten: x1: „Tür ist geschlossen“x2: „Schalter ist gedrückt“y: „Motor ist aktiv“ y = x1x2 Logik Logische Formel (Schaltterm) Elektronik(Hardware) Kontaktschalter x1 & Motor y Kontaktschalter x2 Elektronischer Baustein (Logikgatter)
Problem 2: Steuerung eines Türöffners 10 Problem: Die Haustür soll sich öffnen, wenn der Türöffner im ersten oder im zweiten Stock gedrückt wird. Schaltvariablen? nach H. Bühler: Grundlagen einer Verständigung mit Computern
Lösung mit ODER-Operator x1 0 0 1 1 x2 0 1 0 1 y 11 Beschreibung der Systemgrößenmit Schaltvariablen: x1: „Türöffner im 1. Stock ist gedrückt“x2: „Türöffner im 2. Stock ist gedrückt“ y: „Türschloss ist geöffnet“ x1 Beschreibung des Systemverhaltens mit logischen Operationen bzw. Wertetabelle: x2 y y = x1x2 0111 Realisierung: ODER-Operator x1 1 y x2 ODER-Gatter
Übungen 12 Übung 1: Gegeben ist die folgende Schaltung: Notiere den entsprechenden Schaltterm und ergänze die zugehörige Wertetabelle !
Übungen 13 Übung 2: Gegeben ist der Schaltterm y = a (a b c) . Zeichne die entsprechende Schaltung und ergänze die zugehörige Wertetabelle! Könnte man die Schaltung vereinfachen?
Übungen 14 Übung 3: Bei der Talent-Show DSDSI entscheidet eine 3er-Jury per Mehrheitsabstimmung, ob ein Kandidat weiterkommt oder nicht. a) Erstelle eine entsprechende Wertetabellemit Eingängen a, b, c und Ausgang y !b) Entwickle einen passenden Schaltterm für y !c) Zeichne die entsprechende Schaltung!
Problem: Kühlschrankbeleuchtung 15 Problem: Öffnet man den Kühlschrank, so soll das Licht im Kühlschrank automatisch angehen. Tür-Kontakt Lampe nach H. Bühler: Grundlagen einer Verständigung mit Computern
Lösung mit NICHT-Operator 16 Beschreibung der Systemgrößenmit Schaltvariablen: x: „Tür-Kontakt geschlossen“y: „Lampe an“ Beschreibung des Systemverhaltens mit Wertetabelle bzw. logischen Operationen: NICHT-Operator x 0 1 y 1 0 bzw. kürzer x 1 y Negationspunkt beachten! NICHT-Gatter (Inverter)
Übersicht: Grundoperationen 17 UND-Operation(Konjunktion) ODER-Operation(Disjunktion ) NICHT-Operation(Negation ) x1 0 0 1 1 x2 0 1 0 1 x1x2 0 1 1 1 x 0 1 x 1 0 x1 0 0 1 1 x2 0 1 0 1 x1x2 0 0 0 1 Logik Elektronik x1 x1 & 1 y y x 1 y x2 x2 UND-Gatter ODER-Gatter NICHT-Gatter
Eine komplexere Schaltung 18 Problem: Eine High-Tech-Kaffeemaschine soll das Wasser erhitzen, wenn die Kaffee- oder Tee-Taste gedrückt wird und nicht gerade die Wartungsprozedur läuft! Beschreibung der Systemgrößenmit Schaltvariablen: k : „Kaffee-Taste gedrückt“t : „Tee-Taste gedrückt“w : „Wartung läuft“h : „Heizung an“ Beschreibung des Systemverhaltens ?
Kaffeemaschine 19 Schaltvariablen: k: „Kaffee-Taste gedrückt“t: „Tee-Taste gedrückt“w: „Wartung läuft“h: „Heizung an“ Schaltfunktion ? Wertetabelle ? Tipp zum Erstellen: Dualsystem!
Kaffeemaschine k 1 t h & w 1 20 Schaltvariablen: k: „Kaffee-Taste gedrückt“t: „Tee-Taste gedrückt“w: „Wartung läuft“h: „Heizung an“ Schaltfunktion: Wertetabelle: Schaltung:
Umsetzung in Hades k 1 t h & w 1 Eingabe-Pins Ausgabe-Pin Gatter und Leitungen 21 Schaltung auf Papier: Umsetzung in einemSimulationsprogramm: (z.B. Hades, Uni Hamburg) Farbcodes bei Hades: grau = 0rot = 1blau = undefiniert
Übung mit HADES 22 Aufgabe: Bauen Sie in Hades die folgenden Schaltungen auf und testen Sie deren Funktion: • Ein ODER-Gatter (mit zwei Input-Pins und einem Output-Pin) • Erweitern Sie dies zur Kaffeemaschinen-Schaltung! Tipps zum Handling: Bauteile erzeugen: per Kontextmenü (rechte Maustaste) Leitungen ziehen: per Start- und Endpunkt (mit beliebigen „Knickpunkten“) Schaltung testen: Input-Pins anklicken (immer zuerst aktivieren!)
Teil 2 23 Schaltfunktionen und Schaltnetze
Multiplexer – Demultiplexer 24 Ein Problem der Vermittlungstechnik: Zwei Teilnehmer T0 und T1 wollen wahlweise ihre Daten d0 und d1über eine gemeinsame Leitung senden. Ein Multiplexer (MUX) ist quasi ein „Kanal-Umschalter“ zur Auswahl eines bestimmten Eingangs. Am Ende der Übertragungsleitung kann ein Demultiplexer die empfangenen Daten auf einen bestimmten Kanal weiterleiten. d0 MUX DEMUX d1 s = 0Steuer-Eingang s = 1
Funktionale Modellierung 25 Modellierung des Ein-/Ausgabe-Verhaltens (Black-Box-Modellierung): Binäre Daten 1 0 1 MUX DEMUX 0 1 Steuersignal Steuersignal 0 1 d0 d0 MUX DEMUX b b d1 d1 Eingaben Ausgaben Eingaben Ausgaben s s
Logische Systembeschreibung 26 Entwicklung von Schalttermen zur Beschreibung des Ein-Ausgabe-Verhaltens bzw. der Schaltfunktionen: d0 d0 MUX DEMUX b b d1 d1 Eingaben Ausgaben Eingaben Ausgaben s s s = 0: b = d0 s = 0: d0 = b falls falls s = 1: b = d1 s = 1: d1 = b Schaltterm
Schaltnetze 27 Entwicklung von Schaltungen zu den Schalttermen. d0 d0 MUX DEMUX b b d1 d1 s s NOT-Gatter d0 & & d0 b 1 d1 & & d1 Schaltnetz Schaltnetz s s
Idee: Funktionale Modellierung 28 d0 MUX b Beschreibung des Systemverhaltens mit einer logischen Schaltfunktion d1 s d0 & 1 Realisierung des Systems mit Hilfe eines Logik-basierten Schaltnetzes d1 & s
Übung 29 Aufgabe: Erstellen und testen Sie mit Hilfe von Hades das entwickelte Schaltnetz. d0 & & d0 b 1 d1 & & d1 s s
Übung 30 Aufgabe: Entwickeln und testen Sie ein Multiplexer-Demultiplexer-System mit 4 Datenleitungen. Benutzen Sie zur Auswahl der Datenleitung 2 Steuerleitungen. Adressieren Sie die Datenleitungen wie unten angezeigt. d0 d0 d1 b d1 MUX DEMUX d2 d2 d3 d3 0 0 1 0 s1 s0 s1 s0
Teil 3 31 Exkurs: Disjunktive Normalform (DNF) und Schaltalgebra
Steuerung einer Autoinnenbeleuchtung 32 Problem: Öffnet man eine der beiden Türen, so soll das Licht im Auto angehen. nach H. Bühler: Grundlagen einer Verständigung mit Computern
Steuerung einer Autoinnenbeleuchtung x1 ? y x2 33 Schaltvariablen: x1: „Fahrertür ist geschlossen“x2: „Beifahrertür ist geschlossen“ y: „Licht im Auto ist an“ Wertetabelle ? Schaltfunktion ? Schaltung ? y = ?
Steuerung einer Autoinnenbeleuchtung x1 ? y x2 34 Schaltvariablen: x1: „Fahrertür ist geschlossen“x2: „Beifahrertür ist geschlossen“ y: „Licht im Auto ist an“ Wertetabelle ? Schaltfunktion ? Schaltung ? y = ?
Autoinnenbeleuchtung: logischer Ansatz 35 Schaltvariablen: x1: „Fahrertür ist geschlossen“x2: „Beifahrertür ist geschlossen“ y: „Licht im Auto ist an“ Wertetabelle: Schaltfunktion ? Ansatz 1: logische Idee: „Das Licht ist nur dann aus (d.h. nicht an), wenn beide Türen geschlossen sind“ d.h. bzw.Ansatz 2: guter Blick auf Wertetabelle: y sieht aus wie UND, nur je 0/1 vertauscht! D.h. y = invertiertes UND, siehe Ansatz 1!
Autoinnenbeleuchtung: systematisch 36 Schaltvariablen: x1: „Fahrertür ist geschlossen“x2: „Beifahrertür ist geschlossen“ y: „Licht im Auto ist an“ Wertetabelle: Schaltfunktion ? Ansatz 3: systematische Sammlung aller Fälle mit y=1,d.h. der positivenMinterme: Eingangskombinationen y=1, falls einer dieser Fälle zutrifft, d.h.
Vergleich der Schaltterme x1 & y x2 37 Ansatz 1/2:logisch /intuitiv Ansatz 3:Disjunktive Normalform(DNF) x1 x2 9 Gatter 2 Gatter & 1 & 1 y &
Steuerung einer Autoinnenbeleuchtung 38 Beschreibung der Schaltfunktion mit einem Schaltterm – Ansatz 1/2 Korrektheitsnachweis mit einer Wertetabelle: Vorgabe: schrittweise Prüfung: x1 0 0 1 1 x2 0 1 0 1 y 1 1 1 0 x1 0 0 1 1 x2 0 1 0 1 x1 x2 0 0 0 1 x1 x2 1 1 1 0
Steuerung einer Autoinnenbeleuchtung 39 Beschreibung der Schaltfunktion mit einem Schaltterm – Ansatz 3 Korrektheitsnachweis mit einer Wertetabelle: Vorgabe: schrittweise Prüfung: y1 y2 y3 x1 0 0 1 1 x2 0 1 0 1 y 1 1 1 0 x1 0 0 1 1 x2 0 1 0 1 x1 x2 x1 x2 x1 x2 (y1 y2) y2
Steuerung einer Autoinnenbeleuchtung 40 Beschreibung der Schaltfunktion mit einem Schaltterm – Ansatz 3 Korrektheitsnachweis mit einer Wertetabelle: Vorgabe: schrittweise Prüfung: y1 y2 y3 x1 0 0 1 1 x2 0 1 0 1 y 1 1 1 0 x1 0 0 1 1 x2 0 1 0 1 x1 x2 1 0 0 0 x1 x2 0 1 0 0 x1 x2 0 0 1 0 (y1 y2) y2 1 1 1 0
Finden von Schalttermen 41 x1 0 0 1 1 x2 0 1 0 1 y 1 1 1 0 x1 x2 9 Gatter Problem: Wie findet man systematisch Schaltterme für eine vorgegebene Schaltfunktion? & 1 & 1 y &
Minimierung des Schaltnetzes 42 x1 0 0 1 1 x2 0 1 0 1 y 1 1 1 0 Problem:Wie gewinnt man möglichst einfache Schaltnetze zur Realisierung der vorgegebenen Schaltfunktion? x1 & 1 y x2 x1 & y x2 NAND-Gatter
Boolesche Algebra / Schaltalgebra 43 Operationen: ¯ (NOT) (AND) (OR) Objekte: 0 (FALSE) 1 (TRUE) x1 0 0 1 1 x2 0 1 0 1 x1 x2 0 1 1 1 x 0 1 x 1 0 x1 0 0 1 1 x2 0 1 0 1 x1 x2 0 0 0 1 Entwickelt 1854 von George Boole (1815-1864)
Schaltterme 44 Schaltvariable: Eine Schaltvariable ist eine Variable, für die nur die Werte 0 und 1 eingesetzt werden können. Schaltterm: Ein Schaltterm ist aufgebaut aus- den Konstanten 0 (FALSE) und 1 (TRUE)- Schaltvariablen- den Operationen (AND), (OR), ¯ (NOT). Beispiele:
Aufstellen von Schalttermen 45 Minterm (Elementarkonjunktion) y1 y2 y3 x1 0 0 1 1 x2 0 1 0 1 y 1 1 1 0 x1 0 0 1 1 x2 0 1 0 1 x1 x2 1 0 0 0 x1 x2 0 1 0 0 x1 x2 0 0 1 0 (y1 y2) y2 1 1 1 0 Wert des Minterms y2 ist 1 gdw Wert(x1) = 0 und Wert(x2) = 1 gdw Wert(x1) = 1 und Wert(x2) = 1 Wert(y) ist 1 gdw Wert eines Minterms ist 1 Term in disjunktiver Normalform (Disjunktion von Mintermen)
Äquivalenz von Schalttermen 46 x1 0 0 1 1 x2 0 1 0 1 x1 x2 0 0 0 1 x1 x2 1 1 1 0 Zwei Schaltterme t1 und t2 sind (logisch) äquivalent gdw gilt: Der Wert von t1 und t2 ist für alle möglichen Einsetzungen der in t1 und t2 vorkommenden Variablen durch 0 bzw. 1 gleich. y1 y2 y3 x1 0 0 1 1 x2 0 1 0 1 x1 1 1 0 0 x2 1 0 1 0 x1 x2 1 0 0 0 x1 x2 0 1 0 0 x1 x2 0 0 1 0 (y1 y2) y2 1 1 1 0
Gesetze der Schaltalgebra 47 x1 0 0 1 1 x2 0 1 0 1 x1 1 1 0 0 x2 1 0 1 0 x1 x2 1 0 0 0 x1 x2 0 1 0 0 x1 x2 0 0 1 0 y1 (y2 y3) 1 1 1 0 y1 y2 y3 x1 0 0 1 1 x2 0 1 0 1 x1 1 1 0 0 x2 1 0 1 0 x1 x2 1 0 0 0 x1 x2 0 1 0 0 x1 x2 0 0 1 0 (y1 y2) y3 1 1 1 0
Gesetze der Schaltalgebra 48 Assoziativgesetz für Disjunktionen: a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 a b 0 0 1 1 1 1 1 1 b c 0 1 1 1 0 1 1 1 (a b) c 0 1 1 1 1 1 1 1 a (b c) 0 1 1 1 1 1 1 1
Gesetze der Schaltalgebra 49 Assoziativgesetze: Beweise? Per Wertetabelle! Kommutativgesetze: Distributivgesetze: (zwei !!) De Morgansche Gesetze:
Gesetze der Schaltalgebra 50 Übung: Ergänzen Sie die jeweiligen Ergebnisse: Gesetze der neutralen Elemente: 0-1-Gesetze: Komplementgesetze: Absorptionsgesetze: