HELBER.IT - Project (2006/12)
Jan Helber
 

Projekte > Project (2006/12) > 

NAVIGATION

INHALT


Stand der Vorgänger

Im Sommersemester 2006 entwickelte eine Projektgruppe die Ansteuerung für ein LCD Display mit Touchscreen über einen extra FPGA I/O Controller.

Dazu wurde das Modell eines Einfachst-rechners, ein Prozessor den Prof. Strahnen in VHDL geschrieben hatte, in einen Cyclone FPGA von Altera synthetisiert.

Außerdem wurde ein Assemblierer geschrieben der den Assemblercode in die OP-Codes des Prozessors umwandelt.

Das Projekt

Unser Projekt baut an dieser Stelle auf dem Projekt der Vorgängergruppe auf. Unsere Dokumentation beschreibt daher auch lediglich unsere Arbeit (debugger, Verbindung ARM zu Einfachstrechner program loader, etc).

  1. Unsere Hauptaufgabe war es eine universelle Debug-Lösung für den Einfachstrechner zu finden.
  2. Außerdem sollten wir die Ansteuerung des Touch-Screen-Display verbessern, welches über den Einfachstrechner mit einem ARM verbunden war. Die Verbindung funktionierte als wir das Board bekamen nur mangelhaft und erkannte den Druck nur an bestimmten Stellen korrekt.
  3. Außerdem sollte der Einfachstrechner noch eine weitere Aufgabe übernehmen.
    Er sollte in einer Schleife abprüfen ob eine Taste gedrückt ist, diese Information in einem Register speichern und den ARM darüber mit einem Interrupt informieren.
    Das hat den Vorteil, dass der ARM nicht ständig stupide in einer Schleife läuft und das TouchScreen abfragen muss.

Realisierung

Wir entwickelten eine All-in-one Lösung: Eine GUI mit einem sehr funktionalen Editor. Der unterstürtze Syntax-Highlighting, hat einen integrierten Assembler-Compiler, einen automatischen Program-Upload auf den Einfachstrechner und einen single-step-mode für besseres Debugging.

Unsere Anwendung fragte außerdem die Widerstands-Matrix des Touchscreens ab, um lokale Widerstandsänderungen einer Berührung herauszufinden.
Sobald ein Kontakt statt fand, löst bis dahin der Cyclone einen Interrupt beim Philips LPC 2294 Mikrocontroller aus. Diese Aufgabe wurde in unserer Lösung allerdings durch den ARM übernommen.

Dieser bezieht nun über ein Register vom ARM die Koordinaten der Berührung, und erstellt durch die Grafikfunktionen im Cyclone die neue Anzeige des LCDs.
Dazu legt er eine Adresse auf den Adressbus des Cyclones und das jeweilige Datenwort auf den Datenbus.

Der LCD Bildschirm wird mit 8 Steuerleitungen vom Cyclone angesteuert.

RUP

Die Dokumentationen, die ich geschrieben habe sind mit einem Stern (*) markiert.

Inception - Phase:
startet den DownloadRisc List (*)
startet den DownloadRough Project Plan (*)
startet den DownloadVision Document (*)

Elaboration - Phase:
startet den DownloadDetailed Project Plan
startet den DownloadRelease Plan
startet den DownloadRisc List (updated) (*)
startet den DownloadSystem Architecture Document

Construction - Phase:
startet den DownloadProduct Description
startet den DownloadTest Document

Transition - Phase:
startet den DownloadPolling (*)
startet den DownloadRamcopy (*)
startet den DownloadARM
startet den DownloadERDE
startet den DownloadVHDL