Digital… einige Stichworte digitale Fotografie Digitalradio DVB (Digital Video Broadcasting) Digitaluhr digitale Schulbücher … aber auch ? 1 Die digitale Gesellschaft digitale Agenda (Bundestag) Digitaler Tourismus Assistent Analog und Digital Quelle: uhrforum.de 2 Sonstige Bildquellen: Hersteller Analog und Digital www.passatplus.de 3 Sonstige Bildquellen: Hersteller Informationstechnik: Analoge und Digitale Signale Ein Analogsignal ist im Rahmen der Signaltheorie eine Form eines Signals mit stufenlosem und unterbrechungsfreiem Verlauf. Ein Digitalsignal (von lat. digitus = Finger; mit Fingern wird gezählt) ist eine spezielle Form eines Signals, welches einerseits einen abgegrenzten und gestuften Wertvorrat und zudem in der zeitlichen Abfolge nur zu bestimmten periodischen Zeitpunkten definiert ist bzw. eine Veränderung im Signalwert aufweist aus Wikipedia 4 Informationsdarstellung Computer arbeiten im allgemeinen Digital und nur mit zwei Signalzuständen Ein oder Aus (On / Off) Ja oder Nein (Yes / No) Wahr oder Falsch (True / False) High oder Low (Spannungspegel) „0“ oder „1“ Zur Verarbeitung von Dezimalzahlen, Texten, Tönen, Bildern müssen diese in eine Form umgewandelt werden, die ein Computer versteht 5 -> Informationsdarstellung Digital vorliegende Daten Bsp. Lochstreifen parallele Eingabe 00011110 Bsp. Asynchrone Serielle Eingabe St 0 6 1 1 1 1 0 0 0 Sp Beispiel 1 - digital out Arduino/Galileo 7 …und die Schaltung ? 8 …und das Programm void setup() { pinMode(2, OUTPUT); } void loop() { digitalWrite(2, HIGH); delay(1000); digitalWrite(2, LOW); delay(1000); } 9 Computer und Elektronik ? Die Informatik hat Ihre Wurzeln in der Mathematik (Aussagen-Logik) …dazu später mehr sowie in der Elektrotechnik (Teilgebiet Elektronik) 10 Computer funktionieren mit elektrischem Strom Exkurs Der elektrische Stromkreis Widerstand R Strom I 11 Spannung U 𝑈 𝑅 = 𝐼 unverzweigter und verzweigter Stromkreis 12 Digitale Eingangs-Signale an einem Mikrocontroller Pulldown und Pullup Widerstand 13 Digitale Ausgangs-Signale an einem Mikrocontroller 14 Analog vorliegende Daten Bsp. Helligkeit Fotowiderstand (helligkeitsabhängiger Widerstand) Bsp. Temperatur Temperatursensor (temperaturabhängiger Widerstand) ->Spannungsänderung am Spannungsteiler ->Spannungsänderung am Spannungsteiler Bsp. Schalldruck -> elektr. Signal 15 Dynamisches Mikrofon (Induktion->Spannung) Kondensator-Mikrofon (Kapazitätsänderung) Digitalisierung Aus Wikipedia: Der Begriff Digitalisierung bezeichnet die Überführung kontinuierlicher Größen in abgestufte (diskrete) Werte als Binärcode, meist zu dem Zweck sie zu speichern oder elektronisch in der EDV oder IT zu verarbeiten. U Spannungsmessung zu einem bestimmten Zeitpunkt 16 Analog – Digital Umsetzung Bei einem Analog-Digital-Umsetzer (ADU), engl. Analog-DigitalConverter (ADC) wird im allgemeinen eine Eingangsspannung bzgl. einer Referenzspannung in einen diskreten Zahlenwert umgesetzt Uref 0 Uref=7V: <0,5V=0, …1.5V=1, …2.5V=1, …3.5V=3, …4.5V=4, ….5.5V=5, …6.5V=6, >6.5V=7 17 Digital/Analog Wandlung Bei einem Digital-Analog-Umsetzer (DAU), engl. DigitalAnalog-Converter (DAC) wird z.B. einem diskreten Zahlenwert eine Ausgangsspannung bzgl. einer Referenzspannung zugeordnet. 18 Digitale Auflösung 8 Intervalle 0-1, 1-2, 2-3, 3-4, 4-5, 5-6, 6-7, 7 > wir benötigen 3 Bit 000 001 010 011 100 101 110 111 üblich 8 Bit, 10 Bit, 12 Bit, 16 Bit 19 256, 1024, 4086, 32768 Intervalle Sample-and-Hold Eine Sample and Hold Schaltung (Abtasthalteschaltung) dient dazu, die Eingangsspannung für die A/D-Umsetzung während der benötigten Zeit stabil zu halten 20 Sukzessive Approximation Einfaches und schnelles A/D-Umsetzverfahren: a) 7 6 5 4 3 2 1 0 b) 111 110 101 100 011 010 001 000 a) 100 -> nein, 010 -> ja, 011 -> ja b) 100 -> ja, 110 –> ja, 111 -> nein 21 Beispiel 2 - Analog In Arduino/Galileo 22 Und die Schaltung ? 23 …und das Programm void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(A2); float voltage = sensorValue * (5.0 / 1023.0); Serial.println(voltage); 24 Codierung und Decodierung Input Codierung1) Zahlen, Zeichen, analoge Signale, Bilder, ... Output Decodierung1) Zahlen, Zeichen, analoge Signale, Bilder, ... E V A Rechnersystem 1) Eventuell A/D-Wandlung 25 (Digitalisierung) sowie D/A-Wandlung Codierung Bei der Codierung erfolgt eine eindeutige Zuordnung der Zeichen eines Zeichenvorrates (Urmenge, Quellalphabet) zu denjenigen eines anderen Zeichenvorrates (Bildmenge, Zielalphabet). Der umgekehrte Vorgang heißt Decodierung. Ist das Zielalphabet einer Codierung ein binäres Alphabet, so spricht man von einem Binärcode. 26 Das Alphabet besteht nur aus den Binärziffern (Binary digit = Bit) 0 und 1. Die heutigen Rechnersystem arbeiten bekannter Weise alle binär! Bit –BInary DigiT 1) 1) Bezeichnung für eine Binärziffer. Maßeinheit für die Datenmenge. Dabei ist 1 Bit die kleinste darstellbare Datenmenge, die beispielsweise durch eine Binärziffer dargestellt werden kann. Größere Datenmengen können nur ganzzahlige Vielfache von 1 Bit sein. Maßeinheit für den Informationsgehalt (siehe auch Shannon, Nit, Hartley). Dabei ist 1 Bit der Informationsgehalt, der in einer Auswahl aus zwei gleich wahrscheinlichen Möglichkeiten enthalten ist. Als Informationsgehalt können auch reellwertige Vielfache von 1 Bit auftreten. 27 aus Wikipedia Bits und Bytes 8 Bit werden üblicherweise zu einem Byte zusammengefasst. 7 6 5 4 3 2 1 0 0 1 0 1 1 0 1 1 MSB Most Significant Bit 28 Halbbyte Halbbyte 1024 Byte = 1 KiB, 1024 KiB = 1 MiB, 1024 MiB = 1 GiB, 1024 GiB = 1 TiB LSB Least Significant Bit Bits und Bytes am Arduino digitalWrite (pin, value); PORTD = value 29 // Ausgabe eines Bits auf GPIO pin // Ausgabe eines Bytes auf GPIO 0-7 Bits und Byte am klassischern Druckeranschluss Hier ist das Byte 30 Oktal und Hexadezimaldarstellung Werden zur Vereinfachung von Binärzahlen verwendet. Oktal (je 3 Bit werden zu einer Oktalziffer 0..7) 010110112 -> 001-011-011 -> 1338 in der Programmiersprache „C“ direkt benutzbar! unsigned char a = ‘\133‘; Hexadezimal (je 4 Bit werden zu einer Hexadezimalziffer 0..F) 010110112 -> 0101-1011 -> 5B16 In vielen Programmiersprachen direkt benutzbar! 31 char a = 0x5b; // C byte a = 0x5b; // Java Oktal und Hexadezimalziffern 000 0 0000 0 1000 8 001 1 0001 1 1001 9 010 2 0010 2 1010 A 011 3 0011 3 1011 B 100 4 0100 4 1100 C 101 5 0101 5 1101 D 110 6 0110 6 1110 E 111 7 0111 7 1111 F 32 Andere Sicht: Stellenwertsysteme und dezimaler Wert im tägl. Leben: 33 110100111 Hexadezimal 1A7 entspricht 1*162 + 10*161 + 7*160 oder Binär entspricht 1*28 + 1*27 + 1*25 + 1*22 + 1*21 + 1*20 zur Vereinfachung 423 entspricht 4*102 + 2*101 + 3*100 im Computer: Dezimal Oktal entspricht 6*82 + 4*81 + 7*80 647