Flankensteilheit von uc Signalen am LCD-Display

Hallo zusammen,

ich habe an einem Mikrocontroller Atmega 16 ein 4 zeiliges LCD-Display angeschlossen.

In der Beschreibung des LCD´s steht, das Flachbandleitungen von einer Länge von mehr als 10cm das Signal unzulässig stark verschleifen können und der LCD-Kontroller dadurch die Flanke des Enablesignals nicht mehr erkennt.
In der Beschreibung ist von max. 25ns die Rede.

Ist das nicht eine sehr hohe Flankenanstiegsgeschwindigkeit? 25*10^-9Sekunden

Im Bild habe ich das Signal im 2ms Raster eingefangen.
http://img545.imageshack.us/f/flankensteilheitlcd4x2…

hier die Beschreibung
http://img683.imageshack.us/f/unbenanntdhg.jpg/

http://s7.directupload.net/file/d/2276/8meau5vt_jpg.htm

Nun zu meinen konkreten Fragen:

Wie werden solche Signale denn verschliffen?
Wirkt die lange Leitung gegen das hochfrequente Enable Signal von max 25ns wie eine Spule?

Was ist mit der Abhilfe durch einen Pullup-Widerstand gemeint. Schließt man das Enablesignal mit einem 10KOhm Widerstand gegen +5V, sodass es leichter und schneller gegen 5V hochgezogen werden kann?

langsamere Ansteuerung über Ports:
Wie kann ich einen Port langsamer ansteurn? Kann diesen doch nur Ein- und Ausschalten. Gut, ich kann die Wartezeit über delay vergrößern, ist das gemeint?

Wozu brauche ich eine aktive Schirmung? Was ist das bitte überhaupt? Das interessiert mich auch.

Ich würde mich freuen, wenn ihr wieder so nett wärt und mir helft diese interessaten Fragen zu beantworten.
Ich bin gerne bereit bei weiteren Nachfragen Rede und Antwort zu stehen.

Einen schönen Tag wünscht Euch Matthias aus dem sonningen Düsseldorf.

falls die zwei Links nicht funktionieren
Beschreibung des LCD´s
http://s10.directupload.net/file/d/2276/paf9ldnv_jpg…

mit dem Oszi gemessene Flankensteilheit
http://s7.directupload.net/file/d/2276/uhpc5meg_jpg.htm

Viele Grüße, Matthias.

Ein paar Antworten
Hallo Matthias,

Wirkt die lange Leitung gegen das hochfrequente Enable Signal
von max 25ns wie eine Spule?

Ja, jeder Draht - und sei er noch so kurz - hat eine parasitäre Spule, einen Verlustwiderstand und einen parasitären Kondenator eingebaut. Man kann sich das so (quasi als Ersatzschaltbild) vorstellen, dass viele kleine Spulen hintereinander geschaltet sind, und jeweils zwischen zwei Spulen befindet sich eine kleine Kapazität. In Reihe zu den Spulen befinden sich natürlich noch Widerstände.
Die parasitäre Spule entsteht durch die Induktivität der Leitung, die dem Stromanstieg oder dem Stromabfall (also den Stromflanken) entgegenwirkt. Die Kapazität entsteht durch den Abstand zu benachbarten Leitungen und Masse. Je höher die Übertragungsgeschwindigkeit, desto stärker wirken die genannten parasitären Anteile den Flanken entgegen. Solange die Übertragungsrate zwischen Deinem Display und dem µC bis schätzungsweise 200kHz ist, dürfte es kein Problem sein mit 20cm Leitungslänge.

Was ist mit der Abhilfe durch einen Pullup-Widerstand gemeint.
Schließt man das Enablesignal mit einem 10KOhm Widerstand
gegen +5V, sodass es leichter und schneller gegen 5V
hochgezogen werden kann?

Richtig. Man könnte aber auch einen Leitungstreiber verwenden, falls überhaupt erforderlich. Diese haben einen recht geringen Innenwiderstand, können also gegen die parasitären Anteile (vor allem kapazitive) gut ankämpfen. Falls Du also mit dem Mikro keine ausreichend hohe Flankenqualität erreichen kannst, schalte einen MOSFET-Treiber an den Ausgang des µC. Dieser treibt dann das Signal durch die Leitung zum LCD. Alternativ ist auch erwähnt, dass Du direkt am LCD einen Schmitt-Inverter montierst, der das abgeflachte Enable-Signal wieder steil macht und direkt dem Eingang des LCD-Kontrollers zuführt. Du müsstest hier nur prüfen, ob die Flanken am LCD auch zur richtigen Zeit ankommen, bzw. der Mikro notfalls etwas wartet, bis er das nächste Datenpaket schickt.

