Du bist nicht angemeldet.

Boxer Engine

Anfänger

  • »Boxer Engine« ist der Autor dieses Themas

Beiträge: 40

Registrierungsdatum: 26. Oktober 2011

  • Private Nachricht senden

1

Dienstag, 2. März 2021, 21:28

CAN BUS Protokoll STI 2015

Hallo zusammen,

hat von euch zufällig jemand das CAN BUS Protokoll für den 2015er STI?
Interessiere mich vor allem für follgende Parameter inkl.CAN ID und Faktor:

- Ansauglufttemperatur
- Ladedruck
- Wassertemperatur
- AFR
- Klopfen
- Drehzahl bzw. Last

Habe leider im Netzt sowie Foren nichts dazu gefunden.

Danke

ampel2

SC+ Mitglied

Beiträge: 2 531

Registrierungsdatum: 18. September 2002

Wohnort: Leipzig

  • Private Nachricht senden

2

Dienstag, 2. März 2021, 23:46

Hallo, direkt zu CAN Bus finde ich nichts im Handbuch

hier habe ich Dir mal zwei PDF´s abgelegt zum OBD-Prüfgerät und dem SSM

https://www.dropbox.com/s/2miu7is8hf9ixp…C3%A4t.pdf?dl=0
https://www.dropbox.com/s/tzubw9elwh1ix9…onitor.pdf?dl=0
Gruß Gerald

Wer Rechtschreibfehler findet, darf sie behalten !!! :rolleyes: "Birsctihe Frshocer hbaen haruesgfnuedn, dass es eagl ist, in whlecer Rhieenfgloe die Behsucbatn eenis Wtores sheten, slognae der etsre und ltetze Bhsucbate am rhitirgcn Pltaz sehten."

Boxer Engine

Anfänger

  • »Boxer Engine« ist der Autor dieses Themas

Beiträge: 40

Registrierungsdatum: 26. Oktober 2011

  • Private Nachricht senden

3

Mittwoch, 3. März 2021, 18:32

Super. Das enthält ja schon mal die PID sowie die Einheit.

Hat noch jemand ein DBC-file damit ich die CAN Werte mittels Wireshark komplett entschlüsseln und korrekt skalieren kann?

habi12623

Mitglied im GT-Club

Beiträge: 467

Registrierungsdatum: 12. Juli 2012

Wohnort: Berlin

  • Private Nachricht senden

4

Donnerstag, 4. März 2021, 10:42

Ich vermute du wirst über die OBD-Buchse gehen und nicht direkt auf den Antriebs-CAN?

Dann findest du hier alle PIDS und die zugehörigen Messwertberechnungen: https://en.wikipedia.org/wiki/OBD-II_PIDs#Service_01

Boxer Engine

Anfänger

  • »Boxer Engine« ist der Autor dieses Themas

Beiträge: 40

Registrierungsdatum: 26. Oktober 2011

  • Private Nachricht senden

5

Freitag, 5. März 2021, 10:51

Also ich kenne es so, dass ich über OBD mittels PIDs einen Request an das Steuergerät schicke, dieses antwortet und dann muss man den Wert mittels CAN Protokoll (DBC file) "entschlüsseln".
Daher die Frage nach dem File.
Kann man auch ohne Request "mithören" über OBD? Der Binärcode muss ja trotzdem entschlüsselt werden.

Beiträge: 643

Registrierungsdatum: 11. März 2014

Wohnort: Stade

  • Private Nachricht senden

6

Freitag, 5. März 2021, 11:17

Für die Parameter, die auf dem Diagnose-CAN im Rahmen von OBD angeboten werden, brauchst du nicht die "geheime" dbc-Datei des Herstellers. Die sind standardisiert und müssen von allen Herstellern so implementiert werden. @habi12623: hat uns das ja schön verlinkt.
Ob man die Parameter einzeln anfragen muß? Wahrscheinlich. Du hast offenbar professionelle Ausrüstung + Ahnung von der Materie, da wäre es vielleicht einen Versuch wert, die Kommunikation zwischen einem einfachen OBD-Auslesegerät und dem Kfz. mitzulesen. Dann weiß man genau, was da abgeht.

habi12623

Mitglied im GT-Club

Beiträge: 467

Registrierungsdatum: 12. Juli 2012

Wohnort: Berlin

  • Private Nachricht senden

7

Freitag, 5. März 2021, 11:33

Es gibt den fahrzeuginternen Antriebs-CAN und den Diagnose CAN.

