====== Architektur ====== Der Aiways U5 besteht aus einer Reihe von Mikrocontrollern und Rechnern, die über einen **CAN-Bus** miteinander verbunden sind. Zu wissen, welche Box mit welcher spricht — und wie und worüber —, ist der Schlüssel zu allem anderen. {{ :architecture.png?940 |Modularchitektur des Aiways U5 }} //Was bisher verstanden ist. Wird fortgesetzt// ===== Die Module ===== * **[[de:hardware:mainboard|Head-Unit]] (Infotainment)** — ein Freescale **i.MX6** mit **Android 4.4.2**, gepaart mit einem **Renesas RL78** MCU (Mikrocontroller). Der SoC betreibt die Bedienoberfläche, der MCU ist der Türwächter zum Fahrzeug. Beide sprechen über eine serielle **UART**-Verbindung miteinander. Das ist der Rechner, um den es auf diesen Seiten hauptsächlich geht — siehe [[de:hardware|Hardware & Betriebssystem]]. * **[[de:hardware:tbox|T-Box]] (Telematik)** — das dauerhaft eingeschaltete Mobilfunk-Gateway: ein **Quectel AG35** LTE-Modul (das sein eigenes eingebettetes **Linux** ausführt und die Telematik-Software beherbergt), gepaart mit einem **NXP S32K144** MCU. Dieselbe Aufteilung wie bei der Head-Unit wiederholt sich hier — die Linux-Seite berührt den CAN-Bus nie selbst; sie übergibt Befehle über eine **serielle Verbindung** an den MCU, und nur der MCU ist mit dem CAN-Transceiver des Fahrzeugs verdrahtet. Die T-Box erreicht die Head-Unit über **USB/IP** und hat früher über Mobilfunk nach Hause telefoniert — siehe [[de:hardware:tbox|T-Box-Teardown]] und [[de:connectivity|Konnektivität]]. * **[[de:canbus|Fahrzeug-CAN-Bus]]** — das gemeinsame Nervensystem. Hier leben die eigentlichen Steuergeräte: **VCU** (Fahrzeugsteuergerät), **BMS** (Hochvoltbatterie), **BCM** (Karosseriesteuergerät), **HVAC** (Klimatisierung), **TPMS** (Reifendruckkontrolle) und weitere. * **Displays** — vier Anzeigen, aber nur zwei werden von der Head-Unit angesteuert: der **zentrale Touchscreen** (LVDS) und die **rechte Fahreranzeige** (HDMI). Das **Haupt-Kombiinstrument** und die linke Anzeige sind ein **eigenes Steuergerät**, das den CAN-Bus direkt mitliest — die Head-Unit kann darauf nichts zeichnen. * **OBD-II-Anschluss** — sitzt hinter einem **Diagnose-Gateway**, isoliert vom aktiven internen Bus. ===== Das CAN-Netzwerk ===== Die Module hängen nicht alle an einer Leitung. Ein zentrales **Gateway** ist der Mittelpunkt eines Sterns aus **fünf getrennten CAN-Bussen** (plus langsameren LIN-Unterbussen), und es ist das Einzige, was sie miteinander verbindet: * **Antriebsstrang-CAN** — VCU (Fahrzeugsteuergerät), BMS (Hochvoltbatterie), Antriebsmotor-Steuergerät, Bordladegerät, DC-DC-Wandler, elektronische Gangwahl. * **Fahrwerk-CAN** — ABS/ESP, elektrische Servolenkung, Bremskraftverstärker, Airbag, Lenkwinkelsensor, Kameras und Parksensoren. * **Karosserie-/Komfort-CAN** — Karosseriesteuergerät, Klimasteuergerät, PTC-Heizer und Klimakompressor, Sitzheizungen, elektrische Heckklappe, Fußgängerwarnung bei niedriger Geschwindigkeit (AVAS). * **Infotainment-CAN** — die Head-Unit, das Kombiinstrument, Rundumsicht und Fahrerüberwachung. * **Telematik-CAN** — eine dedizierte Punkt-zu-Punkt-Verbindung zur T-Box. * **LIN-Unterbusse** (am Karosseriesteuergerät angehängt) — Fensterheber, Schiebedach, Türgriffe, Scheinwerfer, Lenksäulensperre, Regen-Licht-Sensor und intelligenter Batteriesensor (12 V). Das Gateway **routet** selektiv zwischen den Bussen — es ist eine **Firewall, keine einfache Brücke**. Deshalb kann der **OBD-II-Anschluss** (der über einen eigenen Diagnose-CAN ins Gateway läuft) zwar jedes Steuergerät per Anfrage/Antwort //erreichen//, die laufenden Broadcasts auf den Funktionsbussen aber nie //sehen//. Um echten Verkehr mitzulesen oder einzuspeisen, musst du einen Funktionsbus direkt anzapfen. Siehe **[[de:obd2|OBD-II-Diagnose]]**. Ein paar Konsequenzen, die man kennen sollte: * Das **Kombiinstrument** ist ein eigenes Steuergerät — es //zeigt// Werte an (SoC, Außentemperatur, Warnleuchten), die andere Module senden. Verstummt das Modul, das es speist, kann ein Wert auf dem letzten oder einem Ersatzwert **festhängen**. * Das Auto hält seine **Universalrechner einen Sprung vom aktiven CAN-Bus entfernt** — und das zweifach. Die Android-Seite der Head-Unit und die Linux-Seite der T-Box sprechen mit dem Fahrzeug nur über einen eigenen Mikrocontroller (RL78, S32K144), der zwischen ihnen und der Leitung sitzt. Keines der beiden Universalbetriebssysteme hat eine eigene direkte CAN-Verbindung. * **Die Fahrfreigabe hängt an einer Wegfahrsperre** — Karosseriesteuergerät und Antriebsmotor-Steuergerät authentifizieren sich beim Einschalten gegenseitig, und erst danach kann das Auto „Ready“ erreichen. Das blockiert das //Fahren//, nicht die Diagnose oder das Vorklimatisieren. * Der Tausch eines Steuergeräts erfordert **Online-Codierung** mit einem Herstellerwerkzeug — das Haupthindernis dabei, ein verwaistes Auto instand halten zu können. ===== Diagnose: das Händlerwerkzeug & der VCI ===== Das Werkstatt-Diagnosesystem („IVHM“) folgt dem üblichen Automotive-Aufbau — eine Kette vom PC über eine Kommunikationsbox bis in das Gateway des Autos. Nichts Exotisches auf der Leitung. {{:diag_ivhm.png?440|Aufbau des Aiways-Diagnosesystems}} * **Werkstatt-PC** — betreibt den **IVHM**-Tester (eine Java-Anwendung auf Basis der Diagnoseplattform von DSA). Er hält die **ODX**-Daten (die maschinenlesbare Beschreibung der Dienste, Fehlercodes und Codierungen jedes Steuergeräts) und übersetzt eine Anforderung wie „Fehlerspeicher lesen“ in die tatsächlichen **UDS**-Befehle. Er erreicht das Auto nur über den VCI. * **WDI2 VCI** — die Box, die in die OBD-II-Buchse gesteckt wird. Sie ist ein kleiner **PowerPC-Rechner mit Linux**, der die eigentliche Bussignalisierung erledigt: **4 CAN-Kanäle** (jeder kann passiv/nur mithörend oder aktiv sein), **ISO-TP + UDS** und **DoIP** (Diagnose über IP). Sie hängt als Netzwerkgerät über USB-Ethernet am PC; der PC steuert sie über die standardisierte **D-PDU-API (ISO 22900)** an. * **OBD-II → zentrales Gateway** — der wichtige Teil: der Anschluss ist **kein** passiver Abgriff der internen Busse. Dahinter sitzt ein zentrales **Gateway**, das Diagnoseanfragen an das Ziel-Steuergerät **routet**. Alles, was den Zustand verändert (Fehler löschen, Codieren, Stellgliedtests, Flashen), ist durch **Security Access** geschützt (eine Seed/Key-Abfrage, UDS-Dienst ''0x27''). Der Anschluss ist also eine **verschlossene Diagnosetür, kein offenes Fenster** — und darum bringt passives Mithören daran fast nichts. * **Steuergeräte** — VCU, BMS (Hochvoltbatterie), BCM (Karosserie), HVAC, TPMS und weitere, jedes über das Gateway erreichbar. * **T-Box** — die Telematikeinheit des Autos ist das **bordeigene Gegenstück**: sie sitzt am CAN-Bus und kann Zustandsmeldungen, Diagnose und Firmware-Updates aus der Ferne über das Mobilfunknetz erledigen, unabhängig vom Werkstattwerkzeug. Weil die Diagnose schlicht **UDS / ISO-TP über CAN (plus DoIP)** ist, könnte im Prinzip jedes normkonforme Interface dieselbe Sprache sprechen. Die beiden Dinge, die den echten Zugriff kontrollieren, sind der **Security Access** des Gateways und die fahrzeugspezifischen **ODX**-Daten.