Forum: Mikrocontroller und Digitale Elektronik OLED mit SSD1305 stürzt ab


von Wolfgang E. (wespezial)


Lesenswert?

Hallo und "Guten Tag" so in die Runde...

Bin neu hier, aber das soll nicht das Problem sein.
Folgendes:
Bei meinem OLED RGS27128064YW000 von RITdisplay, Controller SSD1305, 
fliegt bei ESD Entladungen ein Teil der Controller Infos raus. Das sieht 
dann so aus, dass entweder ein Teil der Displayinformationen anders 
dargestellt werden, ein Teil ganz verschwindet, ein anderer Font kommt, 
scheinbar die ganze Information auf einen Strich zusammengeschoben wird, 
der dann allerdings ganz schön hell leuchtet, usw. Mein Hauptcontroller, 
der das ganze ansteuert führt seine Aufgaben jedoch weiterhin tadellos 
fort.
Jedenfalls muß der SSD1305 dann resetted und neu initialisiert werden, 
dann ist eine neue ordentliche Anzeige wieder möglich. Habe schon 
einiges ausprobiert, Schirmung kapazitiv Erden usw. aber hat alles nix 
getaugt.
Hat einer von Euch eine Ahnung mit was das zusammenhängt? Bei LCD's 
jedenfalls macht die gleiche Entladung nichts aus.

Freundlicher Gruß an alle...

Wolfgang

von Otto (Gast)


Lesenswert?

Hallo Wolfgang,

ich habe einige 128x64 Monochromdisplay Typ RGS24128064YW001 von 
RitDisplay mit SSD1303 Controller in Verwendung. Ich denke, dass Dein 
ESD-Problem mit der Beschaltung der Daten- und Steuerleitungen 
zusammenhängt.

Wie hast Du diese terminiert?

Gruss Otto

von Wolfgang E. (wespezial)


Lesenswert?

Hallo Otto,

Nett, dass Du schreibst!
Also ich geb's ja zu, dass das Ganze etwas blauäugig klingt, aber da ich 
nichts im Datasheet gefunden habe, ist da auch in der Schaltung nichts 
dran.
Betrieben wird das Ding seriell über SPI, VCC = 15V, Vdd = 3,3V.
Vcc, Vdd, Vcomh und Iref sind wie im Datenblatt beschrieben verschaltet 
und gepuffert.
D3 - D7 auf Low,
D2 n.c.,
D1 als SDIN (direkt auf µC),
D0 als SCLK (direkt auf µC),
E und R/W# auf Low,
D/C# direkt auf µC,
/RES mit 47k auf 3,3V, gepuffert mit 10n,
CS, BS1 und BS2 auf Low.
Hast Du das ausprobiert oder gibt's in Deinem Datenblatt einen 
(dezenten?) Hinweis? Oder war ich beim Lesen zu BLIND??? Jedenfalls habe 
ich nichts gesehen...

Gruss

Wolfgang

von Otto (Gast)


Lesenswert?

Hallo Wolfgang,

ausprobiert trifft es nicht ganz - vielmehr ergab sich diese Erkenntnis:

Um das OLED zu inbetriebzunehmen, wurde der Controller anfangs mit 3,3V

betrieben.

Daher waren alle Leitungen (auch Reset) direkt an Portpins 
angeschlossen, um variabel

zu bleiben.

Ich verwende den parallelen Modus, da die Übertragung über SPI zu 
langsam war.

Die 8-Bit des Ports arbeiten als Datenbus und sind zusätzlich zum OLED 
noch an weitere ICs sowie eine Tastatur angeschlossen.

Hier hatte ich ähnliche Effekte wie von Dir beschrieben - nicht nur ESD 
sondern bereits das Annähern mit einer Meßspitze führte teilweise zu 
ungewollten Effekten.

Da das OLED in der Applikation  in Verbindung mit anderen ICs arbeitet,
welche mit 5V betrieben werden, wurden alle Leitungen über 
Spannungsteiler
(4k7 zu 10k) angeschlossen. Damit waren die Probleme behoben.

Gruss Otto

von Wolfgang E. (wespezial)


Lesenswert?

Hallo,

