Ansteuerung eines TFT mit einem CPLD XC9572XL

OP #3081071
Lesenswert?

Ich möchte ein TFT (640 x 480 x 18bit) ansteuern und dazu einen CPLD als 
TFT-Ansteuerbaustein verwenden. Bekanntermaßen muss ein TFT – sofern er 
keinen eigenen Controller besitzt – permanent und mit durchaus 
kritischem Timing angesteuert werden. Diese Aufgabe ist prädestiniert 
für ein CPLD/FPGA. Die Bilddaten werden dazu in einem externen RAM 
hinterlegt, welches am CPLD angeschlossen ist. Die Schnittstelle zum 
Hauptcontroller ist eine SPI.
Hat jemand da Erfahrungen? Reicht ein CPLD, z.B. der Xilinx XC9572XL 
aus, oder ist ein FPGA notwendig? Und gibt es Empfehlungen, wann auf den 
Speicher geschrieben werden darf? Ist dazu ein Dual-Port-RAM 
erforderlich? Was gibt es noch zu beachten?
Gast #3081092
Lesenswert?

M. H. schrieb:
> Ich möchte ein TFT (640 x 480 x 18bit) ansteuern und dazu einen CPLD als
> TFT-Ansteuerbaustein verwenden. Bekanntermaßen muss ein TFT – sofern er
> keinen eigenen Controller besitzt – permanent und mit durchaus
> kritischem Timing angesteuert werden.

Das Timing ist nicht so kritisch - es muß mit rund 25MHz Pixeltakt nur 
recht flott sein.

> Was gibt es noch zu beachten?

Wenn Du keine sonstigen speziellen Anforderungen hast, nimm einen 
fertigen TFT-Controller mit internem RAM. Alles andere ist unnützer 
Aufwand.
SSD1963 z.B. http://www.allshore.com/pdf/solomon_systech_ssd1963.pdf
OP #3081292
Lesenswert?

Vielen Dank für den Input.

Es sind zwei Punkte, die mich bei dem SSD1963 zögern lassen:
1.  Ist der so universell konfigurierbar, dass er mit allen gängigen 
TFTs klarkommt?
2.  Der IC ist praktisch nicht zu beziehen. Die üblichen Distris führen 
ihn nicht.

Ansonsten wäre das natürlich eine feine Sache.
Gast #3081342
Lesenswert?

zu 1. würde ich behaupten: ja. Welche TFTs aber alle gängig sind, ist 
schwer zu sagen. Zweckmäßig wäre es, sich auf einen Typen festzulegen, 
um nicht wiederholt andere Flachbandkabel/Stecker verwenden zu müssen.

zu 2.: es gibt fertige Displays inkl. SSD1963 Controller. Das wäre die 
einfachste Möglichkeit, alles komplett zu haben.

Wenn Du Dich mit 16-Bit Farbtiefe zufrieden geben könntest, wäre ein 
Tipp der S1D13742 (768KB internes RAM). Mouser will 15 Ocken dafür.
Wenn schon 8-Bit per LUT auf 18/24 Bit aufgepustet reichen, würde ich 
den S1D13781 (384KB internes RAM) vorschlagen. Wenn wieder lieferbar, 
für ca. 5 € bei Future erhältlich.

Oder Du wartest auf die neuen STM32F429 µCs, die SDRAM ansteuern können 
und einen TFT-Controller integriert haben.
Oder, oder, .....
OP #3081479
Lesenswert?

Bei der Auflösung von 640x480 ist es ziemlich schnell vorbei mit 
Displays, die einen SSD1963 o.ä. integriert haben. Das 
DEM640480ATMH-PW-N ist so eines, kann allerdings nur 256 Farben 
darstellen und geht nur runter bis -20°C.
Jetzt überlege ich, ob ich nicht gleich einen Prozessor mit integriertem 
TFT-Controller verwenden soll, wie der genannte STM32F429. An dieser 
Stelle sei auch der SAM9M10 von Atmel erwähnt. Den gibt's schon jetzt.
#3081510
Lesenswert?

@  Frank K. (fchk)

>> Stelle sei auch der SAM9M10 von Atmel erwähnt. Den gibt's schon jetzt.

>Kannst Du den denn löten, geschweige denn eine Leiterplatte dafür
>fertigen? Immerhin sind das 324 BGA Balls im 0.8mm Raster, und ich tippe
>mal darauf, dass Du minimal 8 Layer zum rausrouten brauchen wirst.

Sowas kauft man sinnvollerweise als fertiges Modul, auch als Bastler.
Gast #3081570
Lesenswert?

Frank K. schrieb:
> Kannst Du den denn löten, geschweige denn eine Leiterplatte dafür
> fertigen? Immerhin sind das 324 BGA Balls im 0.8mm Raster, und ich tippe
> mal darauf, dass Du minimal 8 Layer zum rausrouten brauchen wirst.
>
> fchk

Falk Brunner schrieb:
> Sowas kauft man sinnvollerweise als fertiges Modul, auch als Bastler.

So sehe ich das auch. Da wäre die CPLD-Lösung beherrschbarer.

Ich weiß ja nicht, was Du genau brauchst, welche Stückzahl, welche 
Leistung. Ich würde mir zunächst den µC aussuchen, der die Funktionen 
bietet, die ich brauche. Das TFT wäre dann das Anhängsel.
Den STM32 hatte ich genannt, weil er ein Wald+Wiesentyp zu werden 
scheint. NXP hat auch µCs mit inegriertem TFT-Controller.
Renesas wird hier nicht weiter beachtet, aber wenn Olaf mitlesen würde, 
könnte er Dir auch noch den SH7264 schmackhaft machen. Dieser hat schon 
1MB RAM auf dem Chip.
Gast #3081604
Lesenswert?

Gefühlt ist ein XC9572XL zu klein für diese Aufgabe.
Man braucht ja alleine schon 19 Flip-Flops um die Adresse im 
Grafikspeicher hochzuzählen. Dann nochmal 19 für die Position im Frame 
(außer man verschwendet RAM und benutzt die gleich als Adresse) und 
mindestens 18+19 für die Daten (=Pixelwert+Adresse) des Shiftregisters 
im SPI Teil. Soweit ich weiß ist beim XC9572XL jedem Pin ein Flip-Flop 
zugeordnet, d.h. Signale die sich kombinatorisch ergeben (H-Sync, 
V-Sync, Data Valid, Output Enable, Write Enable), fressen auch 
Flip-Flops.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren