mikrocontroller.net

Forum: FPGA, VHDL & Co. 8ms pause in CPLD


Autor: nano (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
brauchst Du nicht evt an anderer Stelle einen heruntergeteilten Takt? 
Kannst Du den nicht verwenden?

Autor: Iulius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Fpga Kuechle (fpgakuechle) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael Sauron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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_conten...

Autor: nano (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.