Forum: Mikrocontroller und Digitale Elektronik Diagnosestecker Übertragungsprotokoll


von Purzel (Gast)


Lesenswert?

Hallo zusammen,

ich bin kurz davor meine Technikerarbeit zu beginnen. Ich möchte mir 
dafür ein OBD Diagnosegerät bauen. Diese gibt es auch bereits fertig zu 
kaufen:

https://shop.motofreakz.de/Elektrik-Instrumente/Diagnosegeraete:::1124_1151/HealTech-OBD-Diagnosegeraet-fuer-Honda-CBR1000RR-Fireblade::31559.html

Mein Problem dabei ist nun folgendes: Ich habe keine Ahnung welches 
Protokoll zur Übertragung von Honda verwendet wird. Auf meine Anfrage 
direkt an den Support von Honda wurde ich höfflich abgewiesen. Auch 
online findet man dazu keinerlei Informationen. Auch die Belegung des 
Diagnosesteckers wird nirgends beschrieben.

Meine Frage dazu: Habe ich auch nur die geringste Chance irgendwie eine 
Signalauswertung hinzubekommen? Wenn ja, hat jemand eine Idee wie?

Ich möchte per Bluetooth später alle Sensordaten Live auf mein 
Smartphone übertragen wie es z.B. in folgendem Video der Fall ist (ab 
5min).

https://www.youtube.com/watch?v=mqHYmpGepAA

Irgenwie muss es ja gehen wenn es diverse "große" Hersteller auch 
geschafft haben.

Über eure Hilfe würde ich mich sehr freuen! Vielen Dank und Grüße,

Purzel

von Purzel (Gast)


Lesenswert?

Sorry es handelt sich dabei um eine Honda Fireblade CBR 1000 RR BJ 2013

von Martin H. (mahi)


Lesenswert?

Ich glaube, bei Mopeds gibt's keine Vorschriften bzgl. OBD(-2), daher 
kann da wohl jeder Hersteller sein eigenens Süppchen kochen, was 
Übertragungsweg (CAN, K-Line, was ganz anderes...) und Protokoll (UDS, 
KWP2000, Proprietär, ...) angeht.

Die Hersteller von käuflichen Diagnoseadaptern/-software haben Ihre 
Informationen entweder von Honda (mit entsprechenden Verträgen, u.A. 
wahrscheinlich einem NDA), per Reverse-Engineering und/oder auf nicht 
ganz legalem Wege ergattert.

Purzel schrieb:
> Meine Frage dazu: Habe ich auch nur die geringste Chance irgendwie eine
> Signalauswertung hinzubekommen? Wenn ja, hat jemand eine Idee wie?

Um Signale auszuwerten, müssen welche vorhanden sein. Je nach 
Schnittstelle/Protokoll kann es sein, dass dauerhaft was anliegt oder 
eben nur auf Requests eines Diagnosegeräts geantwortet wird.
Im ersten Fall könntest Du erstmal ein Oszi dranhängen und die Pegel 
anschauen, um dann einen Pegelwandler zu basteln, der Dir dis Signale an 
einen Logic Analyzer oder µC oder FTDIxxx oder was auch immer anpasst um 
dann zu versuchen das Protokoll zu erkennen.
Im zweiten Fall bräuchtest Du auf jeden Fall ein Diagnosegerät um die 
Kommunikation anzuregen.

Wenn Du es schaffst, überhaupt Daten aus dem Diagnosestecker zu 
bekommen, ist es aber immernoch ein riesengroßer Haufen Arbeit, diese 
Daten zu interpretieren.

von Reiner O. (elux)


Lesenswert?

Purzel schrieb:

> ich bin kurz davor meine Technikerarbeit zu beginnen. Ich möchte mir
> dafür ein OBD Diagnosegerät bauen.
> Mein Problem dabei ist nun folgendes: Ich habe keine Ahnung welches
> Protokoll zur Übertragung von Honda verwendet wird.

Aha. Das übliche Problem.

Ich würde mir den im Link beschriebenen Adapter kaufen und die 
Datenübertragung einfach mitloggen. Einerseits mit dem Oszilloskop wegen 
der  Pegel und Geschwindigkeiten und dann mit dem Logikanalyser.
Außerdem erfährst Du so die Belegung des Servicesteckers, die aber IMHO 
auch aus dem Schaltplan zu erfahren ist.
Ich schätze mal, daß Honda vermutlich irgend etwas K-Line-mäßiges 
verwendet, das Du dann mit einem der vielen dazu verwendbaren Chips 
nachbaust...

Just my 2 cents

Elux

von Purzel (Gast)


Lesenswert?

Vielen Dank für eure Ratschläge.

Reiner O. schrieb:
> Ich würde mir den im Link beschriebenen Adapter kaufen und die
> Datenübertragung einfach mitloggen

Genau das habe ich mir auch bereits überlegt. Nur die Anschaffungskosten 
von ca. 300€ für OBD und Logikananalyzer, für etwas was anschließend 
vielleicht überhaupt nicht funktioniert, schrecken mich noch etwas ab.

In einem Forum habe ich bereits gelesen, das es sich anscheinend um 
einen
K-Leitungs-Bus handelt. Anscheinend soll die Datenübertragung gestartet 
werden, sobald man den Datenleitung für 800ms auf Masse legt. Wie 
zuverlässig die Angaben sind weiß ich leider auch nicht, aber anstatt 
den teuren OBD zu kaufen könnte ich es ja mal mit einem Controller 
versuchen und mir nur einen Logikanalyzer anschaffen.

Hab mir auch schon einen ausgesucht:

https://www.antratek.de/saleae-logic-8-logic-analyzer?gclid=EAIaIQobChMIj-3fg_mD1QIVzpPtCh0TNAf8EAYYASABEgIOUfD_BwE

Was haltet ihr davon? Einfach mal versuchen oder? :)

Skeptisch bin ich dennoch etwas. Hab vorhin den Stecker mal gesucht und 
auch gefunden. 2 Polig mit Ground und die Datenleitung mit 3,5V. Spricht 
3,5V aber nicht eher für CAN-Bus?

Danke euch!

von Reiner O. (elux)


Lesenswert?

Purzel schrieb:
> aber anstatt den teuren OBD zu kaufen könnte ich es ja mal mit einem Controller 
versuchen und mir nur einen Logikanalyzer anschaffen.

Gut, und dann? Was willst Du dann mit dem Analyser loggen?

> 2 Polig mit Ground und die Datenleitung mit 3,5V. Spricht
> 3,5V aber nicht eher für CAN-Bus?

Zum Einstieg kannst Du ja mal hier 
(https://www.obd-2.de/obd-1-diagnose-uebersicht.html) nachsehen, was es 
alles für Diagnosemethoden so gab; es ist IMHO eben kein eOBD oder OBD2, 
das kann alles sein.

Wie schön, wenn man jetzt einen funktionierenden Diagnoseadapter incl. 
Software hättte und beim Verbindungsaufbau und der Komunikation zusehen 
könnte...
Natürlich würde ich erst einmal per Oszilloskop klären, was das 
überhaupt für ein Bus ist, wie schnell er ist und was für Pegel 
verwendet werden.

>  für etwas was anschließend vielleicht überhaupt nicht funktioniert,

Ja, vermutlich. Aber immerhin hättest Du dann ein Diagnosetool für Dein 
Moped ;-)

Gruß
Elux

von Soul E. (Gast)


Lesenswert?

Purzel schrieb:

> In einem Forum habe ich bereits gelesen, das es sich anscheinend um
> einen
> K-Leitungs-Bus handelt.

Das ist eine UART-Verbindung. Quasi RS232 mit anderen Pegeln. High ist 
Batteriespannung, low ist Masse. Das Datenformat ist nicht genormt, das 
legt der Hersteller individuell fest. Zwischen 11 bit/s und 19200 bit/s 
ist alles möglich.

Es gibt die K-Line auch mit standardisiertem Übertragungsprotokoll, dann 
nennt man sie LIN-Bus. Die Datenpakete selber sind natürlich immer noch 
kundenspezfisch.


Du musst also erstmal rausfinden wie gesendet wird, und dann was.

von Reiner O. (elux)


Lesenswert?

soul e. schrieb:

> Es gibt die K-Line auch mit standardisiertem Übertragungsprotokoll, dann
> nennt man sie LIN-Bus.

Nein.


Für K-Line gibt es haufenweise standardisierte Protokolle.

MfG

Elux

von Soul E. (Gast)


Lesenswert?

Reiner O. schrieb:

> Für K-Line gibt es haufenweise standardisierte Protokolle.

Für RS-232 auch. Aber es sind alles verschiedene.

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.