mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik "mal eben schnell" LCD checken


Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,

ich kämpfe hier gerade mit meinem Pollin-LCD (16080) und versuche ihm
an meinem CentiPad irgendetwas zu entlocken.

Ich las im Forum verschiedentlich über fehlerhafte Displays dieser Art 
von
Pollin -- nicht nur was das (nicht von Pollin beworbene) Touch angeht.

Da ich -- falls nötig -- das Teil so schnell als möglich reklamieren
will, falls ich auch eine Ente gezogen haben sollte, möchte ich 
möglichen
Fehlern schnell auf die Schliche kommen.

Ich besitze zur Zeit keinen Treiber für das Teil.

Der CentiPad besitzt einen AT91RM9200 und läuft unter Linux.

Gibt es ein generelles Vorgehen, was ohne Rücksicht auf gute Manieren,
Programmierstil und CPU-Auslastung irgendetwas auf das Display ausgibt 
--
als Test für dessen Funktionsfähigkeit???

Vielen Dank für Eure Hilfe im Voraus!
Schönes Wochenende noch!
Gruß
mcc

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal die Stiftleiste an: Ist diese kurz und hat Lötzinnreste 
dann ist das Displays wahrscheinlich fehlerhaft. Hat es dagegen keine 
Stiftleiste eingelötet kannst du erstmal beruhigt sein.

Ansonsten musst du den Code halt auf den Arm umbauen, hier mal die 
Initroutine:
Beitrag "Re: GrafikDisplay mit LC7981; Darstellungsprobleme"

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Benedikt,

Mensch, DANKE für Deine schnelle Antwort.

Äh? Stiftleiste???

Bei mir sind Lötaugen (keine Stiftleiste eingelötet) und Lötzinnreste.
Ich habe das Teil gerade mal bestromt und den Kontrast "voll 
aufgerissen".
Jedenfalls werden alle Pixel schwarz, woraus ich schließen kann (???kann 
ich wirklich???), dass zumindest die Verbindung des LCD-Glaskörpers (das 
eigentliche Display) zum """Motherboard""" ok ist...oder?

Ich werde mir mal die Routine ansehen und versuchen, das Teil 
anzuwerfen.

By the way: Beim Durchlesen der Pinbelegungen für den LCD-Anschluss am
CentiPad und am LCD bin ich über CS (chip select) gestolpert: Der 
existiert
am LCD aber nicht am LCD-Port des CentiPad.

Ich befürchte, dass mein Wissen um den Chip Select nicht ausreicht, um
zuu verstehen, wofür das Teil an einem LCD gut ist.

Kann Du mir da mal 'ne Injektion "Wissen" aufziehen und mir 
verabreichen???

Herzlcihe DANKE!!!
Gruß
mcc

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meino Cramer schrieb
> Äh? Stiftleiste???

So wie hier:
Beitrag "Re: Display mit Touchscreen bei Pollin?"

Linken beiden: gut
rechts: schlecht

> Ich habe das Teil gerade mal bestromt und den Kontrast "voll
> aufgerissen".
> Jedenfalls werden alle Pixel schwarz, woraus ich schließen kann (???kann
> ich wirklich???), dass zumindest die Verbindung des LCD-Glaskörpers (das
> eigentliche Display) zum """Motherboard""" ok ist...oder?