langsamere Ansteuerung über Ports:
Wie kann ich einen Port langsamer ansteurn? Kann diesen doch
nur Ein- und Ausschalten. Gut, ich kann die Wartezeit über
delay vergrößern, ist das gemeint?

Ja, das ist gemeint. Es könnte z.B. sein, dass die fallende Flanke des Enable-Signals am LCD viel länger dauert, als sie der µC ausgibt. Dies könnte - übertrieben ausgedrückt - dazu führen, dass der Mikro schon mit dem Senden des nächsten Datenpaketes anfängt, obwohl das LCD die alten Daten noch gar nicht eingelesen hat (weil die Low-Flanke so lange dauert). Dieses Problem lässt sich beheben, indem der Mikro den zeitlichen Abstand zwischen Low-Flanke und nächster Aktion (Datenpaket senden) vergrößert.

Wozu brauche ich eine aktive Schirmung? Was ist das bitte
überhaupt? Das interessiert mich auch.

Du brauchst bestimmt keine aktive Schirmung. Ich bin mir zwar nicht sicher, aber ich könnte mir vorstellen, dass ein „aktiver Schirm“ ein Schirm ist, der mittels OPV auf eine virtuelle Masse gelegt ist. Der OPV überwacht also, ob der Schirm ständig GND-Potential besitzt, und wenn nicht, dann regelt er seinen Ausgang so, dass die Störspannungen (Millivolt) gegen Masse kurzgeschlossen werden. Dies bedingt jedoch, dass der OPV eine positive und negative Spannungsversorgung hat.
In der Praxis habe ich jedoch noch nie davon gehört, geschweige denn gesehen. Ich habe aber mal für eine optische Regelschaltung einen OPV mit virtueller Masse aufgebaut.

Grüße, Hilarion

Hallo,

In der Beschreibung ist von max. 25ns die Rede.
Ist das nicht eine sehr hohe Flankenanstiegsgeschwindigkeit?
25*10^-9Sekunden

Nö, für eine halbweg fixe TTL-Logik ist das eher lahm.
Da sind Anstiegszeiten im einstelligen ns auch kein Hexenwerk.

Nun zu meinen konkreten Fragen:
Wie werden solche Signale denn verschliffen?

Dazu wurde ja schon einiges geschrieben.
Praktisch ist es oft so, das der Ausgang eines Microcontrollers (MC)
nicht leistungsfähig ist, sprich einen recht hohen Innenwiderstand hat
(z.B. im Bereich von 100 Ohm bis kOhm).

Wirkt die lange Leitung gegen das hochfrequente Enable Signal
von max 25ns wie eine Spule?

Auch, aber erster Linie stellen die Leitungen parasitäre Kapazitäten
dar, die über den Innenwiderstand des MC umgeladen werden müssen.
Du hast da also einen Tiefpass, dessen Zeitkonstante aus R und C
abzuschätzen ist.

Was ist mit der Abhilfe durch einen Pullup-Widerstand gemeint.

Einmal braucht man ja eine Flanke, in dem Fall also z.B. eine
Low-High-Flanke. Wenn der MC diese nicht fix genug hoch bekommt,
kann man durch einen Pull-Up-Widerstand das Umladen von
Low-Pegel nach High-Pegel unterstützen.

In die andere Richtung muß der MC dann natürlich diesen Laststrom
auch mit treiben.

Viele MC haben unsymetrischen Ausgänge, die gegen Masse einen
recht hohen Strom Treiben können (z.B. 10…20mA), aber gegen
+Ub schaffen die nur 1…2mA. In dem Fall sind zusätzliche
Pull-Up (also gegen +Ub) gut geeigent, um diesem Umstand gegen
zu wirken.

Dann gibt es auch MC mit Open-Drain-Ausgängen. Diese brauchen
dann natürlich zwingend einen Pull-Up, um überhaupt was ausgeben
zu können. Evtl. sind da auch Pull-Up schon integriert, aber diese
haben dann eher sehr hohe Werte (z.B. 20…50kOhm) und können deshalb
auch nur sehr langsam Kapazitäten umladen.

Schließt man das Enablesignal mit einem 10KOhm Widerstand
gegen +5V, sodass es leichter und schneller gegen 5V
hochgezogen werden kann?

