Dieser Artikel ist im Entstehen und noch nicht Bestandteil der freien Enzyklopädie Wikipedia.

Solltest du über eine Suchmaschine darauf gestoßen sein, bedenke, dass der Text noch unvollständig sein und Fehler oder ungeprüfte Aussagen enthalten kann. Wenn du Fragen zu dem Thema hast, nimm am besten Kontakt mit dem Autor auf.

Kfz-Bussysteme

Bearbeiten

Open-System-Interconnect-Layer-Model (nach ISO)

7 Application Anwendung Allg. Dienste (Fehlerspeicher lesen, Kfz-Ident.-Nr. etc.)
6 Presentation Darstellung
5 Session Sitzungssteuerung
4 Transport Datentransport Aufteilen und Zusammensetzen der Daten mehrerer Botschaften
3 Network Vermittlung Routing, Adress- und Teilnehmerverwaltung
2 Data Link Sicherung Botschaftsaufbau, Buszugriff, Fehlersicherung, Flusskontrolle
1 Physical Bitübertragung Elektrische Signalpegel, Bitcodierung
0 Mechanical Mechanik Steckverbinder und Kabel

In Wirklichkeit lassen sich die Layer nicht exakt abgrenzen, Standards umfassen meist nur Teile mehrerer Layer.

Phys. Bussysteme:

Ausgänge der Teilnehmer sind typischerweise über Pull-Up-Widerstände auf die Busse geschaltet. Ein durchgeschalteter Ausgang zieht den gesamten Bus auf L. Dadurch ist der Ruhezustand logisch H, logisch L ist dominant.

Nicht OBD-relevant
LIN – LocalInterconnectNetwork, für kostengünstige zeichenbasierte Sensor-Aktor-Anwendungen
FlexRay - Weiterentwicklung von CAN, Sternförm. Busse mit höherer Geschwind und Sicherheit möglich
MOST - Media Oriented Systems Transport
OBD-relevant
J1850 – PWM/VPWM, Gesetzl. Ablösung durch CAN 2007

ISO 9141 (K/L-Line)

Zeichenbasierte Übertragung (1 Zeichen = 1 Start-Bit + 8 Daten-Bit + 1 Stop-Bit), Verarbeitung softwaregesteuert in UART (Universal Asynchronous Receiver and Transmitter), Eindrahtdatenverbindung, Pegel Bordspannung (12/24V) gegen Fz.-Masse (0,8UB = H, 0,2UB = L), max. Tbit = 100µs -> fbit = 10,4kbit/s (OBD-relevant sind fest 10,4kbit/s),

Schnelle Initialisierung (nur ISO14230):
Feste Bitrate 10,4kbit/s,
K+L–Line min. 300ms nach Einschalten bzw. 55ms nach letzter Verbindung in Ruhe (logisch H)
K+L gleichzeitig 25ms Low, danach 25ms High (L – Line bleibt danach H)
K – Tester sendet Start Communication Service Request Botschaft mit Geräteadresse
Adressiertes Gerät antwortet innerhalb 50ms (Start Comm. Response) mit Keyword

5 Baud Initialisierung:
K+L–Line min. 300ms in Ruhe (logisch H)
K + L gleichzeitig - Tester sendet 8bit-Adresswort mit Geräteadresse (Bitrate 5bit/s)
K - Steuergerät antwortet innerhalb 300ms mit 55h (als Synchr.-Muster) und danach im Abstand von max. 20ms 2 Byte Keyword mit eigener Geräte-Taktrate
K – Tester sendet 2. Keybyte innerhalb 20ms invertiert in Geräte-Taktrate zurück
K – Gerät quittiert innerhalb 50ms mit eigener invertierter Geräteadresse

KWP2000 – Botschaftsformat (ISO 14230):

Format I (Target adr) I (Source adr) I Length II Data 1…255 Byte II Checksum
Adr-Byte, TA SA kann bei 1. Byte Service Identifier aus Header +
Längenbyte kleiner (SID) Payload
Ja/Nein, 63 Databyte
funkt. oder entfallen
phys. Adr.

SID:
81h Start Comm. Service Req.
82h Stop Comm. Service Req.

