Forum: Mikrocontroller und Digitale Elektronik EA DOGM162L-A Initialisierung


von Michael Sonst (Gast)


Lesenswert?

Hi,
habe mir die halbe Nacht wegen dem Display um die Ohren geschlagen. 
Finde leider keinen Fehler. Wäre nett, wenn mal jemand einen Blick auf 
meine Initsequenz werfen könnte.
1
spi_write: 0x0039
2
spi_write: 0x0014
3
spi_write: 0x0055
4
spi_write: 0x006D
5
spi_write: 0x0078
6
spi_write: 0x000F
7
spi_write: 0x0001
8
spi_write: 0x0006

Die SPI arbeitet mit 125kHz.
Angeschlossen ist das Display für 3,3V SPI wie in dem beigelegten Zettel 
beschrieben:
RW und EN auf 3,3V
21-22 1uF
25-24 2,2uF

Die Signale kommen am Display an, 3,3V hat es auch, am Boost Ausgang 
messe ich 6V. Beim Senden der Initsequenz ist RS auf Low, bei Data auf 
High. Nach jedem Kommando warte ich 2ms.

Wenn ich das richtig verstehe, müsste ich nach der Initialisierung einen 
Cursor auf dem Display sehen, oder?

Grüße
Michael

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die lästigen, penibel einzuhaltenden Mindestpausen zwischen den 
einzelnen Kommandos wie bei 4/8-Bit Ansteuerung braucht man bei 
SPI-Ansteuerung keine?

von Spess53 (Gast)


Lesenswert?

Hi

Lt. Datenblatt fehlt ein Befehl:

$39,$14,$55,$6D,$78,$38,$0F,$01,$06
                    ^^^

MfG Spess

von Michael Sonst (Gast)


Lesenswert?

Hallo Spess,
aus welchem Datenblatt kommt das denn? Habe nur diesen Handzettel, der 
dabei war. Mehr finde ich im Netz auch nicht, außer dem DS für den 
ST7036, in dem aber auf SPI nur rel wenig eingegangen wird.

Hatte eben (ohne 0x38) zumindest mal was auf dem Display stehen. Wenn 
ich jetzt am Boost Ausgang messe, messi ich 3,3V. Jetzt gehts allerdings 
auch wieder nichtmehr.. sehr suspekt. Sieht aus, als ob der Chip in 
manchen Fällen den Boost Konverter nicht einschaltet..

Grüße Michael

von Ronald R. (Gast)


Lesenswert?

Hier gibt es eine schöne Library dafür:

http://www.mculabs.com/drivers/eadogm.html

von Michael Sonst (Gast)


Lesenswert?

Ronald R. schrieb:
> Hier gibt es eine schöne Library dafür:
>
> http://www.mculabs.com/drivers/eadogm.html

"Leider" arbeite ich unter einem AVR32 da ist das mit den Ports ein 
bisschen anders. Man kommt wohl nicht drum rum ein eigenes Modul zu 
schreiben.

Grüße
Michael

von Ronald R. (Gast)


Lesenswert?

Michael Sonst schrieb:
> "Leider" arbeite ich unter einem AVR32 da ist das mit den Ports ein
> bisschen anders. Man kommt wohl nicht drum rum ein eigenes Modul zu
> schreiben.

Macht doch nichts :-) Die Initialisierungssequenz z.B. kannst Du schon 
mal vergleichen, siehe "void eaDogM_Initialize(void)".

von Michael Sonst (Gast)


Lesenswert?

Ronald R. schrieb:
> Michael Sonst schrieb:
>> "Leider" arbeite ich unter einem AVR32 da ist das mit den Ports ein
>> bisschen anders. Man kommt wohl nicht drum rum ein eigenes Modul zu
>> schreiben.
>
> Macht doch nichts :-) Die Initialisierungssequenz z.B. kannst Du schon
> mal vergleichen, siehe "void eaDogM_Initialize(void)".

Ach so, dachte du willst mir sagen nimm die Lib ;-)
.. nichts für ungut.

In der Lib wird EN bei jedem CMD auf Low gezogen dann gleich wieder High 
gesetzt. Lt diesem Zettel reicht eine direkte Verbindung mit 3,3V. Hat 
da jemand Erfahrungen?

