DMM VGA

Hier handelt es sich um ein minimales serielles Terminal mit VGA-Ausgang. Die Terminal-Emulation ist nur äußerst rudimentär, Fokus war der VGA-Ausgang. Das Projekt entstand im Rahmen der Vorlesung Digitale Messdatenverarbeitung mit Mikrorechnern auf einem AVR Mikrocontroller, daher der Name „DMM“ VGA.

Umsetzung

Der verwendete ATmega644P Mikrocontroller erzeugt ein standardkonformes S/W VGA-Signal mit 640×400 Pixeln bei einem Pixeltakt von 25 MHz. Der Mikrocontroller wurde dazu von 20 auf 25 MHz übertaktet, es werden je 8 Pixel parallel ausgegeben und von einem 74HC165 Schieberegister serialisiert.

Erster und einziger Prototyp der Schaltung

Schaltplan

Video einer kleinen Text-Animation als Demo:

Quelltext Stand 12.07.2009

Update 28.02.2014:

Quelltext einige „const“ hinzugefügt, damit der Code auch mit aktuellen Compilern funktioniert. Nicht getestet.

Schaltplan (Eagle) Platinenlayout ist leider nicht mehr vorhanden, Schaltplan ist ungetestet.

Update 19.07.2017:

Der Rev010 Schaltplan enthält einen Fehler: KBD_CLK muss an Pin 18 (XCK1) statt Pin 1 (XCK0) angeschlossen werden. Korrigierter Schaltplan und 2-lagiges Platinenlayout: Schaltplan + Board (Eagle 6)

Im Quelltext wurden diverse Warnmeldungen behoben. Die Funktionalität hat sich nicht geändert. Getestet wurde mit avr-gcc 4.9 unter Mac OS X.