Emissionsrelevante Einschränkungen (OBD): 3 Byte Header ( | Format | Target | Source | )
Max. 7 Byte Data
Tester fragt mit funkt. Adr., Gerät antwortet mit phys., Source adr ist immer phys.
Nur Default-Time-Out, fest 10,4kbit/s (beide Ini.-arten zulässig)
ISO 14230 definiert nur Kommunikationsmodell und Übertragungsdienste, Diagnosedienste s. ISO 15031-5

ISO 11898 (CAN)

Bitstrombasierte Übertragung, Linienbus, max. Bitrate 1Mbit/s, Zweidrahtverbindung mit invertierten Signalen
High Speed CAN >250(LKW)/500(PKW)kbit/s, Signalhub 2V, 120Ohm Abschluß
Low Speed CAN <125kbit/s, Signalhub 2,2V – Busarten nicht kompatibel
Abtastzeitpunkt wird im Controller eingestellt, Controller kommunizieren selbständig – für Anwender kein Wissen über physical Layer notwendig
Broadcast-System = Botschaften ohne Ziel und Quelle, dafür Inhaltsangabe (Message Identifier MID)
bitweise Arbitrierung (wer mit dem niedrigstwertigen MID sendet, darf weiter senden - wenn ein Teilnehmer ein H sendet, der Bus aber auf L steht, muss dieser Teilnehmer sofort mit senden aufhören) – jeder Teilnehmer muss durch Mithören den Bus mit den eigenen Sendedaten vergleichen

Header
19bit(CAN2.0A)/39bit(CAN2.0B)
0…64bit Payload Trailer
Start Bit 11+1bit oder
29+3bit MID
6 bit Control-Bits 0…8 Byte Data 15 bit CRC Acknowledge +
End of Frame

Remote Frame – ohne Payload, über MID werden Daten abgefordert

ISO 15765-2 (Transport-Protokoll CAN)

1…3 Nutzdatenbyte werden zur Steuerung verwendet

I Adress Information AI I
Single Frame I MID I Ctrl II opt. 1Byte AI + 1Byte PCI (0h+4bitDataLength)
(Protocol Control Inform.)
+ 0…7Byte SDU
(Service Data Unit)
First Frame I MID I Ctrl II opt. 1Byte AI + 2Byte PCI (1h+12bit DL) + 0…6Byte SDU
Consecutive Fr. I MID I Ctrl II opt. 1Byte AI + 1Byte PCI (2h+4bitSequenceNr) + 0…7Byte SDU
Bei Multiframe-Botschaften muss über MID/AI genau ein Empfänger angesprochen werden.
Der Empfänger antwortet auf First Frame mit Flow Control Frame
Flow Ctrl. Fr. I MID I Ctrl II opt. 1Byte AI + 3Byte PCI
(3h+4bitFlowStatus
+1ByteBlockSize+1ByteSepar.Time)

FlowStatus (FS) = 0h (Clear to Send) oder 1h (Wait)
BlockSize (BS) = Anzahl Frames, die Empfänger hintereinander empfangen kann
SeparationTime (STmin) = Mindestzeit, die Sender zwischen zwei Frames warten muss

Dienste:
Service Data Request – Transport-Layer sendet Data.confirm an Anwendung, wenn Daten gesendet
Service Data Indication
Service ChangeParameter Request – Änderung von BS und ST, mit Data.confirm

TimeOut generell 1s

Transportprotokolle CAN TP 1.6 und TP 2.0 sind VAG-Werkstandards.


ISO 14230-3 = ISO 15765-3 (Diagnoseprotokoll KWP2000 / K-Line / CAN)

Tester (Client) Service Request
---------------------->
<---------------------
Service Confirm.
Steuergerät (Server)
Adr.Inform. AI I Nutzdaten I
= SA + TA (+ RA) I ServiceID SID I Request Parameter I Service Req.
K-Line Header o.
CAN MID
I SID + 40h
Error ID 7Fh
I Response Param.
SID I Error(Resp.)Code
I Positive Resp.
Negative Resp.


