Forum: Mikrocontroller und Digitale Elektronik Woran kann man feststellen, dass der Bus gerade benutzt wird


von Leopold (Gast)


Lesenswert?

Hallo,
weiß jemand wie man beim RS485 mit MAX487 Bausteinen feststellt, ob der
Bus gerade benutzt wird?
Danke,
Gruß, Leo

von Dirk Schnitzler (Gast)


Lesenswert?

Hallo Leopold!

Google mal nach "Arbitration".
Das Prinzip sieht folgendermaßen aus:

-Sendeleitung auf "High" legen
-Pegel einlesen
-Pegel = "High" ?
-> Ja-> Gut
-> Nein-> Nix gut :)

-Zu übertragendes Byte ausschieben
-Jedes Bit kontrollieren
-Auf Ungleichheit prüfen...

Gruß, Dirk.

von Peter D. (peda)


Lesenswert?

Das ist einer der Hauptnachteile von RS-485 gegenüber CAN, es geht
nicht.

Man muß durch das verwendete Protokoll absichern, daß immer nur einer
zur Zeit senden darf.


Z.B. ist einer immer der Master und der sagt dann einem Slave, daß er
jetzt senden darf.
Hat dieser das Senden beendet oder innerhalb einer bestimmten Zeit
nichts gesendet, geht die Sendeerlaubnis wieder an den Master zurück
und der kann dann den nächsten Slave adressieren.


Eine andere Möglichkeit ist, ein sogenanntes Token kreisen zu lassen,
und nur der, der gerade das Token empfangen hat, darf senden und wenn
er fertig ist, sendet er das Token an den nächsten usw.

Dabei ist aber auch eine Fehlerbehandlung durchzuführen für den Fall,
daß versehentlich 2 Token kreisen, bzw. das Token verloren gegangen
ist.


Eine Arbitrierung wie bei CAN ist nicht möglich, d.h. im Falle einer
Kollision müssen beider Sender und alle Empfänger die Nachricht
verwerfen, den Konflikt auflösen und das Senden wiederholen.


Peter

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.