Sie sind auf Seite 1von 25

CAN Bus

CAN Bus - Inhalt:

- Allgemeine Beschreibung
- CAN Standard
- Anwendungsbeispiel im KFZ
- Netzwerkstrukturen der Zukunft
- CAN Knoten
- CAN Netzwerk
- Adressierung
- Kommunikationsprinzip
- CAN Transceiver

- Buslogik
- Buszugriff
- Framing
- Datensicherung
- Bitkodierung
- Bitsyncronisation
- Bitstuffing

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 1
CAN Bus

Allgemeine Beschreibung
• Linienförmiges Netz
• Multi-Master-System: mehrere Teilnehmern können auf den Bus zugreifen => Kollisions Risiko
• Verlustlose Arbitrierung: Auswahlsverfahren um Kollision zu vermeiden.
• 2 Leitungen (verdrillt): CAN_HIGH, CAN_LOW

• max. Datenrate 1 MBit/s


• max. Netzwerkausdehnung ca. 40m
• max. Anzahl von CAN-Knoten 32 (ISO 11898)
Das Controller Area Network (CAN)
verbindet mehrere gleichberechtigte
Komponenten (Knoten, Node) über
einen 2-Draht Bus miteinander. Das
CAN-Protokoll wurde 1983 von Bosch
für den Einsatz in Kraftfahrzeugen
entwickelt.

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 2
CAN Bus

CAN Standard

Controller Area Network (CAN) wurde speziell für den schnellen seriellen Datenaustausch zwischen
elektronischen Steuergeräten in Kraftfahrzeugen entwickelt. Genauso kann CAN auch für die
Realisierung industrieller Mikrocontroller-Netzwerke eingesetzt werden, beispielsweise als interner
Bus von Werkzeugmaschinen, für die Ankopplung verteilter Mess-, Steuer- und Anzeigefunktionen
der untersten Automatisierungsebene an einen übergeordneten Rechner oder als Zubringerbus für
den Anschluss von Sensoren, Aktuatoren oder Bedienungsschnittstellen.

Die Norm ISO 11898 beschreibt den CAN Physical Layer und den CAN Data Link Layer. Mit den
Layern 1 und 2 des ISO/OSI-Schichtenmodells sind die untersten CAN-Protokollschichten einheitlich
genormt. Protokolle, die auf Layer 7 (Anwendungsschicht) basieren, sind in verschiedenen, teils
herstellerspezifischen Standards zusammengefasst, dazu gehören u.a. CANopen, DeviceNet und
J1939.

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 3
CAN Bus

CAN Anwendungsbeispiel im KFZ

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 4
CAN Bus

Netzwerkstrukturen der Zukunft

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 5
CAN Bus

CAN - Knoten
Referenzarchitektur AUTOSAR
(AUTomotive Open System ARchitecture)

AUTOSAR Runtime Environment (RTE)


entkoppelt das Netzwerk von den Software-
Komponenten der Applikation

Runtime Environment bietet den Software-


Komponenten einheitliche Dienste:
-Microcontroller Abstraction Layer
-ECU Abstraction Layer
-Service Layer.

AUTOSAR COM (Communication) stellt


Standardkommunikationsdienste,
Diagnosedienste (Diagnostic COM Manager)
und Netzwerkmanagementdienste (Generic
NM/CAN NM) bereit.
Der PDU Router (PDU: Protocol Data Unit)
behandelt die knoteninterne Kommunikation
zwischen den einzelnen Kommunikations-
schichten und sorgt für die Koordination der
Kommunikation zwischen AUTOSAR COM,
Diagnostic COM Manager und CAN TP
(Transportprotokoll).

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 6
CAN Bus

CAN – Netzwerk

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 7
CAN Bus

CAN – Adressierung / Datenaustausches im CAN Netzwerk

