Quantex GmbH
Twój region: Europa

ELM327 ISO 13400 (DoIP)

Przegląd

Rozszerzenie protokołu ELM327 o obsługę ISO 13400 (DoIP — Diagnostics over Internet Protocol). Protokół D umożliwia wykonywanie diagnostyki UDS przez Ethernet/IP z użyciem standardowego interfejsu AT ELM327.

Jak działa DoIP

Tester (ScanDoc)                    Samochód
┌──────────┐    TCP/IP     ┌─────────────┐    CAN/LIN    ┌─────┐
│ SA=0E80  │───────────────│ DoIP entity │───────────────│ ECU │
│ (tester) │   Ethernet    │ (gateway)   │  magistr.wew. │(TA) │
└──────────┘               └─────────────┘               └─────┘

DoIP entity — węzeł sieci samochodowej z obsługą ISO 13400. Może to być DoIP gateway (brama między Ethernetem a wewnętrznymi magistralami CAN/LIN) lub DoIP edge node (ECU z własnym interfejsem Ethernet). Każdy DoIP entity ma adres logiczny, adres IP oraz VIN.

Do pracy należy skonfigurować trzy parametry:

Parametr Komenda Co ustawia Jak ustalić
IP DoIP entity AT DI Dokąd łączyć się przez TCP AT DD (discovery) lub ustawić ręcznie
Source Address AT DS Adres logiczny testera Domyślnie 0E80, zwykle nie trzeba zmieniać
Target Address AT DT Adres logiczny docelowego ECU Z dokumentacji samochodu

Jeśli DI nie jest ustawiony (IP = 00000000), AT SP D automatycznie wykonuje discovery (UDP broadcast), znajduje pierwszy DoIP entity i wypełnia parametry na podstawie jego odpowiedzi:

Następnie wykonywane jest połączenie TCP → Routing Activation → gotowość do UDS.


Przykłady

Zapytanie do gateway

AT SP D sam znajduje DoIP entity i nawiązuje połączenie:

>ATZ
ELM327 v2.3

>ATE0
OK

>AT SP D                 # discovery → DI=C0A80C04, DT=3828, DS=0E80
OK                       # TCP + Routing Activation wykonane

>22 F1 90                # UDS Read VIN — zapytanie trafi do gateway (DT=3828)
62 F1 90 54 4D 42 4A 43 37 4E 59 33 50 46 30 32 30 36 30 38

Zapytanie do konkretnego ECU za gateway

Na przykład moduł silnika:

>ATZ
ELM327 v2.3

>ATE0
OK

>AT SP D                 # discovery + połączenie z gateway
OK

>22 F1 90                # zapytanie o VIN do gateway (DT=3828)
62 F1 90 54 4D 42 4A 43 37 4E 59 33 50 46 30 32 30 36 30 38

>AT DT 0010              # przełączenie Target Address na moduł silnika
OK

>22 F1 90                # to samo zapytanie — teraz trafi do ECU 0010 przez gateway
62 F1 90 ...

Komendy AT DoIP

DI hhhhhhhh — adres IP DoIP entity

Ustawia adres IPv4 ECU (DoIP entity) w formacie hex (4 bajty, big-endian).

>AT DI C0A80C04
OK

Przykład: C0A80C04 = 192.168.12.4

Wartość domyślna: 00000000 (nie ustawiono). Jeśli IP nie jest ustawiony przy AT SP D, wykonywane jest automatyczne Vehicle Discovery (UDP broadcast).

DS hhhh — adres źródłowy (Source Address)

Ustawia adres logiczny testera (Source Address, SA) w formacie hex (2 bajty).

>AT DS 0E00
OK

Zakres adresów testerów wg ISO 13400: 0x0E000x0FFF. Wartość domyślna: 0E80.

DT hhhh — adres docelowy (Target Address)

Ustawia adres logiczny ECU (Target Address, TA) w formacie hex (2 bajty).

>AT DT 3828
OK

Zakres adresów ECU wg ISO 13400: 0x00010x0DFF. Wartość domyślna: 0001.

DA hh — typ aktywacji routingu

Ustawia typ aktywacji routingu (Routing Activation Type). Ustawiany przed AT SP D — przekazywany do DoIP entity w Routing Activation Request przy połączeniu. Określa, jaki poziom dostępu do diagnostyki jest żądany. Zmiana jest potrzebna tylko wtedy, gdy gateway odrzuca połączenie z typem 00 (Default).

