Forum: Mikrocontroller und Digitale Elektronik Baudrate und Anzahl möglicher Übertragung


von Bart123 (Gast)


Lesenswert?

Hallo zusammen,

Wie berechne ich (richtig) die Anzahl möglicher Messkanäle (Abtastrate 
1kHz) bei einer CAN Übertragungs Baudrate von 1MBaud/s?

Ist mein Ansatz richtig?

CAN Übertragung=     1MBaud/s
Abtastrate pro Kanal=     1kHz
Wortlänge (1 Wert = 2byte))=  16bit

D.h. ich hätte pro Kanal mindestens 16.000 Bit pro sekunde.
Somit könnte ich maximal 1.000.000 / 16.000 = 62,5 Kanäle übertragen. 
Ist das soweit richtig?

Dazu müsste ich aber noch die Übertragungsbits (start/stop) pro Wert 
oder Packet dazu rechnen.
Weiss jemand wieviele bits pro Wert ungefähr dazu kommen?
Wenn ich von einem start und stop bit ausgehen würde, wären es also 18 
bis pro Wert und damit maximal 55,56 Kanäle.

Weiterhin habe ich gelesen, dass die Übertragung bis 60% Auslastung gut 
funktionieren. somit hätte ich nicht 1MBaud/s
sondern nur in Wirklichkeit 600kBaud/s: 600.000 / 18.000 = 33,3 Kanäle.
Wäre meine Berechnung so OK? Oder habe ich irgendwas vergessen?

Gruß

von Sascha W. (sascha-w)


Lesenswert?

Bart123 schrieb:
> Hallo zusammen,
>
> Wäre meine Berechnung so OK? Oder habe ich irgendwas vergessen?
ganz sicher hast du da was vergessen, nämlich das ein CAN-Frame auch 
noch etliche Adressierungsbits und CRC-Bits hat die in Summe mehr als 
deine 16Bit Nutzdaten sind.

https://de.m.wikipedia.org/wiki/Controller_Area_Network

Die Auslastung von 60% kommt daher das CAN ein Multi-Master-System ist 
und somit immer Kollisionen entstehen können. Wenn du nur A mit B 
verbindest kannst du die Bitrate ausschöpfen.

Sascha

von Bart123 (Gast)


Lesenswert?

Hallo,

Danke für den Link und die Info.

Also müsste ich pro Wert (2byte) noch ca. 16bit (11bit Kanal-ID, 1 stopp 
bit, 1 start bit und x bit für CRC) dazu zählen? Oder wäre dies immer 
noch zu wennig?

Also müsste die Auslegung so ungefähr hinkommen:

CAN Übertragung=     1MBaud/s
Abtastrate pro Kanal=     1kHz
Wortlänge (1 Wert = 2byte))=  16bit + 16bit(Adressierung usw.) = 32bit

D.h. ich hätte pro Kanal mindestens 32.000 Bit pro sekunde.
Somit könnte ich maximal 1.000.000 / 32.000 = 31,25 Kanäle übertragen.

Würde man noch weiter mit der 60% Auslastung der CAN-Bus 
Übertragungsrate rechnen, also 600kBaud/s anstatt der 1MBaud/s.
Würden nur in Wirklichkeit 600.000 / 32.000 = 18,75 Kanäle möglich sein.

Wäre meine Berechnung jetzt so OK? Oder habe ich noch irgendwas 
vergessen?

Gruss

von Falk B. (falk)


Lesenswert?

@ Bart123 (Gast)

>Also müsste ich pro Wert (2byte) noch ca. 16bit (11bit Kanal-ID, 1 stopp
>bit, 1 start bit und x bit für CRC) dazu zählen? Oder wäre dies immer
>noch zu wennig?

Vielleicht mal weniger raten und einfach mal einen CAN-Frame im Buch 
anschauen?

https://de.wikipedia.org/wiki/Controller_Area_Network#Frame-Aufbau

CAN hat im Base Frame Format eine Telegrammlänge von min. 47 Bit + 
Daten, macht bei 16 Bit Daten halt 63 Bit.

>CAN Übertragung=     1MBaud/s
>Abtastrate pro Kanal=     1kHz
>Wortlänge (1 Wert = 2byte))=  16bit + 16bit(Adressierung usw.) = 32bit

Nö.

>D.h. ich hätte pro Kanal mindestens 32.000 Bit pro sekunde.
>Somit könnte ich maximal 1.000.000 / 32.000 = 31,25 Kanäle übertragen.>Wäre meine Berechnung jetzt so OK? Oder habe ich noch irgendwas
>vergessen?

Ja.


Kleiner Tipp an Rande. Wenn man pro CAN-Frame nur 2 Bytes überträgt, hat 
man eine lausige Netto-Datenrate von 16/63~25%
Sinnvollerweise packt man also möglichst viele Daten in einen CAN-Frame, 
bei 8 Byte hat man immerhin schon 57% Auslastung.

von Amateur (Gast)


Lesenswert?

Diese ganzen Samstagsnachmittagsrechnungen gelten nur bei schönem 
Wetter, geringem Wind und mittlerer Luftfeuchtigkeit.
Auch Nettodaten plus Drum-Herum gelten nur unter bestimmten Bedingungen.
... und vor allem, wenn Du allein auf weiter Flur bist.
Hast Du das Ganze in der Hand, so mach’s wie Falk geschrieben hat und 
pack so viel wie sinnvoll einen Frame.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Und ganz lustig wird die Geschichte wenn man das Bitstuffing von CAN 
noch mit betrachtet. Dann ist die Nutzdatenrate auch noch vom Inhalt der 
Nachrichten abhängig. Ist alles andere als trivial das Thema.

Matthias

von Bart123 (Gast)


Lesenswert?

Danke für Eure schnellen Antworten!

Jetzt kann ich auf jeden Fall schon besser einschätzen was möglich 
ist......und zwar nicht soviel wie ich dachte!

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.