Forum: Mikrocontroller und Digitale Elektronik RS485


von Max (Gast)


Lesenswert?

Hallo,

Ich hätte eine Frage und zwar: was heißt bei einer RS485 Schnittstelle
mit Modbusprotokoll "Man hört sicch selber" bzw. "Man hört sein Echo
mit".
Wie geht das oder wie ikann man sich das technisch vorstellen.
Vielen Dank und lg

von thkais (Gast)


Lesenswert?

Man kann sich das so vorstellen, dass TX (serieller Ausgang) und RX
(serieller Eingang) miteinander verbunden sind (im übertragenen
Sinne).
Jedes Zeichen, das über TX gesendet wird, wird gleichzeitig von RX
empfangen. So kann man im Prinzip auch feststellen, ob eine Kollision
auf dem Bus vorgekommen ist, nämlich dann, wenn die empfangenen Daten
nicht identisch mit den gesendeten sind.

von Detlef Wilken (Gast)


Lesenswert?

Das bedeutet, das das gesendete Byte (gesendet von Controller A) ein
Interrupt im Controller A auslöst (also nicht nur in Controller B,
C..., sondern auch im eigenen.

Dieses ist von der HW abhängig. Allerdings weiß ich nur, dass bei den
Max-Treibern sicher ein Echo zurückgesendet wird. Ob das bei Typen
anderer Hersteller auch ist, kann ich nicht genau sagen. Ich vermute
mal, dass das immer so ist

Vorteil bei den Echos: Man kann feststellen, ob das, was gesendet
wurde, auch tatsächlich so auf das Netzwerk rausgegangen ist (Man kann
dadurch zum Beispiel Datenkollisionen erkennen.


Gruß
Detlef

von Rahul D. (rahul)


Lesenswert?

Normalerweise besitzen RS485-Treiber (auch Transceiver genannt) jeweils
einen Pin mit dem man das Senden oder das Empfangen unterdruecken
kann.
Wenn man nun nur den fuer das Senden steuert, weil man einen
Multimaster-Bus hat, dann empfaengt man seine eigenen Daten als Echo.
Wie thkais schon bemerkte ist es damit prinyipiell moeglich,
Kollisionen zu erkennen. Allerdings sind die Treiber so niederohmig,
dass das recht schwierig ist.
CAN ist da dann etwas besser.
Im Regelfall, also wenn man das Echo unterdruecken will, werden die
beiden Pins zusammengeschlossen - interessanterweise ist der eine
naemlich High-aktiv und der andere Low-aktiv - dadurch schaltet man
zwischen Senden und Empfangen um.
Uebrigens gilt das nur fuer den 2-Wire-RS485-Bus, da es beim 4-Wire-Bus
ein Paar Sendeleitungen und ein Paar Empfangsleitungen gibt.

von Peter Dannegger (Gast)


Lesenswert?

"Wie thkais schon bemerkte ist es damit prinyipiell moeglich,
Kollisionen zu erkennen. Allerdings sind die Treiber so niederohmig,
dass das recht schwierig ist. CAN ist da dann etwas besser."


CAN ist nicht nur etwas, sondern bei weitem besser:

Wenn auch nur ein CAN-Gerät der Meinung ist, die Daten nicht richtig
verstanden zu haben, fügt es einen Errorframe an und damit wissen alle
(auch der Sender), daß diese Nachricht ungültig ist. Außerdem gibt es
keine Kollisionen bei CAN in der Arbitrierungsphase (Adressierung),
sondern nur im Datenpaket.


Bei RS485 dagegen reichen schon 10 Ohm Leitungswiderstand aus, daß
beide kollidierenden Sender nichts davon mitkriegen.
Deshalb muß bei Multimaster RS-485 grundsätzlich mit Empfangsquittungen
gearbeitet werden.


Peter

von Joline (Gast)


Lesenswert?

"mit Modbusprotokoll"

ist - wie schon der Name vermuten lässt - einfach ein Protokoll, das
u.a. auf der Hardwarebasis RS485 verschiedene Master und Slaves mit
einander verbindet. Dieses Protokoll wird u.a. in der
Automatisierungstechnik verwendet und ist ein sog. Feldbus-Protokoll.
Siehe auch: http://www.modbus.org/

Man muss also unterscheiden zwischen Hardware: 'RS485' und Software:
in dem Falle 'Modbus-Protokoll'. Auf der Hardwarebasis RS485 können
jedoch (fast) beliebig andere Protokolle benutzt werden.

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.