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).
- Unsere Hauptaufgabe war es eine universelle Debug-Lösung für den Einfachstrechner zu finden.
- 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.
- 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:
Risc List (*)
Rough Project Plan (*)
Vision Document (*)
Elaboration - Phase:
Detailed Project Plan
Release Plan
Risc List (updated) (*)
System Architecture Document
Construction - Phase:
Product Description
Test Document
Transition - Phase:
Polling (*)
Ramcopy (*)
ARM
ERDE
VHDL