>AT DA 00
OK
Wartość Opis
00 Default — standardowa diagnostyka (domyślnie)
01 WWH-OBD — dostęp tylko do danych wymaganych przepisami (emissions)
E0 Central Security — rozszerzony dostęp przez centralną bramę bezpieczeństwa

DC hhhh — port TCP DoIP

Ustawia port TCP DoIP entity w formacie hex. Ustawiany przed AT SP D. Domyślnie 3458 (13400 dziesiętnie) — standardowy port wg ISO 13400. Zmiana jest potrzebna tylko wtedy, gdy DoIP entity używa niestandardowego portu.

>AT DC 3458
OK

DD — wykrywanie DoIP entities

Wykonuje UDP broadcast Vehicle Discovery (ISO 13400 Vehicle Identification Request). Wyświetla listę znalezionych DoIP entities wraz z ich VIN, adresem logicznym i IP.

Automatycznie wypełnia DI (IP) oraz DT (Target Address) z pierwszego znalezionego DoIP entity.

AT SP D przy DI=0 sam wykonuje discovery — osobne AT DD nie jest wymagane. AT DD jest przydatne, gdy trzeba zobaczyć, jakie DoIP entities są w sieci (VIN, adresy, IP) przed połączeniem.

>AT DD
VIN:WBAPH5C55BA123456
ADDR:3828
IP:C0A80C04
OK

Kilka DoIP entities w sieci:

>AT DD
VIN:WBAPH5C55BA123456
ADDR:3828
IP:C0A80C04
VIN:WF0XXXGCDX1234567
ADDR:1010
IP:C0A80C05
OK

Jeśli nie znaleziono DoIP entities:

>AT DD
NO DATA

Sekwencja inicjalizacji

Scenariusz Sekwencja
Automatyczny (gateway) ATZAT SP D
ECU za gateway (IP przez discovery) ATZAT DDAT DT xxxxAT SP D
ECU za gateway (IP znany) ATZAT DI hhhhhhhhAT DT xxxxAT SP D

Co dzieje się przy AT SP D

  1. Disconnect — odłączenie bieżącego protokołu
  2. Connect — utworzenie kanału ISO 13400 J2534
  3. Discovery (jeśli IP nie ustawiono) — UDP broadcast w celu znalezienia DoIP entity
  4. Set Config — ustawienie IP, SA, TA, portu, typu aktywacji
  5. TCP Connect — nawiązanie połączenia TCP z DoIP entity
  6. Routing Activation — aktywacja routingu DoIP

W razie błędu na dowolnym kroku zwracane jest UNABLE TO CONNECT.


Format danych OBD

Wysyłanie

Dane hex wysyłane są jako UDS payload. ELM327 automatycznie opakowuje je w DoIP Diagnostic Message z nagłówkiem SA+TA.

>22F190
62 F1 90 57 42 41 50 48 35 43 35 35 42 41 31 32 33 34 35 36

Odpowiedź (H0 — headers off, domyślnie)

Tylko UDS payload, bez nagłówka SA/TA:

62 F1 90 57 42 41 ...

Odpowiedź (H1 — headers on)

SA + TA (4 bajty) + UDS payload:

38 28 0E 00 62 F1 90 57 42 41 ...

Format nagłówka: [TA_hi] [TA_lo] [SA_hi] [SA_lo] — adres nadawcy odpowiedzi (ECU → Tester).


Automatyczne wyszukiwanie protokołu

DoIP jest włączony do kolejności automatycznego wyszukiwania protokołów (AT SP 0). Podczas próby DoIP:

  1. Tworzony jest tymczasowy kanał ISO 13400
  2. Wykonywane jest Vehicle Discovery (UDP broadcast, timeout 2 s)
  3. Jeśli DoIP entity zostanie znaleziony — połączenie przez TCP + Routing Activation
  4. Jeśli połączenie się powiedzie — wysyłane jest próbne zapytanie OBD
  5. Jeśli DoIP entity nie znaleziono lub brak odpowiedzi — przejście do następnego protokołu

Reset parametrów

Komendy AT D (defaults) oraz AT Z (reset) resetują wszystkie parametry DoIP:


Ograniczenia