Upload
dinhkhue
View
234
Download
1
Embed Size (px)
Citation preview
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 1
Inhaltsverzeichnis
• Überblick CAN
• Übersicht Bussysteme
• ISO / OSI Schichtenmodell
• Physical Layer (Hardwareschicht)
• Data Layer (Softwareschicht)
• Application Layer (Anwendungsschicht)
• Anwendungsgebiete
• Literaturverzeichnis
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 2
Überblick CAN-BUS
• CAN = Controller Area Network
• nicht deterministisch
• Vorgestellt von Bosch/Intel im Jahr 1986
• Entwickelt für Vernetzung von Steuergeräten
• Weltweit verwenden alle Automobilhersteller den CAN als Standard
• Neufahrzeuge haben ab 2008 den CAN-BUS als einzige zugelassene OBD-Schnittstelle (On-Board-Diagnostic)
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 3
Übersicht Bussysteme
LIN SAE J1850
CAN - B
CAN - C TTCAN
FlexRay
Bluetooth
MOST
IDB 1394
2 * 10000
Klasse A Klasse B Klasse C Sicherheit Multimedia
Brutto-
Datenrate
[kBits / s]
SAE-Klassen
20
125
1000732
24800
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 4
DachTürTür
SitzSitz
Klima Computer
CAN - B
Komfort
ABS GetriebeMotor
CAN - C
Antrieb /
Fahrwerk
Kombi
FlexRay
ECU I ECU IIX-by-Wire
Navi
TelefonCD-
Player
TV-
Tuner
MOST Multimedia
Sensor Sensor Aktor
LIN
Sensor / Aktoren
Gateway
Bussysteme im Auto
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 5
ISO / OSI Schichtenmodell
Darstellung
Kommunikation
Transport
Vermittlung
Sicherung
Bitübertragung
Anwendung
Darstellung
Kommunikation
Transport
Vermittlung
Sicherung
Bitübertragung
Anwendung
Vermittlung
Sicherung
Bitübertragung
Vermittlung
Sicherung
Bitübertragung
7
6
5
4
3
2
1
Layer
Endsystem EndsystemTransitsysteme
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 6
• Part 1: Physical Layer (High / Low Speed CAN)
• Part 2: Data Link Layer (Bosch spez. CAN 2.0A und 2.0B)
• Part 7: Application Layer
CAN Layer nach ISO 11898
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 7
Highspeed-CAN
• 2-Draht System
• Abschlusswiderstände (120 Ohm)
• Masseleitung wird bei langen Leitungen mitgeführt
• Stichleitung max. als 30cm
• Unterschiedliche Pegel: CAN_H: dominant 3,5V
CAN_L: dominant 1,5V
rezessiv 2,5V
Can_H mit 3,5 V
Can_L mit 1,5 V
CAN Physical Layer (2-Draht)
dom.rez. rez.
2,5V 2,5V
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 8
Verdrahtung CAN-B / C
ECU II
Transceiver
ECU III
Transceiver
ECU I
Transceiver
ECU IV
Transceiver
ECU V
Transceiver
CAN_H
CAN_L
120 Ω120 Ω
CAN Physical Layer
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 9
Bitrate Kabellänge
10 kbit/s 6,7 km
20 kbit/s 3,3 km
50 kbit/s 1,3 km
125 kbit/s 530 m
250 kbit/s 270 m
500 kbit/s 130 m
1 Mbit/s 40 m
CAN Physical Layer (2-Draht)
CAN_H
CAN_L
Kabellängen
Kabelaufbau
CAN_H und CAN_L Leitungen verdrillt
skbitBitrate
kmKabellänge /*
50..40=
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 10
Eingeschränkte Fehlertoleranz
Hardware:
Ein Ausfall einer der beiden Leitungen hat zur Folge das der Knoten sich selbst abschaltet
Software:
Bei Erkennung eines Fehlers, wird die Nachricht für ungültig erklärt, der Sender muss diese erneut senden
CAN Physical Layer (HS-CAN)Fehlererkennung 2-Draht
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 11
Lowspeed-CAN
• 1 oder 2-Draht System
• Datenrate ist auf 125 kbit/s begrenzt
• Hardware Fehlererkennung
• hohe Fehlertoleranz
• Unterschiedliche Pegel: CAN_H: dominant 3,6V
CAN_L: dominant 1,4V
CAN_H: rezessiv min. 4,8V
CAN_L: rezessiv max. 0,2V
CAN Physical Layer (2-Draht)
dom.rez. rez.
3,6 V
1,4 V
min 4,8 V
max 0,2 V1
2
3
4
5
Volt
CAN_L
CAN_H
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 12
Hardware:
Funktionsfähig bei…
• Unterbrechung CAN_H oder CAN_L Leitung
• Kurzschluss CAN_H oder CAN_L nach UB
• Kurzschluss CAN_H oder CAN_L nach Masse
• Kurzschluss CAN_H nach CAN_L
Software:• Wird die Nachricht für ungültig erklärt
(der Sender muss diese erneut senden)
CAN Physical Layer (LS - CAN)Fehlererkennung 2-Draht
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 13
• ungeschirmte Eindrahtleitung
• gegen Masse geschaltet
• Datenrate liegt zwischen 33,33 Kbit/s und 83,33 Kbit/s
• Sleep Modus
• max. 32 Steuergeräte
• Pegel zwischen 0V und 4,1V dominant 4,1V
rezessiv 0V
CAN Physical Layer (1-Draht)
dom.rez. rez.
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 14
Eingeschränkte Fehlertoleranz
Hardware:
Bei Ausfall der Leitung hat dies zur Folge das der Knoten sich selbst abschaltet
Software:
Wird die Nachricht für ungültig erklärt (der Sender muss diese erneut senden)
CAN Physical Layer (LS-CAN)Fehlererkennung 1-Draht
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 15
TJA1041 CAN-C
Fehlertoleranter CAN-Controller (nicht 1-Draht-fähig)
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 16
TJA1054 CAN-B
Fehlertoleranter CAN-Controller (1-Draht fähig)
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 17
• Part 1: Physical Layer (High / Low Speed CAN)
• Part 2: Data Link Layer (Bosch spez. CAN 2.0A und 2.0B)
• Part 7: Application Layer
CAN Layer nach ISO 11898
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 18
Data Link Layer (CAN-Frames)
Nach ISO 11898 4 CAN-Frames:
• Datentelegramm (Data Frame)
Enthält die angeforderte Information, RTR Bit dominant (log. 0)
• Datenanforderungstelegramm (Remote Frame)
Keine Daten, RTR Bit rezessiv (log. 1)
• Fehlerdiagramm (Error Frame)
Übermittelt ein Fehlersignal
• Überlasttelegramm (Overload Frame)
Hält die Kommunikation zeitweise an
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 19
Data Link Layer (CAN 2.0A)Daten-Frame (standard)
Start of Frame (SOF)
Arbitration Field (ARB)
Control Field
Data Field
Cyclic Redundancy Field (CRC)
Acknowledge Field (ACK)
End of Frame (EOF)
Inter Frame Space (IFS)
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 20
Data Link Layer (CAN 2.0B)Daten-Frame (extended)
Substitute Remote Request (SRR) -> hat das RTR Bit ersetzt
Erweitertes Identifier Field
Identifier Extension Bit (IDE)
1
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 21
CRC (Cyclic Redundancy Code)
ACK (Acknowledge)
Frame-Check
Monitoring
Bit-Stuffing
• Arbitrierung dient zur Erkennung und Auflösung von Kollisionen
• Fehlererkennung (Software) bei Daten- und Remote-Frames
Data Link Layer
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 22
Data Link Layer (Arbitrierung)
• Sie ist zerstörungsfrei und erfolgt bitweise
• Jeder Sender überwacht den Bus
• Es verbleibt immer nur 1 Sender am Bus
• Bei 2 gleichen Identifiern wird nicht sofort ein Error-Frame gesendet
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 37
Cyclic Redundancy Check
• berechnet der Sender über alle Bits aus dem Datenfeld ein Polynom
• Diese ist im CRC-Feld kodiert
• Empfänger kontrolliert die Prüfsumme durch nachrechen
• Wenn die Prüfsummen nicht übereinstimmen, meldet der Empfänger einen CRC-Fehler
Data Link Layer (Fehlererkennung)CRC
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 38
Acknowledge
• Jeder Empfänger, der den CRC ohne Fehler ausgeführt hat, überschreibt das rezessive ACK-Bit des Senders mit einem Dominaten Bit.
• Das heißt jedoch nicht, dass die Nachricht von allen Teilnehmern fehlerfrei empfangen wurde.
• Das Delimiter-Bit bleibt rezessiv (Unterscheidung zwischen ACK und Error-Frame)
Data Link Layer (Fehlererkennung)ACK
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 39
Frame-Check
• Jeder Empfänger prüft, den Aufbau einer empfangenen Nachricht
• Wenn der Aufbau nicht den Spezifikationen entspricht, liegt ein Formatfehler vor, dieser wird dann angezeigt
Data Link Layer (Fehlererkennung) Format
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 40
Monitoring
• Dabei ist der Sender auch gleichzeitig Empfänger seiner Nachricht
• Durch den Vergleich der gesendeten und empfangenen Bits können lokale Fehler erkannt werden.
Data Link Layer (Fehlererkennung)Überwachung
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 41
Bit Stuffing
• Dieses Verfahren dient zur Resynchronisation von Teilnehmern
• Dabei fügt der Sender ein komplementäres Bit ein, wenn 5 Bits in folge gleich (rezessiv oder dominant) sind
• Diese Bits heißen Stuff-Bits
• Der Empfänger muss aus dem Datenstrom die Stuff-Bits heraus filtern
Data Link Layer (Fehlererkennung)Synchronisation
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 42
• Part 1: Physical Layer (High / Low Speed CAN)
• Part 2: Data Link Layer (Bosch spez. CAN 2.0A und 2.0B)
• Part 7: Application Layer
CAN Layer nach ISO 11898
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 43
• Diese Schicht stellt dem Benutzer Dienste wie z.B. Schreiben und Lesen zur Verfügung
• Des Weiteren können auch vordefinierte Dienste wie Dateitransfer und Dateibearbeitung zur Verfügung stehen
• Dabei nimmt diese Schicht keine Rücksicht auf Probleme
Application Layer
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 44
• Automobiltechnik (Komfort-, Unterhaltungs-, Antriebsstrang, Diagnose)
• Flugzeugtechnik (Flugsteuerung, Klimasystem, Toiletten- und Frischwassersystem, Frachtladesystem)
• Landmaschinen (Antriebsstrang und Aufbauten)
• Züge, Schiffe (Antriebsstrang und Hilfseinrichtungen)
• Automatisierungstechnik (zeitkritische Sensoren, Überwachungstechnik, Transportsysteme)
• Medizintechnik (Patientenpositionierung)
• Gebäudetechnik (Aufzüge)
Anwendungsgebiete CAN-BUS
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 45
Ausblick
• Fahrzeuge von BMW der Baureihe F001/ F10 / F25 (Nachfolger X3)
• Ethernet Anschluss mit Enbedded Web Server und TCP/IP Protokoll bzw. Fast Ethernet
• Mit 500 MHz Prozessor und zu
1,5 GB Daten im Fahrzeug
BMW X3
CAN - BUS
12.06.2008 Arnd Bensch, Bastian Böhme 46
LiteraturverzeichnisBücher:
[1] CAN Controller Area Network, Wolfhard Lawrenz
[2] Bussysteme in der Fahrzeugtechnik, Werner Zimmermann & Ralf Schmidgall
[3] Datenkommunikation im Automobil, Christoph Marscholik & Peter Subke
[4] CAN-BUS, Horst Engels
[5] Controller-Area-Network, Konrad Etschberger
Internetseiten:
[6] http://www.vector-worldwide.com
[7] http://www.me-systeme.de
[8] http://www.tecchannel.de
[9] http://www.port.de
Skript:
[10] Daten und Bussysteme (DUB), Prof. Dr.-Ing. Manfred Krüger