VW PQ25 Lenkrad LIN auf dem Prüfstand – keine Slave-Antwort

OP #8009190
Lesenswert?

Hallo zusammen,

ich versuche aktuell, ein VW Multifunktionslenkrad auf dem Prüfstand per LIN auszulesen und die Tasten über einen ESP32-S3 als USB-HID auszugeben.

Ich bin im Bereich Automotive-LIN noch Anfänger und wäre dankbar für Hinweise, falls ich einen grundlegenden Denkfehler mache.

Lenkrad

Teilenummer: 5G0 959 442 AE

Plattform laut Recherche: PQ25 / MQB kompatible Varianten

Ziel: Standalone Betrieb auf dem Tisch ohne J527, ohne Fahrzeug, ohne Schleifring im finalen Aufbau.

Laut mehreren GitHub-Projekten und Forenbeiträgen soll das grundsätzlich möglich sein.

Hardware: ESP32-S3 DevKitC-1 TJA1020 LIN-Transceiver 12V Labornetzteil Logic Analyzer

Pinbelegung am Lenkrad (eigene Zuordnung)

Die vier Leitungen zum Tastermodul bezeichne ich aktuell wie folgt: Pin 1 = Grau → Funktion unbekannt (vermutlich Beleuchtung) Pin 2 = unbelegt Pin 3 = LIN (angenommen) Pin 4 = 12V Pin 5 = GND Gemessene Spannungen gegen GND: Versorgungspin ≈ 11–12V Ein Pin ≈ 0V Ein Pin ≈ 0,25V Kein Pin zeigt typische LIN-Idle-Spannung (~7–12V definiert) Hier ein Bild vom aktuellen Aufbau:

LIN-Konfiguration: Baudrate: 10417 Break-Länge: ~2 ms dominant PID korrekt berechnet Sync 0x55 korrekt im Analyzer sichtbar Getestete IDs: 0x00–0x3F vollständig gescannt Enable-Frame getestet:55 0D 20 FF D2 Polling getestet: Break 55 8E (ID 0x0E)

Beobachtetes Verhalten

Master-Frames sind im Analyzer sauber sichtbar.

Es kommt keinerlei Slave-Response.

Nur Echo von 55 + PID.

Kein einziges zusätzliches Datenbyte.

Auch beim vollständigen ID-Scan keine Reaktion.

Zusätzlich: Wenn ich die LIN-Leitung vom Lenkrad abziehe, sieht das Signal im Analyzer nahezu identisch aus.

Offene Fragen

Ist bei 5G0 959 442 AE der Tasten-LIN wirklich direkt am Lenkradstecker zugänglich?

Benötigt dieses Modul zwingend J527 oder bestimmte Wake-Signale (KL15 / KL58), um auf LIN zu antworten?

Sollte der LIN-Pin im Idle auf dem Tisch eine definierte Spannung zeigen?

Gibt es bekannte Varianten dieser Teilenummer, bei denen die Tasten nicht direkt als klassischer LIN-Slave arbeiten?

Ist 0x0E bei dieser Variante sicher die richtige Status-ID?

Mir ist bewusst, dass ich eventuell die Topologie missverstehe (z. B. LIN nur über Schleifring/J527 zugänglich). Ich wäre für Hinweise zur korrekten Pinbelegung oder erforderlichen Initialisierung sehr dankbar.

Vielen Dank.

Angehängte Dateien:
#8009218
Lesenswert?

Kannst Du die Schaltermodule zerstörungsfrei öffnen? KL30 und LIN sollten sich durch Blick auf die Leiterplatte einwandfrei identifizieren lassen. Kl30 ist das mit der Diode, LIN hat den Ferrit oder 0 Ohm-Widerstand.

Üblicherweise hat LIN 19k2 oder 9k6. Deine 10k4 sind möglich, aber wenn Du die nicht aus sicherer Quelle hast würde ich erstmal von einer Standard-Bitrate ausgehen.

#8009295
Lesenswert?

Sven schrieb:

So sieht es geöffnet aus.

Oben Masse ist klar, darunter Spannungsversorgung auf die S1J, dann LIN mit TVS und 220 nF auf den Ferrit. Darunter ein Eingang, der ungenutzt ist (Hupe?), dann ein mit Polyfuse geschützer Aus- oder Eingang.