SID Request pos. Resp. neg. Resp. def. durch
OBD 00…0Fh 40…4Fh 7F 00…7F 0Fh ISO 15031-5
allg. Dienste 10…3Eh 50…7Eh 7F 10…7F 3Eh ISO 14230-3
ISO 15765-3
Escape Code 80h C0h 7F 80h dto.
K-Line Dienste 81…83h C1…C3h 7F 81…7F 82h ISO 14230-2
CAN Dienste 84…85h C4…C5h 7F 84...7F 85h ISO 15765-3
Hersteller Dienste A0…BEh E0…FEh 7F A0…7F BEh


RA – RemoteAdress – bei Kopplung mehrere Datennetze über Gateways ist SA oder TA die Adresse des Gateways, RA ist die Adresse des Teilnehmers aus einem anderen Datennetz
TA oder RA können auch im 1. Nutzdatenbyte stehen
Diagnosetester kann Steuergerät zur Eröffnung einer spez. (Programming, Adjustment,…) Diagnosesitzung auffordern (Default Diagnostic Session = 81h),
- meldet sich beim Steuergerät über Schlüsselaustausch an (Security Access),
unterschiedl. Schlüssel für unterschiedl. Clients (Hersteller, Vertragswerkstatt, ASU),
Steuergerät geht nach 5s ohne Botschaft vom Client in Default-Mode zurück

Service SID Param./Bemerk.
Start Diagn. Session 10h Session-Nr. 1Byte
Stop Diagn. Session 20h nur K-Line, bei CAN SID=10h - dann Aufruf Default Session 81h
Read Data by ID 22h in KWP2000 nur Common ID, für Local ID SID=21h
Read Memory by Adr 23h
Read Scaling Data by ID 24h def. in ISO 14229/15765-3, Skalier.-/Normier.-infos für Werte
Security Access 27h 01h Request Seed
02h Send Key
...
Tester Present 3Eh Keep alive (Time-Out-Vermeidung)
ECU Reset 11h Steuergerät Reset
Read ECU Identification 1Ah


ISO 14230-2, ISO 15765-2, -4 (Adressierung)

Jedes Gerät muss eine eindeutige phys. Adresse haben.
Tester Adressbereich F0…FDH, OBD-Abgasmesser F1h
OBD-Tester sendet funktionale Adresse 33h (alle abgasrelevanten Steuergeräte müssen diese unterstützen)
Steuergeräte antworten mit ihrer phys. Adresse
ISO 14230 s.o. ISO 15765-2 – für jedes Paar Tester – Steuergerät eigener MID
Für allg. Steuergeräte – bei 29bit CAN ID: 0CDAXXYYh (phys.) und 0CDBXXYYh (funkt.)
ISO 15765-4, ID für abgasrelevante Steuergeräte:

7DFh, 7E0h…7EFh (11bit ID)
18DAXXYYh, 18DBXXYYh (29bit ID)

ISO 14229 / 15765-3 (Unified Diagnostic Services)

ISO 14229: Beschreibung Applikationsschicht unabhängig vom Bus, Implementierung in CAN in ISO 15765-3
SID wurden gegenüber KWP2000 gestrafft, einzelne Dienste wurden als Unterfunktionen in neuem Dienst zusammengefasst, Request über neuen Parameter Subfunction Level LEV

| AI || SID | LEV | Req. Param. |

Identifikation von Datensätzen oder Funktionen im Gerät durch 16bit-Kennziffern, einige Kennziffern (u.a. OBD-relevante) sind standardisiert

Verschlüsselte Datenübertragung nach ISO 15764 möglich (in zusätzl. Security-Layer)

Diagnose- Security- UDS Applic. Lower UDS Applic. Security Steuergeräte
Anwendung Layer Layer Layer Layer Layer Anwendung

ISO 15031 (On Board Diagnostic)