Nicht wirklich:
Durch die kapazitive Kopplung der Pixel untereinander bekommt man auch 
die defekten Zeilen an wenn die Spannung ausreichend hoch ist (so wie 
auf dem Foto unterhalb von dem im obigen Link, zwischen den beiden Ts 
ist.

> By the way: Beim Durchlesen der Pinbelegungen für den LCD-Anschluss am
> CentiPad und am LCD bin ich über CS (chip select) gestolpert: Der
> existiert
> am LCD aber nicht am LCD-Port des CentiPad.
>
> Ich befürchte, dass mein Wissen um den Chip Select nicht ausreicht, um
> zuu verstehen, wofür das Teil an einem LCD gut ist.
>
> Kann Du mir da mal 'ne Injektion "Wissen" aufziehen und mir
> verabreichen???

Ich habe keine Ahnung was das CentiPad an Anschlüssen bietet. Wenn es 
ein reiner Adress/Datenbus ist, dann musst du den CS selbst basteln.

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...Tja, da habe ich denn wohl wieder in die Toilette gegriffen:
Ich habe genau das eine, das rechte LCD erwischt. SCH[CENSORED].

Mit meiner Frage zum CS meinte ich:
Ich kenne das CS in Zusammenhang mit einzelnen Chips um diese
vim Bus zu nehmen (Chip disable, quasi).
Aber in Bezug auf LCDs? Laut Datenblatt ist das Teil von active low.
Kann ich das -- quasi als "Daueraktivierung" -- zu Versuchszwecken
auf Masse legen???
(Bitt nicht lachen...ich arbeite mich in diese Thematik erst ein...)

Gruß
mcc

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meino Cramer schrieb:

> Mit meiner Frage zum CS meinte ich:
> Ich kenne das CS in Zusammenhang mit einzelnen Chips um diese
> vim Bus zu nehmen (Chip disable, quasi).

Ja.

> Aber in Bezug auf LCDs? Laut Datenblatt ist das Teil von active low.
> Kann ich das -- quasi als "Daueraktivierung" -- zu Versuchszwecken
> auf Masse legen???

Ja. Solange du nur Daten schreibst die für das LCD bestimmt sind geht 
das. Alles was dann allerdings auf dem Bus geschrieben wird, landet beim 
LCD.

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt muss ich doch nocheinmal nachhaken:

Ich habe auf dem LCD-Port am CentiPad zwei "E"-Leitungen (E1 und E2).
Die Zustände der beiden Leitungen werden durch logische Verknüpfung der 
Signale der Leitungen NCS2, A1 und A0 des AT91RM9200 erzeugt.

Das LCD selbst hat eine "E"-Leitung (E).

Laut AT91RM9200Douku gehört NCS2 zum "external Bus Interface"
Weiterhin taucht NCS2 in Zusammenhang mit der Benutzung dieses 
Interfaces
des Prozessors mit LCDs auf.

Ohne jetzt wirklich zu verstehen, was da passiert: Kann ich das E1 des 
Ports
auf das "E" des LCDs legen, wärend ich E2 des Ports als CS für das LCD 
nutze???
Beim Beschreiben der richtigen Adresss-Ranges müsste doch über A1 + A2 
siehe oben und den Gattern E2 sprich CS schaltbar sein???

Oder rede ich rubbish?

Oh, Mann, wenn Pollin nur nicht so halbgare Sachen in Umlauf bringen 
würde...
Gruß
mcc

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zeig mal die Dokumentation zu dem Board wo das Interface beschrieben 
ist, E1 und E2 bei einem ARM kommen mir nämlich komisch vor.

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Benedict,

Die Doku kannst Du am besten hier bekommen:

http://www.harerod.de/centipad/documents/CentiBOB201psk.pdf

Auf Seite sieben unter der Überschrift "LCD" findest Du das,
was ich als Information auch habe...

Vielen Dank schonmal im Voraus!

Gruß
mcc

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ganze ist zwar vermutlich für ein 44780 LCD gedacht, aber das sollte 
egal sein. Einfach E an E1 sollte funktionieren. CS kann dann an Masse 
gelegt werden, da die CS Info quasi auf der Platine von dem HC02 schon 
in das E1 Signal eingefügt werden.

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz herzlichen Dank ersteinmal für Deine Hilfe, Benedict!
Ich werde mal sehen, ob ich dem Teil irgendetwas entlocken könnte!
Es wäre zu schön, denn geomtrisch passt dieses LCD sehr gute zum 
CentiPad
und ich will endlich mehr als nur einen "stummen Diener"...

Gruß
mcc

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedict, jetzt zucken mir doch noch zwei Fragen durch den Kopf:

Mein Ziel ist es ja, möglichst schnell zu einer Aussage "Display ist 
ok/Display ist kaputt" zu kommen. Ob das durch ein Testmuster, eine
aussagekräftige Reaktion des LCD oder sonstwas ist, ist mir im Moment 
ersteinmal egal. Feinarbeit kann ich ja dann immer noch machen.

Oben schriebst Du, dass durch kapazitive Kopplung der Pixel das 
Kontrast"aufreißen" nicht aussagekräftog ist.

Ich habe hier einen Treiber für einen T6983c in Angriff genommen und 
will diesen "in Richtung" LC7981/HD61830 verändern.

Erst jetzt soweit, dass das Kontrastverstellen nicht mehr schlagartig
zum Umschlagen aller Pixel nach Schwarz erfolgt, sondern dass ein 
sanftes
"Umblenden" möglich ist. Die "Grenzschwärze" ist auch nicht mehr so 
hoch.

Sind die von Dir beschriebenen Kapazitätseffekte auch dann wirksam, bzw.
meine Aussage über die Ansteuerbarkeit aller Pixel falsch, wenn ich
den Kontrast man gerade so weit aufdrehe, dass eine gaaaaaannnnzzz 
leichte
Dunkelfärbung des Displays bei einem schrägen Blick aufs LCD erfolgt???
Oder kann man daraus eine Information bezüglich des Gesundheitszustandes 
des LCD entnehmen???

Dann noch eine Frage zu der ER1/E2/CS-Geschichte...
Laut CentiBob-Doku werden A1 und NSC2 bzw A2 und NSC2 vernort.
Liege ich richtig, dass alle Adressen, die mit gesetztem A1-Bit (2) bei 
gesetztem NSC2 bzw. equivalent für A2 und NSC2 das E1 bzw E2 nach L 
ziehen???
Und wodurch wird NSC2 beeinflusst?

Herzlichen Dank für Deine Hilfe im Voraus!
Gruß
mcc

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meino Cramer schrieb:
> Sind die von Dir beschriebenen Kapazitätseffekte auch dann wirksam, bzw.
> meine Aussage über die Ansteuerbarkeit aller Pixel falsch, wenn ich
> den Kontrast man gerade so weit aufdrehe, dass eine gaaaaaannnnzzz
> leichte
> Dunkelfärbung des Displays bei einem schrägen Blick aufs LCD erfolgt???
> Oder kann man daraus eine Information bezüglich des Gesundheitszustandes
> des LCD entnehmen???

Gute Frage. Ich muss gestehen, ich habe keine Ahnung, denn dies ist ein 
Zustand den man normalerweise nicht verwendet. Man müsste sich mal 
anschauen was der 7981 macht wenn er ausgeschaltet ist (macht der dann 
garnichts, oder sendet er 0en ans Display).
Ich sage jetzt einfach mal zuverlässig kann man die Fehler nur im 
normalen Betrieb erkennen. Das Problem ist nämlich, dass die 
Zeilenfehler nicht 100%ig sein müssen, sondern es kann nur einen 
geringen Kontakt geben, so dass aufgrund des hohen Übergangswiderstands 
in einer Zeile das Übersprechen sehr viel stärker ist als in den 
anderen.

> Dann noch eine Frage zu der ER1/E2/CS-Geschichte...
> Laut CentiBob-Doku werden A1 und NSC2 bzw A2 und NSC2 vernort.
> Liege ich richtig, dass alle Adressen, die mit gesetztem A1-Bit (2) bei
> gesetztem NSC2 bzw. equivalent für A2 und NSC2 das E1 bzw E2 nach L
> ziehen???

Ja, so in etwa. Der HC02 ist ein NOR Gatter, CS2 ist low aktiv. Wenn 
also CS2 aktiv ist, und A2 auf Low liegt, wird E1 high, also aktiv.
Für E2 muss A1 low sein.
Wie NCS2 angesteuert wird kann ich leider der Dokumentation nirgends 
entnehmen.

> Und wodurch wird NSC2 beeinflusst?
>
> Herzlichen Dank für Deine Hilfe im Voraus!
> Gruß
> mcc

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin

Die Sache mit dem NCS2-Signal ist geklärt: Es wird gesetzt, wenn 
Adressen
aus einem bestimmten Adressbereich angesprochen werden.

Mir macht aber eine andere Sache Kopfschmerzen: Das Dauer-Low des CS des
LCD. Laut Unterlagen (HD61830) sind bezüglich CS bestimmte Timings 
gegenüber
z.B. E definiert, die ich unmöglich einhalten kann, wenn ich CS direkt 
auf
Masse lege...

Andere Idee(n) ???

Herzlcihen Dank für jede Form von Hilfe im Voraus!
Gruß
mcc

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leg CS einfach auf Masse, das geht. Habe ich auch schon gemacht um Pins 
zu sparen.

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Benedict,

ok... :)