Dein LIN-Master hat einen Pullup-Widerstand, 1 kOhm gegen KL30? Vermutlich der links auf dem Steckbrett? Dann würde ich es mit 19k2 nochmal probieren.

OP #8009297
Lesenswert?

Ja, der Pullup ist aktuell links am Steckbrett: LIN über 1 kΩ nach KL30 (12 V). Idle-Spannung am LIN sehe ich aber nicht stabil bei 12 V, eher nahe 0 V / undefiniert. Ich baue den Pullup jetzt auf 19.2 kΩ nach KL30 um (optional mit Diode, falls nötig) und messe: – LIN idle gegen GND (sollte ~12 V) – dominant/recessive Pegel beim Senden Danach wieder Scan/Request und prüfe, ob Slave-Responses kommen. Gibt es bei VW/MFSW eine empfohlene Master-Beschaltung (R + Diode) bzw. Terminierung, die du kennst?

#8009303
Lesenswert?

Sven schrieb:

Ich baue den Pullup jetzt auf 19.2 kΩ nach KL30 um (optional mit Diode, falls nötig) und messe:

Nee, für den Pullup ist 1k schon richtig. Die 19k2 sind die Bitrate für die UART Deines Masters.

Der Sync Break muss in jedem Fall länger als ein normales Datenwort sein. Sonst wird im Slave kein Interrupt ausgelöst. Also von 19k2 auf 9k6 runterschalten, 0x80 senden, dann wieder auf 19k2 zurück, 0x55 senden, usw.

– LIN idle gegen GND (sollte ~12 V) – dominant/recessive Pegel beim Senden

Wenn Dein rezessiver Pegel nicht sauber bei ~12 V liegt, stimmt etwas mit Deiner Verdrahtung nicht. Oder Du brauchst ein neues Steckbrett.

Gibt es bei VW/MFSW eine empfohlene Master-Beschaltung (R + Diode) bzw. Terminierung, die du kennst?

BAS21 + 2x 2 kOhm 1206 parallel gegen KL30, 1 nF gegen Masse. Dann einen nicht bestückten 0805er Ferrit mit 0 Ohm parallel, dann eine nicht bestückte PESD1LIN gegen Masse. Je nachdem was Du damit vorhast, vielleicht die ESD-Diode doch bestücken. Der alte TJA1020 ist nicht besonders robust, TJA1021 und TLE7259 sind besser.

Beitrag #8009910 wurde vom Autor gelöscht.
OP #8011907
Lesenswert?

Hallo zusammen, kurzes Update zu meinem Bench-Setup (ESP32 + LIN-Transceiver, 12V/GND/LIN):

Was funktioniert:

LIN-Kommunikation läuft stabil. 0x0D Request + 0x0E Response funktionieren. Break ist auf mind. 13 Bit gesetzt. Ich kann die „normalen“ Tasten sauber auslesen und mappen (z. B. Menü, View, Volume, Page, OK usw.). Was nicht funktioniert:

Die GRA-Tasten (RES/SET/CNL etc.) liefern bei mir keine verwertbaren Events. In 0x0E bleibt der Code für GRA-Tasten auf 0x00 (kein Tastencode). Was ich bereits getestet habe:

verschiedene Baudraten (9600/10400/19200) Classic/Enhanced Checksum verschiedene Request-Profile/Bytes bei 0x0D (inkl. 4-Byte-Varianten) IDs 0x0E/0x0F/0x0C/0x3A lange Tastendrücke (z. B. RES dauerhaft gehalten) über komplette Probe-Zyklen Ergebnis: normale Tasten ok, GRA weiterhin ohne Event.

Hat jemand eine Idee, welcher zusätzliche Zustand/Pin/Bus für GRA nötig ist? (z. B. zweiter LIN-Pfad, Enable-Leitung, ACC/GRA-Freigabe, weiteres Steuergerät-Signal)

Danke euch!

#8011960
Lesenswert?

Sven schrieb:

Ich kann die „normalen“ Tasten sauber auslesen und mappen (z. B. Menü, View, Volume, Page, OK usw.).

Gratuliere, das ist schonmal ein Erfolg.

Was nicht funktioniert:

