Forum: Fahrzeugelektronik Bezeichnung von CAN-Daten


von Olli Z. (z80freak)


Lesenswert?

In Standard CAN Frames erhalte ich ja bis zu 8 Datenbytes. In der 
Anzeige und im Logfile von CANhacker (und anderen Tools) wird das dann 
oft so dargestellt:
<ID> <DLC> <BYTES...>
720 8 00 04 AC 15 4F 00 0A FF
oder
433 3 0B 1E 40

Wie würde ich nun die Datenbytes (<BYTES...>) am besten benennen?
D0 ... D7
oder
D7 ... D0
oder
D1 ... D8
oder
D8 ... D1

Von der Übertragung her ist die Reihenfolge "links nach rechts", es wird 
das neu empfangene Byte hinter das zuletzt empfangene gestellt.
Also müsste es meiner Meinung nach so nummeriert werden
#1 #2 ... #8
und entspräche damit
D0 ... D7
sofern ich "Dx" für die Bezeichnung eines Datenbytes verwenden würde.
Ist das so üblich und verständlich?

Und wie ist das dann auf Bit-Ebene? Dort habe ich z.B. in einem Byte ein 
Flag, welches ich benennen möchte, sagen wir "Fahrertür geöffnet (=1)". 
Drücke ich das als Bitmaske aus (welche BITWISE-AND verknüpft das 
gewünschte Bit ausmaskiert):
0001 0000
Aus IT-Sicht sind die Bits so verteilt (MSB links, LSB rechts):
B8 B7 B6 B5 B4 B3 B2 B1
Damit wäre mein Signal auf Position "B5".

Also gibt man die Byte- und Bit-Positionen als 0-basierenden Index an 
(Programmiersprachen-nah) oder als 1-basierende Position?

von Soul E. (Gast)


Lesenswert?

Olli Z. schrieb:

> Wie würde ich nun die Datenbytes (<BYTES...>) am besten benennen?

In der CAN-Spezifikation gibt es keine Vorgabe, also ist es Dir 
überlassen. Du solltest Dich nach dem Datenblatt des von Dir verwendeten 
Controllers richten, der wird ja seine Mailboxregister irgendwie benannt 
haben.


> Also gibt man die Byte- und Bit-Positionen als 0-basierenden Index an
> (Programmiersprachen-nah) oder als 1-basierende Position?

Im Automobilbereich wird zur Beschreibung von CAN-Netzwerken das 
dbc-Format von Vector Informatik verwendet. Da zählt man ab Null. 
Startbit, Länge und Bytereihenfolge (Intel oder Motorola) werden für 
jede Variable einzeln festgelegt.

von Christoph S. (christoph_s205)


Lesenswert?

soul e. schrieb:
> Im Automobilbereich wird zur Beschreibung von CAN-Netzwerken das
> dbc-Format von Vector Informatik verwendet. Da zählt man ab Null.
> Startbit, Länge und Bytereihenfolge (Intel oder Motorola) werden für
> jede Variable einzeln festgelegt.

Hat man eingesetzt, wurde jetzt von arxml abgelöst.

von Rolf M. (rmagnus)


Lesenswert?

Christoph S. schrieb:
> Hat man eingesetzt, wurde jetzt von arxml abgelöst.

Beides wird eingesetzt. Es hängt in der Regel vom OEM ab.

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.