Forum: Mikrocontroller und Digitale Elektronik CMEL OLED Display funktioniert nicht


von Martin R. (solderwave)


Lesenswert?

Hallo,

ich versuche verzweifelt ein 2,8" CMEL Display (C0283) zum Laufen zu 
bringen. Inzwischen habe ich mich bezüglich Latein + Nerven weitgehend 
verausgabt, und hoffe deshalb auf eure Hilfe :-))

Also, das Display wird über 8 bit im 80er Format angesteuert (von einem 
ATmega 2560, Daten und Steuersignale über Portpins, die Daten gehen auf 
DB1..DB8). Zwischen uC und Display hängen 2 74LVC541, zur Pegelwandlung 
(der uC läuft mit 5V).

Das Display wird mit 3V versorgt (VCI, IOVCC). Über einen Längsregler 
werden +4,6V erzeugt, über einen Schaltregler -4,4V. Die Beschaltung des 
Displays entspricht exakt den Vorgaben aus der C0201-Series Appnote.


Das Problem: Dunkelheit nach der Initialisierung. Ich schaffe es nicht 
irgend ein Leuchten hervorzurufen, nachdem das Display aus dem Standby 
Modus geholt wurde.

Wenn AR_VDD / AR_VSS gleich nach dem Einschalten bereits anliegen, 
schaltet das Display alle Pixel ein, was ja wohl ok ist. Nach dem 
Standby Off Kommando werden alle Pixel schwarz, und bleiben das auch. 
Egal was ich ins GRAM schreibe.

Inzwischen bin ich mir eigentlich sicher dass die Hardware i.O. ist. Ich 
habe alle Pins des Steckers durchgemessen, keine schlechte Lötstelle, 
alle vom uC gesendeten Signale kommen an. Auch die Spannungen sind alle 
ok.

Die einzige Reaktion vom Display, außer dem Löschen der weißen Anzeige, 
ist das Aktivieren der intern erzeugten Spannungen nach Standby Off 
(gemessen z.B. an VGH/VGL). Deshalb denke ich die Kommunikation scheint 
ok zu sein.

Bezüglich des Bus-Timings sehe ich auch keine Probleme. Ich habe auch 
großzügig Wartezeit nach Power Up, nach dem Ende des Reset-Pulses, nach 
Standby Off und nach Display on (je 100-200msec).

Das Display ist neu (Farnell). Da die HW von Anfang an fehlerfrei war 
glaube ich nicht dass das Display durch eine falsche Beschaltung 
beschädigt sein kann.

Die Initialisierung mache ich wie in der AppNote angegeben:


Reset-Puls (10ms)

// 8 bit Mode setzen
Index_Out( 0x24 );

// CPU interface setzen
Index_Out( 0x02 );
Parameter_Out8( 0x00 );
Parameter_Out8( 0x00 );

// 262k Color setzen
Index_Out( 0x03 );
Parameter_Out8( 0x41 );
Parameter_Out8( 0x30 );

// Standby Off Kommando
Index_Out( 0x10 );  // VGH / VGL bauen sich auf
Parameter_Out8( 0x00 );
Parameter_Out8( 0x00 );

// Display on Kommando
Index_Out( 0x05 );  // keine erkennbare Wirkung
Parameter_Out8( 0x00 );
Parameter_Out8( 0x01 );


// GRAM Adresse setzen
Index_Out( 0x20 );    // H Adresse (verschiedene getestet)
Parameter_Out8( 0x00 );
Parameter_Out8( 0x10 );
Index_Out( 0x21 );    // V Adresse (verschiedene getestet)
Parameter_Out8( 0x00 );
Parameter_Out8( 0x10 );

// Daten in GRAM schreiben
Index_Out( 0x22 );
for ( i=0; i<0xffff; i++) {
   Parameter_Out8( i%0x100 );  // keine erkennbare Wirkung
   Parameter_Out8( 0x00 );
   Parameter_Out8( 0x00 );
}


Hat jemand eine Idee, warum das Teil nicht zum Leben zu erwecken ist?

Prima wäre auch wenn mir jemand eine sicher funktonierende Init-Sequenz 
schicken könnte!

vielen Dank!

Martin

von Benedikt K. (benedikt)


Lesenswert?

Martin R. wrote:

> Prima wäre auch wenn mir jemand eine sicher funktonierende Init-Sequenz
> schicken könnte!

Beitrag "Initialisierungsroutine für S6E63D6"

von Martin R. (solderwave)


Lesenswert?

Hi Benedikt,

man muss den Längsregler nur umgekehrt einlöten :-))
Natürlich wird der von der 5V versorgt.

Danke für den Link, werde ich mir mal vornehmen.

von Martin R. (solderwave)


