Arduino/FPGA/MOD-VGA

Aus
< Arduino‎ | FPGA
Version vom 24. Oktober 2019, 21:48 Uhr von Tw (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „right|thumb|200px|GameDuino Board __TOC__<br /> == MOD-VGA Shield == Das MOD-VGA Shield ist ein Grafik Adapter für den Arduino auf…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
GameDuino Board


MOD-VGA Shield

Das MOD-VGA Shield ist ein Grafik Adapter für den Arduino auf Basis eines Xilinx FPGA (Spartan 3A). Es bietet VGA mit Sprites und einen Coprocessor.

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