Can Bus

Hallo,

kann mir bitte jemand sagen, ob meine Rechnung für Buslast stimmt:
Baudrate: 100kBaud
Abtastzeit 0,5ms
6 Identifier mit je 8Byte

Rechnung:
1000kBaud => 1000kBit

bei 0,5ms also 1/0,5msec = 2000Messenger/sec => 16000Byte/sec => 128kBit

bei der Übertragung von 6 Identifiern mit je 8Byte => 768kBit

dies entspricht einer Last von 77%

Die Last von 77% würde keine Probleme bei der Übertragung bereiten. Treten jedoch Fehler bei der Übertragung auf, so würden fehlerhafte Telegramme wiederholt, dies führt wiederum zu einer Erhöhung der Buslast. Schon bei einer einzigen Wiederholung würde die Last auf ca. 90% ansteigen.

Stimmt das???

Gruss,
Alexander

Hallo Alexander,

CAN ist jetzt nicht gerade meine Spezialität…

kann mir bitte jemand sagen, ob meine Rechnung für Buslast
stimmt:
Baudrate: 100kBaud
Abtastzeit 0,5ms
6 Identifier mit je 8Byte

Rechnung:
1000kBaud => 1000kBit

  1. Gegenüber oben ist da eine 0 mehr ??
  2. Baud ist nicht gleich Bit/s, das kommt auf die codierung der Symbole an. 1 zu 1 ist ein Sonderfall, könnte aber hier stimmen.

bei 0,5ms also 1/0,5msec = 2000Messenger/sec =>
16000Byte/sec => 128kBit

bei der Übertragung von 6 Identifiern mit je 8Byte =>
768kBit

dies entspricht einer Last von 77%

Ich komme auf
2’000 Messages/s * 6 Identifier * 8 Bit = 96’000 Bit/s

Was jetzt noch nicht berücksichtigt ist:

  1. Wieviele Bits werden benötigt um 8 Bits zu übertragen. Bei einer einfachen asynchronen Übertragung kommen da noch 1 Start- und 1 Stop-Bit hinzu, evtl. noch ein ParityBit. Bei HDLC musst du mit 8.5 Bit rechnen.
  2. so eine Message ist noch verpackt, da werden noch Adressen und andere Informationen, wie Prüfsummen usw. mit übertragen.
  3. Sind da noch andere Geräte am Bus ???

Stimmt das???

Also ich komme da auf über 100%, also wird das so nix.

MfG Peter(TOO)

Hallo Peter,

  1. Gegenüber oben ist da eine 0 mehr ??

???

  1. Baud ist nicht gleich Bit/s, das kommt auf die codierung
    der Symbole an. 1 zu 1 ist ein Sonderfall, könnte aber hier
    stimmen.

Wie rechnet man Baud in Bit/s um?

  1. Sind da noch andere Geräte am Bus ???

Ja, ich weiß aber nocht wie und wie oft diese senden.

Stimmt das???

Also ich komme da auf über 100%, also wird das so nix.

MfG Peter(TOO)

Hallo,

kann mir bitte jemand sagen, ob meine Rechnung für Buslast
stimmt:
Baudrate: 100kBaud

Bei CAN wird tatsächlich Baud in Bit/sek umgerechnet.
Ein Bit dauert also 10us.

Abtastzeit 0,5ms

0,5ms = 500us Es passen also max. 50Bit in die 0,5ms.

6 Identifier mit je 8Byte
Rechnung:
1000kBaud => 1000kBit

  1. Gegenüber oben ist da eine 0 mehr ??

Eben, entweder 100KBaud oder doch 1MBaud ?

  1. Baud ist nicht gleich Bit/s, das kommt auf die codierung
    der Symbole an. 1 zu 1 ist ein Sonderfall, könnte aber hier
    stimmen.

Bei CAN klappt das so.

bei 0,5ms also 1/0,5msec = 2000Messenger/sec =>
16000Byte/sec => 128kBit
bei der Übertragung von 6 Identifiern mit je 8Byte =>
768kBit

Also im Kopf habe ich das Protokoll auch nicht, aber hier ist es
beschrieben.
http://www.me-systeme.de/canbus.pdf

Demnach hat das Standardprotokoll 46Bit + Datenbytes.
Mit mind. 1 datenbyte also schon mal 54Bits!

Damit wird’s bei 100KBaud in 0,5ms schon mal nix mehr.
Gruß Uwi

Hallo Fragewurm,

  1. Gegenüber oben ist da eine 0 mehr ??

???

Einmal steht da:
Baudrate: 100kBaud
etwas weiter unten steht dann:
Rechnung:
1000kBaud => 1000kBit

  1. Baud ist nicht gleich Bit/s, das kommt auf die codierung
    der Symbole an. 1 zu 1 ist ein Sonderfall, könnte aber hier
    stimmen.

Wie rechnet man Baud in Bit/s um?

Das geht nur wenn man das Übertragungs-Format kennt:
Baud gibt die Schrittgeschwindigkeit an also die Zustandswechsel auf der Übertragungsstrecke pro Sekunde.

Bit/s gibt die Anzahl Bits an, welche preo Sekunde übertragen werden.
:wink:)

Ein kleines Beispiel:
Du hast zwei Zustände:
„0“ = 0V
„0“ = 5V
und eine Leitung.

Wenn du nun 1’000Bit/s übertragen willst benötigst du für jedes Bit 0V oder 5V auf der Leitung, im schlechtesten Fall (010101010…) wechselt der Pegel also 1’000 mal pro Sekunde, du benötigst also 1’000Baud Bandbreite.

Wenn du jetzt die gleichen 1’000Bit/s mit 8 paralellen Leitungen übertragen kannst, geht die Baudrate auf 1/8 zurück. Also
nach wie vor 1’000Bit/s
aber nur noch 125 Baud.

Oder du verwendest mehrere Pegel:
1V = „00“
2V = „01“
3V = „10“
4V = „11“
Da du nun pro SChritt zwei Bits übertragen kannst hast du bei:
1’000Bit/s nur noch
500Baud.

  1. Sind da noch andere Geräte am Bus ???

Ja, ich weiß aber nocht wie und wie oft diese senden.

Dann musst du von der Übertragungs-Kapazität deren Bedarf auch noch abziehen. Dann kommen noch die Probleme mit den Proritäten und der Länge der entsprechenden Telegramme hinzu.

MfG Peter(TOO)