Forum: Mikrocontroller und Digitale Elektronik VW PQ25 Lenkrad LIN auf dem Prüfstand – keine Slave-Antwort


von Sven (aubin)


Angehängte Dateien:

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.

von Soul E. (soul_eye)


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.

von Dieter S. (ds1)


Lesenswert?

Laut dem hier ist die LIN Baudrate 19200 Baud:

https://github.com/riquenunes/vw-steering-wheel-gamepad

von Sven (aubin)


Angehängte Dateien:

Lesenswert?

So sieht es geöffnet aus.

von Soul E. (soul_eye)


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.

von Sven (aubin)


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?

von Soul E. (soul_eye)


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.

von Sven (aubin)


Lesenswert?

Ich hab edir mal ne Mail geschireben.

Beitrag #8009910 wurde vom Autor gelöscht.
von Sven (aubin)


Angehängte Dateien:

Lesenswert?

Logi Analyzer

von Rainer W. (rawi)


Lesenswert?

Soul E. schrieb:
> ... dann LIN mit TVS und 220 nF auf den Ferrit.

LIN und 220 nF? Da bekämest du keine Signal mit 19200 Bd rüber.
Die Spezifikation von VW sagt etwas anderes - eher um die 220 pF.

von Soul E. (soul_eye)


Lesenswert?

Natürlich pF. 220 pF für die Slaves, 1 nF für den Master.

Und am Master 1 kOhm Pullup gegen KL30.

von Sven (aubin)


Angehängte Dateien:

Lesenswert?

Passt die Verkabelung so aus eurer Sicht? Ich habe Sie mit KI erstellt, 
vielleicht bisschen verwirrend Sorry die Kreuzungen sind echt schlecht 
abgebildetsowie die Beschriftungen.

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Ist es so schwer auf die oben verlinkte Github Seite zu schauen und das 
zu verwenden was offensichtlich schon funktioniert?

Dort ist auch die passende Verschaltung:

https://raw.githubusercontent.com/riquenunes/vw-steering-wheel-gamepad/main/wiring.png

von Soul E. (soul_eye)


Lesenswert?

INH an LIN geht aber schief. Da muss 1 kOhm dazwischen. Oder INH offen 
lassen und 1 kOhm zwischen LIN und 12 V.

von Sven (aubin)


Lesenswert?

Danke das habe ich schon vorher probiert. Ich bin allerdings nicht so 
bewandert mit der Thematik, so wie oben beschrieben bekomme ich es nicht 
zum laufen.

von Sven (aubin)


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!

von Soul E. (soul_eye)


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.

von Sven (aubin)


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?

von Soul E. (soul_eye)


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.

von Sven (aubin)


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!

von Rainer W. (rawi)


Lesenswert?

Sven schrieb:
> Hat jemand diese GRA-Tasten (SET, RES, An/Aus, +, –, Abstandsautomatik)
> erfolgreich am Prüfstand ohne Fahrzeug auslesen können?

Das hört sich nach Fahrzeugelektronik an.

von Alexander (alecxs)


Lesenswert?

Aber auch dort wird er keine Antwort bekommen.

von Jens K. (jensky)


Lesenswert?

Basteln an Fahrzeugelektronik führt zum Erlöschen der Zulassung!

von Soul E. (soul_eye)


Lesenswert?

Jens K. schrieb:
> Basteln an Fahrzeugelektronik führt zum Erlöschen der Zulassung!

Wessen Zulassung soll da erlöschen? Deine? Und wofür?

Oder meinst Du, sein Steam Account wird gesperrt, wenn er statt 
zertifizierter Logitech-Hardware Eigenbauten verwendet? Dann wäre ein 
Hinweis auf die AGB hilfreich.

von Alexander (alecxs)


Lesenswert?

Sven schrieb:
> Ich habe weder das Fahrzeug dafür noch Technik die das auslesen könnte
> im Fahrzeug.

: Bearbeitet durch User
von Sven (aubin)


Lesenswert?

Ich versuche ein OEM Lenkrad am PC als Gamecontroller zu verwenden. Es 
funktioniert bereits alles bis auf die GRA Tasten. Da bekomme ich kein 
Signal raus.

von Christian R. (supachris)


Lesenswert?

Da musst du halt kreativ sein und überlegen, was man vorher hinschicken 
müsste. Im Normalbetrieb muss ja mindestens die Zündung an sein und der 
Motor laufen. Vielleicht will die Tastenelektronik sogar noch eine 
Geschwindigkeit sehen.

von Alexander (alecxs)


Lesenswert?

Wenn selbst ein VW Entwickler da empfiehlt zu sniffen wird es mit raten 
wohl eher schwierig...

Soul E. schrieb:
> 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.

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.