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?
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
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.
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, .....
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.
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
@ 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.
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.
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!);
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.