Forum: Mikrocontroller und Digitale Elektronik CAN Bus mit Mikrocontroller ansprechen


von Holger K. (holgerkraehe)


Lesenswert?

Hallo zusammen

Ich möchte gerne mit dem PowerBus und dem ComfortBus eines VW und Opel 
(GM) Fahrzeug kommunizieren.

Was soll gemacht werden:

- Auslesen spezifischer Werte wie z.B. Zündzeit oder Luftstromvolumen

Dazu möchte ich einen STM32 mit CAN Interface und einen Automotive CAN 
Tranceiver von TI HVDA542 verwenden.

Nun brauche ich aber einige Infos, was man genau senden muss um seine 
Infos zu bekommen.

Kennt hier jemand eine gute Quelle für solche Infos?

Mir ist bewusst, dass viele Steuergeräte bereits viele Infos 
standardmässig auf den bus geben.
Zudem habe ich diese Liste gefunden: 
https://en.wikipedia.org/wiki/OBD-II_PIDs

Aber wie mann z.B. eine spezifische PID anfragt ist mir noch nicht klar.

Denke schonmal.

von Florian F. (flof3000)


Lesenswert?

Steht auf der von dir verlinkten Wikipedia Seite unter CAN-Bus Format, 
wie die Anfrage Nachricht auszusehen hat.

von Nina (Gast)


Lesenswert?

OBD-II ist etwas völlig anderes als CAN.

OBD ist eine "standartisierte" Schnittstelle mit der vorgeschriebene 
Werte aus dem Auto ausgelesen werden können. Das ist eine ganz eigene 
Schnittstelle. Hat nichts mit CAN zu tun. Auslesen kann man das mit 
einem OBD-II Adapter von Ebay/Amazon oder man bestellt sich einen OBD-II 
IC und haut den an den STM32 UART.

Das CAN hingegen ist etwas wo jeder Hersteller sein eigenes Süppchen 
kocht. Man kann da pauschal keine Aussage treffen. Das ist meistens auch 
von Modell zu Modell verschieden. Es gibt Herstellerinterne CAN Kataloge 
aber den wird keiner rausrücken. Die stehen immer unter NDA. Das einzige 
was da übrig bleibt ist auf dem CAN Bus zu lauschen und zu schauen was 
sich ändert wenn man z.B. den ÖltemperaturNTC erwärmt. Vielleicht siehst 
du da was. Wenn du da anfängst wirst du viele zyklische Messages sehen, 
das sind Alivecounter von den verschiedenen Steuergeräten. Als erstes 
würde ich mir aber mal einen Schaltplan vom Auto holen. Nicht selten 
gibt es mehrere CAN Bus Systeme die manchmal über ein CAN Gateway 
verbunden sind.

von Alain S. (alain_s)


Lesenswert?

Nina schrieb:
> OBD-II ist etwas völlig anderes als CAN.

Nein. Siehe ISO 15765.

von Kopfschuettel (Gast)


Lesenswert?

Nina schrieb:
> OBD-II ist etwas völlig anderes als CAN.
>
Uiuiui - komisch nur das aktuelle Fahrzeuge nicht mehr ohne 
CAN-Busfähiges OBD-Interface auslesbar sind.

In den Anfangszeiten von OBD sind die Daten über serielle Busse 
ausgelesen worden. Dazu wurde vom Tester eine "Reizung" des 
Steuergerätes über dessen Adresse "Keyword" vorgenommen. Nach 
erfolgreicher Reizung hielt der Tester dan die Verbindung zum 
Steuergerät aufrecht, bis die Sitzung von einem der beiden Partner 
beendet wurde.

Im Grunde sehen die heutigen Protokolle noch genauso aus - lediglich 
wird für den Datenaustausch der CAN-Bus verwendet.

Zum Googlen: OBDII; ISO-TP; UDS (nicht Unfalldatenspeicher); KWP2000; 
KWP1281 und die daraus folgenden neuen Schlagworte.

PS: TCP/IP ging auch im Token Ring Netzwerk und über analoge 
Telefonleitungen - siehe "OSI-Referenzmodell"

von Holger (Gast)


Lesenswert?

Danke für eure Antworten

VCDS, das OBD Diagnose System, kann ja auch über CAN die verschiedenen 
Parameter auslesen.

Ich nehme nicht an, dass die den Schaltplan jedes einzelnen Fahrzeugs 
haben um damit die Messages darzustllen.

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.