RKS+CAN Adapter für CAN-Bus Sniffing
CAN-Interface
CANhack.de - CAN Hardware, CAN Software, CAN Protokolle - Das CAN-Bus Forum für Dein CAN-Bus Projekt.

Audi A3 8P mittleren FIS Bereich beschreiben, Grundlagen


 
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Fahrzeugspezifische Hardware und Pinbelegungen
Autor Nachricht
GerdJ
CAN-Profi
CAN-Profi


CAN Hacker seit: 08.09.2014
Beiträge: 45
Karma: +12 / -0   Danke, gefällt mir!


Premium Support

CAN-Diagnose gefällt das.
Beitrag28-07-2016, 13:02    Titel: Audi A3 8P mittleren FIS Bereich beschreiben, Grundlagen Antworten mit Zitat

Hallo,
durch auswendiges Loggen und Auswerten habe ich die Ansteuerung des mittleren FIS Bereiches im A3 8P entschlüsselt und kann beliebige Texte, Navisymbole und Grafik im Display darstellen.
Erstaunlicherweise ist dies, meiner Kenntnis nach, nur sehr wenigen Leuten gelungen. Mehrere Produkte, die den FIS Bereich beschreiben, nutzen hierfür den Telematik Modus, der allerdings bei neueren Tachos nicht mehr vorhanden ist.

Hier muss man den Navigationsmodus nutzen, sprich man emuliert ein Navigationsradio RNS-E von Audi.

In diesem Post gehe ich nur auf die Grundlagen der Kommunikation ein. Detailliertes Vorgehen muss man sich selbst erarbeiten icon_smile.gif

KFZ: Audi A3 8P MJ 2011, mit Tacho (TN-Endung 932), weißes großes FIS
Radio: Audi RNS-E Modell 193 (das mit der Media Taste)

Grundlagen:
Um die oberen 2 Zeilen beschreiben zu können, muss sich das Radio im OSEK Ring anmelden. Das Radio sendet von nun an periodisch Texte (2x8 Zeichen) in den Canbus. Das FIS stellt diese dar. Er erfolgt keine Bestätigung vom FIS. Um eigene Texte zu schicken, muss ein CAN-Router (Gateway) zwischen Radio und CAN-Bus geschaltet werden, das die betroffenen ID's rausfiltert (0x363 + 0x365), alle anderen Frames müssen durchgereicht werden.

Ich habe dies mit einer kleinen Platine auf Basis eines STM32F4 MC gelöst.

Für den mittleren Bereich im FIS ist keine OSEK Anmeldung nötig. Man kann das FIS auch ohne Radio ansteuern, was sogar leichter ist, da man keine Frames rausfiltern muss. Ich nutze für meine Zwecke weiterhin mein Modul, und filtere die relevanten Nachrichten vom KFZ-> RNS-E und umgekehrt raus.

Für die Kommunikation sind 2 ID's zuständig, 0x6C0 und 0x6C1 (6C0 kommt vom RNS-E, 6C1 vom Tacho).

Um dem Protokoll auf die Schliche zu kommen, muss man 'nur' diese beiden ID's auf dem Info-Canbus loggen und lernen diese zu verstehen icon_smile.gif

Basics:
Zwischen Tacho und RNS-E wird nach Einschalten der Zündung ein Transport-Protokoll aufgebaut, ähnlich einer OBD Session. Die Verbindung kann durch beide Teilnehmer aufgebaut und auch wieder beendet werden.
Teilnehmer 1 sendet mehrmals eine Startsequenz um die Verbindung aufzubauen. Antwortet die Gegenstelle nicht innerhalb einer gewissen Zeit, wird der Verbindungversuch wieder unterbrochen und nicht weiter versucht.

Antwortet Teilnehmer 2 auf die Anfrage, werden weitere Frames an die Gegenstelle gesendet und entsprechend geantwortet. Auch gibt es 2 Arten von Nachrichten, einmal die von der Gegenstelle nicht bestätigt werden müssen, und welche die bestätigt werden müssen.

