mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Displaybus abschliesen?


Autor: wolf4122 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich betreibe an meinen AVR 6 Display.
Nehme dazu einen "Bus" der 8 Bit breit ist her.
Alle Display pararell und als Treiber einen 74HC245.
Die E-Leitung wird aus einen zweiten 3bit breiten decodiert.
RS und R/W sind durchgeschliefen.
Geschwindigkeit ist relativ langsam.
Funkte bis jetzt alles.
Seit ein paar Wochen aber tauchen "Geisterzeichen" auf.
Ich kann den Bus noch langamer machen, wollte aber mal nachfragen ob
ihr den "Bus" abschliesen würdet.
Im Moment ist er offen.
Wenn ja was würdet ihr nehmen.
Der 74HC245 ist doch aktiv. Oder?

Gruß

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du uns Deinen Schaltplan zeigen könntest, dann wären vielleicht

unsere Antworten nicht nur umfangreicher, sondern auch präziser ;)

Bernhard

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest nach dem Anlegen der Daten etwas warten, bevor die jeweilige
Enable Leitung auf Low und dann wieder auf High gesetzt wird. Dadurch
gehst Du sicher, daß die Datenpegel stabil sind, bevor Du das jeweilige
Display ansprichst. Außerdem dürfen die Kabel zum Display nicht allzu
lang sein. Was auch hilft, sind PullUp-Widerstände an den Displays als
Leitungsabschluß, um den Bus niederohmiger und somit störungsärmer zu
gestalten.

Autor: wolf4122 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Schaltplan habe ich leider keinen.
Aber aufschreiben kann ich ihn ja.
AVR 8bit => 74HC245 => Flachbandleitung 2m => 6 * Display
AVR 3bit (RS/ R-W/ 6*E) => 74HC245 => Flachbandleitung 2m => 6*
Display
Dazu jeweils nochmal VCC und GND.
An allen Display's ist ein 10µF Elko zwischen VCC und GND.
Ich vermute die Anschlußwiderstände am letzten Display einfügen.

Gruß

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@wolf4122

Die Tipps von TravelRec sind sehr gut.

Wenn ich es richtig verstanden habe, dann betreibst Du die Displays im
8-Bit-Daten-MODUS?

Dann wundert mich aber, dass die Displays "Geister-Zeichen"
schreiben, denn sollte im 8-Bit-Modus der E-IMPULS nicht steil genug
sein, dann wird eigentlich das Zeichen nicht!! dargestellt.

Oder arbeitest Du im 4-Bit-Display-Modus ?

Oder stürzen die Displays aus irgend einem Grund ab?

Bernhard

Autor: wolf4122 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Die Display's arbeiten im 8 Bit Modus.
Geisterzeichen tretten z.B. immer auf wenn ein kleines o und dann ein
Leerzeichen folgt. Geisterzeichen ist das "'" statt des
Leerzeichens.
Habe mal im Zeichensatz nachgeschaut.
Es sieht so aus, als wenn beim Übertragen der Daten das Low Nibble zwar
auf 0x0 geht, aber das High Nibble noch auf 0x6 stehen bleibt.
Während es Lesens vom Bus meine ich.
Mir geht es hauptsächlich, ob ihr den Bus überhaupt abschliesen
würdet.
Wenn das nichts bringt, werde ich leider die Zeiten verändern müssen.
Ich danke euch für eure Antworten und halte euch auf dem laufenden.


Gruß

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@wolf4122
>Geisterzeichen tretten z.B. immer auf wenn ein kleines o und dann ein
>Leerzeichen folgt. Geisterzeichen ist das "'" statt des
>Leerzeichens.

D.h. es entsteht immer das gleiche falsche Zeichen an der gleichen
Stelle?

>Es sieht so aus, als wenn beim Übertragen der Daten das Low Nibble
>zwar auf 0x0 geht, aber das High Nibble noch auf 0x6 stehen bleibt.

Dort liegt anscheind die Ursache.

>Während es Lesens vom Bus meine ich.

Du meinst sicherlich LESEN durch das Display ?


>Wenn das nichts bringt, werde ich leider die Zeiten verändern müssen.

Zuerst die Datenleitungen setzen
etwas warten (µs-Bereich)

