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?
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.
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.
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.
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
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.
> 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 ;-)
> 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...
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 ;-).
> 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.
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.
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.