Insikt · Fundamentals

Vad är fordonsdiagnostik? UDS, ODX och DoIP förklarade

Fordonsdiagnostik är hur ett fordon berättar vad som är fel — och hur någon utifrån tar reda på exakt vad, varför och vad som ska göras åt det. Här är grunderna på svenska: uppdelningen mellan on-board och off-board, och de tre standarder som bär arbetet — UDS, ODX och DoIP.

01

Vad är fordonsdiagnostik?

Fordonsdiagnostik är arbetet med att identifiera, läsa av, konfigurera och programmera om de styrenheter (ECU:er) som styr ett fordon. Ett modernt fordon är ett nätverk av datorer, och diagnostiken är gränssnittet mot dem: den svarar på vad som är fel, vilken mjukvara som körs, och vad som behöver ändras.

Disciplinen delar sig rent i två domäner. On-board-diagnostik är vad fordonet gör med sig självt: mjukvara inuti styrenheterna övervakar givare, ställdon och delsystem löpande, lagrar felinformation och varnar föraren när det behövs. Off-board-diagnostik är allt som görs utifrån, med ett externt testverktyg — identifiering av styrenheter, avläsning och radering av felkoder, parametrering och kodning, och omprogrammering i fält.

Det enklaste sättet att hålla isär dem: on-board svarar på frågan ”är något fel?”, off-board svarar på ”vad exakt är fel, varför, och vad ska vi göra åt det?” Båda behövs, men de byggs av olika människor, mot olika standarder.

02

Är OBD-II samma sak som fordonsdiagnostik?

Nej, och det är en vanlig förväxling. OBD-II är en smal, utsläppsdriven regelstandard — den kom ur amerikansk lagstiftning (CARB och EPA) för modellår 1996, definierar kontakten SAE J1962 och den varningslampa i instrumentpanelen som formellt heter MIL. Den finns för att en myndighet ska kunna kontrollera avgasrelaterade fel.

OBD-II är alltså en delmängd av on-board-sidan, inte hela diagnostikbilden. Det djupa arbetet — att identifiera varje styrenhet, koda varianter, läsa tillverkarspecifika felkoder och programmera om mjukvara — ligger på off-board-sidan och styrs av andra standarder.

03

Vad är UDS (ISO 14229)?

UDS, Unified Diagnostic Services, är det standardiserade protokoll ett testverktyg använder för att prata med en styrenhet — för felsökning, konfiguration, avläsning av data och omprogrammering. Det definieras av ISO 14229, med det protokolloberoende applikationslagret i ISO 14229-1.

Modellen är strikt klient–server: verktyget skickar en förfrågan och styrenheten svarar med exakt ett svar, styrt av en tjänsteidentifierare på en byte. Vilka tjänster som är tillgängliga avgörs av vilken session som är aktiv — standardsessionen (0x01) gäller vid uppstart och exponerar en begränsad, säker uppsättning, den utökade sessionen (0x03) öppnar full diagnostik och konfiguration, och programmeringssessionen (0x02) aktiverar omprogrammering. Sessioner som inte är standardsessionen tar slut om bussen tystnar, så verktyget skickar TesterPresent (0x3E) med jämna mellanrum för att hålla dem vid liv.

De tjänster som används mest i praktiken: 0x22 och 0x2E för att läsa och skriva via dataidentifierare, 0x19 och 0x14 för att läsa och radera felkoder, 0x27 SecurityAccess och 0x29 Authentication för att låsa upp, och 0x31 RoutineControl för att starta rutiner i styrenheten. Vi går igenom protokollet i detalj i UDS (ISO 14229) explained.

04

Vad är ODX (ISO 22901)?

UDS låter ett verktyg prata med en styrenhet, men säger ingenting om vad det ska säga. Det är ODX som stänger den luckan. ODX, Open Diagnostic data eXchange, är en XML-baserad datamodell som beskriver allt ett verktyg behöver för att diagnostisera en styrenhet: tillgängliga tjänster, strukturen på förfrågningar och svar, felkoder, data- och identifieringsparametrar, data för variantkodning och kommunikationsparametrar.

Den är standardiserad som ASAM MCD-2 D av ASAM och som ISO 22901-1 av ISO; den formatversion som används brett är ODX 2.2. Uttryckt enkelt: UDS är språket, ODX är ordboken och parlören — ett verktyg behöver båda. PDX är det paketformat beskrivningen levereras i.

Att beskrivningen är verktygsoberoende är inte en teknikalitet utan en inlåsningsfråga. Ligger era diagnostikdefinitioner bara i ett leverantörsspecifikt format är ni bundna till det verktyget så länge plattformen lever. Vi går igenom formatet i What is ODX?

05

Vad är DoIP (ISO 13400)?

DoIP, Diagnostic communication over Internet Protocol, är det standardiserade sättet att bära diagnostikmeddelanden över ett IP-nät i stället för över en fältbuss. Det definieras av ISO 13400, med transport- och nätverkslagret i ISO 13400-2 (nuvarande utgåva 2019) och Ethernet-fysiken i ISO 13400-3.

Det viktiga är att DoIP är en transport, inte ett nytt diagnostikspråk. Det ersätter den CAN-baserade transporten med TCP/IP och UDP/IP över fordonsethernet, medan tjänsterna ovanpå fortfarande är UDS — samma förfrågningar, samma svarskoder, samma sessioner. Flödet börjar med att fordonet annonserar sig över UDP på port 13400, följt av en TCP-anslutning och en routingaktivering innan någon UDS-trafik släpps fram.

