Forum: Mikrocontroller und Digitale Elektronik Bitrate beim CAN-Bus


von Georg (Gast)


Lesenswert?

Ich habe zum CAN-Bus eine Frage.
Wenn ich einen CAN-Bus mit einer Datenrate von R=1Mbit/s betreibe,
wie groß ist dann die Symbolfrequenz (Einheit=Symbol/s) und der Faktor k 
(1 Symbol besteht aus k bits -> Wertigkeit M=2^k) ?

Eigentlich müsste die Symbolfrequenz fs=1Mhz betragen und k=1 oder?

von Weiss es besser (Gast)


Lesenswert?

Ist der Can-Bus nicht analog??
Codiert über Sinussignale die in der frequenz und Amplitude 
unterschiedlich sind?

von holger (Gast)


Lesenswert?

>Codiert über Sinussignale die in der frequenz und Amplitude
>unterschiedlich sind?

Nicht nur das, die sind auch noch phasenverschoben.
SCNR;)

von Georg (Gast)


Lesenswert?

Mit dem Oszi kann ich ja ein Frame anschauen. Da sehe ich keine 
Sinuswellen oder dergleichen. Ich kann doch eigentlich diese Berechnung 
R=k*fs durchführen. Bei CAN-Bus müsste k eigentlich 1 sein. Dies steht 
für ein bit pro Sekunde. Ich kann eure ausführungen leider nicht 
nachvollziehen.

von (prx) A. K. (prx)


Lesenswert?

Beim CAN Bus wird ja mit Bitstuffing gearbeitet, d.h. es wird nach 5 
gleichen Bits eines hinzugeführt. Wenn man eine zufällige Verteilung der 
Daten annimt, dann ergeben sich in 2/32 der Fälle auf 5 Bits 6 Symbole. 
Folglich gilt näherungsweise k=log2(1-2/32). Bei anderer Verteilung der 
Daten sieht das natürlich anders aus, die Frage lässt sich also ohne 
Kenntnis der zu übertragenden Daten überhaupt nicht abschliessend 
beantworten.

von Georg (Gast)


Lesenswert?

Stimmen also meine Betrachtungen so nicht. Ok das Bitstuffing hab ich 
nicht miteinbezogen. Was meinst du mit 32 bit? Wenn dies hier ausrechne 
bekomme ich k=log2(1-1/32)=-0,045803... heraus.

von Georg (Gast)


Lesenswert?

Eigentlich müsste ich ja nur ein bit betrachten. Und da müssten meine 
Ausführungen stimmen.

von (prx) A. K. (prx)


Lesenswert?

Kleiner Tip: Manche Leute enwickeln bei Beantwortung offen erkennbarer 
Hausaufgaben eine gewisse Kreativität...

von Georg (Gast)


Lesenswert?

Beispiel:

Einzelnes Bit hat eine Zeitdauer von 8 μs.
Die Bitzeit des Busses beträgt 8 μs.

1 bit / 8 μs

= 0,125 Bit / 1 μs

=125000 Bit / 1 s

= 125 kBit /  1 s

Die Übertragungsrate des Busses beträgt also

125 kBit / s.

Also ist R = 125 kBit / s

von Sven T. (svent)


Lesenswert?

Weiss es besser schrieb:
> Ist der Can-Bus nicht analog??
> Codiert über Sinussignale die in der frequenz und Amplitude
> unterschiedlich sind?

Definitiv NEIN.
CAN ist komplett digital. Ohne sinuide, Modulation oder sonstiges.

S.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> 1 Symbol besteht aus k bits
> bekomme ich k = log2(1-1/32)= -0,045803... heraus.

also HALBE bits kenne ich ja (bei der RS232 Übertragung).

das es ja aber schon NEGATIVE (und dann auch noch analoge) bits gibt, 
muß wohl eine Weiterentwicklung sein, die an mir vorbeigegangen ist.

Aber ich gebe zu: Auch die Entwicklung negativer Schwingungen (z.B. -50 
Hz) habe ich irgendwie verpasst.

