Forum: FPGA, VHDL & Co. Farbmultiplex-Ausgabe auf dem Spartan3E Evalboard


von J. S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich bin dabei, meine colour-multiplex-Architektur auf das Spartan 3 E zu 
portieren. Damit können - obwohl bei dem Board ohne Umbau nur 1 Farbe je 
Kanal zur Verfügung steht - mehrere Farbmischungen erzeugt werden.

Testbild anbei. Es läuft am normalen Evalboard mit TFT-Screen.
Fragen und Anregungen erbeten.

von J. S. (engineer) Benutzerseite


Lesenswert?

So, zweiter Versuch - die erste Version lief wohl nicht auf allen 
Montitoren. Würde mich mal interessieren, ob ihr ein stabiles Bild habt. 
Die Umschaltung der Farben arbeitet nun nach jedem Pixel. Man müsste 
jetzt 32 der insgesamt 8x8 Farbmischungen (sw,rot,gelb,grün,blau,türkis, 
violett und wiess) erkennen.

?

von J. S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

So , da isses nun. Alle 8 Farben werden über X und Y kreuzverknüpft 
gemischt, wodurch 64 Felder entstehen. Die Zahl der Farben ist damit 
8+7+6+ ... 1 = 36. Multiplexed wird mit dem doppelten Horizontaltakt.

von Joerg (Gast)


Lesenswert?

Jürgen, Hallo,

Funktioniert bei mir -- allerdings sehen die Farbfelder bei mir 
"verrauscht" aus -- muss das so?


Etwas anderes ist mir aufgefallen: die XC-DONE LED leuchtet nachdem ich 
dein Design aufgespielt habe deutlich heller als sonst. Woher kommt das?


 j.

von Rick Dangerus (Gast)


Lesenswert?

Gibt es auch die Quellen dazu? Dann könnte man es auch auf anderen 
Boards testen.

Rick

von J. S. (engineer) Benutzerseite


Lesenswert?

Hier ist nun der angekündigte Verlauf mit horizontalem Interlace. Auf 
meinem TFT flackert nichts mehr absolut stabil.

Es gibt nur noch ein Problem mit dem Einschreibeprozess: Am linken Rand 
werden Pixel berechnet. Das hat aber nichts mit der DArstellung zu tun.

Das System läuft derzeit voll asynchron mit wechselnden 
Synthesegeschwindigkeiten - das Synchronisiere hat noch nicht geklaptt, 
da der Monitroe / TFT jedesmal den geraterten Horizintalclock erkennt 
und das Bild nicht darstellen will.

Zu erkennen ist bei diesem Beispiel im Übrigen rein rainbow, allerdings 
nur die Farbmischung RGB und die direkten Nachbarn:

Aus Rot + Geld wird dadurch z.B. Orange und aus Violett + Rot die 
Telekomfarbe :-)

Im zweiten Ragenbogen werden alle 3 Grundfarben (RGB)und 3 Mischfarben 
(CMY) jeweils mit Schwarz gemmischt, im dritten Bogen mit Weiss.

Das sind die 24 auf diese Weise nutzbaren Farben. Die Quermischungen 
(z.B. Orange mit Hellblau) führen entweder auf ähnliche Farben wie die 
Mischfarben, oder sie stellen indirekt wieder eine ungemichte Farbe dar.

Als nächstes kommt ein VideoRAM davor, sodaß die Einschreibeseite von 
der Leseseite entkoppelt ist.

von J. S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

So, hier ist das file!

Habe es gerade mal auf einem analogen Monitor gecheckt: Da kommen die 
Farben total anders - das Bild ist aber voll stabil und flackerfrei.
Der interlace läuft hier derzeit auf ungefähr 138 Mhz - wenn ich die 
delays der Farberzeugung wegrechne, komme ich auf 180 MHz mit Reserve. 
Damit müsste man einen 166MHz Bus zum RAM hin hinbekommen.

von J. S. (engineer) Benutzerseite


Lesenswert?

2007! So lange ist das schon wieder her :-)

Nach 5 Jahren gibt es nun ein Projekt dazu:
[http://www.mikrocontroller.net/articles/Projekt_VGA_Core_in_VHDL]

Die Pixelwechselfrequenz ist leider auch bei schnelleren FPGAs begrenzt, 
da muss ich mir nochmal etwas ausdenken. Z.B. gibt es bei einem design 
mit 1280x1024, das 135MHz Taktfrequenz benutzt, eine starke Interferenz 
und starkes Rauschen, das bei grossen Flächen sichtbar wird. Gfs muss 
man die FPGA-Ausgänge auf slow stellen oder die Treiberleistung explicit 
reduzieren, damit tatsächlich ein quasi-analoges Zwischensignal 
abgebildet wird. ODer, man baut einen analogen Tiefpass an die Ausgänge 
:-)

Ich habe über dies den Eindruck, dass sich einige Monitore durch den 
fake irritieren lassen und nicht synchen.

Am Liebsten wäre mir ein 4facher Takt, den ich bei einem Virtex mit DDR 
schon hinbekommen habe. Das funktioniert bei den langsamen Kröten-FPGAs 
allerdings nicht.

Andererseits ist das Nachrüsten weiterer Widerstände auch kein so 
grosser Akt, wenn man zu einer R-Leiter gelangen will und 
Zwischenzustände braucht. Erhöht halt den Aufwand, wenn man sich an eine 
zu testend HW mal eben was dran bauen will.

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.