dann Ennable von LOW auf HIGH
etwas warten (µs-Bereich)

dann Ennable von HIGH auf LOW
etwas warten (µs... ms Bereich,
manche Kommandos brauchen etwas Zeit 2ms für CLEAR)


Bernhard


PS: Ich betreibe gern die LCDs im 4-Bit-MODUS,
spart nicht nur Kabel, Platz, Gewicht, Kosten, sondern auch Zeit beim
verlöten der Kabel

Und Du "gewinnst" 4 Pins für anderes ;)

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ich das richtig gelesen? Zwei Meter Flachbandleitung zum
Display?

Keine Wunder hast Du Probleme.

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zwei Meter ist wirklich viel für TTL-Signale, da könnten ein paar
Beruhigungswiderstände, so 33 Ohm  in Serie in jeder Signalleitung
schon helfen. Gibts auch als Widerstandsnetzwerk. So richtig koaxial
mit Wellenwiderstand muß noch nicht sein.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was helfen kann: Serienwiderstände in den Leitungen, dort wo sie am
Controller angeschlossen sind. 100 Ohm oder so. Reduziert die sonst
recht heftigen Flanken vom Controller und damit das Klingeln auf den
Leitungen. Ein klassischer Abschluss frisst mehr Strom als die Displays
liefern können, ist also nur sinnvoll, wenn von denen nicht gelesen
wird.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Unbekannter
@Christoph

>Habe ich das richtig gelesen? Zwei Meter Flachbandleitung zum
>Display?
>Keine Wunder hast Du Probleme.

>zwei Meter ist wirklich viel für TTL-Signale, da könnten ein paar
>Beruhigungswiderstände, so 33 Ohm  in Serie in jeder Signalleitung
>schon helfen. Gibts auch als Widerstandsnetzwerk. So richtig koaxial
>mit Wellenwiderstand muß noch nicht sein.


Die kritischste Leitung ist die Enable-Leitung, alles andere ist
relativ egal, Hauptsache die Pegel sind im TTL-BEREICH.

Nur gerade Enable, also der Wechsel von HIGH auf LOW muss sehr schnell,
also mit einer sehr steilen Flanke geschehen.

Ich glaube der Wechsel von LOW aif HIGH der Enable-Leitung ist garnicht
so kritsch, oder sehe ich das falsch?

Bernhard

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Hauptsache die Pegel sind im TTL-BEREICH"

Genau deshalb ist es nicht egal. Lange Leitung ohne Abschluss plus
schnelle Flanke bedeutet over/undershoots vom Feinsten.

Und genau deshalb ist

"Wechsel von HIGH auf LOW muss sehr schnell, also mit einer sehr
steilen Flanke geschehen"

in diesem Fall geradezu tödlich.

Ich habe den HD44780 grad nicht im Kopf - verlang der tatsächlich eine
Flange im einstelligen nsec-Bereich - so schnarchlangsam wie er sonst
ist? Oder verlang der vielmehr nach einer sauberen Flanke die nicht
durch eine klingende Leitung zu mehreren Impulsen wird?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm. Rise/fall time lt. Datasheet 20ns. Wenn der das wirklich ernst
nimmt, kann schlimmstenfalls ein Schmitt-Trigger vor dem E-Aschluss
jedes Displays nötig sein.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@A.K.

>"Hauptsache die Pegel sind im TTL-BEREICH"

>Genau deshalb ist es nicht egal. Lange Leitung ohne Abschluss plus
>schnelle Flanke bedeutet over/undershoots vom Feinsten.

Ich bezog mich speziell auf die 8 DATEN-Leitungen und auf RS und RW,
die sin nach meiner Meinung unkritisch ==> HAUPTSACHE TTL-PEGEL.

Die Enable-Leitung, der ist sehr viel Aufmerksamkeit zu schenken, denke
ich. Seile flanke, trotz langsamen Display-Controler.

Bernhard

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tip nebenbei: Schreib die Ansteuerung der Displays so um, dass es ganz
ohne Rückmeldung geht, also mit esten Wartezeiten. R/W fest auf 0. Dann
sind die Signale nicht mehr bidirektional und das erleichtert die Sache
deutlich.

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.