Naja, es gibt ja auch Antimaterie, also warum nicht auch sowas ;-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Eigentlich müsste die Symbolfrequenz fs=1Mhz betragen und k=1 oder?
Irgendwie ist mir das viel zu theoretisch...
Was mich als Anwender auf dieser Ebene ausschliesslich interessiert ist 
doch:
1. wie hoch ist die maximal auftretende Frequenz (Kabelauswahl)
und
2. wie hoch ist meine Netto-Datenrate

> Eigentlich müsste die Symbolfrequenz fs=1Mhz betragen und k=1 oder?
Wenn ich in Google die Begriffe bitrate symbolfrequenz eingebe, komme 
ich bei FSK raus. Wenn ich dann den Begriff can mit dazunehme, findet 
sich nichts mehr...

von (prx) A. K. (prx)


Lesenswert?

Dass Tante Gugel nichts findet heisst nur, dass die Fragestellung so 
exotisch ist, dass es noch niemand so formuliert hat. Aber ganz daneben 
ist sie aus höherer Sicht nicht, denn beispielsweise bei Ethernet ist 
die Betrachungsweise über Symbolfrequenz und Symbole durchaus 
berechtigt.

Nur sollte man davon ausgehen, dass auch Lehrpersonal googeln kann. 
Insofern kann so jemand durchaus mal auf den Gedanken kommen, Fragen zu 
stellen, die sich nachweislich nicht bereits nach 2 Minuten Web in 
Wohlgefallen auflösen.

Zur Sache mit den negativen Bits... Wenn man jemanden auf den Arm nimmt, 
dann ist der Effekt besser, wenns derjenige auch merkt. Hat hier aber 
offenbar trotzdem nicht funktioniert, sorry ;-).

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Insofern kann so jemand durchaus mal auf den Gedanken kommen, Fragen zu
> stellen, die sich nicht nach 2 Minuten Web in Wohlgefallen auflösen.
Da würden mir aber auch schnell einige einfallen, deren Beantwortung die 
Welt weiter brächten und das Leben vereinfachen würden:
Warum funktionieren von 5 Prototypen immmer nur 3? Und wie kann ich die 
anderen 2 von vorn herein aussortieren?
Warum ist der Pin, an dem ich löten will, immer von anderen Bauteilen 
verbaut?
Warum ist am Ende des Geldes noch soviel Monat übrig?

Zum Thema:
Wenn ich bei der Berechnung der Symbolrate das Bitstuffing einberechnen 
muß, dann muß ich ja wohl auch den Header und den Identifier mit 
einbeziehen, eine CRC...
Dann muß mir erst mal einer genau definieren, was ein Symbol ist.

von (prx) A. K. (prx)


Lesenswert?

Lothar Miller schrieb:

> Da würden mir aber auch schnell einige einfallen, deren Beantwortung die
> Welt weiter brächten und das Leben vereinfachen würden:

Jo, aber das sind keine Klausurfragen, sondern Themen für 
Doktorarbeiten.

von zoggl (Gast)


Lesenswert?

schau dir den framaufbau an:
Wikipedia:
Bits
1 Start
11/29 ID
1 Remote
1 ext
1 res
4 länge
64 Daten
15 prüf
1 CRC D
1 ack
7 EOF
3 inter
3 Idle

gibt bei short ID 49 bit overhead für 64 bit daten
gibt bei long ID 67 bit overhead für 64 bit daten
dazu kommen im extremfall pro 5 bit i stuffing die kombinationen die 
möglich sind kannst du dir selber ausrechnen (wenn remote=1 keine daten, 
wenn daten X folgt crc Y ob sich daraus eine ungünstige bitekombi 
ergibt)
ich setze hierfür Immer 131/5 oder 113/5 26,2 oder 65,5 stuffing bits.
ergibt im worst case 135,6 (157,2) bit gesamtlänge für 64 bit.
jetzt kommkst du bei 1 MHz mit 7,3746 (6,3613) kbit rechnen auf deine 
wortzahl musst du selber kommen.
denk aber bloß nicht daran einen CAN so auzulasten, de bleibt kein platz 
mehr für fehler messages oder wiederholen der Daten.

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.