Die GRA-Tasten (RES/SET/CNL etc.) liefern bei mir keine verwertbaren Events. In 0x0E bleibt der Code für GRA-Tasten auf 0x00 (kein Tastencode).

Ich fürchte, jetzt kommt der schwierigere Teil. Der Tempomat wird vermutlich nur funktionieren, wenn man den passenden Klemmenstatus sendet. Dazu musst Du Dir die Botschaften ansehen, die von der Lenkradelektronik zum Tastenfeld gesendet werden. Wahrscheinlich muss man die im Fahrbetrieb einmal aufzeichnen und dann dem Modul passend vorspielen.

OP #8011970
Lesenswert?

Hallo, danke dir – das hilft mir weiter auch wenn ich keinen Plan habe wie ich das umsetzten werde. Ich hbae weder das Fahrzeug dafür noch technik die das auslesen könnte im Fahrzeug.

Aktueller Stand bei mir:

Normale Tasten (Menü, View, Volume, Page, OK usw.) kann ich über LIN sauber auslesen und mappen. GRA-Tasten (RES/SET/CNL) liefern dagegen keine verwertbaren Events; in 0x0E bleibt der Tastencode bei 0x00. Das passt zu der Vermutung, dass für GRA zusätzlicher Fahrzeugkontext (Klemmenstatus/Betriebszustand) oder ein separater Signalpfad nötig ist. Ich habe am Lenkradstecker noch freie Pins und frage mich, ob einer davon für GRA separat genutzt wird:

Glaubst du, dass einer der zwei freien Pins zum Lenkrad zwingend belegt werden muss? Hast du eine Idee, welche Funktion diese freien Pins typischerweise haben? Meine Vermutung wäre, dass mindestens einer davon eher Hupe ist – siehst du das auch so oder eher GRA-bezogen?

#8012012
Lesenswert?

Sven schrieb:

Glaubst du, dass einer der zwei freien Pins zum Lenkrad zwingend belegt werden muss?

Ich kenne das Projekt nicht, der Schalter ist nicht von uns. Üblicherweise hat VW keine Weckleitungen, der Klemmenstatus geht über den Bus. Da das nicht öffentlich dokumentiert ist, wird man es sich am Fahrzeug ansehen müssen. Oder jemanden finden der das bereits gemacht hat.

Hast du eine Idee, welche Funktion diese freien Pins typischerweise haben? Meine Vermutung wäre, dass mindestens einer davon eher Hupe ist – siehst du das auch so oder eher GRA-bezogen?

Vermutlich Hupeneingang. Die GRA hat keine Einstufung zur funktionalen Sicherheit (ASIL-QM), daher gibt es keine redundante Kommunikation. Im Fehlerfall tritt man kurz auf die Bremse und das Ding ist aus.

OP #8012311
Lesenswert?

Hallo zusammen,

ich habe ein VW PQ25/MQB Multifunktionslenkrad am Prüfstand und kann die normalen Tasten (Menü, View, Volume, Page, OK usw.) über LIN auslesen. Die GRA-Tasten (SET, RES, An/Aus, +, –, Abstandsautomatik) liefern jedoch keine verwertbaren Events – der Tastencode bleibt auf 0x00.

Meine Fragen:

Hat jemand diese GRA-Tasten (SET, RES, An/Aus, +, –, Abstandsautomatik) erfolgreich am Prüfstand ohne Fahrzeug auslesen können? Welche zusätzlichen Signale oder Initialisierungen waren dafür nötig? Muss für die GRA-Tasten ein bestimmter Klemmenstatus (z. B. ACC/GRA-Freigabe, KL15/KL58) oder ein spezieller Enable-Frame auf den LIN-Bus gesendet werden? Gibt es Varianten, bei denen die GRA-Tasten nur im Fahrzeug funktionieren und nicht am Prüfstand? Ist eventuell ein zweiter LIN-Pfad oder ein weiterer Pin am Lenkradstecker erforderlich? Kann jemand die genaue Pinbelegung und die Funktion der freien Pins am Lenkradstecker bestätigen? Ist einer davon für GRA oder ausschließlich für die Hupe? Gibt es eine Möglichkeit, die nötigen Fahrzeug-Botschaften für GRA mit einfachen Mitteln (ohne Fahrzeug) zu simulieren oder zu sniffen? Danke für jede Hilfe!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren