www.mikrocontroller.net

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


Autor: Jürgen S. (engineer) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

?

Autor: Jürgen S. (engineer) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Joerg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rick Dangerus (Gast)
Datum:

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

Rick

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
2007! So lange ist das schon wieder her :-)

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

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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.