Forum: Mikrocontroller und Digitale Elektronik Kabel bei LCD zu lang


von Gerhard (Gast)


Lesenswert?

Hallo,

Ich habe ein LCD an einen µC angeschlossen, leider werden die Zeichen 
total durcheinander dargestell, manchmal tauchen falsche Zeichen auf und 
manchmal nur noch Pixelbrei.   :(

Die Kabellänge zum µC baeträgt ca. 2,5m, ich habe ein abgeschirmtes 
ehemaliges parallel-Port Kabel verwendet, LCD ist im 8-Bit Modus.
Prozessor SAB80C537, 16 MHz   ->  lag gerade so rum
LCD Datenblatt:
http://www.mark-products.com/pdf/c16x2/84_019/84_019%20spec.pdf

Mit im Kabel sind noch weitere sieben Adern, die ein Tastenfeld 
abfragen.

Ich vermute, dass das Kabel zu lang ist.

Welche Maßnahmen könnte man dagegen unternehmen?

Nach jedem Byte, das übertragen wird ein paar ms Verzögerung?
Was für möglichkeiten gibt es hardwareseitig (bringen Kondensatoren von 
den Datenleitungen nach Masse eine Verbesserung?)

von Benedikt K. (benedikt)


Lesenswert?

Gerhard wrote:

> Welche Maßnahmen könnte man dagegen unternehmen?

Kürzeres Kabel, Bustreiber/Empfänger (am besten differentiell), die 
Leitungen richtig terminieren usw.

> Nach jedem Byte, das übertragen wird ein paar ms Verzögerung?

Bringt nicht viel, da die Anstiegszeit und somit die Überschwinger usw. 
davon nicht weggehen.

von Falk B. (falk)


Lesenswert?

@ Benedikt K. (benedikt)

>Kürzeres Kabel, Bustreiber/Empfänger (am besten differentiell), die
>Leitungen richtig terminieren usw.

Wie war das doch gleich mit den Kanonen und Spatzen?

Fürs erste sollte man das Timing prüfen und mal testhalber gaaaaanz 
laaaangsam machen. Das ist oft die Ursache. Ein 16 MHz Prozessor ist 
nämlich flink.

Wenn das WIRKLICH nicht hilft, dann mal einen Schmitt-Trigger vor 
das Enable Signal am LCD stetzen. Die restlichen Signale sind 
unkritisch.

>> Nach jedem Byte, das übertragen wird ein paar ms Verzögerung?

>Bringt nicht viel, da die Anstiegszeit und somit die Überschwinger usw.
>davon nicht weggehen.

Ja, aber noch weis keiner o das die Ursache ist.

MfG
Falk

von mr.chip (Gast)


Lesenswert?

Also als erstes nimmst du jetzt mal ein kurzes Kabel und testest damit 
:-)

von 3372 (Gast)


Lesenswert?

Und dann bei jedem nicht-speisungspin einen 100 Ohm.. 1kOhm in serie.

von Gerhard (Gast)


Lesenswert?

Also bei den ersten Tests ging alles wunderbar, da habe ich statt einem 
Kabel 12 einzeldräte genommen (ca. 20cm).

Jetzt habe ich das Kabel auf einen halben meter verküzt:
Alle Zeichen werden jetzt richtig dargestell, sie sind aber manchmal an 
der falschen Stelle!
Die Widerstände kommmen auf die Display-Seite nehme ich an, oder?


>Wenn das WIRKLICH nicht hilft, dann mal einen Schmitt-Trigger vor
>das Enable Signal am LCD stetzen. Die restlichen Signale sind
>unkritisch.

Wiso ist eigentlich das Enable Signal so kritisch?
Ich dachte ganz am Anfang, dass es eher die Datenleitungen sein müssten, 
denn es kamen ja zeichen am Display an, nur halt sehr seltsame.

von Benedikt K. (benedikt)


Lesenswert?

Gerhard wrote:

> Die Widerstände kommmen auf die Display-Seite nehme ich an, oder?

Es gibt mehrere Möglichkeiten:
http://www.mikrocontroller.net/articles/Wellenwiderstand

> Wiso ist eigentlich das Enable Signal so kritisch?

Das Enable Signal gibt an, wann die Daten gültig sind. Nur wenn Enable 
anliegt, werden die Signale auf den restlichen Leitungen überhaupt 
beachtet.

Das Enable Signal muss also sauber sein, keine Überschwinger usw. Also 
Serienwiderstand am µC, und am besten einen Schmittrigger direkt vor das 
Display.

von Mehmet K. (mkmk)


Lesenswert?

Weil, wenn E "zuschlaegt", die Datenleitungen bereits stabil sind, bzw. 
sein sollten.

von Gerhard (Gast)


Lesenswert?

Also ich habe jetzt in in jede Datenleitung auf der µC-Seite 100 Ohm in 
Serie geschaltet -> ES FUNKTIONIERT!!!

Danke für die Hilfe!

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.