Bei der Datenübertragung in einem CAN Bus werden keine Knoten adressiert, sondern der
Inhalt einer Nachricht (z.B. Drehzahl oder Motortemperatur) wird durch einen eindeutigen
Identifier (ID) gekennzeichnet.

Neben der Inhaltskennzeichnung legt der Identifier auch die Priorität der Nachricht fest. Der
Identifier mit der niedrigsten Binärzahl hat die höchste Priorität.
Mit der dann folgenden Akzeptanzprüfung stellen alle Stationen nach korrektem Empfang der
Nachricht anhand des Identifiers fest, ob die empfangenen Daten für sie relevant sind oder
nicht.
Hierdurch ergibt sich die Möglichkeit des Multicasting: Eine Nachricht kann von mehreren
Teilnehmern gleichzeitig empfangen und ausgewertet werden. Messgrößen, die von mehreren
Steuergeräten als Information benötigt werden, können über das CAN-Netz so verteilt werden,
dass nicht jedes Steuergerät einen eigenen Sensor benötigt.

Eine solche empfängerselektive Adressierung ist sehr flexibel, ist aber auf eine
empfängerseitige Filterung der empfangenen CAN-Botschaften angewiesen
(Akzeptanzfilterung).

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 8
CAN Bus

CAN - Kommunikationsprinzip

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 9
CAN Bus

CAN - Transceiver

Prinzipiellen Aufbau eines High-Speed-CAN-


Transceivers:

Wenn beide Ausgangstransistoren sperren,


dann nehmen beide CAN-Leitungen dasselbe
Potenzial (0,5*Vcc) an
⇑die Differenzspannung ist Null.
Sobald beide Transistoren durchschalten
herrscht zwischen beiden Leitungen eine vom
Lastwiderstand abhängige Spannungsdifferenz.
Laut ISO 11898-2 soll diese Differenz 2 Volt
betragen. Dabei fließt ein Strom von ca. 35 mA.

Die ISO 11898-2 weist der logischen 1 eine


Differenzspannung von 0 Volt zu. Eine
Differenzspannung von 2 Volt entspricht der logischen 0

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 10
CAN Bus

CAN - Buslogik

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 11
CAN Bus

CAN - Buszugriff

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 12
CAN Bus

CAN - Buszugriff

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 13
CAN Bus

CAN Framing - Data Frame im Standard- und Extended-Format

12/ 32 Bit 6 Bit 0-8 Byte 15 +1 Bit 2 Bit 7 Bit 3 Bit

Ein Data-Frame kann maximal acht


11 +1 Bit 1+1+4 Bit Nutzbytes transportieren. Zur Verfügung
steht dazu das so genannte „Data-Field“.

Weitere Feldern zur Abwicklung des CAN-


Kommunikationsprotokolls sind:
- Botschaftsadresse (Identifier - ID)
- Data Length Code (DLC)
18 Bit - Prüfsumme (CRC Sequence) +ACK

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 14
CAN Bus

CAN Framing

• Start: dominant, dient der Synchronisation,


• Identifier: Information für den Empfänger und Prioritätsinformation für die Busarbitrierung,
• RTR: rezessiv, unterscheidet Daten- (dominant) und Datenanforderungstelegramm (rezessiv),
• IDE: Identifier Extension,
• r0: reserviert,
• DLC: enthält die Längeninformation der nachfolgenden Daten,
• DATA: enthält die Daten des Telegramms,
• CRC: Die CRC Prüfsumme wird zur Fehlererkennung verwendet,
• ACK: enthält Rückmeldung von anderen Teilnehmern bei korrektem Empfang der Nachricht,
• EOF: kennzeichnet das Ende des Datentelegramms (7 rezessive Bits),
• IFS: kennzeichnet den Zeitraum für das Übertragen einer korrekt empfangenen Nachricht,
• SRR: ersetzt im Extended Frame das RTR Bit des Standard Frames,
• IDE: zeigt an, dass noch weitere 18 Bits folgen,
• r1, r0: reservierte Bits,
• DLC: Längeninformation der nachfolgenden Daten.

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 15
CAN Bus

