CAN - Bus.ppt [Kompatibilit...

47
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

Transcript of CAN - Bus.ppt [Kompatibilit...

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 23

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 24

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 25

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 26

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 27

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 28

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 29

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 30

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 31

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 32

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 33

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 34

CAN Physical Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 35

Data Link Layer (Arbitrierung)

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 36

CAN Physical Layer (Arbitrierung)

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

CAN - BUS

12.06.2008 Arnd Bensch, Bastian Böhme 47

Vielen Dank

Vielen Dank

für Ihre

Aufmerksamkeit!!!