Ja, evtl. sind auch noch kleinere Pull-Up sinnvoll (z.B. 2,7k…4,7k)
Dadurch steigt natürlich der Strombedarf bei Low.

langsamere Ansteuerung über Ports:
Wie kann ich einen Port langsamer ansteurn? Kann diesen doch
nur Ein- und Ausschalten. Gut, ich kann die Wartezeit über
delay vergrößern, ist das gemeint?

Ja, eben (z.B. NOPs einfügen).
Die Flankensteilheit verbessert das aber nicht, nur Latenzzeiten
werden damit abgefangen.
Die Flankensteilheit kann kritisch sein, wenn eben flankengetriggerte
Eingänge damit angesteuert werden sollen, die selbst keinen
ausreichende Hysterese (Schmidt-Trigger) haben.

Wozu brauche ich eine aktive Schirmung? Was ist das bitte
überhaupt? Das interessiert mich auch.

???
Schirmung allg. ist sinnvoll, um Störabstrahlung und Störfestigkeit
deutlich zu erhöhen. Eine Schaltung, die gerade funktioniert ist noch
lange kein industrietaugliches Gerät.
Gruß Uwi

Hallo Hilarion,

vielen Dank für Deine ausführliche Antwort.
Ich habe so weit alles verstanden und konnte Deine Ausführungen gut nachvollziehen. :smile: Das freut mich.

Du hast geschrieben als Leitungstreiber kommt ein MOSFET in Frage.

Benutze ich den anstatt eines Transistors, weil dieser stromlos geschaltet wird und wir nicht gerade viel Strom durch den Ausgang des uC bekommen?

Falls Du also mit dem Mikro keine ausreichend hohe Flankenqualität erreichen kannst, schalte einen MOSFET-Treiber an den Ausgang des µC. Dieser treibt dann das Signal durch die Leitung zum LCD.

Ich habe es so verstanden, dass das Display nur die fallende Flanke auswerte und dann dieDAten einliest. Diese Flanke muss also schnell absinken.
Dann wäre anstatt eines Pull-up doch ein Pull down wichtiger. In der Beschreibung steht aber man soll einen Pull-up verwenden komisch.

Welche Frequenz hat den meine Signalflanke auf dem Oszischirm, wenn man das bei dem einem Signal überhaupt sagen könnte. :frowning: Oder wie bestimme ich die Freuquenz?
6ms ist es high geschaltet f=1/T --> 166Hz

Obwohl ich sehr zweifle so die Geschwindigkeit meines Signals bestimmen zu können.

Solange die Übertragungsrate zwischen Deinem Display und dem µC bis schätzungsweise 200kHz ist, dürfte es kein Problem sein mit 20cm Leitungslänge.

Viele Grüße, MAtthias.

Guten Abend Uwi,

vielen Dank auch Dir für Deine Hilfe. Ich konnte soweit alles gut nachvollziehen und habe mir Eure Ausführungen aufbereitet und abgespeichert.

Einen schönen Abend noch wünscht Matthias.

Details
Hallo Matthias,

Du hast geschrieben als Leitungstreiber kommt ein MOSFET in Frage.

Nicht ganz. Ich habe geschrieben MOSFET-Treiber. Das ist ein IC, welches speziell dafür geeignet ist, MOSFET-Transistoren anzusteuern. Vor allem Leistungs-MOSFET-Transistoren (MOSFET ist übrigens die Abkürzung für: Metal-Oxyd-Semiconductor-Field-Effect-Transistor) haben eine recht große Eingangskapazität (einige Nano-Farad) und diese bewirkt, dass die MOSFETs erst dann ganz ein- bzw. ausgeschaltet sind, wenn diese Eingangskapazität vollständig aufgeladen, bzw. entladen ist.
Kleinsignal-MOSFETS (bis ca. 5A) haben natürlich eine wesentlich kleinere Eingangskapazität und können eher von einem Mikrocontroller-Port betrieben werden, ohne dass die Schaltgeschwindigkeit sonderlich leidet.
Wenn aber Leistungs-MOSFETs mit einigen hundert kHz geschaltet werden, muss die Eingangskapazität ständig auf- und entladen werden, und zwar in sehr kurzer Zeit. Dies geht nur, wenn die Ansteuerschaltung einen sehr niedrigen Innenwiderstand hat. Ein normales Gatter oder Mikrocontroller-Port hat nicht die passenden Eigenschaften, um einen Leistungs-MOSFET mit hoher Frequenz anzusteuern, daher gibt es diese speziellen IC´s.
Da MOSFET Treiber so einen geringen Innenwiderstand haben, also hohe Pulsströme (bis 9A, allerdings nur bei 18V Betriebsspannung) liefern können, eignen sie sich auch besonders gut als Leitungstreiber, d.h. Spannungspegel an langen, kapazitiv belasteten Leitungen zu erzeugen.