Lesenswert?

Hm, mit der Sequenz im Link funktioniert es auch nicht. Rätselhaft.

von Dennis Schulz (Gast)


Lesenswert?

Hi,

also wenn deine Initialisierung erfolgreich war, wird Dein Display 
"Rauschen", also viele verschiedene Farben dürften zu sehen sein.

Da du aber nichtmal das hast, läufts wohl nicht :p

Vielleicht hast Du die falschen Datenbits addressiert?

Bei 8-Bit musst Du nämlich, DB1-8 (und nicht 0-7 wie man sich das wohl 
vorstellen würde) nehmen.

von Martin R. (solderwave)


Lesenswert?

Hallo Dennis,

gerade beim Tippen einer Antwort an dich kam mit dann doch die Idee 
nochmal GENAU die Beschreibung zu den einzelnen Pins durchzulesen.

Und siehe da: der Pin 19 hat im Datenblatt eine andere Bedeutung als in 
der Appnote wo die Schaltpläne drin sind! VGS ref level for greyscale 
voltage generation - Connect to gnd. In der Appnote ist das FLM vom 
RGB-Interface, und war somit bei mir NC.


Das Display ist anscheinend ein Teil von der Sorte "kaum macht man es 
richtig, schon funktioniert's "


Jetzt hab ich das Farbrauschen, und ein selbstgemaltes rotes Rechteck 
mittendrin. Schön sieht's aus :-))

viele Grüße
Martin

von Dennis Schulz (Gast)


Lesenswert?

Hah,

na immerhin, hats dochwas gebracht, freut mich für Dich!

Aber hey, wenn Du mit dem OLED experimentiertst, hab das selbe (von 
Farnell, btw. sehr, sehr teuer! (bei Glyn ist es deutlich günstiger!!)) 
wie hoch ist denn Deine Stromaufnahme?
Könntest du das mal bei einer Weissen Fläche (alle pixel weiss) testen?

Wäre sehr nett, wenn nicht, kein Thema!

Ist auf jeden Fall ein tolles Teil!



mfg

Dennis

von Martin R. (solderwave)


Lesenswert?

Hi Dennis,

alle Pixel weiß brauchen bei mir im Testaufbau ca. 600mA. Wobei das die 
Summe ist aus dem Strom in AR_VDD, und dem Eingangsstrom des 12V/-4,4V 
Wandlers der AR_VSS erzeugt. Und den paar mA für die Logikversorgung. 
Abgelesen am 12V Netzgerät (aus der 12V werden im Versuchsaufbau 5V mit 
Längsregler erzeugt, daraus AR_VDD)

Wobei der Strom nur bei 100% Weiß so hoch wird. Bei 25% des max. 
Pixelwerts sind es nur ca. 70mA. Das 25% Weiß wirkt aber deutlich 
dunkler als man im Vergleich zur 100% Helligkeit erwartet. Stark 
nichtlinear also, die Default-Gammakurve.

Übrigens fällt auf dass eine dunkle Fläche ein recht deutliches Rauschen 
zeigt. Eine graue Fläche hat einen Farbstich (rötlich). Muss mir also 
doch mal das Gamma-Zeug anschauen ob man damit einen Weißabgleich machen 
kann.

Die Hauptanwendung wird in der Darstellung eines monochromen Bildes von 
einem CCD Chip bestehen, ergänzt mit ein paar darüber gelegten farbigen 
Textausgaben, Linien etc. Im Prinzip baue ich eine Digitalkamera, aber 
mit ein paar Besonderheiten :-))

Gruß
Martin

von Johannes G. (johannesbcn1)


Lesenswert?

Hallo zusammen,

spiele mich zurzeit auch mit diesem Display, jedoch hab ich mit der 
C-programmierung noch meine Probleme. Zum leuchten habs ich schon 
gebracht und ein Farbrauschen hab ich auch schon wargenommen. ;-) Jetzt 
will ich aber mal was am Display ausgeben. Betreibe das Display wie 
Martin im 8Bit / 80er Format Modus.


Kann mir jemand von euch evtl. ein paar simple Softwarebeispiele 
schicken. Wär echt hilfreich für mich.

Vielen Dank und frohe Ostern

Hannes

von hippo (Gast)


Lesenswert?

Ich bin auch gerade daran es zum laufen zu bringen. wie wäre es wenn du 
das was du bis jetzt hast mal postest.

von Steffen (Gast)


Lesenswert?

bei Farnel kostet das 2,8" Display 87,30 EUR ?  Da bekommt man ja bei 
Glyn schon fast das 4,3" AMOLED. ( etwa 90,00 EUR )
Das ist ja mal ein sehr deftiger Preis für das Teil.

von hippo (Gast)


Lesenswert?


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.