Forum: Mikrocontroller und Digitale Elektronik RS485 Busbelegung berechnen


von Markus (Gast)


Lesenswert?

Hallo allerseits,

wie die Überschrift schon verrät würde ich gerne wissen wie man beim 
RS485 die Busbelegung berechnen kann.

Leider bin ich trotz meiner Suche nicht fündig geworden.
Ich würde mich sehr freuen wenn ihr mir weiterhelfen könnt.

Vielen Dank,
Markus

von H.Joachim S. (crazyhorse)


Lesenswert?

Was ist eigentlich die Frage?

von Jobst M. (jobstens-de)


Lesenswert?

Verflucht! Ich hab's immer ohne Berechnung der Busbelegung gemacht.

Ich hatte nie Zweifel, dass etwas daran nicht richtig sein könnte. Aber 
nun ...?

Gruß
Jobst

von Andreas B. (bitverdreher)


Lesenswert?

Markus schrieb:
> Ich würde mich sehr freuen wenn ihr mir weiterhelfen könnt.

Wenn Du mal erklaerst, was Du da berechnen willst, koennte man ja 
drueber nachdenekn.

von Markus (Gast)


Lesenswert?

Also es geht um folgendes :

Wenn ich eine Busleitung habe die ich anzapfekann ich berechnen wie sehr 
der Bus ausgelastet ist?

von Olaf (Gast)


Lesenswert?

Fuer statische Signale duerfte es irrelevant sein weil dann wohl die 
beiden Abschlusswiderstaende die hoechste Last darstellen.

Bei dynamischen Signalen kann das theoretisch anders sein. Dann 
koenntest du schauen welcher Strom dein schwaechster Treiber liefern 
kann, ausrechnen welche Kabelkapazitaet du hast und dann schauen ob die 
Anstiegszeit zu deiner genutzten Baudrate passt.

Olaf

von A. S. (Gast)


Lesenswert?

Wie viel Teilnehmer elektrisch noch gehen?

Wie viel Telegramme mehr gehen?

Anteil Daten/Pausen?

Anteil Nutzdaten?

von Purzel H. (hacky)


Lesenswert?

Die Buslast vom timing her is am Besten visualisiert mit einem 
Oszilloskop. Die elektrische Buslast ist auch am besten visualisiert mit 
einem Oszilloskop. Die Signale werden kleiner mit zunehmender Anzahl 
knoten.
Die Pausen auch. Die Nutzdaten wuerde bedeuten dass das Protokoll 
bekannt ist

: Bearbeitet durch User
von DerEgon (Gast)


Lesenswert?

Sofern es um die rein elektrische Belastung geht: Oszilloskop & 
Augendiagramm.

von Peter D. (peda)


Lesenswert?

Jobst M. schrieb:
> Verflucht! Ich hab's immer ohne Berechnung der Busbelegung gemacht.

Naja, ins Datenblatt sollte man schon schauen:
Standard Transceiver können bis 32 an einem Bus hängen.
Bei 1/4-unit-load receiver (MAX487) sind es bis zu 128.

von Jobst M. (jobstens-de)


Lesenswert?

Peter D. schrieb:
> Standard Transceiver können bis 32 an einem Bus hängen.
> Bei 1/4-unit-load receiver (MAX487) sind es bis zu 128.

Und was muss ich da nun berechnen?
Zählen und vergleichen reicht nicht?
Oder ist das schon die Berechnung?

Gruß
Jobst

von Sascha W. (sascha-w)


Lesenswert?

Markus schrieb:
> Also es geht um folgendes :
> Wenn ich eine Busleitung habe die ich anzapfekann ich berechnen wie sehr
> der Bus ausgelastet ist?
Also wieviele Daten übertragen werden??
Da könnte man die Zeiten messen die mit Telegrammen belegt sind (z.B. 
über eine Stunde messen) und dann im Verhältnis zur Gesamtzeit setzen. 
Wie nah man bei der Berechnung jedoch an 100% herangehen kann hängt auch 
davon ab wie die Daten übertragen werden. In einem Single-Master Bus wo 
jede Übertragung vom Master initiiert wird kann man sicher bis nah an 
100% kommen, bei Multi-Master sieht das Aufgrund von 
Kollisionsmöglichkeiten schon anders aus.

Sascha

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Vielleicht meint er ja den effektiven Datendurchsatz? Da ist so bei ca. 
70% die Sättigungsgrenze erreicht, wenn die Teilnehmer sich keine Mühe 
machen beim Synchronisieren und die Datenpakete alle ähnlich lang sind.

