Hallo alle zusammen, ich habe eine Frage zur Anteuerung eines LCD Displays mit einem Sitronix ST7561 Chip über einen SPI Bus. Die Daten werden hierbei derzeit über ein C# Programm in dezimaler Schreibweise eingegeben und über einen BF548 an das Display gesendet. Eine erste Ansteuerung des Displays funktioniert bereits (Ein- /Ausschalten des Displays, Einstellen der Frequenz, Art des Bildaufbaus,...) Jedoch bekomme ich keinen definierten Punkte geschaltet (Zeilen, Spalten, Grafiken) Kennst sich jemand mit der Ansteuerung eines solchen Displays aus? Kann mir ggf. jemand einen Initialisierungssequenz / Befehlskette zukommen lassen? Vielen Dank schon mal für Eure mühen René
René wrote: > Kennst sich jemand mit der Ansteuerung eines solchen Displays aus? Ja, hab ich schon mit allen möglichen Features gemacht. > Kann mir ggf. jemand einen Initialisierungssequenz / Befehlskette > zukommen lassen? Darf ich leider nicht, aber poste mal deinen Code, dann kann ich mal vergleichen. Wenn du das Display ansonsten aber schon initialisiert hast, dann sollte das Schreiben der Displaydaten eigentlich das einfachste sein.
Hmmm einen Code kann ich Dir leider nicht schicken, da ich selber keinen habe. Ich habe lediglich ein Programm zur Verfügung gestellt bekommen, welches meine Eingaben an den SPI Bus weitergibt. Du kannst Dir das so vorstellen, dass ich zwei Eingabefelder habe (Adresse und Datenwort) in welche ich die Daten manuell eingeben muss. Adresse 1 = A0 H-Pegel (Display Data or Command Parameter) Adresse 3 = A0 L-Pegel (Control Data) In dem Feld Datenwort gebe ich denn eine Zahl von 0 - 255 ein, welche dann von dem Programm in ein binäres Signal umgewandelt wird und über den BUS zum Display befördert wird. Zum Glück ist es mir auch möglich mehrere Werte getrennt über ein Komma einzugeben, sodass ich nicht alles wiederholen muss... Heißt wenn ich mir folgende Daten aus dem Handbuch hole und die dezimalen Werte eingebe, so beginnt das Display zu flimmern. Funktion 18 - Built in Oscillator On/Off A0 D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 1 0 1 0 1 1 = 171 Funktion 1 - Display On/Off A0 D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 1 0 1 1 1 1 = 175 Funktion 3 - Display all ligthning On/Off A0 D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 1 0 0 1 0 1 = 165 Dieses flimmern (meiner Ansicht nach die Bildwiederholfrequenz) lässt sich denn wiederum einstellen indem ich die Frequenz ändere (Funktion 19). Dass ist quasi mein Problem, ich müsste also "nur" wissen, welche Funktionen ich aneinandersetzen muss, sodass ich eine Ausgabe auf dem Display bekomme. (Es reicht ja schon wenn es nur ein steuerbarer Pixel ist...) Wenn dass denn geschafft ist, soll wohl das ganze erst in die Software eingebunden werden... Greeetz René
Zeilenadresse setzen: A0 D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 1 1 0 0 0 1 1 Zeilennummer Spaltenadresse setzen: A0 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 0 0 1 1 1 Spaltennummer MSB 1 Spaltennummer LSB Daten schreiben: A0 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 1 1 0 1 1 Bilddaten: Immer 8 untereinander liegende Pixel pro Byte.
Hey, das ganze bringt leider keinen Erfolg... Hab das ganze mal auf drei Arten Versucht. 1) Ich habe das Display wie im ersten Post beschrieben eingeschaltet, sodass sich das "flimmern" zeigt. Wenn ich nun hier die Daten eingebe sehe ich keine Veränderung 2) Display eingeschaltet wie oben beschrieben, Bildwiederholfrequenz geändert auf 200Hz sodass das Bild steht, Daten eingegeben --> o.E. 3) MTP OPERATION: LOAD MTP CONTENTS ausgeführt (wie auf Seite 35 im Manual beschrieben), Display eingeschaltet wie oben beschrieben, Bildwiederholfrequenz geändert auf 200Hz sodass das Bild steht, Daten eingegeben --> o.E. Die einzige Veränderung welche ich nach dem ausführen des Befehls LOAD MTP CONTENTS feststellen kann ist, dass das Display komplett hell oder dunkel wird wenn ich die Display lights ein- /ausschalte. Wenn ich diesen Befehl weglasse, dann ist bei Display lights on ein komplett helles Display zu sehen und bei Display lights off wechseln sich helle und dunkle streifen ab. Hab ich noch irgendwas vergessen? Irgendeine Initialisierung oder so? In der angehängten Textdatei habe ich die kompletten Befehle, welche ich eingegeben habe. Greetz René
René wrote: > 1) > Ich habe das Display wie im ersten Post beschrieben eingeschaltet, > sodass sich das "flimmern" zeigt. > Wenn ich nun hier die Daten eingebe sehe ich keine Veränderung Das ist auch falsch: Funktion 3 - Display all ligthning On/Off schaltet alle Pixel auf 1. Das darfst du nicht machen. > MTP OPERATION: LOAD MTP CONTENTS ausgeführt (wie auf Seite 35 im Manual > beschrieben), Das würde ich erstmal weglassen. Da steckt mehr dahinter als im Datenblatt steht.
OK, dass machst sinn dass ich nix sehen kann wenn alle Pixel auf 1 geschaltet sind. Allerdings kann ich auch nix erkennen wenn ich dies weglasse. Ich erhalte immer das selbe Bild, ein schwarzer Flimmerndern Balken auf dem Display, als wäre die Bildqiederholfrequenz zu langsam. Wenn ich diese dann hochsetze, erhalte ich ein Bild in welchem sich helle und dunkle linien abwechseln...
Hmmm hab mich gestern nochmal durch das Datenblatt gelesen und wenn ich das richtige sehe hab ich das Display noch gar nicht initialisiert... Kannst mir das jemand bestätigen?
René wrote: > Hmmm hab mich gestern nochmal durch das Datenblatt gelesen und wenn ich > das richtige sehe hab ich das Display noch gar nicht initialisiert... Jain. Die Befehle die du sendest sind im Prinzip die Initialisierung. Allerdings initialisierst du nur das notwendigste, was meist auch reicht, da eigentlich alle Register beim Einschalten bzw. während die Reset Leitung low ist, auf den Standardwert gesetzt. Nur ein paar Sachen muss man auf die richtigen Werte setzen. Wenn du es ordentlich machen willst, musst so so vorgehen wie unter 6.3 Instruction Setup (Reference). Für den Anfang sollte aber auch das hier ausreichen: Zusätzlich zu deiner Variante 2 (mit korrigiertem Display all ligthning On/Off) solltest du noch (15) Number of Display Lines Set, (20) Power control Set und (21) LCD Bias Set ausführen. Die genauen Werte hängen vom verwendeten Display ab.
Guten morgen, also das Instruction Setup (Reference) habe ich mir gerstern auch schon mal rausgeschrieben und die ersten Versuche damit gestartet. Ebenfalls bin ich gerade mit deinem Ansatz am arbeiten. Mal ganz davon abgesehen, dass ich mittlerweile auch mal den Displayherstellen kontaktiert habe um mehr informationen über dieses Display zu erhalten... Ich werde mich jetzt erst mal wieder an die Arbeite machen und mich zu einem späteren Zeitpunkt noch mal melden. Danke Dir aber schon einmal für die Hilfe Greeetz René
René wrote: > Mal ganz davon abgesehen, dass ich mittlerweile auch mal den > Displayherstellen kontaktiert habe um mehr informationen über dieses > Display zu erhalten... Das wird nicht einfach. Ich musste dies zum Glück selbst nicht machen, aber dem nach was ich so mitbekommen habe, war das ziemlich nervig. Erst nach den 5. oder 10. Email hat Sitronix ein eindeutig messbares Verhalten dann bestätigt, das dem Datenblatt widerspricht. Vorher kamen nur Standardantworten. Also bloß nicht abwimmeln lassen und immer wieder nachfragen wenn die Antworten nicht eindeutig sind. Das Problem bei denen scheint zu sein, dass die Entwickler kein Wort Englisch können, und der Service nicht viel Ahnung von den Details hat.
Sagen wir es mal so... Der Controller ist von Sitronix, das Display von wem anders... Von daher bin ich grad sehr zuversichtlich dass mich der Displayhersteller auch unterstützt... Wer weiß, ich werde es herausfinden...
Jaja kurzer Zwischenstand nach einer Woche krankheitsbedingten ausfalls... Wie du vorhersagtest... bis jetzt keine Rückmeldung vom Diplayhersteller :-(
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.