Forum: FPGA, VHDL & Co. brauche hilfe bei VGA LCD interface controller projekt


von Grobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

seit ein paar Jahren nunmehr habe ich ein damals für ca. 10€ erworbenes 
VGA LCD Display(640x480xRGB) von Distec im Keller rumfliegen welches ich 
bis heute nicht zum laufen gebracht habe, was aber nicht etwa an einem 
Defekt sondern eher an mangelndem Verständniss des Datenblattes sowie 
Hardwareunkenntniss liegt. Vielleicht hat der ein oder andere von euch 
ja ein paar mins Zeit sich das Datenblatt mal anzuschauen und könnte mir 
sagen ob ich mit meinen Vermutungen richtig liege? Denn wenn ich das 
richtig verstehe
müsste man um überhaupt eine Anzeige auf dem Display zu bekommen 
640*480*3 = 921600 Bytes an Daten zum Display rüberschicken und das 
zwischen 100 und 150 mal pro Sekunde! Also viel zu  viel für einen AVR 
mit denen ich mich bis jetzt beschäftigt habe. Also dachte ich mir wäre 
es doch viel sinnvoller eine Art eigenständigen Controller für das 
Display aufzubauen mit einem FPGA oder CPLD welcher mir persöhnlich 
lieber wäre (geringer Preis und n z.B. 44Pol. vqfp oder plcc gehäuse ist 
für den hobbybastler doch besser zu verbauen als n 144Poliges!). Also 
die Idee is der DisplayController besitzt ein entsprechend großes und 
schnelles RAM als Bildpuffer dessen Inhalt wird vom FPGA oder CPLD 
ausgelesen und zusammen mit den entsprechenden Steuersignalen zum 
Display übertragen. Dazu müsste man das RAM am Besten gleichzeitig lesen 
und schreiben können damit man nicht noch eine zusätzliche Logik 
zusammenbasteln muss die das Schreiben des Bildspeichers z.B. durch nen 
mikrocontroller und das Lesen durch den FPGA oder CPLD regelt. Welche 
Hardware würde man am Besten für das Projekt verwenden? Ginge das z.B. 
mit einem XC9572XL 10ns von Xilinx den gibts bei Reichelt schon für ca. 
3€ ? Als RAM wäre meiner meinung nach n V- oder W-RAM sinnvoll, aber wo 
bekommt man die Dinger? Aber viel wichtiger noch, wo gibts n gut 
verständliches Tutorial für die Programmierung eines FPGA oder CPLD, 
habe mir von Xilinx das free software Paket zum programmieren besorgt 
doch wirklich was damit anfangen konnte ich nich weil is ja schon ne 
ganz andere Materie als n AVR mit C zu programmieren.

Grobi

von Manuel1139 (Gast)


Lesenswert?

Hi, bin geräade an einem ähnlichen Projekt (VGA). Kommt natürlich immer 
darauf an was du anzeigen willst. Wenn du nur Text willst kannst du 
evtl. sogar ganz ohne RAM auskommen (der FPGA/CPLD erzeugt die "Pixel" 
dann ad hoc). Mit nem µC wirst du wohl keine befriedingenden Ergebnisse 
erreichen.

Wenn du das ganze in einem Grafikmodus betreiben willst ist es am 
einfachsten mit SRAM zu arbeiten. VRAM gibt es glaub ich nicht mehr und 
(DDR) SDRAM ist (zumindest für mich als hobbyler) sehr schwierig zum 
ansteuern. Ich habe gesehen das hier teilweise mit FIFO Puffern für die 
akuelle Ausgabezeile gearbeitet wird.

Wenn ich das Datenblatt richtig interpretiert habe brauchst du pro Pixel 
2x8 bit "DualScan". Leider kenne ich mich mit TFT (noch nicht) wirklich 
aus. Aber ich meine man muss jeweis einen oberen und einen unteren 
bereich des TFT mit Daten versorgen.

