Abfrage der Reifendrucksensoren (RDKS)
Abstract
Aus dem Artikel Funktionsweise des Reifendruckkontrollsystems wissen wir, das jeder Reifendrucksensor eine eigene ID hat. Diese ist 4 Byte (32 Bit) lang und auf dem Sensor aufgedruckt. Durch sie können die Räder voneinander unterschieden werden.
In der Originalausstattung befinden sich oberhalb in den Radkästen zusätzliche Antennen, deren einzige Aufgabe darin besteht, den Sensor unter ihnen zu bestimmen. Hierdurch wird eine räumliche Zuordnung ermöglicht, damit das Fahrzeug weiß welche Sensor-ID zu welchem Rad gehört.
Bei ConversMod muss diese Zuordnung einmalig nach jedem Radwechsel, durch eine spezielle Prozedur festgelegt werden. Am Ende wird jeder Sensor-ID einem Positions-Index von 0 bis 3 zugewiesen.
Abfrage der Sensor-IDs
Über den PID-Modus 22
(= Diagnosedaten nach PID-Adresse senden), dem PID-Code 2A
(= Übermittele Sensor-ID von Positionsindex) und dem Positionsindex 00
bis 03
erhält man die gespeicherten Sensor-IDs:
CAN-ID DLC D0 D1 D2 D3 D4 D5 D6 D7 726 8 03 22 2A 00 00 00 00 00
Byte | Inhalt | Beispiel | Erklärung |
---|---|---|---|
D0 | PID-LEN | 03 | Anzahl der nun folgenden Bytes |
D1 | PID-MODE | 22 | PID-Kommando 22 = „Diagnosedaten nach PID-Adresse senden“ |
D2 | PID-CODE | 2A | PID-Code 2A = „Übermittele Sensor-ID von Positionsindex“ |
D3 | SENS-IDX | 00..03 | Positionsindex des abzufragenden Sensors |
D4 | PAD | 00 | Füllbyte, da DLC 8 ist. |
D5 | PAD | 00 | Füllbyte, da DLC 8 ist. |
D6 | PAD | 00 | Füllbyte, da DLC 8 ist. |
D7 | PAD | 00 | Füllbyte, da DLC 8 ist. |
Anders als bei normalen CAN-Nachrichten, enthalten OBD-Nachrichten im ID-Feld nicht den Nachrichtentyp sondern den Empfänger. Unter der OBD Modul-ID 726
wird das BCM angesprochen.
Die Antwort auf die Anfrage erhält man innerhalb von 20 ms:
CAN-ID DLC D0 D1 D2 D3 D4 D5 D6 D7 72E 8 07 62 2A 00 0E DE C9 2F
72E
ist die OBD Modul-ID des Diagnose-Adpaters.- Ist D1 der Antwort
7F
liegt ein Fehler vor. Ansonsten ist es62
(laut OBD-Protokoll ist eine positive Antwort der Wert der Anfrage plus hex40
). - D2 und D3 enthalten laut OBD-Protokoll die in der Anfrage gesendeten Daten, also hier im Beispiel
2A
und00
. - D3 betrache ich bislang als Füllbyte, also statisch
00
- Die Sensor-ID ist in den Bytes D4-D7 enthalten. Hier im Beispiel ist es die
0EDEC92F
Abfrage der Sensor-Daten (Luftdruck, Reifentemperatur, Beschleunigung, Batteriestatus, usw.)
15,328 726 8 03 22 EE 03 00 00 00 00 15,341 72E 8 10 53 62 EE 03 0E DE C9 15,341 726 8 30 00 00 00 00 00 00 00 15,351 72E 8 21 2F 67 A9 45 15 0E DE 15,360 72E 8 22 C8 E9 67 AE 44 1F 0E 15,371 72E 8 23 E0 CA 24 67 B3 42 08 15,380 72E 8 24 0E E0 CB 88 67 B7 42 15,391 72E 8 25 1C 0F 0D 22 87 75 9C 15,401 72E 8 26 44 01 FF FF FF FF FF 15,411 72E 8 27 FF FF FF AE A0 92 92 15,420 72E 8 28 AE A0 01 00 07 32 07 15,431 72E 8 29 07 24 41 23 14 16 16 15,441 72E 8 2A 0A A0 BE 5A 03 84 3B 15,451 72E 8 2B 00 78 01 E0 00 00 00 -------------------------- 0E DE C9 2F (Sensor 0) 67 A9 45 15 0E DE C8 E9 (Sensor 1) 67 AE 44 1F 0E E0 CA 24 (Sensor 2) 67 B3 42 08 0E E0 CB 88 (Sensor 3) 67 B7 42 1C 0F 0D 22 87 75 9C 44 01 FF FF FF FF FF FF FF FF AE A0 92 92 AE A0 01 00 07 32 07 07 24 41 23 14 16 16 0A A0 BE 5A 03 84 3B 00 78 01 E0 00 00 00 -------------------------- 17,707 726 8 03 22 EF E9 00 00 00 00 17,720 72E 8 10 0B 62 EF E9 0E E0 CA 17,721 726 8 30 00 00 00 00 00 00 00 17,731 72E 8 21 24 67 B3 42 08 00 00 -------------------------- 0E E0 CA 24 (Last data received) 67 B3 42 08 --------------------------