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.
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. ?
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.
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.
Gibt es auch die Quellen dazu? Dann könnte man es auch auf anderen Boards testen. Rick
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.