Soviel erstmal dazu. Wennn du anfängst dich an VHDL oder was auch immer 
für eine Hardwarebeschreibungssprache machst, kannst du ja nochmal 
bescheid geben.

Gruß,
 Manuel

von Manuel K. (manuel1139)


Lesenswert?

sorry, war nicht angemelded...

von Falk B. (falk)


Lesenswert?

@ Grobi (Gast)

>640*480*3 = 921600 Bytes an Daten zum Display rüberschicken und das
>zwischen 100 und 150 mal pro Sekunde! Also viel zu  viel für einen AVR

Warum 150 mal pro Sekunde? Die meisten TFTs arbeiten mit 60 Hz. Macht 
~60 Mb/s. Schon ordentlich.

>Display aufzubauen mit einem FPGA oder CPLD welcher mir persöhnlich
>lieber wäre (geringer Preis und n z.B. 44Pol. vqfp oder plcc gehäuse ist
>für den hobbybastler doch besser zu verbauen als n 144Poliges!). Also

Tja, wenn du es schaffst, die Logik in einen CPLD zu pressen . . .

>mit einem XC9572XL 10ns von Xilinx den gibts bei Reichelt schon für ca.
>3€ ?

Nicht wirklich ;-)

> Als RAM wäre meiner meinung nach n V- oder W-RAM sinnvoll, aber wo
>bekommt man die Dinger? Aber viel wichtiger noch, wo gibts n gut
>verständliches Tutorial für die Programmierung eines FPGA oder CPLD,

Im netz gibt es divese VHDL Tutorials. Aber man muss auch Ahnung von 
Digitaltechnik haben, VHDL allein reicht NICHT!

>ganz andere Materie als n AVR mit C zu programmieren.

Nicht wahr.

MfG
Falk

von Claude (Gast)


Lesenswert?

Hab mich auch mal an einem DSTN VGA Display versucht. Bei Pollin gibt es 
bei den TFTs/Displays einen Download für einen DVI->DSTN Adapter mit 
CPLD. Ich hab das DSTN Display inzwischen entsorgt ;-) TFTs finde ich um 
einiges leiter anzusteuern. Da reicht ein einfacher VGA Timinig 
Generator im CPLD/FPGA und etwas schnelles SRAM. Der knifflige Part wird 
dann aber von einem externen uC das Ram zu beschreiben ohne den 
Datenstrom zum TFT abreissen zu lassen. Und genau an dem Punkt bastel 
ich gerade rum.

von Claude (Gast)


Lesenswert?

Und noch ein paar Infos zu DSTN Displays:

- Können nur die Grundfarben , feinere Abstufungen müssen gedithert
  werden und deswegen brauchen die DSTNs so hohe Bildwiederholraten

- Display ist meisten 2 geteilt in Obere und Untere Hälfte mit eigenen
  Datenbus -> Datenblatt UD[7..0] LD[7..0]. Die Hälften müssen
  gleichzeitig beschrieben werden da sie sich die Sync Signale teilen.

- Sind "Schnarche langsam" und ziehen die schönsten Schlieren bei
  bewegung im Bild. Also für Video , Oszi Bildschirem etc ungeeignet.
  Deswegen ist meins in die Runde Ablage gewandert.

Gruß
Claude

von Grobi (Gast)


Lesenswert?

Vielen Dank erstmal für die schnellen Antworten!

Anscheinend muss ich mich da doch erstmal n bischen näher mit der ganzen 
Sache beschäftigen und wenn das display eh nich so der bringer is wie 
ihr sagt, ich hätte da auch noch n 15" tft ausm amilo, das wäre 
vielleicht auch ne geile sache.

Grobi

von Benedikt K. (benedikt)


Lesenswert?

Grobi wrote:
> ich hätte da auch noch n 15" tft ausm amilo, das wäre
> vielleicht auch ne geile sache.

Dann würde ich gleich einen FPGA nehmen: Der hat dann auch gleich den 
LVDS Transceiver integriert.

von Paul (Gast)


Lesenswert?


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.