Forum: Mikrocontroller und Digitale Elektronik Übertragungsrate / -frequenz einer CAN-Nachricht


von Taha L. (taha_l)


Lesenswert?

Hallo zusammen!

In Wik heißt es: Es wird zwischen einem Highspeed- und einem 
Lowspeed-Bus unterschieden. Bei einem Highspeed-Bus beträgt die maximale 
Datenübertragungsrate 1 Mbit/s, bei Lowspeed 125 kbit/s.

Meine Frage:

Wenn ich eine Nachricht habe, die 8 Bits lang ist (8x 1 oder 0), über 
CAN verschicken will, welche Frequenz kann ich erreichen?

ist das so?: 1 Mbits/s = 1 bit/µs => meine Nachricht braucht dann 8 µs 
anzukommen. Erst danach kann ich eine neue schicken?

von Frank K. (fchk)


Lesenswert?

Taha L. schrieb:

> Wenn ich eine Nachricht habe, die 8 Bits lang ist (8x 1 oder 0), über
> CAN verschicken will, welche Frequenz kann ich erreichen?
>
> ist das so?: 1 Mbits/s = 1 bit/µs => meine Nachricht braucht dann 8 µs
> anzukommen. Erst danach kann ich eine neue schicken?

Schau Dir den Aufbau eines Paketes an:

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

von Jan (Gast)


Lesenswert?

Nein, weil das Datenpaket aus mehr als nur den Daten besteht. Einer 
Markierung für Anfang und Ende, die ID der Message, Prüfsummen usw. Des 
Weiteren lässt sich die Geschwindigkeit auch nur theoretisch unter 
optimalen Gesichtspunkten berechnen, weil es auf dem Bus noch eine 
Prioritätenunterscheidung der Messages gibt. Hat deine Nachricht die du 
messen willst eine hohe Id, also eine geringe Priorität, und kommt 
zeitgleich(eher nahezu) mit einer Nachricht mit niedriger ID an einem 
Knoten an, dann wird zuerst die Nachricht mit der niedrigen ID weiter 
geleitet. Das heißt deine Nachricht wurde aufgehalten.

Die Baudrate gibt eher einen Aufschluss auf die Menge der Daten auf dem 
Bus als auf die Geschwindigkeit. Die Geschwindigkeit hängt weiter noch 
von der länge der Leiter und der Anzahl der Teilnehmer. Wichtiger beim 
CAN-Bus ist, dass die Nachrichten mit einem zuverlässigen Takt versendet 
werden. Bis CAN werden Echtzeitsysteme vernetzt. Die, wie ich finde, man 
auch Rechtzeitsysteme nennen könnte. Die Daten kommen also Rechtzeitig 
innerhalb des gewünschten Taktes an.

Ich hoffe ich habe jetz keinen Mist erzählt :)

von Taha L. (taha_l)


Lesenswert?

Frank K. schrieb:
> Taha L. schrieb:
>
>> Wenn ich eine Nachricht habe, die 8 Bits lang ist (8x 1 oder 0), über
>> CAN verschicken will, welche Frequenz kann ich erreichen?
>>
>> ist das so?: 1 Mbits/s = 1 bit/µs => meine Nachricht braucht dann 8 µs
>> anzukommen. Erst danach kann ich eine neue schicken?
>
> Schau Dir den Aufbau eines Paketes an:
>
> http://de.wikipedia.org/wiki/Controller_Area_Network#Frame-Aufbau

zusammengerechnet sind es dann 52 Bit pro Nachricht. Ist dann meine 
Annahme mit der Frequenz richtig? sprich pro 52 µs kann ich neue 8 Bits 
verschicken?
(Annahme Leitungslänge sind nicht mal 1 m).
Anzahl der Teilnehmer soll 8 sein, alle bekommen die gleich Nachricht 
und jeder nimmt sich einen bit davon, so mein Plan/Wunsch :-)

von Anja (Gast)


Lesenswert?

Taha L. schrieb:
> zusammengerechnet sind es dann 52 Bit pro Nachricht. Ist dann meine
> Annahme mit der Frequenz richtig? sprich pro 52 µs kann ich neue 8 Bits
> verschicken?

Du vergisst die "stuff bits" und die "interframe bits"

Gruß Anja

von Thomas (kosmos)


Lesenswert?

Uns außerdem kann man auch mehrere Bytes in ein CAN Frame stecken 
wodurch der Overhead im Verhältniss kleiner wird.

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.