Datenbus und Netzwerk
Inhalt
Wichtiger Hinweis:
Der Autor ist kein ausgebildeter Kfz-Fachmann und übernimmt keinerlei Haftung für Schäden, die aus dem Nachvollziehen dieser Dokumentation entstanden sein könnten. Das Copyright an diesem Dokument inklusive aller Abbildungen liegt allein beim Autor. Das Dokument darf nur im Ganzen weitergegeben und nicht verändert werden. Die private Nutzung des Dokuments ist ausdrücklich gestattet, jede kommerzielle Verwendung oder der Handel damit ist dagegen untersagt. Das Dokument wird ausschließlich nur vom Autor selbst veröffentlicht.
Der Diagnoseanschluss (Diagnostic Link Connector - DLC) ist die Schnittstelle, über die sich mit dem Diagnosetester FDS, WDS oder IDS sowie kompatiblen Geräten anderer Hersteller alle angeschlossenen Systeme auslesen und programmieren lassen. Hierbei kommen - je nach System - die Verfahren ISO-9141 oder SCP zur Anwendung. Im Gegensatz zum älteren ISO-9141 ist SCP auch bei Ausfall einer der beiden Leitungen noch voll einsatzfähig. Ein Fehler auf einer dieser Leitungen kann erkannt und über die andere Leitung diagnostiziert werden.
Folgende Komponenten sind über den intallierten Datenbus ansprechbar:
Modul |
Funktionen |
ISO9141 |
SCP |
CAN-Bus |
Diagnosestecker |
Datenschnittstelle |
ja |
ja |
nein |
Motorsteuergerät |
Auslesen von Fehlercodes Einlesen neuer Kennfelder Einspielen von Softwareupdates Programmieren der Wegfahrsperre |
ja |
ja |
nein |
Zentralverriegelung |
Ändern der
ZV-Öffnungssequenz |
ja |
nein |
nein |
ABS Mecatronic 3 |
Auslesen von Fehlercodes |
ja |
nein |
nein |
ABS Mecatronic 3 + TCS |
Auslesen von Fehlercodes |
ja |
nein |
nein |
ABS Bosch |
Auslesen von Fehlercodes |
ja |
ja |
nein |
Über den aus einem 1-adrigen Kabel bestehenden Bus können die angeschlossenen elektronischen Geräte vom Diagnosestecker aus angesprochen werden. Dieses Verfahren ist prorietär, es gibt also keine allgemeingültigen Verfahrensweisen, weshalb die meisten auf dem freien Markt erhältlichen Testgeräte weitaus nicht alle Möglichkeiten der Module unterstützen. Die Standardaufgabe des ISO-9141-Systems ist die Ausgabe von in den Modulen abgelegten Fehlercodes oder die Programmierung dieser Module.
Das ISO-9141-Verfahren ist relativ alt und kam schon in den ersten Mondeos zur Anwendung. Es arbeitet vergleichsweise langsam und ist durch seine Ausführung in Form eines einzelnen Kabels auch relativ störanfällig. Zur kontinuierlichen Informationsweitergabe (Kommunikation) im laufenden Fahrbetrieb ist es deshalb wenig geeignet. Das Signalübertragungsverfahren ist in der ISO-Norm 9141 festgelegt.
SCP (Standard Corporate Protocol)
Dieses von Ford etwa 1995 eingeführte Kommunikationsverfahren beruht auf einer zwei-adrigen Leitung, die jeweils entgegengesetzte Signalpotentiale führen. Das erhöht im Normalbetrieb die elektrische Trennschärfe und damit die Lesbarkeit der Informationen, ermöglicht aber auch einen Weiterbetrieb, wenn eine der beiden Leitungen unterbrochen oder gestört sein sollte.
SCP arbeitet mit einer deutlich höheren Übertragungsrate und eignet sich daher für einige Steuerungsaufgaben bei laufendem Fahrbetrieb. So kommuniziert das PATS-Modul der externen Wegfahrsperre über den SCP-Bus mit dem Motorsteuergerät, um ihm Freigabe oder Sperrung der Motorsteuerung mitzuteilen. Ist das ABS-Modul von Bosch verbaut, so teilt dieses dem Motorsteuergerät bei ASR-Einsatz die als erforderlich berechnete Schubreduzierung mit. Auch lassen sich zahlreiche aktuelle Motorwerte durch ein geeignetes Diagnosegerät "live" fährend der Fahrt auslesen, erfassen und auswerten.
Die Form des Diagnosesteckers DLC (Diagnostic Link Connector, nach internationalen Vorgaben nie mehr als einen Meter vom Fahrersitz entfernt, beim Mondeo MK2 im Fahrerfußraum in der Verkleidung unter der Lenksäule untergebracht) entspricht der seit Anfang der 90er Jahre in USA eingeführten Vorgabe, die mittlerweile weltweit von allen Herstellern übernommen wurde. Hiermit - und mit dem Motor-Diagnoseverfahren OBD (On-Board Diagnose) ist es möglich, mit einem einzigen entsprechenden Wartungsgerät alle Fahrzeuge zu diagnosetizieren und zu warten. Weitere Informationen zu diesem Thema im Artikel zum Motorsteuerungsgerät PCM.
Die nachfolgende Tabelle enthält die Standardbelegung des trapezförmigen Diagnosesteckers mit seinen zweimal acht Pins, einschließlich der überschneidungsfrei enthaltenen Ford-spezifischen Besonderheiten:
Pin |
Signal |
Bemerkung |
1 |
|
|
2 |
SCP+ |
Ford: SCP-Bus |
3 |
CAN-M + |
CAN-Bus, mittlere Übertragungsgeschwindigkeit |
4 |
GND-Chassis |
Karosseriemasse, für Diagnosegerät |
5 |
GND-Signal |
Signalmasse, für Abschirmung der Datenleitungen |
6 |
CAN-H + |
CAN-Bus, hohe Übertragungsgeschwindigkeit |
7 |
ISO-9141 |
Ford: ISO-9141 Bus |
8 |
|
|
9 |
|
|
10 |
SCP- |
Ford: SCP-Bus |
11 |
CAN-M - |
CAN-Bus, mittlere Übertragungsgeschwindigkeit |
12 |
|
|
13 |
Program |
Ford: Programmiersignal für ältere Module (meist nur Dieselmotor) |
14 |
CAN-H - |
CAN-Bus, hohe Übertragungsgeschwindigkeit |
15 |
|
|
16 |
Vcc |
Dauerplus +12V, für Diagnosegerät |
CAN-Bus (Controller Area Network)
CAN ist ein standardisiertes, weltweit einheitliches System auf der Basis aktueller Computernetzwerke. Es arbeitet wesentlich schneller und sicherer wie ISO-9141 und SCP und erlaubt daher eine deutlich breitere Anwendung. In aktuellen Fahrzeugen wird nahezu die gesamte Motorregelung, Instrumentensignalisierung, Fahrzeugsicherung und die Unterhaltungs-Systeme über mehrere, unabhängige CAN-Bus-Systeme durchgeführt. Da ein CAN-Bus nur aus zwei Kabeln besteht, die alle beteiligten Teilnehmer miteinander verbindet, sinkt der Verkabelungsaufwand hierbei erheblich.
Im hier dokumentierten Mondeo der Baujahr 1996 bis 2000 kam CAN-Bus nicht zur Anwendung. Die nachfolgend zusammengetragenen Beschreibungen dienen deshalb nur als Ausblick auf nachfolgende Modelle.
CAN wurde als asynchrones, serielles Bus-System zur Vernetzung von Steuergeräten in Automobilen. Es wurde 1983 von Bosch entwickelt, 1985 zusammen mit Intel am Markt eingeführt und beruht physikalisch auf Kupfer- oder Glasfaserleitungen. Wie SCP benutzt es zur Erhöhung der Störsicherheit Differenzsignale, indem auf zwei Leitungen stets das gegenpolige Signal (CAN_HIGH und CAN_LOW) übertragen werden. Tritt ein Störsignal im System auf (immer in beiden Leitungen), so bleibt die Signaldifferenz zwischen den Leitungen trotzdem immer gleich. Bei Kupfer in höheren Datenraten werden meist 3 Leitungen verwendet (CAN_GND). Für langsame Systeme ("Komfort-Bus") reicht das Eindrahtsystem, aber oft als Zweidrahtsystem ausgeführt (Redundanz).
Stecker
Stecker wurden bislang nicht standardisiert, aber es werdenb meist 3- oder 9-poliger Stecker (Sub-D-Format) verwendet. Abschirmung ist nicht erforderlich, aber bei größeren Leitungslängen werden verdrillte Kabel empfohlen. Von der Arbeitsgruppe CiA (CAN in Automation) wurde ein 5-poliger Rundstecker und ein 10-poliger Doppelpfostenstecker definiert:
1 reserviert
2 CAN-L negiertes CAN-Signal (dominant-low)
3 CAN-GND Signal-Masse
4 reserviert
5 CAN-SHLD Schirmung (optional)
6 GND Geräte-Masse (optional)
7 CAN-H positives CAN-Signal (dominant high)
8 reserviert
9 VCC Versorgungsspannung (optional)
10 reserviert
Alle Teilnehmer am CAN-Bus arbeiten nach dem Multi-Master-Prinzip (mehrere gleichberechtigte Busteilnehmer). Deshalb kommt das CSMA/CA-Verfahren (Carrier Sense Multiple Access / Collision Avoidance, nicht verwendeln mit CSMA/CD) zur Anwendung. Zudem sollen Kollisionen beim Buszugriff durch Arbitrierung/Bit-Arbitrierung weitgehend vermieden werden. Die Daten-Integrität wird durch CRC-Prüfsummen sichergestellt.
Die Bits auf den Busleitungen CAN-H und CAN-L können zwei Zustände haben:
- "dominant": Pegel unterschiedlich, Differenz mindestens 3,5 Volt, entspricht log. 0
- "rezessiv": Pegel gleich, Differenz maximal 1,5 Volt, entspricht log. 1
Ein dominantes Bit kann ein rezessives überschreiben, da die Kopplung der Knoten auf dem Bus einer logischen UND-Verknüpfung entspricht.
log. Pegel |
Zustand |
CAN-H |
CAN-L |
Differenzpegel |
0 |
dominant |
Transistor geöffnet |
Transistor geschlossen (zieht Pegel auf GND) |
+5 Volt |
1 |
rezessiv |
Transistor geschlossen (zieht Pegel auf VCC) |
Transistor geöffnet |
0 Volt |
tristate |
floating |
Transistor geöffnet |
Transostor geöffnet |
|
Die Datenintegrität wird zusätzliche Sicherstellung der Datenintegrität durch "Bitt-Stuffing" (NRZI): werden 5 Bits gleicher Polarität (dominant oder rezessiv) in Folge gesendet, wird ein einzelnes Sync-Bit in entgegengesetzter Polarität eingefügt. Dies erhält die Synchronisierung der Busteilnehmer.
Bitrate |
max. Kabellänge |
Bemerkung |
10 kbit/s |
6700m |
|
20 kbit/s |
3300m |
|
50 kbit/s |
1300m |
|
125 kbit/s |
270m |
Lowspeed-Bus |
250 kbit/s |
130m |
|
500 kbit/s |
40m |
Midspeed-Bus |
1 Mbit/s |
530m |
Highspeed-Bus |
Die empfohlenen Kabel nach ISO 11898-2 (High Speed Medium Access Unit) sind Twisted-Pair mit 108 - 132 Ohm Wellenwiderstand. Die Leitungslänge wird durch die Signalausbreitungsgeschwindigkeit bis zum Bus-Ende je Frequenz beschränkt. Außerdem ist die Reaktionszeit des Empfängers (ACK-Signal) und die Rück-Signalisierung durch Pegeländerung zum Sender zu beachten.
Die maximale Teilnehmerzahl hängt von den verwendeten Transceivern ab, ohne Bridges sind i.d.R. bis zu 32, 64, 110, selten auch 128 Teilnehmer möglich.
CAN-Controller können den Bus einmal oder dreimal (Mehrheit gewinnt) pro Bit abtrasten. Die Dauer eines Bits wird durch ein Vielfaches des Controllertaktes bestimmt. Eine Flanke wird erkannt, wenn der Abtastwert ein anderer ist wie der vorherige Wert.
Topologie
Linien-Struktur, Vorteil: Ausfall eines Gerätes blockiert den Bus nicht, nur Bus-Unterbrechungen führen zum Gesamtausfall. 120Ohm-Widerstände terminieren den Bus an beiden physikalischen Bus-Enden. Stichleitungen sind nur eingeschränkt zulässig, da hier der Wellenwiderstand nur schwer zu berechnen ist.
Sonderformen:
· ringförmig (Infotainment), Nachteil: Ausfall eines Steuergerätes blockiert den ganzen Bus
Objekt-Identifier
Die Objekt-ID kennzeichnet den Inhalt der Nachricht (z.B. IDs für Temperatur, Druck, Spannung), nicht das Gerät bzw. den Knoten. Die Empfänger entscheiden nach diesen IDs, ob die Nachricht für sie relevant ist. Kann auch für die Priorisierung verwendet werden.
· 11-Bit-Identifier, auch Base frame format (muss unterstützt werden), oder
Zu jeder ID darf es nur einen einzigen Sender geben, aber jeder Sender kann beliebig viele IDs senden.
Arbitrierung, Priorität
Der Buszugriff wird mittels Bit-weiser Arbitrierung über den Identifier der Nachricht aufgelöst. Der Sender lauscht am Bus, während er den Identifier sendet. Bei gleichzeitiger Bus-Nutzung zweier Sender überschreibt das erste dominante Bit eines der Sender das entsprechend rezessive des Anderen. Der Sender der rezessiven Bits erkennt dieses und bricht seinen Sendeversuch ab. Wird gleichzeitig der gleiche Identifier verwendet, wird ein Error-Frame erzeugt (deshalb darf ein Identifier auch nur von einem Sender verwendet werden).
Die Nachrichten haben nach ihren IDs folgende Hierarchie (Priorisierung): die niedrigste ID hat die höchste Priorität, z.B. bei zeitkritischen Nachrichten. Trotzdem ist der Sendezeitpunkt nicht genau bestimmbar, da in der Übertragung befindliche Nachrichten nicht unterbrochen werden.
Definition in Layer
Frame-Aufbau
Daten-Frame: Transport von bis zu 8 Daten-Oktetten (Standard-Frame nach Standard CAN 2.0A)
Bits |
Typ |
Sig |
Bedeutung |
1 |
dom |
SOF |
Start of Frame-Bit |
11 |
|
ARB |
Identifier (Arbitrierungsfeld) |
1 |
dom |
RTR |
Remote Transmission Request (in Remote-Frames rezessiv) |
1 |
dom |
IDE |
Identifier Extension Bit (zeigt an, dass keine weiteren Identifier-Bits folgen) |
1 |
dom |
r0 |
reserviert |
4 |
|
DLC |
Datenlängenfeld |
0..64 |
|
DATA |
Datenfeld, Länge in 8-Bit-Schritten (0..8 Byte) |
15 |
|
CRC |
CRC-Prüfsumme |
1 |
rez |
DLM |
CRC-Trennzeichen |
1 |
rez |
ACK |
Bestätigungs-Slot |
1 |
rez |
ACK |
Bestätigungs-Trennzeichen |
7 |
rez |
EOF |
End of Frame |
3 |
rez |
IFS |
Intermission Frame Space (Mindestwartezeit nach dem Frame) |
Extended-Frame nach Standard CAN 2.0B
Bits |
Typ |
Sig |
Bedeutung |
1 |
dom |
SOF |
Start of Frame-Bit |
11 |
|
ARB |
Arbitrierungsfeld: Identifier, im Extended frame format 29+2 Bits lang |
1 |
dom |
SRR |
Arbitrierungsfeld: Substitute Remote Request |
1 |
dom |
IDE |
Identifier Extension Bit (zeigt an, dass noch weitere Identifier-Bits folgen) |
18 |
|
ID2 |
Identifier, Fortsetzung |
1 |
dom |
RTR |
Remite Transmission Request |
1 |
|
r1 |
reserviert |
1 |
|
r0 |
reserviert |
4 |
|
DLC |
Datenlängenfeld |
0..64 |
|
DATA |
Datenfeld, Länge in 8-Bit-Schritten (0..8 Byte) |
15 |
|
CRC |
CRC-Prüfsumme |
1 |
rez |
DLM |
CRC-Trennzeichen |
1 |
rez |
ACK |
Bestätigungs-Slot |
1 |
rez |
ACK |
Bestätigungs-Trennzeichen |
7 |
rez |
EOF |
End of Frame |
3 |
rez |
IFS |
Intermission Frame Space (Mindestwartezeit nach dem Frame) |
ACK-Slot: Empfang eines Nachricht wird immer bestätigt. Bei korrektem Empfang dieses Bit dabei dominant (überschreibt damit den Sender). Bei negativer Quittung (Bit bleibt rezessiv) muss nach dem ACK-Delimiter ein Error-Flag folgen (Information des Senders, allgemeinen Fehlerzustand ausrufen)
Remote-Frame: Anforderung eines Datenframes von einem bestimmten Teilnehmer, wie Datenframe, nur RTR-Bit gesetzt und rezessiv.
Error-Frame: signalisiert einen erkannten Übertragungsfehler, wird von einem Knoten gesendet, der einen Fehler im Netzwerk entdeckt hat; besteht aus zwei Feldern:
· Error Flags: active oder passive error flag, je nach Fehlerstatus des Senders
Wird ein Error-Frame gesendet, verwerfen alle Teilnehmer den vorausgegangenen Frame als fehlerhaft. Erkennt ein Teilnehmer den Error-Frame nicht, sendet er seinerseits einen Error-Frame. Jeder Teilnehmer hat einen Fehlerzähler. Arbeitet ein Teilnehmer fehlerhaft (erkennt fortgesetzt korrekte Frame als fehlerhaft oder sendet fehlerhafte Frames), ändert sich über diesen Zähler sein Fehlerzustand:
· error active: normal
· error passive: Teilnehmer darf nur noch passive (rezessive) Error-Frames senden
Der Sender wiederholt nach einen Error-Frame seine Nachricht.
Overload-Frame: Zwangspause zwischen Daten- und Remote-Frames
Standards
ISO 11898-1.2003 Road vehicles - Controller area network - Part 1: Data link layer and physical signalling
ISO 11898-2.2003 Road vehicles - Controller area network - Part 2: High-speed medium access unit
ISO 11898-3.2005 Road vehicles - Controller area network - Part 3: Low-speed medium dependent interface
ISO 11898-4.2004 Road vehicles - Controller area network - Part 4: Time-triggered communication