Auf dem Fahrzeuginternen sind dauerhaft alle für den Fahrzeugbetrieb relevanten Daten unterwegs.
Dort kannst du ohne Request mithören, solange du die CAN ID und das zughörige Bit deiner gewünschten Messgröße kennst. Dafür gibt es meist die von dir angesprochenen CAN DBCs.
Um auf diesem CAN Daten abgreifen zu können muss man allerdings die CAN-Leitungen durchschleifen und einen 120 Ohm Widerstand installieren. Dafür sollte man aber ein Grundverständnis für das ganze CAN-System haben. Andernfalls holt man sich sonst nur Probleme ins Fahrzeug.

Der einfachere Weg ist, die Daten über den Diagnose CAN an der OBD-Buchse abzugreifen. Dort ist die Datenrate zwar langsamer, aber für uns Otto-Normalverbraucher mehr als ausreichend.
Ich erstelle gerade mit Matlab Simulink eine einfache Fahrzeugsimulation, in der ich ebenfalls die Messdaten über OBD abgreife. Anschließend rechne ich die binären Rohdaten einfach mit der Umrechnungsvorschrift, die ich verlinkt hatte, in dezimale Messwerte um.
Wenn das dein verwendetes Programm nicht zulässt und du nur mit dbc-files arbeiten kannst, such doch einfach bei google nach "OBD2 dbc". Da gibt es mit Sicherheit fertige dbcs.
Da die PIDS und Umrechnungsformeln nach ISO genormt sind, brauchst du für die von dir gewünschten Messgrößen keine subaru-spezifische dbc.

Hier noch kurz eine übersichtliche Abbildung für alle Interessierten:



Das blaue ist der Highspeed-Antriebs-CAN und das dunkelrote der Diagnose-CAN. Über die OBD-Buchse wird sozusagen eine Anfrage an das Gateway geschickt. Dieses filtert dann die angefragten Messgrößen aus den CAN-Botschaften des Antriebs-CANs heraus und sendet sie zurück an das Diagnose-Interface, das man an der OBD-Buchse angeschlossen hat.
Wer sich noch etwas in die Materie einlesen möchte kann hier ein wenig stöbern: https://www.kfztech.de/kfztechnik/elo/ca…rundlagen_1.htm
In meinen Augen ist das ganze CAN-System auch für fachfremde Personen nachvollziehbar erklärt.

Boxer Engine

Anfänger

  • »Boxer Engine« ist der Autor dieses Themas

Beiträge: 40

Registrierungsdatum: 26. Oktober 2011

  • Private Nachricht senden

8

Freitag, 5. März 2021, 12:28

Ob man die Parameter einzeln anfragen muß? Wahrscheinlich. Du hast offenbar professionelle Ausrüstung + Ahnung von der Materie, da wäre es vielleicht einen Versuch wert, die Kommunikation zwischen einem einfachen OBD-Auslesegerät und dem Kfz. mitzulesen. Dann weiß man genau, was da abgeht.

Naja ob das Equipment so professionell ist :)

Der einfachere Weg ist, die Daten über den Diagnose CAN an der OBD-Buchse abzugreifen. Dort ist die Datenrate zwar langsamer, aber für uns Otto-Normalverbraucher mehr als ausreichend.
Ich erstelle gerade mit Matlab Simulink eine einfache Fahrzeugsimulation, in der ich ebenfalls die Messdaten über OBD abgreife. Anschließend rechne ich die binären Rohdaten einfach mit der Umrechnungsvorschrift, die ich verlinkt hatte, in dezimale Messwerte um.
Wenn das dein verwendetes Programm nicht zulässt und du nur mit dbc-files arbeiten kannst, such doch einfach bei google nach "OBD2 dbc". Da gibt es mit Sicherheit fertige dbcs.
Da die PIDS und Umrechnungsformeln nach ISO genormt sind, brauchst du für die von dir gewünschten Messgrößen keine subaru-spezifische dbc.

Ja das mit dem CAN Endwiederstand wäre nicht das Thema aber lieber wäre mir schon die OBD Schnittstelle.
Meine uhrsprüngliche Frage zielte eigentlich genau darauf ab. Wollte mir die Erstellung eines "eigenen DBC" sparen und hatte gehofft einer hat es in der Schublade.
Speziell die "nicht so gängigen Werte" (die diverse Smartphone Apps abrufen können) sind für mich von Interesse. z.B. Zündwinkelkorrektur und Knock detection

Mein Ecutek Dongle kann diese Werte abgreifen per PID nur leider fehlt der Anwendung eine vernünftige Warn Funktion. Dank eurer Hilfe habe ich jetzt schon mal die PIDs und muss diese nicht über Wireshark abgreifen (reverse Engineering). Das spart Zeit. Die Umrechnung ist der nächste Schritt.