En gateway eller DoIP-nod terminerar IP och vidarebefordrar meddelanden till styrenheter på CAN, CAN-FD, LIN eller FlexRay via logisk adressering. Och i och med att diagnostikkanalen därmed blir en nätverksändpunkt lade ISO 13400-2:2019 till TLS på port 3496 — ett skydd som kompletterar UDS 0x29 och kraven i UN R155.

06

Vad är diagnostikmjukvara, och vem bygger den?

Diagnostikmjukvara är den mjukvara som läser, uppdaterar, verifierar och spårar mjukvaran i fordonets styrenheter — dels on-board, som inbyggda komponenter i styrenheten, dels off-board, i de externa verktyg som används i utveckling, end-of-line-test och verkstad.

Tyngdpunkten i ingenjörsarbetet ligger på off-board-sidan, och skälet är livslängd. On-board-logiken följer styrenheten och ändras sällan. Off-board-sidan måste förbli korrekt över varje variant, marknad och mjukvarurevision i femton år eller mer efter att fordonet lämnat bandet — och när beskrivningen och verkligheten glider isär sker det tyst: varje verktyg nedströms läser fel värden, missar fel eller slutar kommunicera.

Diadrom har byggt off-board-diagnostik som disciplin sedan 1999, bevisat i serieproduktion hos Volvo sedan dess, och i dag rullar över 250 000 fordon med Diadroms diagnostik. Ska ni utvärdera en leverantör har vi samlat frågorna som avgör i att välja leverantör av diagnostikmjukvara.

Det viktigaste

  • Fordonsdiagnostik delar sig i on-board — fordonet övervakar sig självt och varnar föraren — och off-board, där ett externt verktyg identifierar, konfigurerar och programmerar om styrenheter.
  • OBD-II är en smal, utsläppsdriven regelstandard (CARB/EPA, modellår 1996, kontakten SAE J1962, varningslampan MIL) och inte hela diagnostikbilden.
  • UDS (ISO 14229) är protokollet: strikt klient–server, ett svar per förfrågan, styrt av en tjänsteidentifierare på en byte och av vilken session som är aktiv.
  • ODX (ISO 22901-1 / ASAM MCD-2 D) är den verktygsoberoende beskrivningen av vad som ska skickas och hur svaret ska tolkas. UDS är språket, ODX är ordboken.
  • DoIP (ISO 13400) byter bara transport — UDS-tjänsterna följer med oförändrade över fordonsethernet, med TLS på port 3496 sedan 2019 års utgåva.

Alla insights

Vanliga frågor

Vad är fordonsdiagnostik?

Fordonsdiagnostik är arbetet med att identifiera, läsa av, konfigurera och programmera om ett fordons styrenheter (ECU:er). Den delar sig i on-board-diagnostik, där mjukvara inuti styrenheterna övervakar givare och delsystem, lagrar felinformation och varnar föraren, och off-board-diagnostik, där ett externt testverktyg identifierar styrenheter, läser och raderar felkoder, parametrerar och kodar samt programmerar om mjukvara i fält. On-board svarar på om något är fel; off-board svarar på vad som är fel, varför och vad som ska göras åt det.

Vad är skillnaden mellan UDS, ODX och DoIP?

De tre löser tre olika problem i samma kedja. UDS (ISO 14229) är protokollet — de förfrågningar och svar ett testverktyg och en styrenhet faktiskt utbyter. ODX (ISO 22901-1, även ASAM MCD-2 D) är den verktygsoberoende beskrivningen av vad som ska skickas och hur svaret ska tolkas, inklusive skalning, enheter och läsbara benämningar. DoIP (ISO 13400) är transporten: den bär UDS-tjänsterna över IP och fordonsethernet i stället för över CAN, utan att tjänsterna ändras. Enklast uttryckt är UDS språket, ODX ordboken och DoIP vägen meddelandena går.

Vad är skillnaden mellan on-board och off-board-diagnostik?

On-board-diagnostik är vad fordonet gör med sig självt: mjukvara i styrenheterna övervakar givare, ställdon och delsystem löpande, lagrar felinformation och varnar föraren där det krävs. Off-board-diagnostik är allt som görs utifrån via ett externt testverktyg — identifiering av styrenheter, avläsning och radering av felkoder, parametrering och variantkodning samt omprogrammering i fält. Det djupa ingenjörsarbetet ligger på off-board-sidan, eftersom verktygskedjan och diagnostikdatan måste förbli korrekta genom hela plattformens liv.

Är OBD-II samma sak som fordonsdiagnostik?

Nej. OBD-II är en smal, utsläppsdriven regelstandard som kom ur amerikansk lagstiftning (CARB och EPA) för modellår 1996, med kontakten SAE J1962 och varningslampan MIL. Den finns för att avgasrelaterade fel ska kunna kontrolleras av en myndighet. Fordonsdiagnostik i vidare mening omfattar hela off-board-sidan — identifiering, variantkodning, tillverkarspecifika felkoder och omprogrammering — som styrs av UDS, ODX och DoIP snarare än av OBD-II.

Prata med Diadrom

Bygger ni upp diagnostik för en fordonsplattform och vill ha grunderna satta rätt från början? Låt oss gå igenom er arkitektur — 30 minuter, online eller på plats i Göteborg.