Hallo, weiß jemand wie man beim RS485 mit MAX487 Bausteinen feststellt, ob der Bus gerade benutzt wird? Danke, Gruß, Leo
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.