artikel:ipc:mileage_algorithm

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
artikel:ipc:mileage_algorithm [Sun. 07.07.2019 06:25] – [Speicherung des Kilometerstandes] go4itartikel:ipc:mileage_algorithm [Wed. 25.12.2019 11:28] (aktuell) – gelöscht go4it
Zeile 1: Zeile 1:
-====== Berechnungsalgorithmus für den Kilometerstand ====== 
- 
-In diesem Grundlagenartikel wird die Funktionsweise der speicherung und kodierung der Kilometerzähler im Kombiinstrument beschrieben. 
-===== Signalisierung der zurückgelegten Wegstrecke ===== 
- 
-Der Tacho erhält über den in Botschaft ID 040, welche vom BCM auf dem MS-CAN erzeugt und im 50 ms Takt gesendet wird, ein Byte mit der zurückgelegten Wegstrecke seit der letzten Sendung: 
- 
-<code> 
-ID DLC D7 D6 D5 D4 D3 D2 D1 D0 
-040 8  *  XX *  *  *  *  *  * 
-</code> 
- 
-Ändert sich der Wert nicht (egal welcher zuletzt gesendet wurde), steht das Fahrzeug. Bewegt es sich vorwärts oder rückwärts, enthält der Wert die Entfernung relativ zum letzten Wert, wobei ein Überlauf bei ''0xFF'' auf ''0x00'' stattfindet. 
- 
-Rechnerisch ist das also die zurückgelegte Wegstrecke in 50 ms. Interessanterweise dient dies nur zur Änderung des Tages- und Gesamtkilometerzählers und nicht für die Geschwindigkeitsanzeige. 
- 
-===== Speicherung der Kilometerstände im EEPROM ===== 
- 
-Der Tachostand für den Tages- und Gesamtkilometerzähler wird zur Laufzeit im RAM des Kombiintrumentes gespeichert. Beim Start dieses aus dem stromlosen Zustand wird der darin gespeicherte Wert ins RAM geladen und fortan bei Änderung der o.g. CAN-Botschaft im RAM geändert, auf dem Display dargestellt und in das EEPROM zurückgespeichert. 
- 
-Da ein EEPROM nur eine begrenzte Anzahl Schreibzyklen verkraftet (der im KI eingesetzte Typ 24C16 kann laut Datenblatt garantiert 1 Million ohne Ausfall) wird der Stand nur alle 0.5 km gespeichert, was einer theoretischen Gesamtreichweite von 500.000 km entspräche. 
- 
-Die Daten im EEPROM enthalten neben dem Tachostand auch noch viele weitere, interessant Informationen wie die VIN (Fahrgestellnummer), den Hardware und Softwarestand des Kombiinstrumentes, sowie der Einstellungen die darin möglich sind. 
- 
-===== Kodierung des Gesamt-Kilometerstandes ===== 
- 
-Der Wert des Gesamtkilometerzählers ist ab Offset ''0x774'' im EEPROM gespeichert und insgesamt 20 Bytes lang. 
- 
-===== Kodierung des ... Kilometerstandes ===== 
- 
-Ein weiterer Kilometerstand wird ab Offset ''0x788'' in 4 Bytes, einem 32-Bit DWORD im Big-Endian Format gespeichert. 
- 
-Der Kilometerstand ist mit einer 4-Bit CRC in den obersten 4 Bit des DWORD geschützt. Der Kilometerstand befindet sich dezimal in den unteren 24 Bit. Der Wert enthält zwei Nachkommastellen. 
  
  • artikel/ipc/mileage_algorithm.1562480731.txt.gz
  • Zuletzt geändert: Sun. 07.07.2019 06:25
  • von go4it