Forum: Mikrocontroller und Digitale Elektronik RS485 codier-problem (?!)


von Muffinman (Gast)


Lesenswert?

Hallo Leute,

kurz das Grundsetting, dann das Rätsel ;)

Ich Empfange via RS422 Nachrichten auf meinem Bus. Zwischen zwei AVR 
Controllern am Bus klappt das wunderbar und es kommen auch die 
gesendeten Zeichen an.

Nun habe ich am PC (der später Master werden soll) mittels eines 
USB-RS422 Converters mitgelauscht. (M-Ware Rs422 converter).

Ich sende die Zeichenkette "12345" auf den Bus via peter fleurys uart 
library.

Rauskommt:

³vV6þ

oder mit verdrehten data+ und data- leitungen:

L¦&Só


===========
Baudrate stimmt und es kommen auch 100 mal diese Zeichenketten, wenn ich 
sie 100 mal sende.

Aber ich schaff beim besten Willen nicht drauf zu kommen wie diese 
Zeichenketten mit den hex werten von "12345" oder der invertierung der 
bits zusammenhängt.

Also ich bin für Lösung wirklich mehr als dankbar!
Auch schon eine Rätselhilfe reicht mir. Irgendwie müssen die dinger ja 
zusammenhängen.

Euer Muffin ;)

von Muffinman (Gast)


Lesenswert?

Ahja, senden klappt wunderbar... ich denk es funktioniert schon nur 
irgendwo wird irgendwas verwurstelt... :(

von Matthias B. (matthias_b14)


Lesenswert?

Vielleicht stimmt die Anzahl der Datenbits nicht. Ich hatte so was mit 
einem Logikanalysator mit dem man Zeichen erkennen kann. Da musste man 7 
Datenbits für die korrekte Erkennung einstellen (Im Terminal aber 8).

Ansonsten könnte es noch ein Timing-Problem sein. Eventuell 
interpretiert der Empfänger die Zeichen falsch weil er das Start/ 
Stopbit nicht richtig erkennt. Das hatte ich erst neulich und hab mich 
auch ewig gefragt woran das liegt das ich nur Kauderwelsch erhalte. Hier 
hat ein delay zwischen dem Umschalten geholfen. Nutz zur Zeit ein delay 
von 3ms zwischen senden und empfangen um solchen Problemen vorzubeugen. 
(Umschalten zwischen senden/Empfang bei einem Max485)

Ob das nun aber auch bei dir hilft weiß ich net. Hast du aber sicher 
schnell getestet;)

von Tim (Gast)


Lesenswert?

Terminierung? Bias?
also: +5V 620R Bus-A 120R Bus-B 620R GND

von Muffinman (Gast)


Lesenswert?

Im Moment keine Widerstände drann.

Allerdings:

- Der Bus funktioniert zwischen 2 AVR perfekt. Nur der USB-Adapter 
versteht "das komische Zeug oben"

- Nur 38400 baudrate

- Wenn ich RX und TX vom adapter via Büroklammer verbinde kann ich im 
Terminal ganz normal schreiben, bekomme also ein fehlerloses Echo

- Senden vom Adapter zu den AVR klappt!

von Dieter Werner (Gast)


Lesenswert?

RS422 ist eine Punkt zu Punkt Verbindung - kein Bus.

Es wäre deshalb möglich, dass der Adapter seinen Sender nicht abschaltet 
und das Ergebnis ist der Kampf von zwei Sendern gegeneinander.

von Muffinman (Gast)


Lesenswert?

was ich meine ist rs485 duplex

also 4 leitungen  (rx+ rx- tx+ tx-)

die transceiver bei den AVR sind ISL3150EIUZ


Im moment hängen entweder zwei avr oder ein avr und der converter drann. 
also nur 2 teilnehmer.

von Stefan W. (dl6dx)


Lesenswert?

Muffinman schrieb:
> Nun habe ich am PC (der später Master werden soll) mittels eines
> USB-RS422 Converters mitgelauscht. (M-Ware Rs422 converter).

Interessant. Ein solcher hat auch hier nicht richtig gearbeitet. Hab ihn 
dann weggelegt.

Als Alternative habe ich schnell einen zweikanaligen "Sniffer" mit 
26LS32 als RS422-Empfänger gefädelt, der über einen MAX232 zwei 
RS232-Ports (Mitlesen beider Richtungen) bedienen kann.

Grüße

Stefan

von Dietrich L. (dietrichl)


Lesenswert?

Muffinman schrieb:
> - Nur 38400 baudrate

Wie groß ist der Baudratenfehler bzw. welcher Takt wird verwendet mit 
welcher Einstellung der Baudrate?

Gruß Dietrich

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.