CAN Bus mit Mikrocontroller ansprechen

OP #4301141
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.
Gast #4301160
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.
Gast #4301213
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"
Gast #4301216
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.