mikrocontroller.net

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


Autor: Bart123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Sascha W. (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bart123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk B. (falk)
Datum:

Bewertung
0 lesenswert
nicht 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_Netw...

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.

Autor: Amateur (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bart123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.