Forum: Mikrocontroller und Digitale Elektronik Physikalische-Einheit bei CAN


von Timo (Gast)


Lesenswert?

Wie erkenne ich bei CAN-Signalen im Fahrzeug, dass die physikalische 
Einheit mit in der Botschaft steckt?

von crazy horse (Gast)


Lesenswert?

Gar nicht.

von Fabian (Gast)


Lesenswert?

Du erkennst sie nicht, da sie nicht mit drin steckt. Sie wurde im 
Vorfeld für den Telegramtyp definiert. Würde man sie jedesmal mit 
übertragen wäre es Verschwendung von Kanalkapazität.

von Timo (Gast)


Lesenswert?

Wenn sie im Vorfeld für die Botschaft definiert wurde, ist dann eine 
Umrechnung beim Empfangen notwendig?

von David M. (Gast)


Lesenswert?

Bei CAN-Nachrichten wird der Typ des Inhalts als Nachrichten-ID kodiert.

z.B. könnte man "aktuelle Geschwindigkeit" als CAN-ID 1 definieren. Dann 
weiß jedes interessierte Steuergerät: Wenn eine ID 1 reinkommt, steht da 
die Geschwindigkeit drin.

von David M. (Gast)


Lesenswert?

Ajo, das Datenformat ist natürlich auch vereinbart. Zur ID 1 könnte man 
im Beispiel definieren, dass sie in km/h im ersten Byte steht. Kann dann 
jeder so umrechnen wie er das braucht.

von Erich (Gast)


Lesenswert?

Wie die Botschaft in den einzelnen IDs und deren Bytes codiert ist, wird 
in einer "CAN-Datenbasis" für das (die) betreffenden Steuergeräte 
festgelegt. Die Festlegung stammt i.d.R. vom Fahrzeughersteller, z.B. 
VW.
Ohne Kenntnis der Datenbasis ist es SEHR schwierig die Daten zu 
interpretieren.
Zahlenwerte könnten beispielsweise in einem Byte, in benachbarten Bytes 
als 12-Bit-Wert (auch als "verstreute Bits"), vorzeichenbehaftet oder 
nur positiv, mit einem Offset oder ohne, mit Skalierung von km/h in 1/10 
oder 1/5 Schritten etc. vereinart sein.

von crazy horse (Gast)


Lesenswert?

Ja, da gibts sehr interessante Codierungen
z.B.
Motortemperatur=0,75*Datenbyte-48, ergibt einen physikalischen Wert der 
Temperatur von -48...142,5°C
Umgebungsdruck: 5*Datenbyte -> Druck in hPa
Ladedruck: 0,01*Datenbyte -> Druck in bar

Wenn man es nicht weiss (und noch nicht mal, wo es denn nun steht) wird 
es ziemlich schwierig/zeitaufwändig, dass zu entschlüsseln. Geht aber 
:-)

von Timo (Gast)


Lesenswert?

Werden diese Angaben unter einem bestimmten Ausdruck (Faktor...) in 
einer CAN-Datenbank gespeichert?

von Felix (Gast)


Lesenswert?

Was meinst Du mit "bestimmten Ausdruck"?

CAN-Datenbasen liegen häufig als CANdb-Datei vor, ein von Vector 
erfundenes Format, Dateiendung .dbc. Ist textbasiert, aber nicht 
unbedingt lecker zu lesen.

In Ergänzung zur Schwarzmalerei von Erich und crazy horse möchte ich 
noch anmerken, daß es Multiplex-Botschaften gibt. Hier teilen sich 
praktisch mehrere Botschaften eine ID, indem sie einen Multiplex-Wert 
enthalten der die Bedeutung der Nutzdaten angibt. Wenn Du C kennst: 
praktisch eine union mehrerer Botschaften. Da diese 
Multiplex-Botschaften nicht unbedingt zyklisch durcheiern, sondern auf 
Anfrage umgeschaltet werden, kann das zu analysieren mitunter ätzend 
sein.

Der meiste CAN-Verkehr ist aber recht simpel und wenn man umfassend 
aufzeichnet sieht man Signalen, die man willkürlich stimulieren kann, 
schnell an was sie darstellen.

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.