mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kollisionserkennung bei RS485


Autor: AndyW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

wie realisiere ich bei RS485 die Kollisionserkennung?

Habe das Datenblatt der MAX-Familie studiert und es scheint so, als wenn
es keinen dominanten/rezessiven Pegel wie beim CAN gibt.

Das Prinzip der Kollisionserkennung (Arbitrierung etc.) ist mir bekannt,
mir geht es nur um die Umsetzung speziell bei RS485.

Habe irgendwo im Netz gelesen, daß der Transmitter immer dann
disabled und damit der Ausgang hochohmig wird, wenn der Sender keinen 
dominaten Pegel auf den Bus gibt (ob die 1 oder 0 dominant ist, sei 
jetzt mal dahingestellt)

Für ein paar sachdienliche Bemerkungen wäre ich sehr dankbar!

MFG
Andy

Autor: Sebastian Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz einfach. Transmitter und Receiver gleichzeitig einschalten 
(deswegen haben die auch separate Enable-Eingänge), und beim Senden 
prüfen, ob die gerade gesendeten Daten genauso wieder im Empfangspuffer 
des UART ankommen. Früher hätte man das eine Hinterbandkontrolle 
genannt. Klappt nur bei Mikros, bei denen Sende- und Empfangsregister 
separate Adressen haben, vermute ich. Wenn zurückgelesenes Byte ungleich 
gesendetes Byte, dann Kollision.

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider ist der Transmitter des RS485-Bausteins derartig niederohmig, 
dass etwaige Kurzschlüsse, wie sie bei Kollisionen auftreten, nicht 
detektiert werden können, da der Leitungswiderstand grösser als der 
Widerstand des Transmitters ist.
Die Diskussion hatten wir schon vor ein paar (mehr) Tagen.

Andersherum wird ein Schuh draus: Man kann CAN-Transceiver für eine 
RS485-Kommunikation verwenden, da sie etwas anders arbeiten.

Autor: AndyW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Danke für die schnellen Antworten!

Bestätigt sich also meine Vermutung, d.h. es gibt bei RS485 keinen 
dominanten Pegel, wenn zwei Transmitter enabled sind und der eine "0" 
und der andere eine "1" sendet?

Was meint Ihr zu dem obigen Punkt Transmitter disablen bzw. gibt es da 
eine Möglichkeit der Kollisionserkennung auf diesem Weg ?


MFG
Andy

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für RS485 Multimaster heisst das Stichwort Kollisionsvermeidung, nicht 
Kollisionserkennung. Ist aber eher was für Masochisten.

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann mich A.K. nur anschliessen: RS485 ist nur als Multimaster 
nutzbar, wenn meistens Ruhe auf dem Äther herrscht..

Autor: Fritz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo AndyW,

vielleicht noch eine Ergänzung. Beim Senden ist der Buffer/Treiber zu 
aktivieren und es darf immer nur einer senden. Das Aktivieren kann bei 
einem Umsetzer RS232 auf RS485 mitunter auf drei Arten erfolgen.

1. Durch Ausgabe von Zeichen auf die RS232 wird der Buffer aktiviert. 
Das benötigt einen Mikrocontroller vor dem Treiber. Ein "Pegelumsetzer" 
genügt dabei nicht.

2.oder 3.
Durch setzten der RTS (oder DTR) Leitung vor der Datenübertragung wird 
der Umsetzer aktiviert. Leider ist es dann mit dem Hyperterminal nicht 
mehr möglich zu arbeiten.

   Gruß fritz

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.