Die Digitaltechnik baut auf Grundlage der 2 Zustände 0,1 und deren Verknüpfungen komplexe Systeme auf.
Die komplexesten Systeme sind im Moment (2017) Roboter mit Spracherkennung und Kamera, die sich
unterhalten können und sich selbstständig im Raum bewegen können.
Durch die Digitaltechnik kann man lernen, wie man reale Dinge auf Kombinationen von 0,1 abbildet
und komplexe Probleme so lange in Teilprobleme mit Eingängen, Ausgängen und Verknüpfungen
(Zustandsmaschinen) zerlegt, bis Sie lösbar sind.
Man lernt ein planbares, schrittweises Vorgehen zur Problemlösung.
Einen wesentlichen Anteil in der Digitaltechnik haben die Verifikation und der Test der Lösung .
Übersicht
Vorstellung
Vorlesungsablauf: Übung, Praktikum, Klausur
Vorlesungsmaterial: Bücher, Software, Hardware
Einführung in die Digitaltechnik
Digitale Signale
Logische Zustände
Reichardt: Kap 1, 2.2, 2.5, 9.2
Organisation
Prof. Dr.-Ing. Jörg Vollrath
Sprechstunde: T227 Mo 10:00-10:45
Voranmeldung per email
Joerg.vollrath@hs-kempten.de
Joerg.vollrath@ieee.org
Die Digitaltechnik bildet Probleme in Nuller und Einsen, Wahr und Falsch
und ihre Verknüpfungen ab. Dabei werden komplexe Probleme solange in Teilprobleme
zerlegt, bis Sie lösbar sind.
Ein typisches Beispiel wäre der künstliche Mensch, Roboter oder Androide.
Autonome Bewegung
Autonomes Fahren
Sprachverstehen
Sprachübersetzung
Digitale Bildverarbeitung
Schachspiel, Go, Jeopardy
IBM Watson
Digitaltechnik: Lernziele
Sie können Probleme systematisch lösen.
Sie identifizieren Eingänge, Ausgänge und Zustände.
Sie können Probleme in Teilprobleme zerlegen.
Sie können Probleme in Dualzahlen, Zustandstabellen, Zustandsdiagramme,
Blockdiagramme, Schaltplänen, VHDL code und Zeitverhalten abbilden.
Sie kennen die boolesche Algebra, Symbol- und Zahlendarstellungen mit
Dualzahlen.
Sie kennen die grundlegenden boolesche Funktionen: NAND, MUX, DEMUX, Komparator und Addierer.
Sie kennen Speicherglieder, Speicher und Zähler: D-Flip-Flop, SRAM, DRAM, Flash, modulo-m Zähler und Schieberegister.
Sie verstehen die Funktionsweise von Zustandsmaschinen, serieller Datenübertragung und eines einfachen Mikroprozessors
Sie können selbstständig Ergebnisse verifizieren
Praktische Ausführungen der Digitaltechnik
Mikroprozessor
Field Programmable Gate Array (FPGA)
Links ist ein Mikropozessor zu sehen. In der Mitte ist die Abdeckung entfernt und man sieht einen Siliziumchip.
Der Siliziumchip ist einige 100 Quadratmillimeter gross. Der Chip ist aufgeklebt und mit sehr feinen
Golddrähten nach aussen verbunden. Innerhalb des Gehäuses werden die Anschlüsse auf die Anschlussbeine
am Außenbereich des Gehäuses verteilt. Das Gehäuse nennt man pin grid array (PGA).
Heutzutage verwendet man als Gehäuse ball grid arrays (BGA) bei denen die Unterseite des Gehäuses mit
Lötpunkten bedeckt ist.
Der Siliziumchip hat unterschiedlich strukturierte Gebiete entsprechend der Funktion.
Grosse gleichmäßige Flächen entstehen bei Speicherstrukturen.
Sehr unregelmäßige Muster realisieren Logikfunktionen.
Bei modernen Prozessoren ist die Strukturgröße der Transistoren kleiner als die Lichtwellenlänge,
so dass man nur noch die Verdrahtung sehen kann.
Ein Mikroprozessor hat mehrere Millionen/Milliarden Transistoren.
Rechts sieht man den Chip eines programmierbaren Logikbausteins (field programmable gate array, FPGA).
Es besteht aus sehr vielen programmierbaren Logikfunktionen und programmierbaren Verbindungsbahnen.
Deshalb sieht die Struktur sehr regelmäßig aus. Am Rand kann man blaue Rechtecke sehen, an den später
mit Golddrähten die Verbindung nach aussen hergestellt wird.
Neben Speicherbausteinen sind Mikroprozessoren und FPGAs die typischen Realisierungen der Digitaltechnik.
Anwendungen der Digitaltechnik
CD, DVD
Mikrocomputer, Tablet, Mobile Phone
Inkrementalgeber
Praktikum Hardware: Digilent Electronic Explorer
Electronic Explorer
Der Electronic Explorer ist ein USB gesteuertes elektronisches Labor mit Spannungsversorgung,
analogen Signalgeneratoren, digitalen Kanälen und einem 4 Kanal-Oszilloskop.
Auf dem Steckbrett kann man analoge und digitale Schaltungen aufbauen.
Im Praktikum werden ein Inverter und einige Logikfunktionen aufgebaut und vermessen.
Praktikum Software: Digilent Waveforms
Die Bedienoberfläche klassischer elektrischer Geräte wird in Software abgebildet.
Mit der Steuerzentrale in der Mitte kann man die Fenster zur Bedienung des
Oszilloskops, des Signalgenerators und der Spannungsversorgung (Links von oben nach unten)
oder der Digitalen Geräte (Rechts) aufrufen.
Durch eine Bildschirmkopie aller benutzten Geräte kann man einfach die Einstellungen eines Messaufbaus
dokumentieren.
NAND Funktion: Messung und LTSPICE
Baustein CD4007 Verdrahtungsplan
Pin
7
2
9
4
10
11
3
12
12
14
Verbindung
GND
VP+
5
GND
AWG1 OSC1
VP+
AWG2 OSC3
1
OSC2
VP+
In der Digitaltechnik baut man Logikschaltungen nach einem Schaltplan auf und misst die Funktion der Schaltung
(Verifikation).
Einfachste Digitalschaltungen werden immer noch mit Logikbausteinen aufgebaut.
Hier wird der Schaltungssimulator LTSPICE (kostenlos) benutzt, um eine NAND Funktion als Schaltplan darzustellen.
Links sieht man den Transistorschaltplan mit den Eingängen AWG1_OSC1 und AWG2_OSC3 und dem Ausgang OSC2.
Die Namen entsprechen der Verdrahtung eines Schaltungsaufbaus. Die Eingänge werden mit dem Oszilloskop (OSC1,3) und
den Signalgeneratoren (AWG1,2) verbunden und der Ausgang mit dem Kanal 2 des Oszilloskops (OSC2) gemessen.
Die Versorgungsspannung VP+ wird verbunden und eine Masseverbindung (0 V) hergestellt.
Dieser Schaltplan wird mit einer Verdrahtung und einem Transistorbaustein (CD4007),
wie vorher auf dem Electronic Explorer board zu sehen war, realisiert.
Rechts ist das Oszilloskopbild einer Messung zu sehen.
In der Messung werden an den Eingängen alle möglichen Kombinationen nacheinander angelegt und der Ausgang beobachtet.
Nur wenn beide Eingänge "1" sind ergibt sich hier eine "0" am Ausgang.
Typischerweise sieht man in der Digitaltechnik nur zwei Signalpegel "1" und "0", 3.3 V und 0 V, 1 V und 0 V oder VDD und GND.
BASYS3: Field Programmable Logic (FPGA) Board
Programme zum Entwurf und zur Konfiguration der Logik
Vivado
FPGA Baustein in der Mitte der Platine
Unten: Schiebeschalter, Taster, LEDs und 7-Segmentanzeige
Oben: USB Port zur Programmierung, serial, VGA port (Videoausgang)
Rechts, Links: Buchsenleisten für Erweiterungen (PMOD)
USB Port JTAG and data
Platform Flash
Clock 100MHz
Xilinx Artix-7 FPGA: XC7A35T-1CPG236C
4-digit 7-Segment, 16 LED, 16 switches, 5 buttons
VGA port 12 bit
4 Pmod ports
Für komplexere Digitalschaltungen werden FPGAs eingesetzt.
FPGAs können im Gegensatz zu Mikroprozessoren viele Aufgaben parallel mit hoher zeitlicher Genauigkeit durchführen.
Man sieht den sehr kleinen FPGA-Baustein in der Mitte der Platine.
Die Digitalschaltung wird beim Systemstart mit einem Flash-Speicherbaustein konfiguriert.
Für die Entwicklung stehen Developmentboards zur Verfügung, wie hier gezeigt (BASYS3 von Digilent).
Für ein Produkt wird dann eine kostengünstigere spezielle Platine angefertigt.
Das gezeigte Experimentierboard wird im Praktikum eingesetzt.
Praktikum Software
LTSPICE Programm zur Logiksimulation
Vivado
Design, Simulation und Implementierung von Digitalschaltungen
in einem FPGA.
LTSPICE stellt ein grafisches Eingabefenster für den Schaltplan zur Verfügung und ein
Ausgabefenster für den simulierten Signalverlauf.
Die Schaltung kann mit geeigneten Eingangssignalen simuliert werden.
Damit verifiziert man die geplante Funktionsweise.
Xilinx Vivado ist eine Programmierumgebung für Hardware description languages (HDL, VHDL, Verilog),
wie sie auch bei Programmiersprachen Verwendung findet.
Diese integrierten Entwicklungsumgebungen (Integrated development environment, IDE) stellen Projekte,
mit zugehörigen Dateien hierarchisch dar.
Weiterhin stellen Sie Werkzeuge zum Erstellen, Übersetzen und Debuggen des Codes zur Verfügung.
Fehlermeldungen und Warnungen werden dabei in einem Status- oder Logfenster ausgegeben.
Im Bild wird der typische Ablauf eines Systementwurfs dargestellt.
In der Mitte oben sieht man den Startpunkt.
Design entry:
Mittels einer Hardwarebeschreibungssprache VHDL wird eine Digitalschaltung beschrieben.
Logic synthesis:
Bei der Logiksynthese wird die VHDL Beschreibung in Logikblöcke abgebildet.
System partitioning:
Das System wird in Teilschaltungen zerlegt.
Prelayout simulation:
Eine erste Simulation des zeitlichen Verhaltens überprüft die Funktionalität
und kann bei Fehlern zur Wiederholung der Schritte 1-3 führen.
Floor planning:
Eine grobe Abschätzung der Fläche und Platzierung von Teilschaltungen
auf einem Chip wird durchgeführt
Placement: Die Schaltungsblöcke werden geometrisch platziert
Routing: Die Schaltungsblöcke werden mit Leitungen verbunden
Circuit extraction:
Aus der Geometriebeschreibung werden die Schaltung und die parasitären Elemente extrahiert.
Postlayout simulation:
Mit diesen realitätsnäheren Daten wird die Schaltung noch einmal simuliert.
Bei Fehlern oder ungenügender Leistung werden die Schritte 5-7 mit anderen
Randbedingungen wiederholt.
Für alle diese Schritte stehen Softwaretools zur Automatisierung zur Verfügung.
Man spricht von electronic design automation (EDA) Werkzeugen.
Man kann rechts in der Spalte sehen, wie aus einer VHDL Beschreibung Teilschaltungen gebildet werden,
die dann in größer Blöcke (gestrichelte Linie) mit Ein- und Ausgängen (A,B: Interface) zerlegt werden.
Die Blöcke werden auf einem Chip nebeneinander plaziert.
Jeder Block besteht aus Zeilen von Logikzellen (Logic cells).
Diese werden durch CMOS-Transistoren (NFET, PFET) realisiert.
Ziele
Sie verstehen den Unterschied zwischen analogen und digitalen Systemen.
Sie kennen verschiedene Repräsentationen von logischen Zuständen.
Analog versus Digital
Natürliche Zahlen und ganze Zahlen
Analog:
Grüne Kurve
Physikalische Größe
Anzeige mit Zeiger
Digital:
Orangene Punkte
Wertdiskret und Zeitdiskret
Rundung, Quantisierung
Praxisbezug: Analoge und digitale Systeme
Analog
Digital
Bild
Fotoemulsion
Digitale Kamera, JPEG
Video
VHS Kassette
DVD, Blu Ray
Ton
Schallplatte, Kassette
CD, MP3
Telefon
Analoges Telefon
ISDN, VoIP
Digitale Systeme in der Elektrotechnik
Digitaltechnik Definition
Die Digitaltechnik beschäftigt sich mit der Verarbeitung wert- und zeitdiskreter
Größen sowie der Verarbeitung digitaler Signale.
Logische „0“, Logische „1“,
Spannungspegel H „High“ und L „Low“, Wahr und Falsch
Komplexe Systeme werden durch hierarchische Verknüpfung aufgebaut.
Typische Bauelemente sind Logikgatter, Mikroprozessoren und Speicherbausteine.
Die Signale beider Technologien lassen sich mit Analog-Digital-Umsetzern bzw.
Digital-Analog-Umsetzern ineinander umformen.
Repräsentation von logischen Zuständen
Technologie
Zustand 0
Zustand 1
Relais Logik, Schalter
Schaltkreis offen
Schaltkreis geschlossen
Complementary Metal Oxide Semiconductor (CMOS) Logik
0..1.5V
3.5V..5.0V
Transistor-Transistor Logik (TTL)
0-0.8V
2.0-5.0V
Glasfaser
Licht aus
Licht ein
Dynamischer Speicher
Kapazität entladen
Kapazität geladen
Magnetische Disk
Fluss in Richtung „Nord“
Fluss in Richtung „Süd“
Compact Disk (CD)
Kein Pit
Pit
Rewriteable Compact Disk
Dye im kristallisierten Zustand
Dye im nicht kristallisiertem Zustand
Lochkarte
Bei der Lochkarte werden 0 und 1 durch Loch oder kein Loch repräsentiert.
Die Lochkarte kann mechanisch (Schalter) oder optisch (Lichtschranke) ausgelesen werden.
Ziffern oder Zeichen werden durch die Kombination mehrerer Löcher in einer Spalte dargestellt.
Man spricht von einer Kodierung oder Abbildung (mapping).
Fragen und Arbeitsauftrag
Was sind die Eigenschaften digitaler Systeme?
Was sind die Vorteile digitaler Systeme?
Welche Elemente hat ein digitales System?
Wie können logische Zustände dargestellt werden?
Arbeitsauftrag für Sie:
Software laden:
Waveforms, Digilent: www.digilentinc.com
LTSPICE, Linear Technologies:
Vivado, Xilinx:
Programme zum Entwurf und zur Konfiguration der Logik
XILINX Vivado, Digilent Adept
FPGA Baustein in der Mitte der Platine
Unten: Schiebeschalter, Taster, LEDs und 7-Segmentanzeige
Links: PS2 Port, USB Port zur Programmierung
Oben: Buchsenleisten für Erweiterungen (PMOD)
Rechts: VGA port (Videoausgang)
Für komplexere Digitalschaltungen werden FPGAs eingesetzt.
FPGAs können im Gegensatz zu Mikroprozessoren viele Aufgaben parallel mit hoher zeitlicher Genauigkeit durchführen.
Man sieht den sehr kleinen FPGA-Baustein in der Mitte der Platine.
Die Digitalschaltung wird beim Systemstart mit einem Flash-Speicherbaustein konfiguriert.
Für die Entwicklung stehen Developmentboards zur Verfügung, wie hier gezeigt (BASYS2 von Digilent).
Für ein Produkt wird dann eine kostengünstigere spezielle Platine angefertigt.
Das gezeigte Experimentierboard wird im Praktikum eingesetzt.
Alt: Praktikum Software
LTSPICE Programm zur Logiksimulation
Xilinx ISE Webpack 12.4
Design, Simulation und Implementierung von Digitalschaltungen
in einem FPGA.
LTSPICE stellt ein grafisches Eingabefenster für den Schaltplan zur Verfügung und ein
Ausgabefenster für den simulierten Signalverlauf.
Die Schaltung kann mit geeigneten Eingangssignalen simuliert werden.
Damit verifiziert man die geplante Funktionsweise.
Xilinx ISE Webpack ist eine Programmierumgebung für Hardware description languages (HDL, VHDL, Verilog),
wie sie auch bei Programmiersprachen Verwendung findet.
Diese integrierten Entwicklungsumgebungen (Integrated development environment, IDE) stellen Projekte,
mit zugehörigen Dateien hierarchisch dar.
Weiterhin stellen Sie Werkzeuge zum Erstellen, Übersetzen und Debuggen des Codes zur Verfügung.
Fehlermeldungen und Warnungen werden dabei in einem Status- oder Logfenster ausgegeben.