mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bitrate beim CAN-Bus


Autor: Georg (Gast)
Datum:

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

Autor: Weiss es besser (Gast)
Datum:

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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Codiert über Sinussignale die in der frequenz und Amplitude
>unterschiedlich sind?

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

Autor: Georg (Gast)
Datum:

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

Autor: A. K. (prx)
Datum:

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

Autor: Georg (Gast)
Datum:

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

Autor: Georg (Gast)
Datum:

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

Autor: A. K. (prx)
Datum:

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

Autor: Georg (Gast)
Datum:

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

Autor: Sven T. (svent)
Datum:

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

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

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

Autor: A. K. (prx)
Datum:

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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

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

Autor: A. K. (prx)
Datum:

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

Autor: zoggl (Gast)
Datum:

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

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.