Wie erkenne ich bei CAN-Signalen im Fahrzeug, dass die physikalische Einheit mit in der Botschaft steckt?
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.
Wenn sie im Vorfeld für die Botschaft definiert wurde, ist dann eine Umrechnung beim Empfangen notwendig?
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.
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.
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.
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 :-)
Werden diese Angaben unter einem bestimmten Ausdruck (Faktor...) in einer CAN-Datenbank gespeichert?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.