Forum: Mikrocontroller und Digitale Elektronik Initialisierungsroutine für S6E63D6


von Robin W. (Gast)


Lesenswert?

Hallo zusammen,

ich spiele gerade mit einem OLED mit S6E63D6-Controller herum.
Das gute Stück soll im RGB-Modus laufen, nur leider scheint entweder
das Timing durch meinen LCD-Controller in die Hose zu gehen oder
ich hab den S6E63D6 falsch initialisiert - bekomme nur buntes
Rauschen auf dem Display.

Schreiben des GRAM per SPI funktioniert allerdings - ist aber nicht
das was ich will. :)

Hat von euch vll. jemand Beispielcode für die Initialisierung des
S6E63D6? Dann könnte ich da vll. schonmal eine Fehlerquelle 
ausschliessen.

Wäre echt klasse wenn sich jemand finden würde (hier im Forum gabs ja
schon den einen oder anderen Erfolgsbericht zu dem Controller).

Grüße und schonmal dankeschön.

rw

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Ich denke das dürfte genau das sein, was du suchst.

von Robin W. (Gast)


Lesenswert?

Hi,

danke für die Routine und sorry für die späte Antwort.

Hast du das Display mal im RGB-Modus ausprobiert? Hier läuft das
weder mit meiner noch mit deiner Initialisierung (die beiden Varianten
waren ohnehin fast gleich). Der will einfach die Daten nicht ins GRAM
übernehmen und ich verstehe nicht wieso.

Gruß,
rw

von Robin W. (Gast)


Lesenswert?

Fehler entdeckt und behoben - danke für die Hilfe.

Gruß,
rw

von Thomas Elste (Gast)


Lesenswert?

Hi,

woran lags denn? Hab hier ein ähnliches Problem mit diesem 
Display-Controller und bin beim Suchen über diesen Thread gestolpert. 
Meine Initialisierung erfolgt ähnlich wie in dem Beispielcode und ich 
kann danach auch per SPI auf den GRAM zugreifen. Das RGB-Interface will 
aber partout nicht anlaufen. Ich bekomme lediglich Pixelschnee 
angezeigt. Hsync, Vsync und Daten liegen imho korrekt an.


Gruß
Thomas

von Petr Cernin (Gast)


Lesenswert?

Hello,

It seems I have the same problem as you. I can write to GRAM through SPI 
interface but the GRAM is not updated through RGB interface anyway. I 
think that signals on RGB interface (HSYNC, VSYNC, VCLK and LCDOE) are 
ok according to driver datasheet and the initialization routine is 
nearly same. I am looking for any hint. What was the bug you have found 
in your design/code ?

Thanks

von Christian W. (Gast)


Lesenswert?

Hallo,
ich habe Probleme mittels SPI das GRAM zu beschreiben. Das Display 
bleibt dunkel und ein Auslesen das GRAM bringt auch keine Werte. 
Koenntet Ihr mir Euren SPI Code schicken? Das waere super. Bin schon 
reichlich frustiert. Mein Stand: Auslesen des Status und der Register 
funktioniert. Ist der Inhalt des Status irgendwo erklaert? Und wofuer 
benoetigt man die Datenleitung FLM? Vielen Dank im voraus.

Gruss,
Christian

PS: Meine Dokumentation ist das Datenblatt S6E63D6 Rev. 1.10 sowie 
Densitron/ChiMei Application Note V1.0

von Robin W. (Gast)


Lesenswert?

Hi,

es ist wichtig dass man als letzte Aktion über SPI das Indexregister auf 
22h oder 23h (je nach Bitbreite - IIRC) stellt. Das sind die 
"Eintrittsregister" für den GRAM.

Gruß,
rw

von Robin W. (Gast)


Lesenswert?

Hi,

Berichtigung: 0x22 ins Indexregister und gut.

rw

von Tobias (Gast)


Lesenswert?

Hallo,

ich versuche gerade das C0201QILK-C OLED mit dem gleichen Controller an 
einem LPC2368 zum Laufen zu bringen. Leider bleibt mein Display schon 
seit zwei Tagen schwarz. Ich bin langsam echt am verzweifeln und bin 
jetzt glücklicherweise über diesen Thread gestolpert. Meine 
Initialisierung sieht im Prinzip genauso aus, wie die hier beschriebene. 
Kann mir vielleicht jemand sagen wie Eure
1
oled_write_index()
 bzw.
1
oled_write_data()
 aussehen ? Vielleicht hilft mir das ja weiter.

Viele Grüße,

Tobias

von Tobias (Gast)


