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é
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
:-(