Die Sache mit dem Boost lässt mir keine Ruhe, benötigt das Display als 
Kondensatoren was bestimmtes? Low ESR o.ä.?

Grüße

von Spess53 (Gast)


Lesenswert?

Hi

>aus welchem Datenblatt kommt das denn?

Aus diesem:

http://www.lcd-module.de/deu/pdf/doma/dog-m.pdf

>Mehr finde ich im Netz auch nicht, außer dem DS für den
>ST7036, in dem aber auf SPI nur rel wenig eingegangen wird.

Im Prinzip ist ist es auch egal, wie die Befehle in den Controller 
kommen.
Es müssen nur die richtigen sein. Die Sequenz aus dem obigen Datenblatt 
für 3,3V habe ich nicht getestet. Nur die für 5V. Und die passt. Evtl. 
etwas mit dem Kontrast spielen.
SPI ist von der Geschwidigkeit unkritisch. Du musst nur sicherstellen, 
das die Registerumschaltung wirklich erst nach dem kompletten Senden des 
Bytes erfolgt.

>Nach jedem Kommando warte ich 2ms.

Eigentlich nur nach Clear und Home notwendig.

MfG Spess

von Spess53 (Gast)


Lesenswert?

Hi

>Die Sache mit dem Boost lässt mir keine Ruhe, benötigt das Display als
>Kondensatoren was bestimmtes? Low ESR o.ä.?

Es reichen 1µ Keramik-Cs.

MfG Spess

von Michael Sonst (Gast)


Lesenswert?

> Aus diesem:
>
> http://www.lcd-module.de/deu/pdf/doma/dog-m.pdf
>

Die sind lustig, die Zeile fehlt in dem mitgeschickten Dokument!

Grüße

von Spess53 (Gast)


Lesenswert?

Hi

>Die sind lustig, die Zeile fehlt in dem mitgeschickten Dokument!

Die Reihenfolge ist auch nicht zwingend. Das Beispiel im Datenblatt vom 
ST7036 sieht auch ganz anders aus.

MfG Spess

von Michael Sonst (Gast)


Lesenswert?

Habe momentan leider nur Elkos zur Hand. Glaubst du das Problem könnte 
daher kommen? Boost Spannung ist unverändert auf ca 3V. Heute morgen 
nach dem Einschalten waren es 6V!

Grüße

von Simon K. (simon) Benutzerseite


Lesenswert?

3V klingt jetzt auf den ersten Blick etwas wenig. Wo misst du denn?

von Michael Sonst (Gast)


Lesenswert?

Oszi :-)
Multimeter schreit gerade nach einer neuen Batterie..

Grüße

von Simon K. (simon) Benutzerseite


Lesenswert?

Ich fragte "wo". Und jetzt sage nicht "Zuhause" ;-)

An welchen Pins?

von Michael Sonst (Gast)


Lesenswert?

Im Kino :-P

Spass beiseite hab mich verlesen... am VOUT (Pin 24)

Grüße

von Michael Sonst (Gast)


Lesenswert?

Akttueller Stand ist:
Ich lasse die Initroutine in einer Schleife durchlaufen. Irgendwann 
springt die VOUT Spannung auf ca 6V. Ein Cursor wird angezeigt, der bei 
erneutem ausführen von Init ein Stück weiter wandert.

Kann sich jemand einen Reim drauf machen? Habe schonmal nachgesehen, 
Bias set hat die die gleiche Struktur vom Kommando her. Evtl wird das 
falsch interpretiert?! Befinde mich dann ja in IT00.

Grüße

von Spess53 (Gast)


Lesenswert?

Hi

Im Datenblatt vom ST7036 ist bei der 'seriellen' Initialisierung nach 
'Follower control' eine Pause von 200ms. Solltest du mal testen.

MfG Spess

von Michael Sonst (Gast)


Lesenswert?

Habs schlussendlich doch noch hin bekommen...

Hätte ich nicht vor 2Tagen meinen zweiten Tastkopf abgebrochen, wäre mir 
wohl aufgefallen, dass der Wechsel der Daten bei der Steigenden Flanke 
passiert...

Naja neuer Prozessor neues Glück. Das Framework zum AVR32 ist nicht 
sonderlich durchsichtig bei manchen Parametern ;-)

Danke für eure Hilfe
Michael

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
Noch kein Account? Hier anmelden.