Um das Vorgehen zu beobachten loggt man die beiden ID's und schaltet die Zündung ein. Nach kurzer Zeit wird die Verbindung bestehen und durch 'Keep-Alive' Nachrichten aufrechterhalten. Danach schaltet man in den Navi Modus am RNS-E und aktiviert den Kompass im Setup. Jetzt sieht man was vom Radio zum Tacho gesendet wird um die Himmelsrichtung und den aktuellen Strassennamen im FIS darzustellen.

Nachrichten Arten:
0x52 ist der Kommandomodus
0x57 ist der Datenmodus
und noch weitere, z.B. für Grafikmodus um einzelne Pixel anzusteuern

Mit dem Kommandomodus wird z.B. der FIS Bereich definiert, in den man schreiben möchte (max. 64x48 Pixel), dabei kann dieser Bereich entweder nur definiert werden, gelöscht oder mit Weiß gefüllt werden.

Der Datenmodus schickt mehrere Datenblöcke in Folge an den Tacho, um z.B. längere Texte darstellen zu können.

Beginnt ein Frame mit Hex 1x muss von der Gegenstelle der Frame bestätigt werden. Beginnt ein Frame mit Hex 2x muss dieser nicht bestätigt werden.

Beim Auswerten von Logfiles erkennt man recht schnell wie bestätigt wird. Nur soviel, jeder Teilnehmer hat einen fortlaufenden Zähler der zu Frames mit Hex 1x oder 2x addiert wird, z.B. Hex 10, dann 11 u.s.w. bei Hex 1F erfolgt ein Überlauf und der Zähler beginnt wieder bei Hex 10.

Texte können mehrere Formatierungen aufweisen.
Breiter Font, schmaler Font, weiß auf schwarz, schwarz auf weiß, XOR zum Display, OR zum Display, links sowie zentriert ausgerichtet.
Weiters gibt es einen Zeichensatz, der grafische Charakter für Navigationssymbole ausgibt. Man muss allerdings z.B. einen Linksabbiegepfeil durch mehrere Navicharakter kombinieren, weil ein Charakter grade man 6x7 Pixel groß ist.

Das RNS-E nutzt übrigens nicht alle Möglichkeiten des FIS. So kann man auch im Grafikmodus einzelne Pixel direkt ansteuern, was das RNS-E nicht tut.

Da wir schon bei Pixel sind. Die Auflösung beträgt 64x48 Pixel. Ein Pixel besteht aus 4 Pixel, die ich Subpixel nenne.
Man hat also eigentlich doppelte Auslösung. Ich habe inzwischen einen Weg gefunden diese Subpixel ansteuern zu können.
Man darf allerdings vom FIS Display keine Tempowunder erwarten, da es eine untergeordnete Rolle im Tacho spielt (der Tacho tut mehr als einem bewusst ist!). Doom im FIS ist also nicht erstrebenswert icon_smile.gif

Nach jedem Frame an den Tacho muss eine kleine Pause eingefügt werden, da sonst Frames verschluckt werden und die Texte zerstückelt ankommen oder im schlimmsten Fall die Verbindung stecken bleibt. Keine Panik, kaputt machen kann man beim Info-Bus eigentlich nichts. Zündung aus-ein und läuft wieder.

So, das soll es fürs Erste gewesen sein.
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden    
shavenne
CAN-Profi
CAN-Profi


CAN Hacker seit: 27.04.2015
Beiträge: 37
Karma: +6 / -0   Danke, gefällt mir!
Wohnort: Paderborn

CAN Support

Beitrag28-07-2016, 20:27    Titel: Audi A3 8P mittleren FIS Bereich beschreiben, Grundlagen Antworten mit Zitat

Hallo 8pa icon_razz.gif

Find ich sogar als Nicht-Audi-Fahrer interessant wie das bei anderen Marken funktioniert icon_smile_thumb_up.gif. Bisher hab ich mich ja nur auf dem Astra G CID und dem (neueren) Vectra C CID austoben können und die ähneln sich untereinander ziemlich.
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden    
GerdJ
CAN-Profi
CAN-Profi


