SG_FSE_SiplaceHF_HF3_00193900-05_de - 第81页
1 - 13 S tudent Guide SIPLACE HF/HF3 Ausgabe 09/2005 3 Kommunikation und S teuerung 13 3.3.2.3 CSMA: V ermeidung von Datenkolli sion Ist der Bus frei, kann jedes Objekt eine Dat enü bertragung versuchen. Die Nach richt m…

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)

1 - 14
Student Guide SIPLACE HF/HF3
3 Kommunikation und Steuerung Ausgabe 09/2005
14
Dadurch wird sichergestellt, das bei gleichzeitiger Belegung des Busses durch mehrere TN immer
nur ein TN am Bus bleibt. Die von diesem TN gesendete Nachricht wird hier nicht zerstört, so das
wir von einer ’verlustlosen’ Arbitrierung sprechen. Arbitrierung (engl. Arbitration) bedeutet über-
setzt ’Schiedsgericht’.
Arbitrierung: Zustandsdiagramm
Abb. 3.3 - 9 Zustandsdiagramm Arbitrierung
Es existieren zwei Buszustände während der Arbitrierung, ’dominant’ und ’rezessiv’. Die Logik ist
durch einen Wire-AND Mechanismus realisiert.
Im Beispiel dargestellt die Arbitrierung durch bitweises Abtasten der Identifier von 2 TN.
3
Abb. 3.3 - 10 CAN-Bus Arbitrierung mit 2 Teilnehmer
Warten auf freien Bus
Aufschalten Bit SoF
Empfangszustand
Aufschalten des
1. Arbitrierungsbits
Vergleich Buspegel mit
aufgeschaltetem Bit
Fehlerzustand
Arbitrierung verloren
rezessives Bit auf dominanten Bus aufgeschalten
sind alle Arbitrierungsbits aufgeschalten,
erfolgt das Senden von Steuer- und Datenfeld
Aufschalten
weiterer Bits
Start: ein TN sendet
eine Nachricht
11 10 9 8 7 6 5 4 3 2 1 0
rezessives Bit (Logikpegel high)
dominantes Bit (Logikpegel low)
TN 1 gewinnt hier die Arbitration
TN 2 verliert hier die Arbitrierung
und wechselt in den Zustand
empfangen
Identifier TN 1 1
Bit
Identifier TN 2 2