Lesenswert?

Kann mir wirklich niemand helfen ?

von J.H. (Gast)


Lesenswert?

Poste doch deine mal. Und dann wird man weiter sehen.

von Gast (Gast)


Lesenswert?

Hallo, ich habe gerade auch ein Problem mit einem OLED Display. Und zwar 
möchte ich das Display Über die parallele Schnittstelle konfigurieren. 
Das funtktioniert auch soweit. Aber leider komme ich nicht in den RGB 
Modus. Hat mir evtl jemand einen Tipp, wie das geht? Danke schonmal.

Gruß Tim

von Jonas (Gast)


Lesenswert?

Zeig mal deine "basisroutinen" her. Du meinst in den Grafik Modus um 
GRAM Daten zu schrieben.

von Gast (Gast)


Lesenswert?

Ich möchte in den RGB Modus um das Display mit Hsync, Vsync und Pclk zu 
schreiben. Hier ist meine Initialisierungsroutine:

   S6E63D6_RESET(1);
   mdelay(20);
   S6E63D6_RESET(0);
   mdelay(40);
   S6E63D6_RESET(1);
   mdelay(20);


   s6e63d6_index_out(0x24);

   s6e63d6_index_out(0x02);
   s6e63d6_parameter_out(0x0000);

   s6e63d6_index_out(0x03);
   s6e63d6_parameter_out(0x6130);

   s6e63d6_index_out(0x10);
   s6e63d6_parameter_out(0x0000);

   //s6e63d6_index_out(0x05);
   //s6e63d6_parameter_out(0x0001);

   s6e63d6_index_out(0x22);

   for(i=0; i<320*240; i++)
   {
      s6e63d6_data_out(0x00);
      s6e63d6_data_out(0x00);
      s6e63d6_data_out(0xff);
   }

   s6e63d6_index_out(0x05);
   s6e63d6_parameter_out(0x0001);

   S6E63D6_ENABLE(1);

   //Bis hier geht es. Dann ist das Display komplett blau.

   mdelay(100);

   s6e63d6_index_out(0x02);
   s6e63d6_parameter_out(0x01A0);  //In den RGB Modus schalten

Danke schonmal für die Hilfe.
Gruß Tim

von manu (Gast)


Lesenswert?

Hallo,

ich habe auch Probleme mit der initialisierung.
habe darum mal deinen Source - Code soweit übernommen mit dem Resultat, 
dass das Display nicht mal blau wird.
irgendwie reagiert das OLED nicht...

könnt ihr mir eventuell weiterhelfen? was muss man noch in den 
Funktionen _index_out(...) und _parameter_out(..) beachten? Oder hat 
jemand ein fertig funktionierendes Beispiel?

vielen Dank
mfg manu

von Clemens M. (marauder84)


Lesenswert?

Hallo,

ich versuche ein AMOLED über den parallelen bus im 16bit Modus 
anzusteuern.
Leider komme ich bei der Initialisierung nicht klar. Ich habe keine 
Ahnung wie ich die Kontrollregister aus dem Datenblatt ansteuern soll.

Ich weiß, dass wenn ich in das Register schreiben will muss W/R=0 RS=0 
RDB/E=1 RES=0 sein, aber wie addressiere ich die Register in die ich 
schreiben will.

Für Denkanstöße und Tipps wäre ich dankbar.

von Clemens M. (marauder84)


Lesenswert?

Bis jetzt bin ich an der Stelle:

   void write_ind(int index)
   {
    P8OUT  |=0x02;    /*W/R=0, RS=0, RDB=1, Res=0*/
    Register=index;   /*Register auswählen*/
   }

Aber ich habe keine Ahnung wie ich das Register ansteuern soll. Bin 
Neuling auf dem Gebiet, bitte um Hilfe, Dringend!!!

Grüße Clemens

von TJ (Gast)


Lesenswert?

Hallo,

ich habe hier ebenfalls ein C0201QILK-C OLED mit dem S6E63D6. Leider 
habe ich null Treiber für SPI gefunden oder bekommen. Ich tue mich im 
Moment schwer den Treiber dafür zu schreiben.

Kann sich jemand bereit erklären und seinen Treiber mal hochladen? Das 
wäre echt super!

Grüße
Thomas

von Ivan D. (delirium)


Lesenswert?

Hallo!
ich habe die problem mit dem S6E63D6 RGB-interface: die Illustration 
widerspiegeln sich nicht vollständig. SPI arbeite gut.
Woran liegt es?

Danke schonmal. Entschuldigung meine deutch.

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.