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?)
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.
@ 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
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.
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.
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.