Schönen guten Tag,
ich habe eine Frage und habe nicht so wirklich eine Antwort gefunden.
Beim Suchen hier im Form habe ich als Antwort gelesen das man eine UART
Verbindung zwischen 1 und 1000 Meter aufbauen kann.
mh... naja das finde ich etwas "ungenau" würde ich sagen^^
Also folgendes in Kurzfassung:
Zwei Platinen, auf beiden ist ein Atmega1284P Montiert.
Diese beiden Chips müssen über RXD und TXD miteinander Verbunden werden.
Die Leitungslänge zwischen den Platinen beträgt max. 6 Meter.
Die Platinen werden über 3 Kupferleitungen mit 0,14mm Querschnitt
Verbunden. ( TXD, RXD, GND )
Wie sollte ich vorgehen?
kann ich die beiden direkt mit einander Verbinden auf dieser entfernung?
oder sollte/muss ich direkt hinter Platine A ein Max232 setzen und dann
am ende wieder ein Max232 ??
würde mich über eine Antwort freuen ;)
Stefan schrieb:> kann ich die beiden direkt mit einander Verbinden auf dieser entfernung?
Nein. 6 Meter Leitung (egal welcher Couleur) an einem Digitalausgang
sind "nicht so optimal".
> oder sollte/muss ich direkt hinter Platine A ein Max232 setzen und dann> am ende wieder ein Max232 ??
Ja. Damit hast du auch bereits im Protokoll die Möglichkeit zu
einem einfachen Übertragungstest (Parity Prüfung).
isidor schrieb:> Ja. Damit hast du auch bereits im Protokoll die Möglichkeit zu> einem einfachen Übertragungstest (Parity Prüfung).
was hat der MAX232 mit Protokoll oder Parity zu tun?
Bei 19200 und 6m würde ich auch einen MAX232 verwenden.
der hat garnicht damit zu tun ;)
es geht darum das ich glaube das bei der länge die 5volt von atmega
soweit abfallen das am ende nichts mehr ankommt.
Wenn ich aber ein Max232 dazwischen klatsche dann läuft das ganze doch
mit viel größeren Pegeln ( 15Volt ) wenn dort 2-3 Volt abfallen dürfte
das nicht so gravierent sein wie bei 5Volt oder?
Stefan schrieb:> es geht darum das ich glaube das bei der länge die 5volt von atmega> soweit abfallen das am ende nichts mehr ankommt.
Spannung fällt nur ab wenn Strom fließt, das dürfte hier aber nicht der
Fall sein.
> Wenn ich aber ein Max232 dazwischen klatsche dann läuft das ganze doch> mit viel größeren Pegeln ( 15Volt ) wenn dort 2-3 Volt abfallen dürfte> das nicht so gravierent sein wie bei 5Volt oder?
Es geht um Störungen, da die Spannung einmal Positiv und einmal Negativ
und dazu noch einen höheren Pegel hat ist die Übertragung sicherer.
@Stefan (Gast)
>kann ich die beiden direkt mit einander Verbinden auf dieser entfernung?
Kann man machen.
>oder sollte/muss ich direkt hinter Platine A ein Max232 setzen und dann>am ende wieder ein Max232 ??
Empfehlen würde ich es. Nicht, weil die Spannung vom AVR nicht reicht,
sondern eher, weil die MAX232 robuster gegenüber ESD etc. sind.
Für eine kleine Bastelei geht es aber auch ohne.
>es geht darum das ich glaube das bei der länge die 5volt von atmega>soweit abfallen das am ende nichts mehr ankommt.
Das passiert sicher nicht. Denn er Empfänger (RXD-Pin) verbraucht
praktisch keinen Strom (Mikroampere!). Da gibt es keinen
Spannungsabfall.
Was ein Problem werden kann ist der Spannungsabfall auf der Masse, wenn
einer der beiden AVRs über ein langes Kabel vom anderen AVR-Board
versorgt wird. Dann kann es dort Probleme mit der Masseverschiebung und
dem Spannungsabfall geben.
ok danke für eure antworten...
werde dann also zwei max232 verwenden.
Der Atmega sollte genug Saft bekommen, denn die Versorgungsleitung zum
Atmega wird mit 12Volt belegt. Natürlich ist der Atmega nicht direkt mit
12Volt verbunden wird natürlich vorrher runter geregelt ;)
Also ich habe ausgerechnet das der Leitungswiderstand dann bei knapp 6
Metern nur 0,8 Ohm beträgt... wie kommst du denn darauf das da 2-3Volt
abfallen?
Peter II: ohne den Querschnitt zu kennen?
Stefan schrieb:> Die Leitungslänge zwischen den Platinen beträgt max. 6 Meter.> Die Platinen werden über 3 Kupferleitungen mit 0,14mm Querschnitt> Verbunden. ( TXD, RXD, GND )
Peter II schrieb:> ohne den Querschnitt zu kennen?Stefan schrieb:> Die Platinen werden über 3 Kupferleitungen mit 0,14mm Querschnitt> Verbunden. ( TXD, RXD, GND )
Also ich denke wenn das Kabel gut abgeschirmt ist und der Schirm mit den
Massen verbunden ist steht dem TTL auch nichts im Wege... auch bei
höheren Baudraten...
Vielleicht wäre auch der Einsatz eines LTC485
(http://www.mikrocontroller.net/part/LTC485) zu überlegen. Vorteile:
nicht so viele Kondensatoren erforderlich, kleineres Gehäuse, noch
höhere maximale Leitungslänge. Nachteile: zwei Adern pro Signal
erforderlich, liegt nicht in der Bastelkiste ;-) (bei mir allerdings
schon)
Martin schrieb:> Also ich denke wenn das Kabel gut abgeschirmt ist und der Schirm mit den> Massen verbunden ist steht dem TTL auch nichts im Wege... auch bei> höheren Baudraten...
Das kommt drauf an, welche kapazitive Last dadurch am TTL-Ausgang hängt
und welchen Strom er liefern kann.
Martin schrieb:> Also ich denke wenn das Kabel gut abgeschirmt ist und der Schirm mit den> Massen verbunden ist steht dem TTL auch nichts im Wege... auch bei> höheren Baudraten...
Da kann man sich auch täuschen!
Das Hauptproblem dürften hier Reflexionen sein, die zu falschen Bits und
zu Überschwingern (Verletzung der Maximum Ratings beim Eingang) führen
können.
Wenn aber man die beiden TX-Ausgänge mit Serienterminerung an die
Leitung anpasst, dann sind die Chancen ganz gut, dass es klappt.
Wenn schon Treiber und keine PC-Anbindung, und Länge nur ein paar Meter,
dann kann man auch an RS422 statt RS232 denken. ICs 8pin ohne Caps,
dafür 2 Adern mehr.
Joachim B. schrieb:> damit sind dann auch unterschiedliche Versorgungsspannungen der beiden> egal, einer 5V einer 3,3V z.B.
Bei einer Übertragung nach RS232C mit +-12 V ist das sowieso egal. Die
Pegel auf der Leitung haben nichts zu tun mit 3,3 oder 5V-Versorgung,
die sind genormt.
Georg
Georg schrieb:> Bei einer Übertragung nach RS232C mit +-12 V ist das sowieso egal. Die> Pegel auf der Leitung haben nichts zu tun mit 3,3 oder 5V-Versorgung,> die sind genormt.
lesen und verstehen wäre nett......
1. halten sich nicht alle an die Pegel! Die +-12V werden nicht immer
eingehalten.
2. direkte Verbindung der beiden m1284p ist möglich aber eben nur zu
empfehlen wenn beide dieselben Vcc haben, deswegen empfahl ich
Serienwiderstände in die Leitung 470-1000 Ohm dann kümmert sich die
Eingangsschutzbeschaltung mit den Ableitdioden um Differenzen und die
Serienwiderstände begrenzen die Ströme.
Nun beweise mir das jedes mit RS232 titulierte Gerät mit +-12V arbeitet
und sich an die "Norm" hält.
Joachim B. schrieb:> 1. halten sich nicht alle an die Pegel! Die +-12V werden nicht immer> eingehalten.
Mehr als 12V ist reichlich selten, wobei aber 15V zulässig sind. Beim
betragsmässig unteren Wert (3V) wirds freilich oft etwas knapp.
Insbesondere wenn eine der Seiten mit Vampirspeisung arbeitet.
Joachim B. schrieb:> 1. halten sich nicht alle an die Pegel! Die +-12V werden nicht immer> eingehalten.
warum sollte sie sich auch an die 12V halten?
> Für die Datenleitungen (TxD und RxD) wird eine negative Logik verwendet, > wobei
eine Spannung zwischen −3 V und −15 V (ANSI/EIA/TIA-232-F-1997)
> eine logische Eins und eine Spannung zwischen +3 V und +15 V eine> logische Null darstellt. Signalpegel zwischen −3 V und +3 V gelten als> undefiniert.
Georg schrieb:> Bei einer Übertragung nach RS232C mit +-12 V ist das sowieso egal.A. K. schrieb:> Mehr als 12V ist reichlich selten,Peter II schrieb:> warum sollte sie sich auch an die 12V halten?A. K. schrieb:> Wers gern formell hat, hier der Standard zu den Pegeln von V.24:
manno, viel Gelaber und was hilft das bei der Frage vom TO ?
Hauptsache ihr habt hier was geschrieben?
Stefan schrieb:> Zwei Platinen, auf beiden ist ein Atmega1284P Montiert.> Diese beiden Chips müssen über RXD und TXD miteinander Verbunden werden.> Die Leitungslänge zwischen den Platinen beträgt max. 6 Meter.> Wie sollte ich vorgehen?>> kann ich die beiden direkt mit einander Verbinden auf dieser entfernung?
Kommt drauf an. Wenn du sicherstellen kannst, daß es keine
Potientialprobleme gibt (weil keins oder nur zumindest nur eins der
Geräte über seine Stomversorgung geerdet ist), dann dürfte es im
Allgemeinen genügen, einen Längswiderstand geeigneter Größe am Empfänger
einzufügen, um über 6m recht zuverlässig 19,2kBps fahren zu können.
Geschirmtes und verdrilltes (STP) Kabel ist dabei natürlich Pflicht, das
gilt allerdings ganz genauso, wenn du RS232-Pegel für die
Übertragungsstrecke benutzt.
Der möglicherweise entscheidende Punkt ist allerdings: Bei der
Verwendung einer korrekten RS232-Strecke mit den entsprechenden Pegeln
ist die Wahrscheinlichkeit für eine fehlerfreie Übertragung deutlich
höher. Mit Fehlern muß man allerdings auch bei RS232-Pegeln jederzeit
rechnen.
Deshalb entscheidet letztlich die Möglichkeit, Fehlertoleranz in's
Protokoll einzubauen und damit die zwingend benötigte Netto-Datenrate.
Wenn 19,2kBps gerade genügt, um die benötigte Nettorate zu
transportieren und somit keine Luft für Redundanz bleibt, wäre es auf
jeden Fall sinnvoll, physisch RS232-Pegel zu verwenden. Dasselbe gilt
übrigens auch, wenn man keine Ahnung hat, wie man den Datentransport mit
Redundanz ausstatten könnte...
@ HildeK (Gast)
>> Also ich denke wenn das Kabel gut abgeschirmt ist und der Schirm mit den>> Massen verbunden ist steht dem TTL auch nichts im Wege... auch bei>> höheren Baudraten...>Da kann man sich auch täuschen!>Das Hauptproblem dürften hier Reflexionen sein, die zu falschen Bits und>zu Überschwingern (Verletzung der Maximum Ratings beim Eingang) führen>können.
Nun übertreib mal nicht! Es ging um 19200 BAUD! Selbst bei 115200 BAUD
ist ein BIT immer noch ~10us lang. Irgendwelche Reflektionen laufen sich
bei 6m Kabel in weniger als 1us tot, da passiert bei UART rein GAR
NICHT!
>Wenn aber man die beiden TX-Ausgänge mit Serienterminerung an die>Leitung anpasst, dann sind die Chancen ganz gut, dass es klappt.
Geht auch ohne, man muss nicht immer mit dem Fahrradhelm auf Klo gehen.
Wenn dein Kabel einen Schirm hat und keine anderen Signale mit
übertragen werden, und du Halbduplex fährst möchte ich wetten, dass es
bei 19,2 und 6m ohne geht.
Falk Brunner schrieb:>>Wenn aber man die beiden TX-Ausgänge mit Serienterminerung an die>>Leitung anpasst, dann sind die Chancen ganz gut, dass es klappt.>> Geht auch ohne, man muss nicht immer mit dem Fahrradhelm auf Klo gehen.
aber es schadet nix, der Serien R in der Leitung hilft ja auch Ströme
durch unterschiedliche VCC zu begrenzen, so ein 470 Ohm in der Rx und Tx
Leitung hilft mehr als er schädigt, vor allem hilft er den Schutzdioden
vor übermäßigem Strom.
Also wenn Du es professionell für eine Serienlösung machen willst MUSST
Du einen Treiber verwenden. Fürs Basteln zuhause KANN es auch ohne
gehen. Ich würde in jedem Fall einen Treiber verwenden. Das spart Dir
später Ärger und Fehlersuche.
Gruß
Florian
Mit (echter) RS232 und 20m Kabel ("Datenkabel unbekannten Tyos) waren
38400 stabil, bei 57600 machte Z-Modem die ersten Wiederholungen.
Passt auch recht gut zu einer Tabelle bei wikipedia, die sagt 19200 bei
15m.
6m mit 19200 und TTL-Pegel würde ich nichtmal privat in der Bastelbude
machen, da kämen MAX223 ran.
Es ist sehr langweilig, Fehler zu suchen, die durch Störungen im Umfeld
nur sporadisch auftraten...
Gruß aus Berlin
Michael
Michael U. schrieb:> Es ist sehr langweilig, Fehler zu suchen, die durch Störungen im Umfeld> nur sporadisch auftraten...
Manche Erfahrung muss man selbst machen, und zwar so dass sie
weh tut. Auch wenn man nach Rat fragt, hilft er oft nicht bzw.
er dringt nicht in den Fragenden ein.
Ist auch schwierg in einem Forum wo einem zu beiden von zwei
in Frage kommenden Versionen geraten wird.
Mitleser schrieb:> Ist auch schwierg in einem Forum wo einem zu beiden von zwei> in Frage kommenden Versionen geraten wird
Ja, leider. Im Netz findet man eben zu allem auch das Gegenteil. Selbst
wenn jemand 100 MBit Ethernet über eine nasse Wäscheleine übertragen
will, findet sich hier noch jemand der behauptet, das wäre überhaupt
kein Problem.
Georg