Digitaltechnik Digitaltechnik 10110001 Die Begriffe „analog“ und „digital“ stammen eigentlich aus der Rechentechnik und wurden für die gesamte Technik und Elektronik übernommen. Digitale Informationen können sein: • Zeichen, welche digital codiert sind. z.B. Buchstaben • Mehrdimensionale „Zeichen“, z.B. Bilder (Geometrie, Farbtiefe) • Signale, das heisst eine zeitabhängige Folge von Zeichen, die den Verlauf einer physikalische Grösse darstellen, z.B. ein Tonsignal. • Mischform davon, z.B. ein Film. Er hat mehrdimensionale Bild- und auch Zeitinformation. 1. Analoge Grössendarstellung Zur Darstellung von Grössen nach dem Analogprinzip ist eine Analogiegrösse nötig; das heisst, eine Grösse, welche analog (=entsprechend) zu der Grösse ist, die man darstellen will. Beispiele. • Bei einem Analog-Thermometer ist die Höhe der Säule der Messflüssigkeit analog zur Temperatur • Bei Analoguhren ist der Winkel derZeiger analog zur Zeit • Ein einfacher Analogrechner ist der alte Rechenschieber. Als Analogiegrösse verwendete man die Länge. • Bei den früheren Analogrechnern (und heutigen einfacheren Analogschaltungen) ist die Analogiegrösse die elektrische Spannung. Für die Zahlendarstellung wird zum Beispiel der Zahl 3 der Wert 3 Volt zugeordnet ( 1 =ˆ 1V ). Analog anzeigende Uhr Analoge Darstellung , z.b. verkaufte Artikel pro Jahr Analoge Darstellung von Temperatur und Luft-feuchtigkeit Vorteile von Analogdarstellungen: • Die analoge Grössendarstellung ist anschaulich • Aussagen über Grössenordnung und Verdänderungen der Grössen sind sofort möglich. Nachteile: • Die Genauigkeit der Darstellung ist beschränkt. Sie ist abhängig von der Messgenauigkeit, mit welcher die Analogiegrösse ermittelt werden kann. Eine elektrische Spannung kann mit üblichem Aufwand auf ca. 1% genau gemessen werden. Analoge Grössen können im Prinzip zu jeder Zeit jeden beliebigen Wert annehmen. Ein solches Signal ist fortlaufend in Zeit und Wert, man sagt, das Signal sei zeit- und wertekontinuierlich. Der Darstellung sind Grenzen gesetzt durch die Mess- und Ablesegenauigkeit. [email protected] Seite 1 Digitaltechnik 2. Digitale Grössendarstellung Für die digitale Grössendarstellung verwendet man abzählbare Elemente. „Digital“ kommt von digitus (lat.:der Finger). Eine Zahl kann, z.B. durch eine Anzahl von Fingern, dargestellt werden. Ein einfacher Digitalrechner ist der altbekannte Rechenrahmen. Eine Zahl wird durch die Anzahl der Kugeln dargestellt. Digitale Grössen bestehen aus abzählbaren Elementen Rechenrahmen als einfacher Digitalrechner Bei Digitalrechnern verwendet man statt der Kugeln elektrische Zustände oder Impulse. Man könnte die Zahl 3, z.B. durch 3 Impulse, darstellen und entsprechend die Zahl 37 durch 37 Impulse. Diese Darstellung ist aber sehr unwirtschaftlich und daher nicht üblich. Zur Darstellung der Zahl 100 000 würde man 100 000 Impulse benötigen. Will man Zahlen und Werte digital darstellen, muss man sich auf eine Codierung einigen. Vorteile der Digitaldarstellung: • Der Genauigkeit der Darstellung von Zahlen und Grössen ist keine physikalische Grenze gesetzt. Wenn man die Anzahl der Kugeln nur entsprechend erhöht, ist jede gewünschte Genauigkeit erreichbar. Auch bei Ziffernanzeigen kann sie durch Mehraufwand bei der Anzahl Elemente (Stellen) praktisch beliebig hoch werden. • Ablesefehler sind fast ausgeschlossen. Digitale Anzeigen sind eindeutig in ihrer Aussage; es braucht kein ‘Abschätzen’ (was aber nicht heisst, dass die Wahrheit angezeigt wird!) Nachteile: • Die Genauigkeit ist durch die Anzahl der verwendeten Elemente begrenzt. • Der Aufwand für die digitale Darstellung ist meist grösser als für eine analoge. • Digital dargestellte Grössen täuschen durch ihre Anzeigegenauigkeit absolute Genauigkeit vor. Sie sind jedoch nicht prinzipiell genauer als analoge Werte! Die Messung dahinter kann sehr ungenau sein! Bei der digitalen Darstellung (z.B. Speicherung) eines kontinuierlichen Signals sind nur eine beschränkte Anzahl von Signalwerten ( auf der U-Achse) und von Zeitwerten (auf der t-Achse) möglich. Dies ergibt die typische Treppenerscheinung. Weil das Singal bezüglich Zeit und Werten abgestuft ist, man sagt, das Signal sei zeit- und wertediskret. Genauigkeit: Je mehr Stufen es gibt, denen der Signalwert zugeordnet werden kann, desto besser ist die Auflösung (resolution) des Signals. Das gilt für jede Dimension. Bei zeitabhängigen Grössen gilt zusätzlich: Je mehr Stützwerte es in einem Zeitabschnitt gibt, umso besser oder höher ist die Abtastrate (sample rate) des Signals. [email protected] Seite 2 Digitaltechnik 3. Codierung Allgemein kann man Informationen in verscheidensten Codierungsarten darstellen und speichern. Jede Codierungsart hat eine bestimmte Anzahl Zeichen (z.B. Ziffern, Buchstaben) zur Verfügung, um eine Nachricht oder Information darzustellen. Beispiele: Codierungsart Chinesische Schrift Lateinische Schrift Zahlen im Dezimalsystem Zahlen im Binärsystem Anzahl Zeichenarten 3000 bis 9000 25-29 10 2 Eine Menge Nachrichten kann man entweder mit vielen Zeichen und wenigen Stellen darstellen oder mit wenigen Zeichen und vielen Stellen. Technisch problematisch sind Codierungsarten, die viele Zeichenarten und wenige Stellen aufweisen. Man stelle sich eine chinesische Schreibmaschine vor, wenn für jedes Zeichen eine Taste benötigt würde… Technisch einfach sind Codierungsarten mit wenigen Zeichenarten. Allerdings steigt dadurch die nötige Anzahl Stellen. 3.1 Die binäre Codierung (Dualsystem) Um technisch einfache Codierungen zu haben, wählte man das Binärsystem oder Dualsystem. Es kennt nur zwei verschiedene Zustände und damit nur zwei Zeichen. An jeder Stelle kann es nur zwei Zustände annehmen. Beispiele: Binäres Element Zustand 1 Zustand 0 Schalter geschlossen offen Spannung vorhanden nicht vorhanden Lochkarte Loch kein Loch Transistor leitend nicht leitend Magnetplatte magnetisiert nicht magnetisiert Speicherzelle (RS-FlipFlop) gesetzt nicht gesetzt Zeichen 1 0 Logik-Spannungspegel (Level) HIGH (der positivere LOW (z.B. 0 V) Spannungspege z.B. 5 V) Logischer Zustand wahr (TRUE) falsch (FALSE) Für diese Zweiwertigkeit ist die Bezeichnung binär üblich. Die in der Digitaltechnik verwendeten Elemente sind also binäre Elemente. Kleine Abweichungen eines Zustands (z.B. durch Störungen) werden nicht als Wertänderung erkannt. Die technische Realisierung der Zustände ‘Ein’ oder ‘Aus’ ist mit elektrischen Komponenten einfach möglich. In den Anfängen der Rechnertechnik mit handbedienten Schaltern, Relais, später mit Röhren, und dann bis heute mit Transistoren als Schalter. Die Digitaltechnik ist somit genau genommen binäre Digitaltechnik. [email protected] Seite 3 Digitaltechnik 3.2 Binäre Informationseinheiten Eine Stelle, die nur zwei Werte annehmen kann, heisst Bit (binary digit, binäres CodeElement). - 8 Bits bilden bekanntlich ein Byte. - 4 Bits bilden ein Nibble (Halbbyte). - 16 Bits bilden ein Wort (Word). - 32 Bits bilden ein Doppelwort. 4. Analog-Digital-Wandler und Digital-Analog-Wandler Zurück zur Art und "Herstellung" von digitalen Signalen. Bekanntlich besteht unsere Welt aus kontinuierlichen Grössen. Wenn wir diese analogen Werte mit digitalen Maschinen verarbeiten wollen, müssen sie digitalisiert werden. Ferner ist es nötig, dass digital gespeicherte Daten oder Signale wieder in analoge gewandelt werden, weil die menschlichen und übrigen natürlichen "Schnittstellen", z.B. unsere Sinne, nach wie vor analog sind. Deshalb brauchen wir massenhaft elektronische Schaltungen, welche analoge in digitale Signale wandeln können und umgekehrt. Diese heissen ¾ Digital-Analog-Wandler (D-A-Converter, DAC) ¾ Analog-Digital-Wandler (A-D-Converter, ADC) Einsatzgebiete von ADC und DAC: Unterhaltungselektronik (Audio, Video), Uebertragungstechnik, Telekommunikation, Messtechnik, Steuer- und Regelungstechnik usw. Beispiele: Digital-Analog-Wandler (DA-Converter) Analog-Digital-Wandler (AD-Converter) Soundkarte Ausgang CD-, Minidisc- oder MP3-Player ISDN-Leitung zu Telefonhörer Soundkarte Eingang Digitalmessgeräte Telefonmikrofon zu ISDN-Leitung Die beiden wichtigen Qualitätsmerkmale Kernbegriffe: = zeitliche Angabe, wie häufig ein analoger Wert in einen digitalen Wert umgewandelt wird. Die Abtastfrequenz muss mind. doppelt so gross sein wie die abzutastende Frequenz (z.B. Tonhöhe). Abtastzeit bzw. Abtastrate oder Abtastfrequenz (sample rate) Auflösung (resolution) Dieses Gesetz heisst Abtasttheorem Anzahl der möglichen digitalen Stufen, zu denen ein Analogwert zugeordnet werden kann. (bei der Quantisierung) Augabe: Berechnen Sie, wieviel Speicherplatz die Musik auf einer 80 Minuten-CD benötigt. (CD-Qualität, unkomprimiert, PCM-codiert im WAV-Format) CD-Qualität bedeutet: 44,1kHz sample rate, 16 bit Auflösung pro Sample, 2 Kanäle stereo. [email protected] Seite 4 Digitaltechnik 4.1 D-A-Wandler (Digital-Analog-Wandler) Prinzip eines D-A-Wandlers (primär für zeitabhängige Signale, z.B. einen Ton): 1001 1110 binär codierte Signalwerte Treppenförmiges Signal Analogsignal Der Code, in dem das digitale Signal vorliegt, muss bewertbar sein. Der Wandler hat die Aufgabe, die Wertung der einzelnen Bits vorzunehmen. Ein digitales Signal liegt bekanntlich wertediskret vor. Es gibt nur gewisse Signalwerte. Deshalb ist das erste Ergebnis der Wandlung ein stufenförmiges Signal. Die Wertigkeiten aller Bits werden zusammengezählt. Mögliche Schaltungen zur D-A-Wandlung Am einfachsten wird das Prinzip anhand folgender Schaltung klar: Es ist ein 4-Bit-Wandler, der Leitwert (1/R) der oberen Widerstände entspricht der Gewichtung des entsprechenden Bits. Eine logische 0 entspreche 0 Volt, eine logische 1 entspreche 5 Volt. Die Widerstände haben die Werte 625, 1250, 2500 und 5000 Ohm. Gemäss der Knotenregel addieren sich die Ströme und fliessen durch den 1-OhmWiderstand. Dort erzeugen sie den Spannungsabfall, der wertmässig dem summierten Strom und damit dem digital anliegenden Wert entspricht. Dies zeigt sich anhand von Beispielen in der Tabelle: Zahl Bit3 Bit2 Bit1 [email protected] Bit0 I3 I2 I1 I0 Itot. Seite 5 Ua Digitaltechnik 4.2 A-D-Wandler (Analog-Digital-Wandler) Die A-D-Wandlung geschieht in 3 Schritten: 1. Abtastung (sampling) auf der Zeitachse 2. Quantisierung 3. Codierung Prinzip eines A-D-Wandlers (Zeit-Sampling nur bei zeitabhängigen Signalen): Der Abtaster nimmt zu exakt bestimmten Zeitpunkten eine Probe (sample) des Analogsignals. Der erfasste Wert wird in einem analogen Zwischenspeicher, dem Halteglied, gespeichert. Das "Speichern" wird Halten oder hold genannt. Es ist ein analoger Zwischenspeicher, z.B. ein Kondensator. Während dieser Haltezeit muiss der Wert quantisiert werden kann. Abtast-/Halte-Schaltungen sind unter dem englischen Begriff sample/hold bekannt. Der Quantisierungsvorgang braucht mehr oder weniger Zeit. Er kann erst nach Abschluss der Abtastung (sample) beginnen, in der hold-Phase. Die nächste Abtastung kann erst erfolgen, wenn die Quantisierung abgeschlossen ist. Für die Quantisierung gibt es verschiedene Verfahren: Mögliche Schaltungen zur A-D-Wandlung (Quantisierung): Es gibt verschiedenste Verfahren zur Wandlung von Analog- in Digitalsignale, die alle Vorund Nachteile haben. Kriterien sind zum Beispiel: Schnelligkeit, Linearität, Reproduzierbarkeit. Hier sind nur einige Verfahren kurz beschrieben: Zeitprinzip (Gebräuchlich sind Rampen- und Doppelrampenverfahren): Das abzutastende Amplitudenwert des Analogsignals wird mit einer Zeit verglichen, die eine linear ansteigende Vergleichsspannung braucht, bis sie den Wert des Analogsignals erreicht. Während dieser Zeit zählt ein digitaler Zähler die Taktimpulse. Diese Impulszahl ist dann der Digitalwert und der ist proportional zum Analogwert. Die Wandlung muss stets innerhalb eines Abtastzyklus' (von einem Sample zum andern) abgeschlossen werden können! Die Logikschaltung benötigt zudem einen D-A-Rück-Wandler, der das digital erhaltene Signal wieder zurückwandelt, damit es mit dem gesampelten Signal verglichen werden kann. Vorteil: einfache Schaltung, relativ schnell. Nachteil: Je nach Bauteiletoleranz nicht sehr genau. [email protected] Seite 6 Digitaltechnik Iterationsvverfahren (Wägeverfahren) Der Digitalwert wird wie mit einer alten Waage ermittelt: Auf der einen Seite "liegt" der Analogwert, eine Kontrolllogik "legt" auf die andere Seite binäre Gewichtssteine mit der Wertigkeit der Bits, beginnend mit dem Grössten. Jene Steine oder Bits, die gesetzt werden können, ohne dass die Waage kippt, ergeben im Digitalwert eine 1. Zum Vergleich des ermittelten Ergebnisses mit dem Eingangssignal benötigt die Logik auch hier einen D-A-Wandler. Direktumsetzung (mit Flash-Wandler) Dies ist im Prinzip die direkteste und schnellste Art der A-D-Wandlung, aber mit hohem Schaltungsaufwand verbunden. Für jede gewünschte Stufe der Quantisierung benötigt man einen Komparator. Für eine 16 Bit Auflösung benötigt man also 65536 Komparatoren. Vorteil: sehr schnell. Nachteil: Grosser Schaltungsaufwand. Aufbau: [email protected] Seite 7 Digitaltechnik 5. Binäre Zahlencodes (sollte Repetition sein) Bei Zahlen im Binärsystem heissen die Stellen Bits. Die Zahlen sind wie beim Zehnersystem in einen Stellenwertsystem dargestellt, das bedeutet, jede Stelle hat ihre Wertigkeit (.... 64 32 16 8 4 2 1) MSB -> 1 0 1 0 1 1 1 <- LSB Die höchstwertige Stelle ist links und heisst most significant bit, abgekürzt MSB (das gewichtigste Bit). Die tiefstwertige Selle liegt rechts und heisst least significant bit, abgekürzt LSB (das aussageschwächste Bit). => Hausaufgabe ! Lernen Sie jene Funktionen Ihres Taschenrechners kennen, mit denen Sie alle Umwandlungen von natürlichen Zahlen zwischen Dualsystem, Dezimalsystem und Hexadezimalsystem vornehmen können oder schreiben Sie ein Programm für den Rechner, welches diese Aufgaben vornehmen kann! In Tests und Prüfungen können solche Teilaufgaben vorkommen! Der BCD-Code: ein Spezialfall des Binärcodes Beim sog. BCD-Code wird eine Zahl aus dem Zehnersystem nicht als ganzes binär umgewandelt, sondern jede Dezimalstelle (Digit) der Zehnerzahl einzeln mit einer 4-BitBinärzahl codiert. Eine so codierte Zahl ist länger; es werden ja nur 10 der 16 möglichen 4-Bit-Kombinationen genutzt. In der Praxis ist dieser Code recht verbreitet, zum Beispiel für die Ansteuerung von Digitalanzeigen (7-Segment-Anzeigen) bei Uhren, Kassenautomaten usw. Die Zahl 70 wäre im BCD-Code also 7 ¦ 0 = 0111 ¦ 0000 (zwei 4-Bit-Werte). man darf auch 111 ¦ 0 schreiben, die führenden Nullen darf man schreiben, muss aber nicht. Umwandlungstabelle Dezimalzahl 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Dualzahl (Binärsystem) 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 [email protected] BCD-Code (4-Bit-Wert) 0 1 10 11 100 101 110 111 1000 1001 nicht definiert nicht definiert nicht definiert nicht definiert nicht definiert nicht definiert nicht definiert Oktalzahl (Achtersystem) 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 Hexadezimalzahl (Sedezimalsystem, Sechzehnersystem 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 Seite 8 Digitaltechnik 6. Darstellung und Verknüpfung digitaler Baugruppen und Vorgänge 6.1. Funktionale Einheiten – Blockschaltbilder - Signalfluss Die meisten Maschinen, auch die elektronischen und digitalen Geräte, lassen sich in funktionale Einheiten unterteilen und vereinfacht darstellen. So wird das Zusammenwirken der Einzelteile erklärbar Beispiele für Funktionsblöcke aus Maschinen der Mechanik: Auto: Velo: Küchenmixer: Staubsauger: Motor, Bremse, Getriebe Bremse, Übersetzung (=Getriebe) Motor, Untersetzung (=Getriebe) Motor, Windturbine, (keine Bremse, kein Getriebe) Die Richtung der Kommunikation und der Beeinflussung (Ursache -> Wirkung) wird mit Pfeilen angegeben. In der Datentechnik läuft die Kommunikation natürlich über physische Verbindungen (Leitungen), die meist zu einem Bus zusammengefasst werden und oft nur als Strich (auch ohne Pfeil) dargestellt werden. Beispiele Computer: Häufig lassen sich die einzelnen Blöcke in weitere Unterblöcke unterteilen. Beispiel als Teil des oberen Schemas die CPU rechts: Oder bei Geräten aus Alltag und Unterhaltung: USB-Stick: [email protected] MP3-Player: Seite 9 Digitaltechnik 6.2 Arten zur Darstellung binärer Zustände, Abläufe und Operationen So wie man mit Zahlen des Zehnersystems Rechenoperationen und -funktionen ausführen kann, kann man auch mit den binären Elementen der Digitaltechnik rechnen (Algebra treiben). Da diese Elemente so einfach sind (nur zwei Zustände oder zwei mögliche Ziffern), gibt es sogar ein paar zusätzliche Grundfunktionen, um Variablen zu verknüpfen. Dabei hat man sehr viele Möglichkeiten: Möglichkeit der Verknüpfung sprachlich-logisch, also anhand einer Beschreibung mit Worten, einer Aussage, mit "UND" od. "ODER" bedingte Anweisungen in Programmen & source code für Prozessoren, In Makros, Tabellenkalkulationen usw. durch ein Schaltsymbol Beispiele Erläuterung Ich gehe nur baden, wenn es Beim "ODER" gibt es zwei schön und das Wasser warm Sorten: Das UND/ODER sowie das ist. ENTWEDER/ODER IF a>b THEN bedingung=erfüllt Solche Verknüpfungsglieder nennt man dann Tore oder Gatter oder gates. Meist sind links die Eingänge (beliebig viele möglich), rechts der einzige Ausgang mit einer Wahrheitstabelle Links sind die Eingänge Rechts der Ausgang oder die Ausgänge (Ergebnisse) algebraisch-theoretisch: durch eine Formel, durch eine schaltalgebraische Funktion mit Schaltalgebra, Schaltalgebra ist eine Algebra mit Variablen, die nur die beiden logischen Werte 0 und 1 (oder wahr und falsch) annehmen können. mit einem Zustands-Zeitdiagramm oder Impulsdiagramm für verschiedene Signale oder Variablen Horizontal (auf der x-Achse) wird der Zeitablauf dargestellt, vertikal der aktuelle Zustand (0 oder 1) Für jede Variable Die technische Realisierung geschieht mit elektrischen Bauteilen, die aus binären Elementen bestehen müssen, also zum Beispiel Dioden und Transistoren. Man kann sie fixfertig in integrierten Schaltungen (Chips) kaufen. technisch-praktisch, mit digitalen, elektronischen Schaltelementen, Chips, ICs (IC = integrated circuit) [email protected] Seite 10 Digitaltechnik 7. Binäre Grundfunktionen und Operationen • • • die UND-Operation die ODER-Operation (gemeint ist das einschliessende Oder !!! also das sprachliche "und/oder") Gleichbedeutend mit "und/oder" ist "mindestens eins" die Negation (oder Inversion oder Umkehrung) oder • oder + Operationszeichen: Operationszeichen: Über eine oder mehrere Variablen kommt ein Querstrich. Beispiel: Prioritätsordnung der Boolschen Operationen 1. 2. 3. Höchste Priorität: Punktrechnung vor Strichrechnung 4. unter sich gleichgestellt:: Negation • UND + ODER Äquivalenz, Antivalenz NOT AND OR EXNOR EXOR Falls in Boolschen Gleichungen eine andere Priorität gemeint ist, müssen Klammern gesetzt werden (wie in der gewöhnlichen Algebra). Zwecks besserer Übersichtlichkeit dürfen auch bei klarer Prioriätsordung Klammern gesetzt werden. Schwierig ist das Merken der Operationszeichen UND bzw. ODER . und das Plus heisst nicht etwa UND, sonder eben gerade ODER Das UND-Zeichen hat immerhin noch eine Ähnlichkeit zum englischen AND . Zusatzregel: Das Rechengesetz von De Morgan Da die binären Elemente so einfach sind (nur zwei Zustände), gibt es auch eine zusätzliche, recht ungewöhnliche Rechenregel: Beispiel aus der Sprachlogik: Gegeben die Aussage: Regel 1: Sabine geht weder ins Kino noch ans Konzert. Diese Aussage kann auf zwei Arten "ditgital" umgeformt werden (nach De Morgan): Nicht (A oder B) = Nicht A und nicht B Regel 2: Sabine geht NICHT [ins Kino ODER ans Konzert] = Sabine geht [NICHT ins Kino] UND [NICHT ans Konzert]. Beispiel aus der Sprachlogik: Gegeben sie die (etwas unklare) Aussage: Mac und PC: Martin hat höchstens eines von beiden Mögliche "digitale" Umformung nach DeMorgaan: Nicht (A und B) = Nicht A oder nicht B [email protected] Martin hat nicht [einen Mac UND einen PC] = Martin hat [keinen Mac] ODER [keinen PC] (oder beides nicht, könnte aber eins davon haben) Seite 11 Digitaltechnik 8. Grafische Darstellung und Wahrheitstabelle Es gibt statische Digitalinformation, z.B. eine Zahl oder ein Bild. Es gibt zeitabhängige Digitalinformation, z.B. ein Musikstück oder ein Film. Mit Zeit-/Zustands-Diagrammen oder Impulsdiagrammen (oder Signaldiagramme) kann beides zu veschiedenen Zeitpunkten dargestellt werden. Horizontal ist die Zeit, nach oben sind die binären Zustände dargestellt. Genau so wie es ein KO (Oszilloskop) macht. Oft kann man damit das Verhalten digitaler Schaltungen optimal veranschaulichen. Beispiel: Das Impulsdiagramm eines UND-Gatters, zwei Eingänge, ein Ausgang. Der Verlauf der Eingangssignale ist frei erfunden, günstig wäre, wenn jede mögl. Eingangskombination (0-0, 0-1, 1-0, 1-1) genau (oder mindestens) einmal vorkäme. Ist das hier der Fall?. Das Ausgangssignal wird dann aus der UND-Bedingung abgeleitet: AND-Funktion: Das Ausgangssignal ist genau dort 1, wo E1 und E2 =1 sind. Eigenschaften solcher Diagramme: • • • • • • Die Grafik enthält mehrere Teilgrafiken für jeden Eingang und jeden Ausgang: Von links nach rechts läuft die Zeit Alle Signale liegen zeitlich genau übereinander, synchron Auf der Vertikalen wird für jedes Signal der Logikpegel aufgetragen, unten 0, oben 1. Mit den Eingangssignalen sollte man wenn irgendwie möglich jede erdenkliche Kombination einmal haben, damit alle Zustände simuliert werden. Der Ausgang hängt dann von den Eingängen und den vorhandenen Funktionen ab Weiteres Beispiel: Zusammenhang zwischen Signaldiagramm und Wahrheitstabelle: Hier sieht man 5 Signale. Wer genau hinschaut, bemerkt, dass jede mögliche Kombination der 5 genau einmal vorkommt: Es gibt 2^5=32 Fälle. Rechts daneben ist die entsprechende Wahrheitstabelle, auch hier 2^5=32 Zeilen enthalten. Dieser 5 Signale oder 5 Bits entsprechen genau dem Wechsel der 0 und 1 in der Wahrheitstabelle, machen Sie den Vergleich! Ein Zustand-Zeit-Diagramm mit 5 Signalen: Zugehörige Wahrheitstabelle Diese 32 Fälle entsprechen einem ansteigenden Digitalwert oder einem Binär-Zähler! [email protected] Seite 12 Digitaltechnik Beispiele und Uebungen zu Schalt-Symbolik, Boolsche Algebra, Wahrheitstabelle, Zeitdiagramm 1) Welche digitale Grundfunktion lässt sich mit dieser Schaltung aufzeigen? Formulieren Sie einen deutschen Satz, der diese Funktion anhand dieser Schaltung exakt beschreibt! 2) Füllen Sie die Wahrheitstabelle gemäss der Verknüpfungslogik aus. Die leere Spalte kann mit einer Hilfsvariablen gefüllt werden. 3) Erstellen Sie eine vollständige Wahrheitstabelle für das automatische Oeffnen eines Dachfensters: Oeffnen = warm AND [ NOT (Regen OR Nacht) ] Schreiben Sie auch die bool’sche Gleichung dazu auf 4) Zeichnen Sie die folgende Verknüpfungslogik (Schaltung aus Grundsymbolen) für das Ausfahren einer Store: Store = (Sonne AND warm) AND NOT (Schnee OR Regen) AND NOT Sturm 5) Finden Sie die Schaltung (Symbolkombinationen) aus Grundfunktionen, welche das folgende Impulsdiagramm erzeugt: [email protected] Seite 13 Digitaltechnik 6A) Versuchen Sie, diese boolsche Gleichung zu vereinfachen: A ∧ ( B ∨ A) 6B) Versuchen Sie, diese boolsche Gleichung zu vereinfachen: A = X ∧Y ∨ Z ∧ X 7) Füllen Sie die Wahrheitstabelle gemäss der Verknüpfungslogik aus. Die leere Spalte kann mit einer Hilfsvariablen gefüllt werden 8) Vom nebenstehendem logischen Schaltnetz sind a) die Wahrheitstabelle, b) der Signal-Zeit-Plan und c) die Funktionsgleichung zu ermitteln. Kann man etwas vereinfachen? [email protected] Seite 14 Digitaltechnik 9) Geben Sie die boolsche Gleichung an für folgende Schaltung / Funktion: 10) a) Finden Sie ein „Schaltnetz“, eine Verknüpfungslogik aus Schaltsymbolen, welches das folgende Zeitdiagramm erzeugt (X,Y,Z sind Eingänge, A ist der Ausgang): b) geben Sie die Funktionsgleichung an (boolsche Gleichung für A) 11) Vereinfachen Sie diese Ausdrücke: 12) Bekanntlich ist die EXOR-Funktion nur für zwei Eingänge definiert. Man kann aber selber eine ähnliche Funktion für 3 Eingänge definieren: Der Ausgang wird 1, wenn entweder der erste oder der zweite oder der dritte Eingang 1 ist, aber nie mehrere. -> Versuchen Sie, so eine Verknüpfungslogik („Schaltung“) aus Grundfunktionen (normale EXORs erlaubt) durch Probieren zu entwickeln und testen Sie diese mit Hilfe des EdisonSchaltungsanalysators am PC. Dazu benötigen Sie natürlich drei Impulsgeneratoren, welche an den Eingängen die Bitmuster einer ganzen Wahrheitstabelle erzeugen. [email protected] Seite 15 Digitaltechnik 9 . Kombinatorische „Schaltungen“/Verknüpfungen/Funktionen Jede Kombinationen von digitalen Grundelementen nennt man kombinatorische Schaltung. Beispiele: Sie kann beliebig viele Eingänge haben. Jeder Ausgang stellt eine eigene Funktion dar. Jeder Ausgang ist somit eine digitale Funktion der Eingänge im mathematisch-logischen Sinn. Merkmale und Regeln kombinatorischer Schaltungen Logisch: ♦ Beliebig viele Grundelemente dürfen zusammengeschaltet sein ♦ Das System hat jeweils beliebig viele Eingänge ♦ auch beliebig viele Ausgänge sind denkbar ♦ jeder Ausgang ist eine eigene Funktion (hat eine bestimmte Abhängigkeit) der Eingänge ♦ Jede Eingangskombination ergibt einen genau bestimmten und reproduzierbaren Zustand am Ausgang oder an den Ausgängen. ♦ Ein Ausgangszustand hängt nur vom aktuellen und nie vom vorhergehenden Zustand ab ♦ Das Verhalten der Schaltung lässt sich in einer Wahrheitstabelle oder einem Zeitdiagramm darstellen. ♦ Falls das Verhalten algebraisch mit einer Funktionsgleichung beschreiben werden soll, muss für jeden Ausgang eine eigene Funktion dargestellt werden (A1= …; A2=…) Technisch: ♦ Verteilung, Mehrfachverwendung und Verzweigung von Signalen sind erlaubt ♦ Aber: Rückführungen von Ausgängen auf Eingänge darf es nicht geben! Sonst ist es keine kombinatorische Schaltung (sondern unter Umständen eine sogenannt sequentielle Schaltung) ♦ Es dürfen nie mehrere Ausgänge zusammengeschaltet werden! Sie wirken wie Quellen und würden einander "bekämpfen". ♦ Aus dem gleichen Grund dürfen keine Eingangssignale auf Ausgänge von Elementen wirken. Aufgaben: 1) Nehmen Sie ein beliebiges NAND-Gatter mit zwei Eingängen. Wie lautet die Wahrheitstabelle, wenn die beiden Eingänge zu einem einzigen Eingang E zusammengeschlossen werden? [email protected] 2) Nehmen Sie ein beliebiges NOR-Gatter mit drei Eingängen. Wie lautet die Wahrheitstabelle, wenn die drei Eingänge zu einem einzigen Eingang E zusammengefasst werden? Seite 16 Digitaltechnik 10. Operationen mit Bytes In Mikroprozessorsystemen wird bekanntlich mit Registern gearbeitet. Diese sind mindestens 8 Bit breit. Jedes Bit kann einen digitalen Zustand darstellen und physisch direkt genutzt werden, um etwas ein- oder auszuschalten (z.B. direkt am Parallel-Port eines PCs). Beispiel: Am Parallelport eines PCs sind 8 Lampen an den Anschlüssen des Daten-Bytes. Auf das Datenregister von LPT1 (Adresse 378hex) kann man fast mit jedem Programm zugreifen. Bytes werden dabei oft in Hex (also mit 2 Hex-Ziffern) anstatt mit 8 Bits angegeben. Folgend werden alle Bits gleichzeitig (also das Byte) durch einen Befehl oder eine Zuweisung in einen bestimmten Zustand gesetzt (der Registername sei LPT1): Alle Lampen einschalten: LPT1 = Alle Lampen ausschalten: LPT1 = 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 Oder in HEX: LPT1 = LPT1 = FF 00 die äussersten Lampen ein: LPT1 = umgekehrt: LPT1 = 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 Oder in HEX: LPT1 = LPT1 = 81 ___ Oft möchte man aber nur ein einziges Bit setzen oder verändern, kann aber nur auf das ganze Byte (ganzes Register) zugreifen. Wir suchen also eine Funktionen für dieses Byte, welche nur 1 Bit verändert, die andern Bits aber so lässt, wie sie aktuell gerade sind (wobei sie 0 oder 1 sein dürfen). Die Regeln sind einfach: sie kommen aus der Regelntabelle, X ist eine Variable und steht für 0 oder 1. ♦ X AND 0 = 0 ♦ X AND 1 = X ♦ ♦ X OR 0 = X ♦ X OR 1 = 1 ♦ Mit AND: Einsen belassen die Bits, eine Null setzt das Bit auf 0. Mit OR: Nullen belassen die Bits, eine Eins setzt das Bit auf 1. In Operationen mit Bytes werden die Operationen (NOT, AND, OR) mit allen sich entsprechenden Bits einzeln durchgeführt. Weil die Operation bitweise erfolgt, müssen wir im Byte eine Bitfolge haben, welche an jener Stelle, die wir beeinflussen wollen, anders ist als die übrigen Bits. Beispiele: NOT = 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 bzw. in HEX NOT = 01 FE NOT = 1 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 bzw. in HEX NOT = A7 58 Um ein Bit auf 1 zu setzen mit OR. Das Byte lautet: 00000001 = 01hex 00000010 = 02hex 00000100 = 04hex 00001000 = 08hex 00010000 = 10hex 00100000 = 20hex 01000000 = 40hex 10000000 = 80hex Um ein Bit auf 0 zu setzen mit AND. „Inverses“ Byte: 11111110 = FE hex 11111101 = FD hex 11111011 = FB hex 11110111 = F7 hex 11101111 = EF hex 11011111 = DF hex 10111111 = BF hex 01111111 = 7F hex Bessere Operation um 0 zu setzen: AND NOT (invertiertes Byte) 00000001 = 01hex 00000010 = 02hex 00000100 = 04hex 00001000 = 08hex 00010000 = 10hex 00100000 = 20hex 01000000 = 40hex 10000000 = 80hex Zuerst soll Lampe 3, also Bit 3 auf 1 gesetzt werden, die übrigen sollen unberührt bleiben: Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 Byte 1 0 1 0 1 1 1 0 OR Hilfsbyte 0 0 0 0 1 0 0 0 1 0 1 0 1 1 1 Resultat 1 Nun soll Lampe 5, also Bit 5 auf 0 gesetzt werden, die übrigen sollen unberührt bleiben: Byte 1 0 0 1 1 1 1 1 AND NOT Hilfsbyte 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 Resultat 0 [email protected] Seite 17 HEX A7 OR 08 = AF AF AND NOT _____ = ______ Digitaltechnik 11. Synthese einer kombinatorischen Logik Schon bei Aufgabe 12 in den Uebungen mussten wir eine kombinatorische Logik finden, welche eine bestimmte Wahrheitstabelle erfüllt. Dies ist eine Standardaufgabe. Hier ein weiteres Praxisbeispiel: Problemstellung: In einem Lagerhaus für Chemikalien soll eine automatische Feuerlöschanlage eingerichtet werden. Dazu werden mehrere Rauchmelder-Messstellen an der Decke definiert. Um irrtümliche Alarm-Auslösungen zu vermeiden und gleichzeitig eine hohe Ansprechchance zu wahren, werden an jeder Messstelle 3 Rauchmelder installiert statt nur einer. Die Löschanlage darf nur dann aktiviert werden, wenn mindestens zwei der drei Feuermelder an einer bestimmten Messstelle Alarm auslösen. Gesucht: Eine „Logik“, eine Digitalschaltung für eine Messstelle, welche nur dann Alarm auslöst (1 am Ausgang), wenn mindestens zwei der drei Melder Rauch anzeigen (also die Eingänge 1 sind). Das ist eine sogenannte Zwei-aus-drei-Schaltung. Lösung in drei Schritten: 1. Erstellen Sie eine Wahrheitstabelle (3 Melder, 1 Ausgang A, Ruhe=0, Alarm=1) 2. Bilden Sie die entsprechende boolsche Gleichung, Regeln: – nur Zeilen nehmen, die eine 1 im Ausgang ergeben – Die Werte pro Zeile werden UND-verknüpft – Die Ausdrücke der gewählten Zeilen unter sich werden ODER-verknüpft 3. Finden Sie die grafische Lösung („Schaltung) mit logischen Grundelementen [email protected] Seite 18 Digitaltechnik 12. KV-Diagramme: Grafische Vereinfachung boolscher Ausdrücke Das Vereinfachen boolscher Ausdrücke kann recht kompliziert werden, vor allem, wenn z.B. 3 oder 4 Variablen (Eingänge) vorhanden sind. Es gibt deshalb eine grafische Methode mit den sogenannten KV-Diagrammen (nach den Erfindern der Methode, Karnaugh und Veitch). Für diese Methode benötigt man die boolsche Gleichung jeweils in einer bestimmten Form. Sie entsteht, wenn man aus einer Problemstellung die Wahrheitstabelle entwickelt. Aus jeder Zeile der Wahrheitstabelle, die im Ausgang 1 ist, ergibt sich eine sog. Vollkonjunktion (UND-Verknüpfungen der normalen und invertierten Variablen pro Zeile). Diese werden mit den andern Zeilen in die sogenannten ODER-Normalform gebracht. Als Beispiel eine frei erfundene boolsche Gleichung mit den 4 (Eingangs-)Variablen: A =( P ∧ Q ∧ R ∧ S)∨(P ∧ Q ∧ R ∧ S)∨( P ∧ Q ∧ R ∧ S)∨(P ∧ Q ∧ R ∧ S)∨(P ∧ Q ∧ R ∧ S )∨(P ∧ Q ∧ R ∧ S ) 6 der 16 möglichen Fälle führen in der Wahrheitstabelle zu einer 1 im Ausgang. Deshalb hat es hier 6 Vollkonjunktionen, also 6 Klammern; diese sind unter sich oder-verknüpft. Vorgehen: 1. Zu jeder der 16 möglichen Vollkonjunktionen aus 4 Variablen gehört ein Feld im Diagramm (Bei 3 Variablen hätte es nur 8 Felder). Jedes Feld hat "Koordinaten" aus 4 Variablen, entweder normal oder negiert. Die Felder sind nach folgender Art angeordnet: leer mit Feldnummern Bsp rechts: Der erste Klammerausdruck entspricht dem Feld Nr. 16, weil dort alle Variablen negiert sind. Der letzte Klammerausdruck entspricht dem Feld Nr. 2, wo nur R negiert ist. 2. Jede Vollkonjunktion, die im Resultat (Ausgang) zu einer 1 führt (also jene, die in der Gleichung vorkommen), bekommt im Diagramm eine 1 an der entsprechenden Koordinate. 3. Als nächstes werden so genannt benachbarte Felder gesucht und zu Paketen zusammengefasst. Als benachbart gelten beispielsweise jeweils die eingezonten Felder, die Fläche wird auf eine imaginäre Kugel „gewickelt“ (die folgenden Bilder gehören nicht zu unserem Beispiel): [email protected] Seite 19 Digitaltechnik Es gilt: • Es sollen möglichst viele Einsen zusammengefasst werden • Es dürfen nur 2er, 4er, 8er oder 16er-Pakete gebildet werden • Es muss möglichst wenige und gleichzeitig möglichst grosse Pakete geben • Die Pakete dürfen sich überlappen. In unserem Beispiel finden wir im besten Fall zwei Pakete, welche benachbarte Feldern beinhalten und jeweils 4 Felder (=4 Vollkonjunktionen) enthalten: Die beiden Pakete sind hier noch in zwei Diagrammen gezeichnet, können aber im gleichen Diagramm angezeichnet werden. 4. Nun werden die "Koordinaten" der Pakete abgelesen: Jene Variablen, die in einem Paket normal und negiert vorkommen, fallen weg. Die verblieienden Variablen bilden eine vereinfachte Konjunktion, die am Schluss mit den andern Konjunktionen aus den andern Felder ODER-verknüpft wird. Im rechten Diagramm sind P und Q in Im linken Diagramm kommen im Paket die beiden Formen vorhanden, während das Variablen Q und S normal und negiert vor. Sie negierte R und das negierte S alleine verschwinden deshalb. Gleich sind P und das negierte R. Sie bleiben. vorkommen und bleiben. Dieses Pakte erhält also den Ausdruck Der entsprechende Ausdruck heisst (P ∧ R) (R ∧ S) Diese beiden verbliebenen Konjunktionen (UND-Ausdrücke) werden nun ODER-verknüpft: A =(P ∧ R)∨(R ∧ S) A = R ∧ ( P ∨ S) Hier kann man noch das negierte R ausklammern: Dies ist das Ergebnis der Vereinfachung. Wohlgemerkt: Diese Form erfüllt die gleiche Wahrheitstabelle wie die ursprüngliche Gleichung aus 6 Klammer von je 4 Variablen.Eine doch beachtliche Vereinfachung. Die Variable Q kommt gar nicht mehr vor, das heisst, der Ausgang ist unabhängig von Q! [email protected] Seite 20 Digitaltechnik 12.3. Anwendung zu KV-Diagrammen und Schaltungssynthese Aufgabe: Lösen Sie die Aufgabe mit der Rauchmeldeanlage im Chemielager mit dem KVDiagramm. Zur Erinnerung: Die Schaltung muss folgende Wahrheitstabelle erfüllen: M3 M2 M1 A 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Dies führt zu folgender ODER-Normalform (hier noch ohne Vereinfachung): A =(M 1 ∧ M 2 ∧ M 3)∨(M 1 ∧ M 3 ∧ M 2)∨(M 2 ∧ M 3 ∧ M 1)∨(M 1 ∧ M 2 ∧ M 3) Wir haben 3 Variablen, das entsprechende KV-Diagramm hat deshalb nur 8 Felder: Es lassen sich ......... Pakete machen. Paket Nr. Normal und negiert vorhandene Variablen -> fallen weg Einfach vorhandene Variablen -> bleiben Verbleibende Konjunktion Die verbleibenden Konjunktionen werden ODER-verknüpft, die vereinfachte Boolsche Gleichung lautet: ………………………….. [email protected] Seite 21 Digitaltechnik Spezielle kombinatorische Schaltungen Der Komparator Ein Komparator ist ein Vergleicher. In Computersystemen vergleichen Komparatoren die Adressen von Peripheriegeräten mit den Daten auf dem Adressbus. Ein Komparator vergleicht zwei binäre Werte A und B, welche an seinen Eingängen angeschlossen sind. Mit den Ausgängen meldet er melden: A>B oder A<B oder A=B. Man kann dazu drei Ausgänge verwenden (für jeden möglichen Fall einen), oder zwei Ausgänge mit insgesamt 4 Ausgangskombinationen (eine wäre dann zuviel). Mögliches Symbol eines 1-Bit-Komparators: Wahrheitstabelle: B A X (=1 falls A>B) 0 0 0 0 1 1 Y (=1 falls A=B) 1 0 Z (=1 falls A<B) 0 0 1 0 0 0 1 1 1 0 1 0 Boolsche Gleichung: Y = EXNOR siehe unten Y = EXNOR siehe unten = EXNOR Mögliche Realisation des Komparators aus den logischen Grundfunktionen: andere Darstellungsmöglichkeit: [email protected] Seite 22 Digitaltechnik Der Addierer (als Beispiel für Rechenwerke) Jede CPU enthält einen Datenprozessor. Darin enthalten ist ein Rechenwerk, die arithmetisch-logische Einheit ALU. Für einfache Operationen bilden kombinatorische Schaltungen diese ALU. Ein Addierwerk beispielsweise ist mit kombinatorischen Schaltungen realisierbar. Eine entsprechende Schaltung kann man aus dem "schriftlichen" Addieren von Dualzahlen ableiten. Man addiert zwei Summanden stellenweise von rechts her und bildet wenn nötig einen Übertrag ("Behalte 1") auf die nächste Stelle. Falls man ein Uebertragsbit (carry bit) hat, muss man im nächsten Schritt drei Ziffern addieren. Eine Additionsschaltung muss also nicht nur das Resultat, sondern auch den Übertrag liefern können. Gesucht ist also eine kombinatorische Schaltung, die zwei Summanden A und B als Eingang hat, und das Resultat Z und den Übertrag Ü als Ausgang. Dies ergibt folgende Wahrheitstabelle: Für Z ist das eine EXOR-Verknüpfung der Eingänge, für Ü eine AND-Verknüpfung. Dies kann mit untiger Schaltung verwirklicht werden. A B Z Ü Halbaddierer 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 Sie heisst Halbaddierer, weil sie nur zwei Dualzahlen addieren kann. Ein Mehr-BitAddierwerk muss aber drei Dualzahlen zusammenzählen, nämlich die beiden eigentlichen Summanden und einen allfälligen Übertrag aus der vorderen Stelle. Eine solche Schaltung heisst dann Volladdierer und kann drei Summanden verarbeiten. Der Ausgang Ü heissst englisch Carry Out (CO). Volladierer haben einen dritten Eingang, wo das CO aus der vorderen Stelle eingespiesen wird, und heisst CI (Carry In). In der Wahrheitstabelle ergeben sich demnach 8 Fälle, aber immer noch nur zwei Ausgänge: C B A Z Ü Volladdierer Aus Volladdierern kann man beliebig 0 0 0 0 0 grosse Addierwerke machen. 0 0 1 1 0 Die Addition zweier 4-Bit-Zahlen ergibt 0 1 0 1 0 demnach im Maximum eine 5-Bit-Zahl. 0 1 1 0 1 (Extremfall 15+15=30 oder binär: 1 0 0 1 0 1111+1111=1'1110) 1 0 1 0 1 Im folgenden Bild sehen wir einen 1 1 0 0 1 Paralleladdierer; darin werden alle 1 1 1 1 1 Stellen der Summanden gleichzeitig, also parallel, addiert. [email protected] Seite 23 Digitaltechnik Die Basis der Automatik: Sequenzielle Verknüpfungen Eine neuartige Verknüpfung der logischen Grundelemente bildet die Basis für alle Automaten, komplexeren „Schaltungen“, Prozessoren, Speichern u.ä. Wenn man das bisher „Verbotene“ tut, nämlich einen Ausgang an einen Eingang zurückführt, entstehen ganz neue Verhaltensweisen der logischen Kombinationen. Ihr Verhalten kann meist nicht mehr mit einer einfachen Wahrheitstabelle beschrieben werden. Die Zustände der Ausgänge sind nicht mehr nur abhängig von der aktuellen Eingangskombination, sondern von der Reihenfolge mehrerer vorangehender Eingangskombinationen. Deshalb sind dies auch nicht mehr kombinatorische Schaltungen, sondern sogenannte sequentielle, also abfolgeabhängige Schaltungen. Das einfachste solche Gebilde ist das Flip-Flop, dies ist ein 1-Bit-Speicher. Ein Flip Flop ist eine sog. Kippschaltung, die zwei Zustände annehmen und auch dann behalten (speichern) kann, obwohl sich Eingangssignale ändern. Es gibt folgende Arten von Kippstufen: • Astabile (kein stabiler Zustand, automatisches Hin- und Herkippen, Bsp.: Autoblinker) • Monostabile (ein stabiler Zustand, automatisches Zurückkippen aus instabilem Zustand Bsp.: Treppenhausbeleuchtung) • Bistabile (zwei stabile Zustände, Bsp.: FlipFlop, Maschine mit separatem Ein- und Ausschaltknopf) Flipflops für die Digitaltechnik sind im allgemeinen bistabil, haben also zwei mögliche, stabil bleibende Ausgangszustände. Diese Ausgangszustände können nur durch bestimmte Änderungen der Eingänge geändert werden. Das SR-Flipflop Das einfachste Flip-Flop (FF) ist ein Set-Reset-Flip-Flop (SR-FF). • Es hat die beiden Eingänge Set und Reset. Mit diesen Eingängen kann man es in den einen Zustand setzen (S) und aus diesem wieder zurücksetzen (R). • Es hat auch zwei Ausgänge Q und Q "quer", die immer die Negation voneinander bilden. Eine solche Schaltung lässt sich beispielsweise aus zwei NOR-Gattern verwirklichen. Dieses FF wird auch NOR-Latch genannt (ein "Schnappschloss" aus NOR-Gattern). Betrachten wir einmal die nebenstehende Schaltung und versuchen wir, eine Wahrheitstabelle aufzustellen. Eine Wahrheitstabelle kann nicht mehr eindeutig mit Nullen und Einsen gefüllt werden! Wir müssen Variablen (zum Beispiel X) einfügen, die einen früheren Zustand darstellen. In der folgenden Wahrheitstabelle sind die vier möglichen Kombinationen der Eingänge S und R absichtlich nicht in der gewohnten "binären" Reihenfolge aufgeführt. Fall S R Q Q quer Kommentar 1 1 0 1 0 Setzen des Flipflops 2 0 1 0 1 Rücksetzen des Flipflops 3 0 0 X NOT X Speicherfall, das heisst, die Ausgänge behalten den vorherigen Zustand (1 0 oder 0 1), obwohl der Eingang sich ändert! 4 1 1 0 0 Sog. "verbotener" Fall: Technisch möglich, ergibt aber logisch keinen Flip-Flop-(1-0)-Zustand. Denn das FF wird quasi gleichzeitig gesetzt und zurückgesetzt, und dieser Zustand kann nicht gespeichert werden. Fragen: • Warum erscheint der Ausgangszustand 1 1 nicht in der Tabelle? • Wie sind die Ausgänge, wenn S und R gleichzeitig von 11 auf 00 wechseln? [email protected] Seite 24 Digitaltechnik Die getakteten Flip-Flops Es gibt verschiedene Arten Flipflops: Flip-Flops (FF) Ungetaktete Flip-Flops Getaktete Flip-Flops Taktzustandgesteuerte Flip-Flops Taktflankengesteuerte Flip-Flops Das zuvor besprochene SR-Flipflop ist ein simples, ungetaktetes Flipflop. ♦ Es ändert seinen Zustand sofort, wenn der entsprechende Setz- oder Rücksetzeingang aktiviert wird. Von viel grösserer Bedeutung sind aber die taktgesteuerten Flipflops. Bei ihnen wird das Setzen und Rücksetzen nur vorbereitet, das eigentliche Schalten passiert dann mit einem dritten Eingang, dem Takteingang. ♦ Allgemein können taktgesteuerte Schaltungen in einem bestimmten Rhythmus oder Takt und damit auch synchron mit andern arbeiten. Dies ist in grösseren Systemen wie Computern üblich, damit die vielen Schaltkreise und Komponenten nicht in beliebigen Geschwindigkeiten arbeiten, sondern koordiniert, im Takt. Der Taktgeber ist also der "Dirigent". Den Begriff kennen Sie aus der PC-Technik, wo alles "getaktet" ist (der Prozessor, der Bus). ♦ Taktgesteuert bedeutet, dass das Flipflop erst auf das Taktsignal hin den vorprogrammierten Zustand am Eingang übernimmt. Der Taktbefehl (Clock, C) wird auf einen zusätzlichen Eingang geführt. Bei einem SR-FF wie oben bedeutet dies, dass das das Setzen (SET) vorbereitet werden kann, aber erst vom FF übernommen wird, wenn das Taktsignal kommt. Abbildung: ♦ Das NOR-Latch ist nun als Block dargestellt und hat ♦ Drei solche Flipflops werden hier synchron getaktet: ♦ Synchrone Schaltungen erkennt man daran, dass sie eine gemeinsame Taktleitung aufweisen (mit T oder C, CLK, Clock bezeichnet). Die Fuktion von getakteten Flip-Flops kurz zusammengefasst: ♦ Der Funktionseingang (Setzen, Rücksetzen) „sagt“, WAS im nächsten Schritt passieren soll ♦ Der Takteingang „sagt“, WANN es passieren soll. [email protected] Seite 25 Digitaltechnik Was ist ein Taktsignal? Ein Taktsignal ist ein periodisches Rechtecksignal mit bestimmter Frequenz. Man unterscheidet Zustände (0 oder 1) und Zustandsänderungen, die Flanken: Somit gibt es zustands- und flankengesteurte oder -getriggerte Flipflops. (trigger=auslösen) Die meisten Flipflops reagieren nur auf die Änderungen des Taktsignals, eine sogenannte Flanke. Diese heissen taktflankengesteuerte Flipflops. Universell ist die Sorte der Toggle-Flipflop (toggle=kippen, umschalten), auch TriggerFlipflop genannt (trigger=auslösen) oder kurz T-Flipflop: ♦ Es hat keinen S- und R-Eingang mehr, denn es ändert bei jedem Takt seinen Zustand ♦ Das Symbol hat am Takteingang einen Dreiecks-Pfeil. Es ändert bei jedem Takt (Flanke des Taktes) seinen Zustand. „Daten“- oder Setz- und Rücksetz-Eingänge gibts nicht. Symbol: Positiv getriggertes T-Flip-Flop: Schaltet bei positiver Flanke: Negativ getriggertes T-Flip-Flop: (Ringlein am Eingang) Schaltet bei negativer Flanke Anwendungen der Toggle-Funktion: ♦ Impulsschalter (Ein- und Ausschalten eines Prozesses oder Verbrauchers durch einen Impuls (z.B. Knopfdruck und Loslassen des Knopfes) = Kippschalterfunktion. ♦ Frequenzteiler: Ein Signal am Clock-Eingang kann exakt durch 2 geteilt werden. Jedes weitere FF teilt diese Frequenz wieder durch zwei. So sind Faktoren 2,4,8,16,32... möglich. Dies ist die Grundlage für ♦ Digitale, binäre Zähler. Wenn man x Flipflops hat, kann man also eine Frequenz durch 2x teilen. Frequenzteiler können Frequenzen durch bestimmte Zahlen teilen. Dies ist die Basis für ♦ Digitaluhren. Darin wird eine konstante (hohe) Frequenzquelle (Quarz oder die Stromnetzfrequenz bei Radioweckern) bis zum Sekundentakt hinuntergeteilt. [email protected] Seite 26 Digitaltechnik Zähler: Flipflops können binär zählen! Asynchrone Zähler Was muss ein Binärzähler können? Das: Er zählt 0 -> 1 -> 2 -> 3 -> … -> 15 -> 0 -> 1 Einen digitalen Zähler, der im Binärcode zählt, erhält man durch simples asynchrones Hintereinanderschalten von T-Flipflops: Mit diesen 4 T-Flipflops erhält man einen vierstufigen Zähler und damit einen Vier-Bit-Zähler. Er kann über 4 Stufen, also 24=16 Schritte zählen, nämlich von 0-15 (0000 - 1111). Die nächste Stelle (das nächste Flipflop) wechselt immer halb so häufig wie die vorherige, genau so wie 0 – 1 in der Wahrheitstabelle bzw. im Zeitdiagramm. Um einen Aufwärtszähler zu bekommen, nimmt man negativ getriggerte Flipflops und die normalen Q-Ausgänge. Anwendungsbeispiel: Auf den ersten Takteingang könnte zum Beispiel eine Lichtschranke wirken. Immer, wenn ein Objekt durch die Lichtschranke geht, entsteht eine negative Flanke, der Zähler zählt eins höher. Die vier Ausgänge könnte man auf einen 4-Bit-zu-7-SegmentDecoder leiten, der das binäre Zählergebnis als Dezimal bzw. Hex-Ziffer anzeigt. ¾ Frequenzteiler: Alle Zähler sind gleichzeitig als Frequenzteiler verwendbar! Mit einem allgemeinen Frequenzteiler kann man die Frequenz eines Eingangsssignals um beliebige Faktoren verkleinern. Mit Binärzählern kann man je nach Stufenzahl nur die Teilfaktoren 2, 4, 8, 16 usw. erhalten. Durch Zusatzschaltungen lässt sich jedes beliebige Teilverhältnis herstellen! Zum Beispiel ein BCD-Zähler, der von 0-9 zählt (siehe nächste Seite). [email protected] Seite 27 Digitaltechnik Synchrone Zähler Die vorher besprochenen Zähler sind so genannte Asynchronzähler. Das heisst, sie schalten nicht zeitgleich, sondern nacheinander, da jede Stufe erst die nächste ansteuert. Asynchrone Zähler haben den Nachteil, dass sie beim Wechsel kurzzeitig falsche Zwischenstände im Zähler führen, weil ein Flipflop nach dem andern umschaltet. Bei Synchronzählern ist das nicht möglich, jene Flipflops, die dran sind, schalten gleichzeitig. Einen Synchron-Zähler erkennt man daran, dass alle Stufen über einen gemeinsamen Takteingang miteinander verbunden sind. Deshalb muss jedes Flipflop den 1-Zustand des vorherigen erkennen und nur in diesem Fall (1) schalten, wie es gemäss Zeitdiagramm erforderlich ist. Diese Erkennung kann es mit den sogenannten J-/K-Eingängen machen (das sind auch eine Art Set-/Reset-Eingänge). Das Impulsdiagramm sagt, wie die Bitfolge laufen muss, damit es ein Zähler ist. Beim Vorwärtszähler darf offenbar ein nächstes FF nur dann umschalten (auf die negative Flanke), wen alle vorgelagerten FFs einen High-Zustand aufweisen (Bezeichne ein Beispiel farbig): Dazu verwendet man z.B. das etwas kompliziertere JK-Flipflop. • Die aktiven J-/K-Eingänge bestimmen, ob das FF (beim nächsten Takt) schalten darf; • Der Clockeingang (Takt) bestimmt, wann es schalten darf: ¾ Die nötige Kippfunktion der Flipflops ist nur aktiv, wenn J und K auf logisch 1 sind. ¾ J und K des ersten FFs werden somit dauernd auf 1 gelegt. Mit jeder negativen CLK-Flanke kippt es. Es liefert den Ausgang A0, das niederwertigste Bit. ¾ Das zweite FF darf gemäss Impulsdiagramm erst kippen, wenn der Ausgang Q des ersten FFs (A0) auf 1 ist. Also werden J und K des zweiten FFs mit dem Ausgang Q des ersten (A0) verbunden. ¾ Das dritte FF (A2) darf erst kippen, wenn A0 und A1 auf 1 sind, deshalb das UND-Gatter ¾ Das letzte FF (A3) darf erst reagieren, wenn A0 und A1 und A2 auf 1 sind, deshalb ein UND-Gatter mit drei Eingängen. [email protected] Seite 28 Digitaltechnik Schieberegister Der Begriff Register kann mit dem Begriff Speicher gleichgesetzt werden. Ein Schieberegister (englisch: shift register) ist eine Schaltung, welche die Bits in den Speicherplätzen taktgesteuert und bitweise verschieben kann. Das vereinfachte Symbol setzt sich aus dem so genannten Steuerkopf links (Takt) und den Registerplätzen rechts zusammen. Dieses Beispiel zeigt ein Schieberegister mit seriellem Eingang (nur einer) und parallelen Ausgängen (mehrere). Schieberegister sind FIFO-Register. Das bedeutet First In, First Out. also: dasjenige Element, das zuerst hineingespeichert wurde, "fällt" auch als erstes wieder hinaus: Im dargestellten Bild können die Daten usgang seriell oder parallel abgenommen werden. Es gibt auch Schieberegister mit Paralleleingabe, so der Ausgang dann seriell erfolgt.. Anwendungen für Schieberegister Seriell-parallel-Wandler und Parallel-seriell-Wandler. Z.B. zwischen internem Datenbus und einer USB-Schnittstelle. Ringregister sind Schieberegister, bei welchen der letzte serielle Ausgang wieder mit dem ersten seriellen Eingang verbunden ist. Ein eingegebenes Bitmuster wandert somit im Kreis herum. Damit lässt sich z.B. eine Steuerung für ein Lauflicht mit "programmierbarem" und endlosem Lichtmuster aufbauen. Multiplikation und Division von Binärzahlen, Schieben um eine Stelle = Faktor 2: Prozessoren und Mikrocontroller kennen die Assemblerbefehle Shift left und Shift right. ¾ Shift Left bedeutet nach links schieben, ein binärer Wert wird mit 2 multipliziert ¾ Shift Right (rechts schieben), das Ergebnis ist die ganzzahlige Division durch 2 (DIV 2) Beispiel: Die Dezimalzahl 93 liegt in einem 8Bit-Schieberegister gespeichert. ¾ Durch Linksschieben entsteht das Doppelte (=186) ¾ Durch Rechtsschieben entsteht der ganzzahlige Anteil der Hälfte (46 statt 46,5) Speicherregister allgemeien, Pufferspeicher (FIFO-Buffer), Zwischenspeicher für Datenströme Erzeugung von Pseudozufallszahlen Dazu werden linear rückgekoppelte Schieberegister verwendet. Zyklische Redundanzprüfung (Cyclic redundancy check, CRC) kann mit einem durch XORs rückgekoppelten Schieberegister als Hardware ausgeführt werden. [email protected] Seite 29 Digitaltechnik Speicher und ihre Organisation Allgemeines Jedes Flipflop, das wir kennengelernt haben, ist als Speicherzelle für 1 Bit einsetzbar. Im Kapitel Verstärker/Transistoren haben wir gesehen, dass man auch mit Transistoren FlipFlops und damit Speicher bauen kann. Dazu braucht es zwei Transistoren, die sich gegenseitig „verriegeln: Bekanntlich sind Datenspeicher für viele Bits bzw. Bytes ausgelegt. Zum Speichern und Lesen von Daten müssen diese Speicherorte oder Speicherzellen verwaltet werden. Man muss ihnen "sagen", wann sie "dran" sind, also muss man sie adressieren. Beispiel: Ein Speicher für 16 Bytes: Damit man möglichst wenige Leitungen benötigt, werden die Speicherzellen zu mindestens zweidimensionalen Speichermatrizen zusammengefasst. Darin gibt es Zeilen und Spalten. Damit ein zu speicherndes Bit nur in einer Zelle abgelegt wird, muss die entsprechende Zelle angesprochen, adressiert werden. Das Analoge gilt beim Lesevorgang. Ferner werden alle Datenleitungen sowie alle Steuerleitungen zusammengeschaltet. Dieser byte-organisierte 16x8-Bit-Speicher kann mit 17 Leitungen direkt verwaltet werden: Kenngrössen dieses Speichers: • Gesamtkapazität: 16x8 Bit = 16 Bytes • 8 Bits = 1 Byte pro Speicherzelle • Mit den Koordinatenleitungen X und Y wird die Speicherzelle adressiert. • Mit der Steuerleitung "read/write" wird festgelegt, ob es sich um einen Lese- oder Schreibzugriff handelt. • Mit den Datenleitungen wird das adressierte Byte ein- oder ausgelesen. [email protected] Seite 30 Digitaltechnik Nun noch aufwendiger: Der Aufbau eines 16Kx8-Speichers (=16KB): Kenngrössen und Organisation des folgenden Speichers: • Gesamtkapazität: 2^14x8 Bit = 16384 x 8Bit = 16KBytes • 8 Bits pro Speicherzelle, also 8 Datenleitungen • Zellenanordnung in 2^7=128 Zeilen x 2^7=128 Spalten, demultiplexierbar aus je 7 Adressleitungen • Speicher verwaltbar mit 17 Leitungen Nach diesem Schema lassen sich beliebig grosse Speicher aufbauen. Mit aufwändiger Bautechnik lässt sich die Anzahl Anschlüsse tief halten. So könnte man z.B. auch dreidimensionale Matrizen bauen, was die Anzahl Adressleitungen weiter reduziert. Durch weiteres Demultiplexen werden die Anzahl Daten- und Adressleitungen reduziert. Aber die Adressbefehle und Daten laufen dann zeitlich gestaffelt ab, wodurch die Anzahl Verarbeitungsschritte (Takte) steigt, und damit auch die Verarbeitungsgeschwindigkeit sinkt, was durch höhere Taktraten mehr als wettgemacht wird. Uebungsfragen: 1) Wieviele Bytes genau sind 1GB? 2) Wenn man den Speicherplatz des 16KB-Speichers von vorher auf 32KB verdoppeln will, wieviele zusätzliche Adressleitungen braucht man für die Adressierung? 3) Wieviele Bits bzw. Adressleitungen braucht man, um 1MB zu adressieren? 4) Was ist der Nachteil der „nur“-32-Bit-Architektur von Prozessorsystemen und Applikationen? [email protected] Seite 31 Digitaltechnik Speicher- Grundtypen Man kann unterscheiden nach • 1x beschreibbar / mehrmals beschreibbar • flüchtig / nicht flüchtig • bei den RAM: statisch oder dynamisch 14.1 RAM RAM heisst Random Access Memory, das sind Schreib- und Lesespeicher mit sog. wahlfreiem Zugriff, das heisst direktem Zugriff auf jede beliebige Speicherzelle. RAMs sind beliebig wieder beschreibbar und gelten grundsätzlich als flüchtige Speicher, das heisst: Ohne Spannungsversorgung geht der Inhalt verloren. Statische RAM Bei statischen RAMs wird jedes Bit als Zustand eines Flipflops (bistabile Kippstufe) gespeichert. Dabei werden normale Transistoren oder MOS-FET-Transistoren eingesetzt. Ist die Information einmal gespeichert, bleibt sie ohne weitere Speicherzugriffe gespeichert, solange die Versorgungsspannung vorhanden ist. Vorteile: Nachteile: ¾ Rasche Zugriffszeit. ¾ Relativ hoher Platzbedarf pro Speicherzelle auf dem Chip, ¾ Für kleinere Systeme sind sie ausgezeichnet deshalb für hochintegrierte geeignet, da keine Refresh-Elektronik (wie bei Grossspeicher weniger geeignet. dynamischen RAMs) nötig ist. ¾ Ausserdem lässt sich der Speicherinhalt mit Batterien oder Kondensatoren puffern, also ohne Netzspannung erhalten. Dynamische RAM In dynamischen RAMs wird jedes Bit als Ladung eines Kondesators gespeichert. Da die sehr kleinen Kapazitäten einer raschen Selbstentladung unterliegen, müssen gespeicherte Einsen ständig wieder neu gespeichert werden, der Kondensator wird also nachgeladen. Vorteile: Nachteile: ¾ Hohe Integrationsdichte, wenig ¾ Speicher muss ständig aufgefrischt werden. Dies Platzbedarf. erfordert eine Refresh-Steuerung innerhalb oder ausserhalb des eigentlichen Speichers. ¾ Für grössere Systeme geeignet, wo der Aufwand des ¾ Während des Refresh-Vorgangs ist der Speicher Refreshcontrollers keine Rolle für Zugriffe z.B. durch die CPU gesperrt, dies spielt. bedeutet eine Reduktion der Zugriffsgeschwindigkeit. ¾ Pufferung mit Batterien ist kaum sinnvoll, da auch im StandBy-Betrieb ständig der Refreshcontroller laufen muss. 14.2 ROM ROM heisst grundsätzlich Read Only Memory. In dieser Urform können sie nur Daten ausgeben, behalten die Information aber ewig, gelten also als nichtflüchtige Speicher. ROM ist einerseits der Oberbegriff für alle folgenden Arten von Nur-Lese-Speichern und gleichzeitig die Bezeichnung für die alten fix herstellerprogrammierten ROMs, oder MROM.. keine Programm- oder Datenänderungen in einem Mikrocomputersystem mehr zu erwarten [email protected] Seite 32 Digitaltechnik sind. Beispielsweise könnten die Daten für einen Kalender in einem ROM zur Verfügung stehen. Auch ein Buch oder eine gepresste CD-ROM oder Audio-CD ist ein ROM oder MROM. PROM PROMs sind Programmable Read Only Memories. Auch sie können nur Daten ausgeben. Der Hersteller des Chips liefert leere Speicherzellen, die alle 0 oder alle 1 enthalten. Die Daten sind einmalig durch den Anwender (z.B. einen PC-Produzenten) einprogrammierbar. Das Programmieren ist irreversibel, bei einem Programmierfehler muss der Chip entsorgt werden. In PROMs können Programme z.B. für Steuerungen gespeichert werden, und jeder einzelne Baustein kann z.B. eine individuelle Serienummer enthalten. PROMs dienten lange Zeit in PCs als (unveränderbares) BIOS. Eine einmal beschreibbare CD-ROM ist auch ein PROM. EPROM EPROMs sind Erasable Programmable Read Only Memories. Auch sie sind im Prinzip dazu bestimmt, im Betrieb nur Daten auszugeben und sie auf ewige Zeiten auch ohne Spannungsversorgung zu halten. EPROMs sind "erst" seit 1975 auf dem Markt. Ein programmiertes Bitmuster kann jedoch gelöscht und durch ein neues ersetzt werden, der Chip ist mehrfach beschreibbar. Es kann aber nicht wie beim RAM durch einen adressierten Schreibzugriff gelöscht werden. Zum Löschen wird UV-Licht benötigt, das durch ein Quarzglasfenster im Chipgehäuse eindringen kann. Die Bestrahlung muss zur sicheren Löschung etliche Minuten dauern. Alle Speicherzellen werden gemeinsam gelöscht, eine Adressierung ist nicht möglich. Eingesetzte EPROMs im Einsatz sind mit einem Kleber überklebt, der das Fenster abdeckt und kein Licht eindringen lässt. EEPROM EEPROMs sind Electrically Erasable Programmable Read Only Memories. Also elektrisch löschbare programmierbare ROMs. Wie der Name schon sagt, sind sie nicht durch Licht, sondern durch Strom löschbar. Dies hat den Vorteil, dass man bei einer Programmrevision nicht während langer Zeit die gesamte Information löschen muss, sondern gezielt nur die fehlerhaften Bits oder Bytes ersetzen kann. Ein EEPROM ist eigentlich schon fast wie ein RAM, und zwar ein nichtflüchtiges RAM, ein NOVRAM (non volatile RAM), das seine Information auch ohne Spannungsversorgung halten kann. EEPROMS werden heute in allen Mikrocontrollersystemen als Programmspeicher verwendet, der jederzeit korrigierbar ist. Eine wiederbeschreibbare CD-RW ist eigentlich auch ein EEPROM, ausser dass es optisch und nicht elektrisch beschrieben und gelesen wird. Flash-EEPROM Flash EEPROMs sind der heutige Standard und vereinigen die Vorteile von EPROM und EEPROM. Sie haben die einfachere Speicherstruktur der EPROMs, ihre Zellen sind auch hier nur mehrfach gleichzeitig (z.B. sektorweise) löschbar. Dafür aber elektrisch wie beim EEPROM und innerhalb von wenigen Millisekunden. Anwendung heute: BIOS, Compact-Flash-Karten, SD-Karten, USB-Sticks, Firmware von Geräten wie Handys oder Digitalkameras. Geöffneter USB-Stick, links der Speicherchip, rechts der Controller (wikipedia 2009) [email protected] Seite 33