CAN Framing – weitere Telegrammtypen

• Remote Frame: Auslösung einer Übertragung beim gleichen Identifier. Das RTR Bit ist
resseziv und der Datenfeld entfällt.

• Error Frame: Beim vorhandene Fehler auf dem Bus. 6 gleichen


Bits werden nach dem Datenfeld gesendet.

• Overload Frame: Erzwingen einer Verzögerung zwischen 2 Telegrammen

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 16
CAN Bus

CAN Framing

Neben den für die Datenübertragung eingesetzten Data-Frames existiert mit dem Remote-Frame ein Frametyp, mit
dem Nutzdaten, also Data-Frames, von beliebigen CAN-Knoten angefordert werden können. Allerdings kommen
diese im Automobil kaum zur Anwendung, da dort die Datenübertragung nicht auf Nachfrage, sondern im
Wesentlichen auf der Initiative der Informationserzeuger basiert. Remote-Frames können dabei sowohl im Standard-
als auch im Extended-Format übertragen werden.

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 17
CAN Bus

Datensicherung

Die Fehlererkennungsmechanismen
Bitmonitoring und ACK-Check werden
vom Sender einer CAN-Botschaft
wahrgenommen.
Unabhängig von der Akzeptanzfilterung
kümmern sich die Empfänger um Form-
Check, Stuff-Check und Cyclic
Redundancy Check.
18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum
© Griesbaum, FH Karlsruhe, 2009 18
CAN Bus

CAN - Datensicherung

Der Form-Check dient der Überprüfung des Formats einer Der im CAN-Protokoll definierte
CAN-Botschaft. Jede CAN-Botschaft weist an bestimmten Bestätigungsmechanismus (Acknowledgement) sieht
Stellen immer dieselben Bitsequenzen auf. Dabei handelt vor, dass alle Empfänger jede ankommende CAN-
es sich um den CRC-Delimiter, den ACK-Delimiter und um Botschaft im Anschluss an den Cyclic Redundancy
das EOF. Diese Botschaftskomponenten werden vom Check bestätigen müssen. Eine einzige positive
Sender stets rezessiv übertragen. Ein Formatfehler liegt Bestätigung reicht aus, um dem Sender zu
dann vor, wenn ein Empfänger mittels Form-Check einen signalisieren, dass mindestens ein Empfänger die von
dominanten Buspegel innerhalb einer dieser ihm übertragende CAN-Botschaft korrekt empfangen
Botschaftskomponenten entdeckt. hat. Wenn keine einzige positive Bestätigung beim
Sender eintrifft, dann liegt ein Bestätigungsfehler (ACK-
Fehler) vor.

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 19
CAN Bus
CAN - Datensicherung

Das CAN-Protokoll schreibt aus Gründen netzwerkweiter Datenkonsistenz vor, dass bei lokalen Störungen
der fehlererkennende CAN-Knoten alle im CAN-Netzwerk angeschlossenen CAN-Knoten davon in Kenntnis
zu setzen hat. Dazu überträgt der fehlererkennende CAN-Knoten ein Fehlersignal (Error-Flag), welches sich
aus sechs dominanten Bits zusammensetzt. Damit wird bewusst die Bitstuffingregel verletzt und so ein
Bitstuffing-Fehler verursacht.
Der Übertragung eines Error-Flags schließt sich immer die Übertragung eines Error-Delimiters an. Dieser setzt
sich aus acht rezessiven Bit zusammen. Der Error-Delimiter ersetzt den ACK-Delimiter und das EOF einer
regulären Botschaftsübertragung, so dass sich zusammen mit der obligatorischen Sendepause (ITM -
Intermission) auf dem CAN-Bus elf rezessive Bit ergeben (Bus-Idle-Kennung).
Die Fehlerbehandlung wird vom Sender der abgebrochenen CAN-Botschaft abgeschlossen, indem er nach dem
ITM versucht, die abgebrochene CAN-Botschaft nochmals zu übertragen.
18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum
© Griesbaum, FH Karlsruhe, 2009 20
CAN Bus

