Forum: FPGA, VHDL & Co. Vga-Port ansteuern (Aussehen der Signale)


von Maik (Gast)


Lesenswert?

Hallo,

ich möchte den VGA-Port ansteuern und ein einfaches weißes Bild 
erzeugen.

Ich habe die Signale, die man im Anhang sehen kann, erstellt.

Leider funktioniert das nicht.

Wer kann mir helfen und den Fehler finden?

Danke,
Mark

von Mark (Gast)


Angehängte Dateien:

Lesenswert?

Leider hat das HOchladen von dem Anhang nicht geklappt.

Mark

von Jörg (Gast)


Lesenswert?

Also beim ersten Überblicken sehen die Sync-Signale OK aus;
aber die Farb-Signale (R,G,B) sind falsch, die müssen alle
zwischen den HSYNC-Phasen (retrace) ='0' sein.

Das Beispiel auf http://www.derepas.com/fabrice/hard/ ist
zwar nicht sehr schon programmiert, verdeutlicht aber gut
den Ablauf.

Gruss

Jörg

von Mark (Gast)


Angehängte Dateien:

Lesenswert?

Danke.

Ich habe das nochmal verbessert. Ist das so richtig? (Ich weiß, es ist 
schwer zu erkennen.)

Mark

von Rick Dangerus (Gast)


Lesenswert?

Warum hängst Du nicht einfach einen Monitor dran und guckst ob der damit 
was anfangen kann?

Unter http://www.ulrichradig.de/ -> CPLD -> VGA MonitorTester findest Du 
auch eine funktionierende VGA-Ansteuerung (Ist aber auch nicht so schön 
umgesetzt).

Rick

von Jörg (Gast)


Lesenswert?

Ja, sieht schon viel besser aus. Was mir aber auffällt: Zwischen den
VSYNC-Signalen liegen grob 400ms (=400.000.000.000ps), habe ich mich
verlesen?

Nur als Beispiel: VGA-640x480@60MHz hat VSync-to-VSync von glaube ich
16.7ms, rechne mal im Beispielcode die Zeiten raus.

Viel Spass

Jörg

von Jörg (Gast)


Lesenswert?

@Rick Dangerus,

hab meinen ersten VGA-Controller auch nur blind programmiert, d.h. nur
unter Zuhilfenahme von Testbenchs. Alle Timings kontrollieren, testen
ob genug Pixel je Zeile und Spalte erzeugt werden, dann liefs beim
ersten Anschliesen sofort. Danach kann man das Design verfeinern.

Gruss

Jörg

von Rick Dangerus (Gast)


Lesenswert?

@Jörg:
Ideal wäre natürlich eine Testbench, die die Timings prüft und ggf. 
sogar das Testbild als Grafik speichert. Solche prüfenden Testbenchens 
sind v.a. bei komplexeren Sachen sehr hilfreich (aber leider auch sehr 
aufwendig).

Rick

von Jörg (Gast)


Lesenswert?

@Rick Dangerus,

Bin leider nur non-semi-professioneller FPGA-ler, meine Testbenchs
beziehen sich immer nur auf kleine Teilmodule (bzw. auch nur auf
kleine Zeitabschnitte), die Korrektheit lässt sich so leicht am
Bildschirm ablesen.

Kann man nicht auch die Zeiten (z.B. Wechsel von Sync-Signal 0-1,1-0)
per Testbench in ein Textfile abspeichern? (Textfiles lassen sich
dann bei so langen Laufzeiten ja leichter auswerten)

Gruss

Jörg

von Mark (Gast)


Lesenswert?

Hallo,

ich habe noch eine Verständnisfrage:

Wie oft muss V-Sync auf Low gesetzt gewesen sein, damit ein komplettes 
Bild angezeigt wird?
640 mal?

Mark

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Da ist ein Comodore C64 in ein FPGA gepack.
Auf der obigen Webseite ist auch der VGA Source Core dabei.
http://c64upgra.de/c-one/
Gruss Holger

von Jörg (Gast)


Lesenswert?

@Mark,

die Anzahl HSync/VSync (d.h. Sig=Low) hängen vom VGA-Modus ab,
beziehe mich also mal nur auf 640x480@60Hz. Für EIN Bild sind
nach Timing/Modus-Tabelle 521 Zeilen, d.h. 521 mal HSYNC=Low

  521 =
    480   für Display-Pixel
    + 2   Sync-Len
    +10   Front-Porch-Len
    +29   Back-Porch-Len

Dann natürlich 60 mal VSync=Low je Sekunde für 60Hz.
(habe selber nicht 25.16MHz wie im Standard-VGA-Mode, sondern
25MHz, aber die VGA Monitore sind sher flexibel!!)


Gruss

Jörg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.