Arduino/FPGA/MOD-VGA

Aus
Wechseln zu: Navigation, Suche
MOD-VGA-32MB Board


MOD-VGA Shield

Das MOD-VGA und das MOD-VGA-32MB Shield ist ein Klon des bekannten Gameduino Shield der von der Firma Olimex angeboten wird. Das Board ist ein Grafik Adapter für den Arduino auf Basis eines Xilinx FPGA (Spartan 3A). Es bietet VGA mit Sprites und einen Coprocessor.

Die Unterschiede zu Gameduino sind gering. Das Shield ist kompatibel und läuft mit jedem Arduino. Aber es gibt durchaus erwähnenswerte Verbesserungen zur originalen Hardware:

  • optionales SRAM 256KB x16
  • optionales SDRAM 32MB x16
  • PS2 Stecker für ein Keyboard
  • das Enable Signal ist per Jumper abschaltbar
  • UEXT Anschluss



Hier ist die Technische Beschreibung. Interessante Fakten sind:

  • Aus Controller Sicht ist das Gameduino einfach ein 32K SRAM
  • Das SRAM wird einfach per SPI beschrieben und gelesen
  • Es gibt eine Arduino Bibliothek, mit der die Programmierung stark abstrahiert und dadurch vereinfacht wird.
  • Neben den 2 bekannten Planes (Char Plane, Sprite Plane) gibt es nun eine dritte: ein Hintergrund (eine Farbe pro Rasterzeile)
  • Interessant ist auch, im FPGA ist eine eigene CPU integriert worden! Die kann man in Forth programmieren und damit zb. Rasterinterrupts oder Farbwechsel bei bestimmten Rasterzeilen programmieren.
  • Für die bekannten Screenshots auf der GameDuino Seite kann man den zugehörigen Arduino Sourcecode herunter laden.
  • Der FPGA selbst kann mit eigenem Design neu programmiert werden, wenn man es kann ...


Specifications

  • video output is 400x300 pixels in 512 colors
  • all color processed internally at 15-bit precision
  • compatible with any standard VGA monitor (800x600 @ 72Hz)
  • background graphics
    • 512x512 pixel character background
    • 256 characters, each with independent 4 color palette
    • pixel-smooth X-Y wraparound scroll
  • foreground graphics
    • each sprite is 16x16 pixels with per-pixel transparency
    • each sprite can use 256, 16 or 4 colors
    • four-way rotate and flip
    • 96 sprites per scan-line, 1536 texels per line
    • pixel-perfect sprite collision detection
  • audio output is a stereo 12-bit frequency synthesizer
  • 64 independent voices 10-8000 Hz
  • per-voice sine wave or white noise
  • sample playback channel


Dokumentation


Web Links