Da hast Du's natürlich gut getroffen...
Dass mit einem Parallelabschlußwiderstand von 3,19 k alles klar ist, ist 
leider bei mir nicht der Fall.
Ich muß mal nachlesen, wie es mit der Serienterminierung ausschaut. Da 
müßte man die Platine halt aufkratzen, ist aber nicht so tragisch.
Eine andere Frage wäre der CS, ob der hart an Low liegen sollte. Ist 
natürlich zulässig. Ich habe auch schon gesehen, daß ich da weniger 
Probleme hätte, aber eine wirkliche Beseitigung des Problems ist das 
nicht, da die Störungen auch während der Datenübertragung kommen können. 
Und nach Murphy kommen sie dann auch...

MfG

wolfgang

von Otto (Gast)


Lesenswert?

Hallo Wolfgang,

ich schalte die CS-Leitung nur für die Dauer der Übertragung auf Low.

Evtl. Löst das die Probleme....

Hast Du alle unbenutzten Leitungen auf festes Potenzial gelegt?
Wie erzeugst Du die 3,3V?
Wie stehen die Ports nach der Datenübertragung?

Ich drücke Dir die Daumen.....

Gruss Otto

von Wolfgang (Gast)


Lesenswert?

Hi,
Ich wollte nochmals das bisherige Ergebnis vermelden:
Also, wie bereits von Otto gesagt, habe ich die /CS-Ltg. ebenfalls nur 
während der Übertragung aktiv. Löst einen großen Teil der Probleme, da 
das Zeitfenster dann wesentlich kleiner ist...
Aber das eigentliche Problem, daß das Ding sehr empfindlich ist, bleibt 
bestehen, da ja auch während der Datenübertragung was passieren kann. 
Auch kann es sein (selten, aber ist schon vorgekommen), daß der /CS sein 
Potential kurzfristig bei einer Störung ändert...
Na gut, ein Riesenfortschritt ist es ja...
Aber ich bleib' weiter dran!
So und zu guter Letzt ein bißchen was zum Ablachen: Der Vertreiber hat 
mir allen Ernstes auf Geheiß seiner fernöstlichen Hersteller-Kollegen 
empfohlen, den SSD1305 mit Scotch Magic Tape abzukleben. Seine Kollegen 
hätten ihm bestätigt, daß das das Problem in einigen Fällen beheben 
würde. Also, ich weiß nicht, das klingt interessant... ;~)

Wolfgang

von sdz55 (Gast)


Lesenswert?

Hi
Ich könnte mir vorstellen, dass du eventuell die SW falsch geschrieben 
hast.
Hat der Controller des OLED einen Screensaver? Bei meinem SEPS525 gibts 
das. Funktioniert allerdings nicht sehr gut, so dass ich, wenn ich das 
Display aufwecken möchte, neu initialisieren muss.

Gruss Severin

von Wolfgang (Gast)


Lesenswert?

Hi,

Habe noch mal nachgeschaut, keine Saver-Funktion wie beim SEPS525, d.h. 
alle Befehle werden von den µC-Einheit geschickt, wenn's soweit ist. Und 
dsa Display wacht wieder auf wenn's soll, also da ist kein Bug drin...

Danke trotzdem...!

Wolfgang

von Wolfgang (Gast)


Lesenswert?

Hallo Leute,

Lang hat's gedauert aber ich glaube, ich habe eine "Lösung" meines 
Problems.
Ich habe das Zeitfenster, in dem der /CS aktiv ist, deutlich 
verkleinert, d.h. die Daten oder Commands werden in kleineren 
Portiönchen 'rübergeschickt, danach der /CS wieder weggenommen, bei 
neuen Daten wieder aktiviert usw.
Resultat ist, dass bei ESD-Entladungen mal ein Byte oder so weg ist, was 
aber beim nächsten Auffrischen wider überschrieben wird und dann ist das 
Bild wieder ok.
Hat eigentlich nichts mit Abschirmung oder so was zu tun, sondern nur 
mit Programmierung und Timing. Ich habe eigentlich nur die 
Wahrscheinlichkeit der Fehler deutlich reduziert. Und eigentlich finde 
ich, dass das keine schöne Lösung ist, aber der Effekt, dass das ganze 
Display weg ist, ist beseitigt. Aber ein Gschmäckle bleibt mir dabei 
schon.

Ich wollte nicht den Thread ohne Ergebnis lassen, nochmals vielen Dank 
an Euch alle für einige wertvolle Tips. :o)

Gruß
Wolfgang

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.