ETI-Großprojekt Gruppe 5 Lehrstuhl für Rechnertechnik und Rechnerorganisation ETI-Großprojekt Gruppe 5 VGA-Ausgabe mit Netzwerkanschluss Albert Feller, Stefan Heßel, Moritz Höser, Valeriy Khakhutskyy, Martin Levihn, Korbinian Mögele, Matthias Reitinger, Jan Sommer, Maxi Springer, Marc Ströbel, Jiayan Xu
ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation 0. Überblick 1. Aufgabenstellung 2. Ziele 3. Ergebnis 4. Lösung 4.1 Organisation 4.2 Netzwerk-Applikation 4.3 AVR 4.4 FPGA 5. Präsentation
ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation 1. Aufgabenstellung Spezifikation und Entwicklung einer VGA- Graphikausgabe mit Netzwerkanschluss (+ Client-Software) Vorhandene Komponenten: –Netzwerkkarte (ISA) –Mikroprozessor (AVR ATmega128) –FPGA (Spartan-3 XC3S200)
ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation 2. Ziele Obligatorische Ziele: –Einfach formatierte Textausgabe Variable Schriftgröße Variable Farbe –Ausgabe einfacher graphischer Formen Optionale Ziele: –Erweiterte Formatierungen –Anbindung von RSS-Feeds –Ausgabe von Bildern
ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation 3. Ergebnis Ausgabe von: –formatiertem Text (Farbe, Größe, Laufschrift…) –graphischen Elementen –RSS Feeds
ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation 4. Lösung 4.1 Organisation 4.2 Netzwerk-Applikation 4.3 AVR 4.4 FPGA
ETI-Großprojekt Gruppe Organisation 11 Leute –Analyse des Problems -> kleinere Teams wurden gebildet Netzwerk/Client AVR FPGA Lehrstuhl für Rechnertechnik und Rechnerorganisation
ETI-Großprojekt Gruppe Organisation Selbständige Einarbeitung der Teams –Danach Zeitplan Erstellung –Übungsleitung hat regelmäßige Treffen organisiert und geleitet –Probleme: Gruppe insgesamt zu groß Unterschiedliche Motivation Zu wenig Schlüsselkarten Lehrstuhl für Rechnertechnik und Rechnerorganisation
ETI-Großprojekt Gruppe Organisation Weitere Probleme: –Verzögerung in den Gruppen –AVR und FPGA Zusammenführung schwieriger als gedacht –Arbeit in den Semesterferien notwendig, immer unterschiedliche Leute Lehrstuhl für Rechnertechnik und Rechnerorganisation
ETI-Großprojekt Gruppe Organisation Zusammenfassung der Organisation: –Interessante Aufgabe –Sehr gute Dokumentation der Hardware –Gute Verfügbarkeit der Hardware –Gute Arbeitsatmosphäre durch eigenen Raum –Gruppengröße überdimensioniert Lehrstuhl für Rechnertechnik und Rechnerorganisation
ETI-Großprojekt Gruppe Netzwerk-Applikation Lehrstuhl für Rechnertechnik und Rechnerorganisation
ETI-Großprojekt Gruppe Netzwerk-Applikation Clientseitige Software zum Verändern des Bildschirminhalts Programmiersprache: Java Kommunikation über festen Port zum AVR Verbindung mit Standard Java- Sprachelementen –TCP/IP-Protokoll –Java Socket Lehrstuhl für Rechnertechnik und Rechnerorganisation
ETI-Großprojekt Gruppe Netzwerk-Applikation Editier-Modus: –Auswählen einzelner oder mehrerer Zellen –Texteingabe wie in normalem Editor –Farbenauswahl mit Farbpalette des FPGA –Laden / Speichern im FPGA-Dateiformat Lehrstuhl für Rechnertechnik und Rechnerorganisation
ETI-Großprojekt Gruppe Netzwerk-Applikation Lauftexte bestimmter Länge und Geschwindigkeit Lehrstuhl für Rechnertechnik und Rechnerorganisation
ETI-Großprojekt Gruppe Netzwerk-Applikation Einlesen und Einfügen von RSS- Feeds Automatisches Updaten der RSS- Feeds (ungelöst) Lehrstuhl für Rechnertechnik und Rechnerorganisation
ETI-Großprojekt Gruppe Netzwerk-Applikation Schicken des gesamten Screens zum AVR Updaten einzelner Bereiche Updaten der Lauftexte Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.3 AVR Atmel AVR ATmega128 Mikroprozessor Schnittstelle zwischen Netzwerk- karte/Client und FPGA Empfangen der Daten Verarbeitung der Netzwerkdaten Zwischenspeicherung von Daten Weiterleitung an den FPGA ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.3 AVR Programmiersprache: C Entwicklungsumgebung: Programmer‘s Notepad Verbindung zur Netzwerkkarte: uIP-Stack v1.1 –Von Hr. Acher Bereitgestellt Verbindung zum FPGA: 8-Bit paralleler unidirektionaler Datenbus mit zusätzlichem Taktport Kommunikation durch wohldefinierte Protokolle ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.3 AVR Übertragen der Daten als Byte-Array mit vorangestelltem Steuerzeichen Steuerzeichen: Bildschirmdaten setzen –Zeilenweise –Charaktercode und Formatierung Steuerzeichen: Lauftext setzen –Lauftext –Erweiterte Formatierung Steuerzeichen: Lauftext löschen ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.3 AVR Weiterleitung von Bildschirmdaten an den FPGA –Parsen der Daten und direkte Weiterleitung Zwischenspeicherung von Lauftexten –Speicherung in einem internen (komprimierten) Protokoll Regelmäßige Aktualisierung der Daten –Aktualisierung anhand des internen Clock-Signals –Neusenden der Daten an den FPGA ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.3 AVR Umwandlung / Komprimierung in FPGA Protokoll Steuerung der Datenübertragung durch ein Steuerbit Setzen eines einzelnen Zeichens Setzen einer beliebigen Anzahl von Zeichen Formatierung einer einzelnen Zelle Formatierung eines bestimmten Bereichs ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.4 FPGA Xilinx Spartan-3 (XC3S200) Aufgaben: –VGA-Ausgabe –Zwischenspeichern des Bildschirminhalts –Verarbeiten von Befehlen vom AVR Beschreibungssprache: VHDL ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.4 FPGA Interne Struktur folgt dem Schema: Eingabe → Speicher → Ausgabe Blockdiagramm: ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.4 FPGA Speicherbereiche: –Zeichenspeicher (Dual-Port RAM): Zeichencode für jeden Block –Formatspeicher (Dual-Port RAM): Formatierung für jeden Block Farbe, Skalierung, Unterstreichung –Fontspeicher (ROM): Bitmap-Font mit 256 Zeichen Alle als BRAM ausgeführt ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.4 FPGA avr_in 8-Bit-paralleler Datenbus mit Steuersignal Schreibt in den Zeichen- und Formatspeicher Als State-Machine realisiert –Zustände im wesentlichen „Warten“, „Befehl 1“, „Befehl 2“... mit Unterzuständen ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation
4.4 FPGA pixel_generator –Liest aus Zeichen- und Formatspeicher –Ermittelt Farbe für Pixel (x,y) –Wird von vga_out angesprochen vga_out –VGA-Signal für Modus –Durchläuft kontinuierlich Bildbereich und zeigt die vom pixel_generator gelieferten Farben an ETI-Großprojekt Gruppe 5Lehrstuhl für Rechnertechnik und Rechnerorganisation