artikel:obd-adapter:funktion

Funktion

Ein OBD-Adapter verbindet einen PC mit dem Fahrzeug, sodass eine auf dem PC laufende Software Daten über den CAN-Bus (bzw. CAN-Busse) senden und empfangen kann. Damit kann die Software mit Modulen in Verbindung treten die direkt am CAN-Bus angeschlossen sind

Der OBD-Adapter wird direkt in die OBD-Buchse des Fahrzeugs eingesteckt:

Der Anschluß am PC erfolgt per Kabel (USB) oder Funk (WiFi, Bluetooth).

Die Software baut die Kommunikation mit den Modulen mittels verschiedener Standard-Protokolle auf. Damit kann sie entweder Diagnosedaten lesen, oder Fehlerspeicher auslesen/zurückstellen aber auch Modulprogrammierungen wie Konfigurationsänderungen und Firmwareupdates vornehmen.

Auch wenn USB ein ausgereiftes Protokoll ist, gibt es hier dennoch einiges zu beachten. Je nachdem was für ein Chip auf dem Adapter drauf ist enthält dieser selbst eine USB Schnittstelle oder es kommt ein externer USB-Chip wie z.B. der FTDI zum Einsatz. Aber auch hier wird reichlich gespart und gefälscht, was zu Kommunikationsproblemen und Treiberproblemen führen kann. Falls ein Hersteller mit echtem FTDI-Chip wirbt sollte nan wissen das allein für den Chip gute 15€ anfallen. In nahezu allen Fällen bei Adaptern der Preisklasse bis 50€ enthalten gefälschte Chips.

Damit die Software mit dem auf dem Adapter befindlichen Chip kommunizieren kann muss sie dessen Schnittstellensprache beherrschen. Programme wie ElmConfig beherrschen nur den ELM327-Sprachbefehlssatz und können daher nur mit Adaptern arbeiten die diesen emulieren. Andere, wie ForScan, können sowohl mit einem ELM-Kompatiblen Adapter als auch einem auf ST-Basis arbeiten.

Auslesen von Diagnosedaten und Fehlerspeichern ist eher zeitunkritisch. Die Datenpakete sind klein und Übertragungsfehler oder Abbrüche fallen nicht ins Gewicht. Ganz anders sie die Situation jedoch beim programmieren (Flashen) von Modulen aus, denn all zu lange Pausen im Datenstrom vom PC zum Modul führen zu einem Abbruch der Programmierung und der Gefahr das dieses dann nicht mehr funktionsfähig ist. Daher ist die Auswahl des Adapters durchaus ein kritischer Punkt und man sollte nicht einfach irgendeinen nehmen. Gute Adapter bieten hierfür Chips mit entsprechenden Pufferspeichern an, die auch bei längeren Verbindungspausen zum PC für einen kontinuierlichen Datenstrom zum Modul sorgen. Auch aus diesem Grund sind per Funk mit dem PC verbundene Adapter verpönt, da die Funkübertragung zum einen Verzögerungsbehaftet ist (Latenz) und zum anderen störanfällig.

Es kann daher nur dringend dazu geraten werden, Modulprogrammierungen jedweder Art ausschließlich mit kabelgestützten Adaptern durchzuführen.

Die Programmierung von Modulen ist im allgemeinen immer gleich: Zuerst wird das Modul über ein Passwort in den Update-Modus versetzt. In der Folge lädt die PC-Software einen Updater in den Arbeitsspeicher des Moduls und bringt diesen dort zu Ausführung. Der Update übernimmt dann vollständig die Kontrolle über das Modul und erwartet über den CAN-Bus von der PC-Software weitere Befehle. Diese gibt dann die Anweisung einen, mehrere oder bestimmte Bereiche des Flash-Speichers des Moduls zu löschen und erwartet über den CAN-Bus die neu zu programmierende Software, welche Paketweise dort hin und vom Updater ins Flash programmiert wird. Nach Abschluß der Programmierung führt die PC-Software auf dem Modul einen Reset durch und aktiviert somit die neue Firmware.

Die Anpassung der CCC funktioniert ähnlich wie die Modulprogrammierung, außer das keine neue Firmware sondern nur die binär kodierte CCC ins Modul (BCM oder IPC) geladen wird. Der anschließendes Reset sorgt dann dafür das die Konfigurationsänderungen übernommen und auf dem CAN-Bus für die anderen Module propagiert wird.

  • artikel/obd-adapter/funktion.txt
  • Zuletzt geändert: Tue. 06.05.2025 22:02
  • von wikiadmin