CAN Hacker seit: 08.09.2014
Beiträge: 45
Karma: +12 / -0   Danke, gefällt mir!


Premium Support

CAN-Diagnose gefällt das.
Beitrag28-07-2016, 21:25    Titel: Audi A3 8P mittleren FIS Bereich beschreiben, Grundlagen Antworten mit Zitat

So sieht übrigens meine aktuelle selbstentwickelte, handgelötete CAN Developer Platine aus.

Herzstück ist ein STM32F4 mit 168MHz, zwei CAN Tranceiver, EEPROM, 2 Spannungsregler, und ein Reset Button icon_smile.gif
Die Platine kann auch mit einem STM32F1 bestückt werden.
Das Modul hat Anschlüsse für 2x CAN, Dauerplus, 5V und Masse nach Aussen geführt. Auf der Platine sind noch Stecker für SWD und UART vorhanden.

Selbstverständlich ist die Spannungsversorgung automotive gerecht konzipiert, das Modul wacht selbstständig bei CAN Aktivität auf und geht in Standby bei Nichtbenutzung, sprich es schläft selbstständig ein und verbraucht dann wenige uA.



image.jpeg
 Beschreibung:
 Audi A3 8P mittleren FIS Bereich beschreiben, Grundlagen
 Dateigröße:  105,4 KB
 Angeschaut:  6240 mal

image.jpeg



Zuletzt bearbeitet am 28-07-2016, 21:36, insgesamt 4-mal bearbeitet.
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden    
candev
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag28-07-2016, 22:46    Titel: Audi A3 8P mittleren FIS Bereich beschreiben, Grundlagen Antworten mit Zitat

Schau mal einer guck, nach Jahren mal wieder was interessantes hier. Danke dafür!

Die Platine schaut gut aus, wo lässt Du die fertigen, wenn ich fragen darf?

Hintergrund: ich setze derzeit PCAN-USB und mein Handy ein um am CAN zu lauschen, aber als Zusatz-Steuergerät verbauen mag ich das natürlich nicht und daher könnte es sein, dass ich in Zukunft auch eine (das ist leider als Anzahl zu verstehen) Platine brauchen könnte...

Gruß,
candev
Nach oben
 
GerdJ
CAN-Profi
CAN-Profi


CAN Hacker seit: 08.09.2014
Beiträge: 45
Karma: +12 / -0   Danke, gefällt mir!


Premium Support

Beitrag29-07-2016, 5:50    Titel: Audi A3 8P mittleren FIS Bereich beschreiben, Grundlagen Antworten mit Zitat

Die Platine habe ich mit Eagle erstellt und bei PCB Joker fertigen lassen. Es gibt mit Sicherheit preiswertere Platinenhersteller, aber die Qualität ist 1A.

Bestückung habe ich selbst gemacht. Meine alten Augen brauchen zur Endkontrolle ein Mikroskop. Der STM32F4 hat 0.5mm Pitch icon_smile.gif
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden    
candev
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag30-07-2016, 17:21    Titel: Audi A3 8P mittleren FIS Bereich beschreiben, Grundlagen Antworten mit Zitat

Lieber Leser, Du hast keine ausreichenden Rechte um weiter zu lesen, weiter hier.
Nach oben
 
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Fahrzeugspezifische Hardware und Pinbelegungen
Ähnliche Fachartikel und Themen
Thema Community Bereich
Keine neuen Beiträge Highline MFA beschreiben Innenraum- / Komfort CAN
Keine neuen Beiträge OPEL Display (TID/MID/GID) beschreiben? Fahrzeugspezifische Hardware und Pinbelegungen
Keine neuen Beiträge Hier: Audi CAN-Bus Identifier (allgemein) direkt von Audi. Allgemein
Keine neuen Beiträge CAN Daten Audi A2 und Audi A3 - Wer kann helfen ? Innenraum- / Komfort CAN
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst Deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst Deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum herunterladen.