CAN – Buszugriff mit Datenfehler

1. Sender detektiert Bitmonitoringfehler


2. und setzt prim. Error Flag
3. => Empfänger überträgt sek. Error Flag
4. => Empfänger überträgt sek. Error Delimiter
5. Fortsetzung des Error Delimiters
6. Error Delimiters komplett
7. ITM komlpett => Bus Idel
8. SOF

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 21
CAN Bus

CAN - Buszugriff

http://www.vector-elearning.com
18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum
© Griesbaum, FH Karlsruhe, 2009 22
CAN Bus

CAN – Framing – CRC und ACK

Im Rahmen des CRC-Verfahrens wird auf Basis der zu


übertragenden Bits (SOF bis einschließlich des Data-
Fields) und eines durch die ISO 11898-1 definierten
Generatorpolynoms G(x) eine CRC-Sequence
berechnet, die den zu übertragenden Bits angehängt
wird. Der Empfänger erkennt dann mit sehr hoher
Sicherheit einen Übertragungsfehler

Jeder Empfänger steuert unabhängig von der Akzeptanzfilterung das Acknowledgement. Entweder quittiert ein Empfänger positiv
oder negativ Ein dominanter Pegel im ACK-Slot entspricht einer positiven, ein rezessiver Pegel einer negativen Quittung.
Der ACK-Delimiter wird zwecks Fehlerverfolgung immer rezessiv übertragen. Da der Sender sowohl den ACK-Slot als auch den
ACK-Delimiter rezessiv überträgt, reicht eine positive Quittung aus, um dem Sender die Korrektheit der Botschaftsübertragung zu
bestätigen.

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 23
CAN Bus

CAN – Framing – Bit stuffing

Grundvoraussetzung für eine korrekte Datenübertragung


sind synchronisierte Kommunikationspartner. Zur
Herstellung des Gleichlaufs dient die von rezessiv nach
dominant wechselnde Signalflanke des Startbits (Start Of
Frame - SOF) einer CAN-Botschaft. Ein Resyn-
chronisationsmechanismus sorgt im Anschluss an das
SOF für die Beibehaltung des Gleichlaufs bis zum Ende
der Botschaftsübertragung.

Der Resynchronisationsmechanismus basiert auf der


Auswertung der von rezessiv nach dominant wechselnden
Signalflanken. Die Sicherstellung solcher Signalflanken
erfolgt durch den so genannten Bitstuffingmechanismus.
Die ISO 11898-1 schreibt den Sendern vor, spätestens
nach fünf homogenen Bits ein komplementäres Bit zu
übertragen, auch dann, wenn nach fünf homogenen Bits
ohnehin ein komplementäres Bit folgen würde.
Weil das Bitstuffing mit der Übertragung des SOF beginnt
und mit der Übertragung des letzten Bits der CRC-
Sequence endet, ergeben sich für die Übertragung eines
Data-Frames im Standard-Format im Worst-Case-Fall,
also wenn das Data-Field acht Nutzbytes umfasst,
theoretisch 24 Stuffbits. Infolgedessen setzt sich der
18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum längstmögliche Data-Frame im Standard-Format
© Griesbaum, FH Karlsruhe, 2009
theoretisch aus 132 Bit zusammen. 24
CAN Bus

Literatur:
• Wolfhard Lawrenz (Hrsg.): CAN Controller Area Network - Grundlagen und Praxis. Hüthig, ISBN 3-7785-
2780-0

Links:
•http://www.vector-elearning.com
•http://www.controllerareanetwork.de/

18.03.2009 | Elektronik in mechatronischen Systemen I | Dozent: Griesbaum


© Griesbaum, FH Karlsruhe, 2009 25

Das könnte Ihnen auch gefallen