mikrocontroller.net

Forum: Projekte & Code falsches TIMING ? LCD 320x240


Autor: Christian Zacherl (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

ich versuche ein LCD hitachi LMG7520 über eine digitalkarten mit
LabView anzusteuern. Leider zeigt das LCD nur Müll an. Anbei das Timing
was LabView ausgibt. Ich habe alles zwecks flanckensteuerung in ein
Packet mit 76800 zeiteinheiten gepackt. Dieses wir ca. 25 mal in der
sec ausgegben. (320x240=76800/4{bit}=19200x4{einheiten pro
Takt}=76800)

In den beiden Bilder ist das Timing ab Start zu sehen. Die Linien:
weiss=frame; rot=load(linecount); grün=cp(pixelcount);
blau,gelb,lila,braun=4bit Daten der Pixel.

Das Datenblatt zu dem Display gibt es unter
www.hitachi-displays-eu.com/

Danke für eine Hilfe,
Christian

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schieb

Dieses Unterforum ist - soweit ich das richtig verstanden hab - als
Sammlung von fertigem Code da. Einfach nochmal ins Forum "µC &
Elektronik" posten.

Zu der Frage :

Villeicht könntest du noch beschreiben (oder testen) inwiefern die
Daten falsch dargestellt werden (z.B. durch schwarze Zeilen anzeigen
und schauen, was passiert - Karomuster oder schräge Linien sind bei mir
sehr beliebt)

So wie ich das sehe werden die Pixeldaten an der fallenden Flanke von
CP übernommen und an der steigenden sind sie undefiniert - so wie ich
das auf deiner Skizze erkennen kann änderst du die Daten mit der
fallenden Flanke, w sie aber vom Display schon übernommen werden.
Anstiegs-und Abfalleffekte (am Signal) tun dann ihr übriges um die
Leitungen im schlechtesten Fall undefiniert zu lassen.

Im Datenblatt gibt es einen Widerspruch. Im Timing-Übersichtsdiagramm
wird LOAD auf die steigende Flanke des 240.CPs HIGh und fällt im
nächsten CP auch bei der steigenden CP-Flanke - im genaueren Timing
Diagramm darunter tritt selbiges bei der fallenden Flanke ein. Da
müsstest du beides mal ausprobieren.
Genauso bei FRAME. Im unteren Diagramm wird Frame in der Mitte von LOAD
(beim Wechsel von D0-3) HIGHund fällt beim nächsten D0-3 Wechsel wieder
ab. Schau dir das Diagramm generell nochmal an und probier's mal mit
dem Timing aber mit dem logischen Pulsablauf von oben.


Ich sehe folgende eindeutige Eckpunkte im Datenblatt :

- D0-D3 werden auf der fallenden Flanke von CP übernommen (bei deinem
  Timing nicht)
- FRAME wird in der ersten Zeile (und nur dort) angesprochen


Hoffe das hilft dir ein bisschen ...

Autor: Christian Zacherl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christoph,

danke erstmal. Ich denke eigentlich dass die d0-d3 impulse erst gesetzt
werden und dann kommt die h->l Flanke von cp.
Bei Load glaube ich spiel es ich keine rolle welches level cp,d0-d3
haben (nur der Abstand zu nächsten h-l Flanke sollte passen).

Nur wenn frame auf high ist und bei load(h->l)wir die erste Linie
erkannt.

Das display zeigt momentan ein flackern bzw. Wennn ich die impuls
ausgabe verlangsame ein alternierendes gelbes Aufleuchten der 50%
linken und 50% rechten hälfe (???). Manchmal werden es auch nur 25%
...

Noch Ideen ?

Danke,
Christian

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]
  • [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.