SG_FSE_SiplaceHF_HF3_00193900-05_de.pdf - 第80页

1 - 12 S tudent Guide SIPLACE HF/HF3 3 Kommunikation und S t euerung Ausgabe 09/2005 12 3.3.2.1 1 1-Bit Identifier Das CAN-Bussystem verwen det den 1 1-Bit-Identifi er zur Adressierung der versch. CAN- Objekte. Abb. 3.3 …

100%1 / 603
1 - 11
Student Guide SIPLACE HF/HF3
Ausgabe 09/2005 3 Kommunikation und Steuerung
11
3.3.2 Allgemeines zum CAN-Bus
CAN ist ein serielles Bussystem und wurde speziell für die Netzwerktechnik von Sensoren
und Aktoren in einem System oder Subsystem entwickelt.
CAN ist ein serielles Bussystem mit Multimaster Fähigkeiten, d.h. Buszugriffe können
gleichzeitig gestartet werden.
Im CAN Netzwerk gibt es keine Adressierung der Einzelkomponenten im herkömmlichen
Sinn, sondern priorisierte Meldungen werden an alle Teilnehmer gesendet (broadcasting).
Jeder Teilnehmer entscheidet dann, ob er diese Information bearbeitet oder nicht. Der Iden-
tifier entscheidet ob dieser Buszugriff im Vergleich zu einer anderen Meldung / Nachricht
sofort erfolgt oder verzögert wird. Die Programmierung ist vergleichsweise einfach durch
die relative simple CAN-Bus Kommunikation.
Jede CAN Nachricht kann 0 bis 8 Byte Benutzerinformation übertragen. Längere Nachrich-
ten kann man durch segmentierte, d.h. vereinzelte Datenblöcke übertragen. Die maximale
Übertragungsrate wird mit 1 Mbit/s spezifiziert. Dieser Wert wird in Netzwerken mit bis zu
40 m Länge erreicht. Größere Entfernungen reduzieren die Übertragungsrate z. Bsp. bei
einer Länge von 500 m ungefähr 125 Kbits oder bei 1 km Länge ungefähr 50 Kbit/s.Jede
CAN-Botschaft kann maximal 8 Byte an Benutzernachrichten übermitteln. Natürlich können
mittels Segmentierung auch längere Dateninformationen übermittelt werden. Die maximale
Datenübertragungsgeschwindigkeit beträgt 1 Mbit/s bei einer Buslänge von ca. 40 m. Bei
größeren Distanzen muss die Datenrate reduziert werden:
Bei Distanzen bis zu 500 m ist eine Geschwindigkeit von 125 kbit und bei Übertragungen
bis zu 1 km eine Geschwindigkeit von 50 kbit/s möglich.
3
I
Abb. 3.3 - 5 CAN-Bus-Länge
Die maximale Busgeschwindigkeit 1 MBaud und wird bei einer Buslänge von 40 m durch Verwen-
dung eines Twisted-Pair Kabels erreicht. Bei größeren Längen als 40 m muss die Geschwindig-
keit reduziert werden. Eine Buslänge über 1000 m erfordert spezielle Treiber.
1 - 12
Student Guide SIPLACE HF/HF3
3 Kommunikation und Steuerung Ausgabe 09/2005
12
3.3.2.1 11-Bit Identifier
Das CAN-Bussystem verwendet den 11-Bit-Identifier zur Adressierung der versch. CAN-Objekte.
Abb. 3.3 - 6 11-Bit-Identifier
3.3.2.2 CAN-Bus-Protokoll
Abb. 3.3 - 7 CAN-Bus-Protokoll
Start:
Diese Bit kennzeichnet den Beginn eines Telegramms und besteht aus einem dominanten Bit.
Ein TN kann mit der Arbitrierung nur beginnen, solange sich der Bus im Ruhezustand befindet.
Adressenfeld (11 Bit Identifier):
Der Wert des 11 Bit Identifier entscheidet über den Buszugriff. Der niedrigere Wert besitzt die
höhere Priorität.
Steuerfeld:
Die 4 niedrigsten Bit des 6 Bit Feldes geben die Datenlänge des nachfolgenden Datenfeldes
in Bytes an (DLC: data length code).
Datenfeld:
Enthält die eigentliche Nutzinformation und kann 0 bis 8 Byte umfassen. Die Übertragung ei-
nes Bytes beginnt mit dem höchstwertigen Bit.
Datensicherungsfeld CRC:
Besteht aus einer 15 Bit Prüfsequenz (CRC Sequence + CRC Delimiter = CRC Field - Cyclic
Redundancy Check), sowie einem rezessiv übertragenem Begrenzungsbit. Mit der in der Prüf-
sequenz enthaltenen redundanten Information kann der Empfänger nachprüfen, ob die
empfangene Nachricht durch Störeinwirkungen verfälscht wurde.
Ende:
Jedes Datentelegramm wird durch eine Bitsequenz von 7 rezessiven Bits abgeschlossen.
Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit Bit 1 Bit 0
KKCCCCPPTTT
Knotentyp (K) CAN Objekt (C) Portalnummer (P) Telegrammtyp (T)
Abhängig vom
Knotentyp
00: Sektor 1 000 Kommando
01: Sektor 2 001 Nachricht
10: Sektor 3
11: Sektor 4
00: Köpfe
01: Achsen
10: BE-Tische
11: reserviert
Start
Adresse
(11 bit Kennung)
Steuer-
information.
Daten (0-8 Bytes
Benutzerinformation)
CRC
Ende
1 - 13
Student Guide SIPLACE HF/HF3
Ausgabe 09/2005 3 Kommunikation und Steuerung
13
3.3.2.3 CSMA: Vermeidung von Datenkollision
Ist der Bus frei, kann jedes Objekt eine Datenübertragung versuchen. Die Nachricht mit der
höchsten Priorität wird zuerst übertragen. Die TN mit einer niedrigeren Priorität ziehen sich zurück
und versuchen es erneut, sobald die Datenübertragung abgeschlossen ist.
Abb. 3.3 - 8 CSMA: Vermeidung von Datenkollision
3.3.2.4 CAN-Bus Arbitrierung
Arbitrierung (engl. Arbitration bedeutet übersetzt ’Schiedsgericht’)
Bei CAN erfolgt der Buszugriff durch die TN völlig unkoordiniert nach dem Prinzip des dezentralen
Buszugriffs. Es ist grundsätzlich möglich, dass mehrere TN gleichzeitig mit dem Senden einer
Nachricht (Kommando oder Meldung) beginnen. Generell gilt, dass ein TN nur dann den Bus be-
legen kann, wenn dieser frei ist. Die Busteilnehmer erkennen den Belegungszustand des Busses
über eine festgelegte Zeitspanne, innerhalb welcher der Bus auf Ruhepotential sein muss.
Immer dann, wenn mehrere TN gleichzeitig mit dem Senden einer Nachricht beginnen, wird im
Rahmen einer Auswahlphase (Arbitrierungsphase) entschieden, welcher TN am Bus verbleiben
darf.
Ein solcher Buszugriffskonflikt wird durch bitweises Aufschalten des Nachrichtenarbitrierungsfel-
des (Standard ist ein 11 Bit Identifier) aufgelöst.
Grundlage der bitweisen Arbitrierung ist die Unterscheidung von 2 physikalischen Buspegeln, ei-
nem dominanten (low) und einem rezessiven Bit (high).
Ein freier Bus befindet sich auf rezessivem Pegel. Ein TN, der den Bus belegt, signalisiert dies
durch Aufschalten eines dominanten Bits (SoF,
Start of Frame). Während der Arbitrierungsphase
vergleicht jeder sendende TN den von ihm aufgeschalteten Buspegel mit dem tatsächlich auf dem
Bus vorhandenen Pegel.
Jeder TN, der ein rezessives Bit gesendet hat und ein dominantes beobachtet, stellt seinen
Arbitrierungsversuch sofort ein und wird zum möglichen Empfänger der Nachricht. Am Ende der
Arbitrierung bleibt nur derjenige TN am Bus, dessen Nachricht den niedrigsten Identifierwert
besitzt (logische Null wird durch dominanten Pegel abgebildet). Die Priorität einer Nachricht ist
also höher, je niedriger der Wert des Identifier dieser Nachricht.
Buszugriff
kurze Wartezeiten
für
Telegramme
mit hoher Priorität
CSMA / CD: Carrier Sense Multiple Access by Collusion Detection
im Falle einer Kollision
startet der TN mit der
niedrigeren Priorität
später
Carrier Sense
Multiple Access
(CSMA)
ollision
C
Detection
(CD)