Forum: Mikrocontroller und Digitale Elektronik Probleme mit Grafik-Display DG-16080


von Nightlight (Gast)


Lesenswert?

Hallo zusammen,

ich versuche, das Display Grafik-Display DataVision DG-16080-11 von 
Pollin (gerade gekauft) an einem AtMega32 zum Laufen zu bringen... der 
Erfolg hält sich allerdings sehr in Grenzen.

Für den AtMega habe ich den Treiber von 
http://www.frozeneskimo.com/electronics/2007/03/30/lc7981hd61830-driver-for-el-backlit-samsung-lcd/ 
genommen und erstmal das Standardbeispiel davon (leicht angepasst) 
aufgespielt.

Das beste, was ich jedoch hinbekomme, ist ein kurzes schwarzes 
Aufblitzen nach Anschließen der Spannung und dann Ruhe.
(Ist der µC nur auf Programm while(1) geschaltet, bleibt der Bildschirm 
meistens schwarz oder es gibt horizontale Linien. Meistens.)

Angeschlossen ist das Display folgendermaßen:

Pin
1 = GND
2 = 5V
3 = Pin 17
4 = D1 am µC - RS
5 = D2 am µC - R/W
6 = D4 am µC = E
7-14 = PORTA am µC
15 = GND
16 = 5V
17 = Pin 3
18 = 5V
19 = nicht verbunden
20 = GND


Hat jemand eine Idee für mich? Kann ich irgendwie herausfinden, an 
welcher Stelle das Problem liegt?

Danke!

von Andreas (Gast)


Lesenswert?

Hi,
check mal deine Anschlüsse.

Hier mal die Pin Belegung die mir vorliegt:

Pin         Funktion
1           GND
2           VDD  Power Supply for logic (5V)
3           VEE  Operation voltage for LC driving (input)
4           RS
5           R/W
6           E
7..14       D0--D7
15          Chip Select
16          DOFF
17          RST
18          VOUT
19/20       Hintergrundbeleuchtung

Du hast ja den Pin 15 auf Ground gelegt. Das solltest du lieber nicht 
machen.

Servus
Andreas

von Nightlight (Gast)


Lesenswert?

Hmm, wo soll Pin 15 denn dann hin? Ich habe schließlich nur ein Display, 
das kann ja ruhig immer aktiv sein.
(Der genannte Treiber sieht auch gar nicht vor, dass man CS ändert)

Das Datenblatt bei Pollin 
(http://www.pollin.de/shop/downloads/D120346D.PDF) Pin 16 als Reset, 17 
als VOUT und 18 als DisplayOff an. Zumindest VOUT stimmt auch (liegt 
wirklich auf Pin 17), die anderen beiden sind ohnehin beide mit VCC 
verbunden (ich glaube auch, dass ich das Display, wenn es mal schwarz 
bleibt, mit Doff=GND ausschalten kann).

von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

mmm,
ok.

Ich habe ein sehr ähnliches Display angeschaut. Sorry.

Als Anhang findest du mal die Beschaltung deines Display's mit einen 
Atmega8.
Hier ist der Touchscreen auch noch mit angeschlossen.

Diesen Aufbau habe ich bereits bei mir erfolgreich getestet.

Übrigens stammt diese Beschaltung von Benedikt ist also definitiv 
richtig.:)

von Nightlight (Gast)


Lesenswert?

Hmmja, den Plan habe ich hier auch schon gefunden. Meine Verschaltung 
entspricht der allerdings ja auch (bis auf die Tatsache, dass CS und 
Display Reset dauerhaft an bzw. aus sind).

Ich habe noch einmal jeden einzelnen Anschluss durchgemessen, offene 
Stellen gibt es also (scheinbar) nicht.

Ich bin mir nicht sicher, ob es hilft, das ganze noch einmal an einen 
Atmega8 neu anzuschließen ^^ Zumal das Programm ja das gleiche bleibt.

Weißt du irgendeine Möglichkeit, herauszufinden, welcher Teil nicht 
funktioniert? Gibt es vielleicht eine fertige, definitiv funktionierende 
.hex (um Probleme mit dem Programm auszuschließen)?

von Rene B. (themason) Benutzerseite


Lesenswert?

@nightlight ...

ohne das display zu kennen ...
cs dauerhaft auf nen pegel halten ist u.u. keine gute idee, da ich mir 
vorstellen kann das der interne display-controller gerne mal ein ende 
eines kommandos sehen möchte welches durch cs bewerkstelligt werden 
kann. wie gesagt ich kenne das display nicht, aber cs auf nen festen 
pegel kommt mir komisch vor. vllt das damit auch die umschaltung zw. 
daten und kommando-register gemacht wird.
würd ich vllt mal genauer prüfen.

edith:

ich seh gerade ... du hast reset auf einen festen pegel gelegt ? keine 
gute idee. die display-controller wollen wohl definiert resettet werden, 
sonst kannst du daten/instruktionen reinschreiben bis du schwarz wirst, 
da tut sich dann goa nüscht.

von Nightlight (Gast)


Lesenswert?

Habe gerade des Problems Lösung gefunden: die Initialisierungskommandos 
wurden in der falschen Reihenfolge geschrieben in dem Treiber den ich 
benutzt habe... glücklicherweise habe ich eine andere Quelle gefunden 
mit einem zwar deutlich weniger performanten Code (viel zu lange 
Wartezeiten), dafür aber korrekter Initialisierung :)

CS dauerhaft auf low und Reset auf high scheint also doch zu 
funktionieren. Ist zu überlegen, ob ich die CS-Steuerung noch mit 
einbaue zur Sicherheit... mal sehen.

Trotzdem danke für eure Mühe!

von guest (Gast)


Lesenswert?

Wäre nett wenn du oder jemand anderes hier den Fehler in der 
initialisierung posten könnte. Ich stehe nämlich vor dem selben Problem 
mit dieser Lib und finde den Fehler nicht.

von Armin Schlegel (Gast)


Lesenswert?

Ja, das wäre toll. Ich hab ein ähnliches Problem! Auch ATMEAG32 nur dass 
bei mir die linke Seite gar nicht verwendet wird und auf der rechten nur 
senkrechte Streifen auftauchen... hab gelesen, dass wenn man beim 32er 
den Port C verwenden will, man die JTAG Fuses deaktivieren soll. Hab ich 
getan.
Vorher ging gar nix, jetzt immerhin die Streifen aber trozdem geht es 
noch nicht wirklich.

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.