von Wolfgang (Gast)


Lesenswert?

Markus schrieb:
> wie die Überschrift schon verrät würde ich gerne wissen wie man beim
> RS485 die Busbelegung berechnen kann.

Nimm die aktuelle Auslastung und teile sie durch die bei deinem 
Protokoll maximal mögliche.
Je nach dem, wie deterministisch dein Datenverkehr auf dem Bus ist, 
wirst du um Statistik nicht drumherum kommen. Und es hängt natürlich 
sehr von deinem Protokoll ab, was passiert, wenn der Bus kurzzeitig 
überlastet wird.

von Kurt (Gast)


Lesenswert?

Was ist denn bei RS485 anders, als in/auf anderen Kommunikationskanälen?

Welche maximale Datenmenge muss mit welcher worst-case-Datenrate im 
erlaubten Zeitraster übermittelt, oder ausgetauscht werden? Menge 
geteilt durch Rate sollte hübsch unter 1 liegen. Dann klappt es.

Im erforderlichen Zeitraster sollten alle Busteilnehmer die Gelegenheit 
bekommen, wichtige Meldungen zeitnah abzuliefern, den Rest der 
Übertragungskapazität können die "Dauer-Plapperer" nutzen.

Das ist aber keine Frage des Bussystems, sondern des 
Übertragungsprotokolls
mit den für die Funktion des Systems notwendigen "Benimmregeln"...

von Max M. (Gast)


Lesenswert?

Markus schrieb:
> RS485 die Busbelegung

Wozu?
RS485 ist ein klassisches Master/Slave Bussystem.
Der Master fragt jeden Slave einzeln ab und der Slave hat ein enges 
Zeitfenster zum Antworten.
So kann der Master den Bus mit 100% Auslastung betreiben und jede 
Priorisierung fahren die er meint.
Vielleicht dauert ein Zyklus mal länger, wenn eine Übertragug wiederholt 
werden muss, WENN das Protokoll das so vorsieht, aber der Bus ist immer 
so deterministisch wie das Protokoll und der Master es bestimmen.

So richt übel wird es wenn die 'Multimaster auf RS485' Fraktion wieder 
mit feucht glänzenden Augen das mit ungeeigneter HW + SW machen will was 
CAN in HW löst, nämlich CSMA/CD.
Jeder feuert wie er meint, Konflikte werden nur schlecht erkannt, 
umständlich aufgelöst, jedes deterministische Verhalten geht den Bach 
runter und bei über 50% Auslastung kollabiert der Bus völlig.
Bravo!

von Stefan F. (Gast)


Lesenswert?

Welche Auslastung willst du berechnen, die elektrische oder die 
zeitliche?

Die elektrische Auslastung hängt von der Anzahl der Busteilnehmer, deren 
Eingangs-Ströme und den Leitungskapazitäten ab.

Die zeitliche Auslastung hängt davon ab, wann und wie lange Daten 
übertragen werden, sowie von den Timing-Anforderungen deines Protokolls.

Ohne den nötigen Input können wir dir nichts vorrechnen. Und mit Input 
braucht man dazu nicht mehr als die vier Grundrechenarten. Bist du 
sicher dass du das nicht selbst schaffst?

von Thomas E. (rc_flyer)


Lesenswert?

Stefan F. schrieb:
> Welche Auslastung willst du berechnen, die elektrische oder die
> zeitliche?
>
> Die elektrische Auslastung hängt von der Anzahl der Busteilnehmer, deren
> Eingangs-Ströme und den Leitungskapazitäten ab.
>
> Die zeitliche Auslastung hängt davon ab, wann und wie lange Daten
> übertragen werden, sowie von den Timing-Anforderungen deines Protokolls.
>
> Ohne den nötigen Input können wir dir nichts vorrechnen. Und mit Input
> braucht man dazu nicht mehr als die vier Grundrechenarten. Bist du
> sicher dass du das nicht selbst schaffst?

Hallo,

ich habe eine ähnliche Fragestellung und habe mich durch das Forum 
geklickt bis ich schließlich auf diesen Betrag aufmerksam geworden bin.

Ich möchte gerne die Busauslastung messen/ermitteln und die maximale 
Anzahl an Teilnehmern herausfinden.
Maximal 32 sollten es je nach Protokoll sein aber wie sieht es in der 
Praxis aus?

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.