Forum: Mikrocontroller und Digitale Elektronik Sendet CAN zuerst das MSB oder das LSB Byte


von gurke (Gast)


Lesenswert?

Hi
Sendet CAN zuerst das MSB oder das LSB Byte
(im Datenbereich)
MFG

von bafdsa (Gast)


Lesenswert?

das mittlere zuerst bis zum lsb, dann beginnt es beim msb und sendet die 
lezten 4 bits

gruss

von gurke (Gast)


Lesenswert?

idiot

von Behilflicher (Gast)


Lesenswert?

MSB!
Aber Du holst die Daten doch eh aus'm Register des Can-Controllers. 
Insofern ist doch egal..

von Bensch (Gast)


Lesenswert?

Was erwartest du bei DER Frage? Denk mal nach.

von gurke (Gast)


Lesenswert?

ne ich mess mit dem Oszi
und beim LIN war es zb umgekehrt

von Bensch (Gast)


Lesenswert?

> und beim LIN war es zb umgekehrt

umgekehrt als was?

Gestern war's auch kälter als draussen....

von gurke (Gast)


Lesenswert?

beim lin hat man doch auf einem oszi bild
im datenbereich das lsb zuerst

von Daniel D. (daniel1976d)


Lesenswert?

Was heisst den zuerst auf dem Oscar... rechts oder links?

von edson (Gast)


Lesenswert?

ok, du hast also ein Oszi und du hast CAN-Geräte. Warum probierst du es 
nicht einfach aus und sendest ein Datenbyte mit 80h oder 01h?

von ich bekomm das kotzen (Gast)


Lesenswert?

hier sind anscheinend nur schlaumeier unterwegs

von Kai G. (runtimeterror)


Lesenswert?

@ ich bekomm das kotzen

Geht mir auch so - ich habe mangels CAN-knowhows immer noch nicht 
verstanden, was die Leute für ein Problem mit der Frage haben.

Außerdem war die Frage ob zuerst das High- oder das Low-Byte gesendet 
wird - was bringt es dann 0x10 oder 0x08 zu senden? Das erzählt dir 
eigentlich nur was über die Bit-Order.

Kann sich vielleicht ein Wissender mal dazu durchringen die Frage in 
einem ganzen Satz zu beantworten?

Hier gibt's nur einen halbwegs gescheiten Beitrag zu dem Problem!

von Behilflicher (Gast)


Lesenswert?

Dann in ganzen Sätzen:
Das Datenframe des CANs kann aus bis zu 8 Bytes bestehen. Das MSB jedes 
Datenbytes wird zuerst gesendet.

Ganz ehrlich, ich fand die Frage zunächst auch komisch. Da die 
Reihenfolge für den Anwender ja ziemlich egal ist. Aber wenn man den CAN 
genau analysieren will, macht es schon Sinn.

Der Vorschlag von edson ist aber schon sinnvoll. Es heißt ja nicht 
umsonst Probieren geht über studieren!

von und nu (Gast)


Lesenswert?

hier geht jeder davon aus das man eine perfekt aufgebautes
system zuhause hat mit dem man alles mal schnell ausprobieren kann

von Behilflicher (Gast)


Lesenswert?

Hmm...
Stimmt, um die Zeit ist man hoffentlich nimmer auf der Maloche!
Habe gerade Kai's Beitrag nochmal genauer gelesen.
Lautet Deine Frage, welches Byte zuerst gesendet wird, wenn ein Wert 
mehr als 8 bit umfasst?
Dann kann ich Dir nämlich keine verbindliche Antwort geben. Allerdings 
läuft es bei dem Interceptor, den ich verwende so, dass da das 
niederwertigste Byte zuerst kommt. Würde daher mal vermuten, dass es 
immer so ist. Aber wie gesagt, keine Garantie.

von Kai G. (runtimeterror)


Lesenswert?

@Behilflicher
Danke für deine Antwort soweit!

Wenn das Protokoll generell Byte-orientiert arbeitet, wird's keine Regel 
für die Reihenfolge geben. Sender und Empfänger müssen dann dasselbe 
"Protokoll" verwenden - CAN dürfte dafür nicht mehr zuständig sein.

ps: Ich kann's übrigens auch nicht mal eben ausprobieren - habe 
keinerlei Equipment - war aber dennoch an der Antwort interessiert.

von und nu (Gast)


Lesenswert?

also wenn ich zwei fertig programmierte can stationen habe
wo alles perfekt funktioniert

dann braucht man keinen oscar zum analysieren
und die frage ob das msb oder lsb zuerst kommt stellt sich dann auch 
nicht

das ist auch mir klar.

es geht hier allerdings um den Aufbau und um die programmierung

von und nu (Gast)


Lesenswert?

was ist das für ne antwort mal eben 80h oder 01h
schon mal was von stuffingbit gehört
wenn zb ein fehler im programm vorliegt kann ich schicken was ich
will und ich erhalte immer noch datesnchrott

von Behilflicher (Gast)


Lesenswert?

@Kai
Es ist schon spät heute. Bei Werten, die z.B. 2 Byte umfassen, wie bei 
meinem Interceptor, der Identifier, wird das LSB zuerst gesendet.
Ansonsten, also bei den Datenbytes, muss der Anwender definieren wie's 
gesendet wird.

@und nu
Führe Dir das Datenblatt von Deinen CAN-Controllern gut zu Gemüte, 
verkabel das ganze einfach mal, und probiere drauf los. Meist ist das 
der Weg, der am schnellsten zu was führt.
Wünsche viel Erfolg!

von Kai G. (runtimeterror)


Lesenswert?

@ Behilflicher
Ich war jetzt auch nur vom Datenbereich (wie vom Opener angegeben) 
ausgegangen. Aber dass der Rest Little-Endian ist nehme ich gerne noch 
als Info mit :)

>Es ist schon spät heute.
Hmm... stimmt auffällig ;)

Gute Nacht!

von Knut macht mir mut (Gast)


Lesenswert?

kann es sein das Kai Giebeler und  Behilflicher
die gleichen leute sind

von Kai G. (runtimeterror)


Lesenswert?

Nope - bzw. will ich nicht hoffen :)

von Bensch (Gast)


Lesenswert?

Also nochmal zum Mitschreiben:
Dem CAN ist es sch...egal, welche Daten in welcher Reihenfolge im 
DATENbereich gesendet werden, lediglich die ZAHL der übertragenen Byte 
muss stimmen, die steht ja im Vorspann. Lesen des Datenblatts eines 
x-beliebigen Controllers hätte schon geholfen.
Hätte man aber auch ohne zu lesen drauf kommen können, vor allem nach 
den ersten Antworten, oder?

von gurke (Gast)


Lesenswert?

Es zeigt sich einfach das man hier im Forum
keine Fragen mehr stellen
kann. Wenn ich mir mit den Oscar
das Paket anschauen und auswerten will
dann spielt es für mich schon eine Rolle welches Bit
zuerst über den Bildschirm flackert
aber naja

von Andreas K. (a-k)


Lesenswert?

gurke wrote:

> dann spielt es für mich schon eine Rolle welches Bit
> zuerst über den Bildschirm flackert

Warum fragst du dann, welches Byte zuerst drüber flackert? Der Terminus 
"MSB Byte" steht üblicherweise für das obere Byte eines 16-Bit Wortes.

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.