Moin Leute. Langsam bin ich mit meinem Latein am Ende. Ich hab hier ein Display von Display Elektronik (DEM320240I FGH-PW A-Touch) mit dem Controller S1D13700 von Epson drauf. Angeschlossen hab ich das in der "Generic Bus"-Konfiguration mit indirekter Adressierung an einen FM3 von Fujitsu. Ich hab erst versucht den S1D13700 nur mit den Infos aus dem Datenblatt anzusteuern. Die Kommunikation zwischen FM3 und S1D13700 scheint auch anständig zu funktionieren. Wenn ich Zeuch in den SRam vom LCD-Contreroller schreibe kann ich genau die gleichen Werte wieder aus selbigem auslesen. Das Oszi gibt mir auch recht ^^. Aber dieses verdammte Display will ums Verrecken nichts anzeigen. Ich habs dann mit einer etwas angepassten Bib. für den SED1335 hier aus dem Forum probiert, aber da komm ich genau so weit. (http://en.radzio.dxp.pl/sed1335/) Die Kontrastspannung die das Display bekommen soll is auch vorhanden (ca. -20V mit Poti einstellbar). Das einzige was ich aus dem Display raus hole is ein Flackern wenn ich den Speicher des S1D13700 vollschreibe mit 0xff. Dann sieht man ein schwaches Flackern wenn man in einem sehr flachen Winkel aufs Display schaut. Ich bin mir nicht sicher ob ich irgendwelche Register im S1D13700 falsch gesetzt hab oder so. Ich hab da meiner Meinung nach alles durchprobiert. Ich würde mich extremst freuen wenn dieses Ding überhaupt ma was anzeigen würde :D Hatte jemand schon mal ein ähnliches Problem? Ich hab ma die beiden Signifikanten Quelldateien in den Anhang gepackt. Datenblatt des Displays: http://www.display-elektronik.de/DEM320240I_FGH-PW_A-TOUCH.pdf Achso ja bevor ichs vergesse. Der FM3 läuft mit 80Mhz. Deswegen hab ich da relativ lange Warteschleifen eingebaut, weil das Quarz am S1D13700 nur ein 20Mhz-Quarz is. Außerdem is das ganze Zeug grad auf nem Steckbrett. Die lcd_init(); -Funktion soll das Display initialisieren und zum Test irgendwas ausgeben. (Also wirklich nix besonderes, denkt man ^^). Was mir noch aufgefallen ist: Beim durchmessen der Schaltung des Displays viel mir auf, dass das Potential am AS#-Pin (siehe DB des S1D13700) auf Masse liegt. Im DB wird aber gesagt das beim benutzen des Generic Busses dieser Pin an VCC liegen soll. (Auch gibts dazu ein hinweis in der Errata im DB) Könnte das das Problem sein? ich bedanke mich schon mal im Voraus für Anregungen.
Ähem.. ich hab mir zwar jetzt nicht die Zeit genommen, das Datenblatt dieses Controllers auszugraben und intensiv deine Quellen durchzusehen, aber du hast da in den eigentlichen Ausgaberoutinen ne Menge auskommentiert. Bist du sicher, daß du alles wirklich wichtige dringelassn hast? Ich nehme mal an, daß man bei einem Grafik-Display nicht viel sieht, wenn man bloß ein paarmal "test test test" dort reinschreibt. Versuche mal, das ganze Display mit einem Muster zu füllen, z.B. abwechselnd 55h, AAh, 3Ch und C3h, damit man was sieht. Kannst du mit dem Kontrastregler das Bild so einigermaßen schwarz regeln? Ich vermute, daß du was beim Initialisieren falsch gemacht hast. Also guck dort noch mal. W.S.
lcd_send_cmd(DISP_ON) Hier fehlt schon mal der Parameter (REG 0Ah).
Filippé Menuisier schrieb: > Was mir noch aufgefallen ist: Beim durchmessen der Schaltung des > Displays viel mir auf, dass das Potential am AS#-Pin (siehe DB des > S1D13700) auf Masse liegt. Wie ist denn CNF[3:2] beschaltet?
ahh danke erst mal für die Antworten :D W.S. schrieb: > Versuche > mal, das ganze Display mit einem Muster zu füllen, z.B. abwechselnd 55h, > AAh, 3Ch und C3h, damit man was sieht. Das werd ich morgen nochmal probieren. W.S. schrieb: > Kannst du mit dem Kontrastregler das Bild so einigermaßen schwarz > regeln? Also wenn ich dieses Flackern erzeuge (alles voll mit 0xff) kann ich das mit dem Kontrast-Poti wegregeln. Aber so richtig schwarz (auch wenn ich dem Display nix sende usw.) bekomm ich das nicht. Wenn ich die ca. -20V direkt an den entsprechenden Pin anlege ändert sich da auch nix. Ich werde morgen nochmal die Initialisierungsgeschichte durchschauen. Aber eigentlich müsste es doch was anzeigen, wenn ich den internen Buchstabengenerator benutze. (Werd das mal testen wenn ich den Layer als Grafiklayer anstatt als Textlayer einstelle) Fox Mulder schrieb: > lcd_send_cmd(DISP_ON) > > Hier fehlt schon mal der Parameter (REG 0Ah). Ich hab das DB so verstanden das man nicht immer alle Parameter setzen muss (sofern die Register entsprechende Werte schon haben). Ich werd dann mal den selben Parameter mitschicken wie bei dem DISP_OFF-Befehl paar Zeilen davor. Fox Mulder schrieb: > Wie ist denn CNF[3:2] beschaltet? Die liegen beide auf Masse. Das hab ich extra mehrfach durchgeklingelt. Weil ich erst dachte dass eventuell dieser M6800-Modus oder so konfiguriert sein könnte. (Das sieht man auch weil beide Pins auf der Massenfläche liegen) Leider sind diese Pins , einschließlich dieses AS#-Pins fest verbunden. Also gibt keine Jumper auf dem Ding. (Nur so ein Paar irrelevante wie z.B. Bohrungen auf Masse usw.)
Filippé Menuisier schrieb: > Ich hab das DB so verstanden das man nicht immer alle Parameter setzen > muss (sofern die Register entsprechende Werte schon haben). > Ich werd dann mal den selben Parameter mitschicken wie bei dem > DISP_OFF-Befehl paar Zeilen davor. Ich würde power_save und disp_off löschen und nur disp_on am Ende vom Init lassen. Nach dem disp_on und vor dem Löschen des Speichers sollte man schon irgendwas auf dem Bildschirm sehen. Dann müssen auch die Pins Richtung Display aktiv sein. Sonst gibt es auch nichts auf dem Display zu sehen.
So Es gibt ein Lebenszeichen von sich :D Ich hab den Display_Off-Befehl einfach mal weggelassen und den entsprechenden Parameter hinter den Display_On-Befehl gesetzt. Ausserdem schien mir was bei dem TC/R-Parameter nicht zu stimmen. Was aber letztendlich zum Funktionieren geführt hat war das doppelte Aufrufen der init-Funktion. K.A. warum. Das Display scheint beim 1. Mal nicht richtig aus dem Sleep-Modus zu kommen. Ich denke das liegt daran das ich immo alles aufm Steckbrett habe und die internen Pullups vom µC benutze. Vielleicht versteht das LCD da am Anfang nur Müll. (während dem Reset sieht man auch wie der Curser wegläuft) Ab dann läuft es aber stabil. vorerst(!) is das Thema hier mal gelöst. :D Danke an die Antwortschreiber
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.