Benutze ich den anstatt eines Transistors, weil dieser stromlos geschaltet wird und wir nicht :gerade viel Strom durch den Ausgang des uC bekommen?

Versuche erst einmal das LCD ohne jegliche extra-Maßnahmen direkt mit dem Mikro anzusteuern. Nur wenn es Probleme gibt, also die Datenübertragung nicht einwandfrei klappt, müssen geeignete Maßnahmen ergriffen werdn. Geeignet bedeutet, finde erst heraus, was die Ursache des Problem ist und dann entscheide was zu tun ist.
Falls Du also mit dem Mikro keine ausreichend hohe
Flankenqualität erreichen kannst, schalte einen MOSFET-Treiber an den Ausgang des µC. Dieser treibt dann das Signal durch die Leitung zum LCD.

Ich habe es so verstanden, dass das Display nur die fallende Flanke auswertet und dann die Daten einliest. Diese Flanke muss also schnell absinken. Dann wäre anstatt eines Pull-up doch ein Pull down wichtiger. In der Beschreibung steht aber man soll einen Pull-up verwenden komisch.

Wie schon von anderer Seite aus geantwortet wurde, können manche ICs mehr Strom nach Masse ziehen als bei HIGH-Pegel liefern. In diesem Falle wäre ein pull-up ratsam, weil bei sehr hohen Übertragungsraten jede zusätzliche Mikrosekunde auch bei der ansteigenden Flanke zum Problem werden könnte.
Wenn ein IC aber den Strom genausogut nach Masse ziehen kann wie es bei HIGH-Pegel liefert, dann macht ein pull-up in der Tat keinen Sinn, wenn die abfallende Flanke beschleunigt werden soll. Hier wäre dann - wie Du richtig geschlussfolgert hast - ein pull-down ratsam.
Teste Deine Schaltung aber erst mal ohne jegliche Maßnahme. Es kann gut sein, dass bei Dir überhaupt keine Maßnahme nötig ist.

Welche Frequenz hat denn meine Signalflanke auf dem Oszischirm, wenn man das bei dem einem Signal überhaupt sagen könnte. :frowning:
Oder wie bestimme ich die Freuquenz?
6ms ist es high geschaltet f=1/T --> 166Hz

Eine Signalflanke hat keine Frequenz sondern nur eine Anstiegs- oder Abfallzeit. Die Anstiegszeit wird gemessen ab 10% Signalpegel bis 90% Signalpegel (bzw. von 90% bis 10% bei der abfallenden Flanke). Eine Frequenz kannst Du nur bei sich wiederholenden Signalen bestimmen, z.B. wenn Datenbits übertragen werden, die aus gleich langen HIGH-und LOW-Pegeln bestehen. Bei Einzelsignalen redet man eher von Pulsdauer.

Zurück zur Frequenzbestimmung: Du misst die Zeit, die ein paar Datenbits dauern, und teilst den Zeitwert durch die Anzahl der Datenbits. Somit erhältst Du die Periodendauer eines Daten-HIGH, bzw. LOW-Bits. Der Kehrwert der Periodendauer ergibt dann die Daten-Übertragungsfrequenz.

Grüße,
Hilarion

1 „Gefällt mir“

Guten Morgen Hilarion,

wieder vielen Dank für Deine Antwort.

Jetzt habe ich das mit dem MOSFET-Treiber verstanden. Man kann ihn also genauso gut bei Leitungen einsetzen, da diese kapazitiv belegt sind.

Ansonsten funktionierte mein LCD von Anfang an einwandfrei ohne irgendwelche weiteren Maßnahmen.
Ich habe mir den Beispielcode aus dem Netz erarbeitet und angepasst, läuft super.
Ich habe auch bewusst beim zweiten Aufbau eine längere Flachbandleitung von 40cm genommen, um Erfahrungswerte zu generieren, ob es dann auch noch klappt und es geht. :smile:

Hier auf dem Bild siehst Du gut, dass es klappt.
http://s7.directupload.net/file/d/2276/8meau5vt_jpg.htm

Viele Grüße und einen schönen Freitag wünscht, Matthias.