AI II SID I PID
(Parameter ID)
I Req. Parameter II Service Request
AI II SID + 40h I PID I Resp. Param. II Pos. Response
AI II Err. 7Fh I SID I Error Code II Neg. Response
Service SID Param./Bemerk.
req. emiss. rel. trouble codes 03h Auslesen als endgültig defekt markierter abgasrelevanter Fehler
req. emiss. rel. trouble codes 07h alle abgasrelevanten Fehler
req. powertrain freeze frame data 02h Abfrage Umgebungsdaten Fehlercode
clear emiss.-rel. diagn. funct. 04h Löschen Fehlerspeicher
05h Überwachung Lambda-Sonde
06h Überwachung Kat./ASR, Zündung, Einspritzung
08h Test Tankentlüftung
req. curr. Powertrain diagn. data 01h Abfrage Steuergeräte-Daten über Kennziffern (PID),
bei Abfrage mit PID=00h liefert Steuergerät 32bit-Wert mit unterstützten PID
req. Vehicle information 09h Fahrzeug-ID (Fahrgestell-Nr.)


PID Bedeutung Wertebereich
00h vom Steuergerät unterstützte PID 32 bit
04h Motorlast 8 bit 0…100%
05h Kühlwassertemp. 8 bit -40…+215°C
06…09h Kraftstoffmengenkorrektur der
Einspritzventile (Ausgabe je 2 Zylinder)
8 bit -100...+99,2%
0Bh Druck im Ansaugrohr 8 bit 0…255 kPa
0Ch Motordrehzahl 16 bit 0…16383,75 /min
0Dh Geschwindigkeit 8 bit 0…255 km/h
0Eh Zündwinkel (Zyl. 1) 8 bit -64…63,5°
0Fh Ansauglufttemperatur 8 bit -40…+215°C
10h Luftmasse 16 bit 0…655,35 g/s
11h Gaspedalstellung 8 bit 0…100%
14…1Bh Lambda-Sonden-Spannung 8 bit (16bit) 0…1,275 V
24…2Bh Lambda-Sonden-Spannung (alternativ) 8 bit (16bit) 0…1,275 V
34…3Bh Lambda-Sonden-Spannung (alternativ) 8 bit (16bit) 0…1,275 V
2Ch Abgasrückführrate 8 bit 0…100%
31h Fahrtstrecke seit Löschen Fehlerspeicher 16 bit 0…65535 km
4Eh Betriebsdauer seit Löschen Fehlerspeicher 16 bit 0…65535 min
21h Fahrtstrecke seit Einschalten Fehlerlampe 16 bit 0…65535 km
4Dh Betriebsdauer seit Einschalten Fehlerlampe 16 bit 0…65535 km


ISO 15765-4: zulässige CAN Bitrate 250 oder 500 kbit/s, Diagnosetester ermittelt selbst ID-Länge (11/29 bit), Teilnehmer senden vollständ. 8-Byte-CAN-Botschaften, Empfänger ignorieren Auffüll-Bytes

Beispiel OBD-Diagnose-Abfrage

Beispiel für CAN mit 11bit ID
Tester fragt nach Motordrehzahl und Fahrgeschwindigkeit:

CAN MID PCI SID PID + Daten
Tester fragt nach Motordrehzahl und Fahrgeschwindigkeit
7DFh 03h 01h 0Ch 0Dh
funkt. Adr.
Tester → abgasrel. Geräte
Single Frame
3 databyte
Diagnosedaten
Antriebsstrang lesen
PID Motordrehzahl PID Geschwindigkeit
Motorsteuergerät antwortet mit Wert Motordrehzahl
7E8h 04h 41h 0Ch 0E 74h
phys. Adr.
Motorsteuergerät → Tester
Single Frame
4 databyte
pos. Response
auf SID 01h
PID Motordrehzahl Messwert
925 /min
Getriebesteuergerät antwortet mit Wert Geschwindigkeit
7E9h 03h 41h 0Dh 32h
phys. Adr.
Getriebesteuergerät → Tester
Single Frame
3 databyte
pos. Response
auf SID 01h
PID Geschwindigkeit Messwert
50 km/h

J1939 (Transportprotokoll für (US-)Nutzfahrzeuge)

Beruht auf CAN 2.0B (29bit ID), wird für FMS genutzt.

Literatur

Bearbeiten

Zimmermann/Schmidgall: Bussysteme in der Fahrzeugtechnik Vieweg+Teubner, ISBN 978-3-8348-0447-1