Forum: Mikrocontroller und Digitale Elektronik Ansteuerung eines TFT mit einem CPLD XC9572XL


von M. H. (doktorgnadenlos)


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?

von M. N. (Gast)


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

von M. H. (doktorgnadenlos)


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.

von M. N. (Gast)


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, .....

von M. H. (doktorgnadenlos)


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.

von Frank K. (fchk)


Lesenswert?

M. H. schrieb:

> An dieser
> 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.

fchk

von Falk B. (falk)


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.

von M. N. (Gast)


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.

von vampire (Gast)


Lesenswert?

M. H. schrieb:
> An dieser
> Stelle sei auch der SAM9M10 von Atmel erwähnt. Den gibt's schon jetzt.

.. und Open1788 von Waveshare mit LPC(wenn man Pinsel erstmal intus 
hat!);

von denial (Gast)


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.

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.