Na, ich bin ja mal gespannt, wann das Teil die ersten Pixels
blinken läßt...

Vielen Dank, Benedict!
Gruß
mcc

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,

...und wieder ein fehlendes Puzzle-Stück:
Laut Doku wird E1/E2 des LCD-Ports auf dem CentiPad über eine NOR-Logic,
die NSC2 mit A1 bzw.A2 nor-verknüpft erzeugt.

In einem Beispiel-Code, der für den TS6963 geschrieben wurde, wird
NSC2 durch beschreiben des Addressbereichs oberhalb von 0x30000000
angesprochen -- soweit so klar.
Es sehe aber nur Schreib-/Leseaktionen auf diese Adresse bzw. auf
diese Adresse +1.
Nach meinem Verständnis wird damit A0 verändert, der auf RS des 
LCD-Ports
läuft. Somit werden Daten- und Instructionswere unterschieden.

Nirgendwo kann ich dort jedoch eine Benutzung von Adressen sehen,
die A1/A2 schlaten würden.

Das verstehe ich nicht ganz (sprich: gar nicht): Meines Erachtens muss
E doch nun wirklich geschaltet werden (im Gegensatz zu CS, was ich in
meinem Falle af Masse lege...).

Für einen Tipp wäre ich wie immer sehr dankbar ;)

Gruß
mcc

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.