Hallo zusammen, Ich habe eine Platine mit einem DOGM132 Display. Wie ich bei der Suche in diesem Forum gefunden habe gibt es hier etliche, welche auch schon mal mit diesem Displaytyp rumgespielt haben. Mein Problem ist folgendes. Mit dem Gerät mit oben besagter Platine war ich vor zwei Wochen beim EMV-Test. Soweit alles in Ordnung... einziges Problem war, dass beim ESD-Test (wenn man die Nadel auf die Frontfolie über dem Display platziert) manchmal das Display ausgefallen ist. Alle anderen Komponenten arbeiteten brav weiter. Nach dem Neuinitialisieren des Displays lief dann auch dieses wieder normal weiter. Meine Idee war nun, dass man etwa 2mal pro Sekunde das Display ständig neu initialisiert (so wie ich gehört habe ist dies eine verbreitete Variante mein Problem zu umgehen). Nur leider wird beim Initialisieren dieses Displaytyps das Display kurz aus- und wieder eingeschalten, so dass es kurz flackert. Dies ist natürlich 2mal pro Sekunde mehr als störend! Geht dies auch ohne dieses Verhalten? Oder eine andere Möglichkeit den ESD-Test zu bestehen??? Hier meine Initialisierungsroutine: #define DISPOFF 0xAE #define DISPON 0xAF #define DISPSTART 0x40 #define PAGEADR 0xB0 #define COLADRL 0x00 #define COLADRH 0x10 #define ADCNORMAL 0xA0 #define ADCREVERSE 0xA1 #define COMNORMAL 0xC0 #define COMREVERSE 0xC8 #define DISPNORMAL 0xA6 #define DISPREVERSE 0xA7 #define LCDBIAS9 0xA2 #define LCDBIAS7 0xA3 #define RESET 0xE2 #define SETPOWERCTRL 0x28 #define REGRESISTOR 0x20 #define SETCONTRAST 0x81 #define STATINDMODE 0xAC #define BOOSTERRATIO 0xF8 // PINs auf Ausgänge setzen // DOG132_TRIS_CS = 0; DOG132_TRIS_RESET = 0; DOG132_RESET_A0 = 0; DOG132_TRIS_SCL = 0; DOG132_TRIS_SI = 0; // Alle Ausgänge zurücksetzen // DOG132_PIN_CS = 1; DOG132_PIN_RESET = 0; DOG132_PIN_A0 = 0; DOG132_PIN_SCL = 0; DOG132_PIN_SI = 0; delay_ms(1); // kurz warten DOGM132_Reset(); // Display soll laut Datenblatt nach dem Spannung anlegen geresettet werden delay_ms(1); // nach dem Reset kurz warten // DOG132_PIN_CS = 0; // Display enable DOGM132_wait(); DOG132_PIN_A0 = 0; // Display command DOGM132_wait(); // Displayinitialisierug wie im Datenblatt beschrieben DOGM132_SPIout(DISPSTART + 0); #if defined(DOGM132_Topview) DOGM132_SPIout(ADCNORMAL); DOGM132_SPIout(COMREVERSE); #else DOGM132_SPIout(ADCREVERSE); DOGM132_SPIout(COMNORMAL); #endif DOGM132_SPIout(DISPNORMAL); DOGM132_SPIout(LCDBIAS9); DOGM132_SPIout(SETPOWERCTRL+7); DOGM132_SPIout(BOOSTERRATIO); DOGM132_SPIout(0); DOGM132_SPIout(REGRESISTOR+3); DOGM132_SPIout(SETCONTRAST); DOGM132_SPIout(DOGM132_DISPLAY_STANDARTCONTRAST); DOGM132_SPIout(STATINDMODE); DOGM132_SPIout(0); DOGM132_SPIout(DISPON); // DOG132_PIN_CS = 1; // Display disable DOGM132_wait(); Vielen Dank Tobi
Hallo Tobi, ich kenne genau das Problem. Als erstes habe ich das Display hinter eine dickere Folie gepack. Weiter später hinter eine Plexiglasscheibe. Wer sagt denn das sofort nach dem ESD Impuls was das Display ausfallen läßt wieder angehen muß. Ich habe die initialisierung alle 30 Sekunden. Laß uns das ganze mal Praxisbezogen sehen. Wie wahrscheinlich ist es denn, daß das Display über ESD grade ausfällt. M.E liegt dies bei unter 1%. In der Regel kann dies mit der Prüfstelle argumentiert und besprochen werden, so daß Du ohne Probleme beim ESD durchkommst. Viel Erfolg Gruß Lauso
Naja, selbst wenn beim Gerät nur jede halbe Sekunde das Display flackert ist es störend für den Anwender. Ich habe da aber eine neue Idee, ist es irgendwie möglich bei diesem Display die Register, welche beim Initialisieren gesetzt werden wieder auszulesen? Dann könnte ich doch ständig die Register auslesen und wenn durch einen ESD-Impuls ein Fehler auftritt dieses Register neu beschreiben... Könnte dies funktionieren? Tobi
... Könnte dies funktionieren? ... Kannst du denn die Register zurücklesen? Soweit ich weiß geht das nicht bei allen DOG-Displays bzw. Betriebsmodi.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.