Hallo zusammen! Ich versuche zur Zeit ein wenig die Ansteuerung eines kleinen 640x480 TFTs zu lernen. Dazu möchte ich ein kleines XC95144XL CPLD von Xilinx (Pollin Board) verwenden. Zum Anfang sollen einfache Farbbalken dargestellt werden. Nun habe ich im Datenblatt des Displays gelesen, dass zwischen Powerup und anlegen von beliebigen Signalen min. 8ms verstreichen müssen. Wie macht man sowas möglichst elegant? Bei einem Systemtakt von ca. 32MHz bräuchte ich mit einem Teiler ca. 18 Stufen um auf die 8ms zu kommen und das wäre ja sehr Resourcen-fressend. Oder nimmt man da ein externes RC-Glied? Danke schon mal für die Hilfe!
brauchst Du nicht evt an anderer Stelle einen heruntergeteilten Takt? Kannst Du den nicht verwenden?
Ein paar Möglichkeiten. a) 18 FF verbraten b) wenn du ohnehin die rs232 nutzt kannst du darüber den "Startschuss empfangen" (falls nicht ist der Aufwand zu groß) c) wenn du den sram schon nutzt kannst du dort "zählen" (falls nicht ist der Aufwand zu groß), Stichwort busy beaver : wenig Zustände, lange Laufzeit bis zum Haltepunkt.
Ich würde diese Forderung einfach ignorieren, oder ich würde es über einen Trick machen: Da du sowieso einen Zähler eingebaut hast, nämlich den für die Zeilen/Spalten, kannst du diesen missbrauchen indem du einfach Frames zählt. Bei rund 60Hz entspricht 1 Frame 16,7ms. Du müsstest also nur die Ausgangsignale erst nach einem Frame freischalten, was ohne großen Aufwand machbar sein sollte. Ähnlich machen es auch manche LCD Controller.
Kenn das Problem, hab deshalb den Takt aufs Minimale runtergesetzt, da brauchst weniger FF für nen Teiler. RC ist ne gute Idee, VSYNCS (frames) zählen ebenfalls.
Ich glaube nicht, das du mit einem CPLD da sehr weit kommst. Wahrscheinlich ist dein CPLD nach den Farbbalken ausgereizt. Wieso nimmst du keinen FPGA ? Hier noch ein link, der vielleicht interessant ist: http://www.pcb-dev.com/index.php?option=com_content&task=view&id=16&Itemid=57
Ja, für was komplexeres würde ich schon einen fpga nehmen, aber das cpld-Board war so schön günstig und für den Anfang kann man ja schon recht viel damit ausprobieren. Hab' vorher noch nix mit programmierbarer logik gemacht. Vielen Dank für die Tipps.
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.