CAN Bus Workshop_Version 03__ 06_2008_DE.pdf - 第69页

1 - 7 S tudent Guid e CAN BU S Wor kshop Ausgabe 06/2 008 3 CAN BU S 7 9 D at um 06 /20 0 8 V ers io n 0 3 C AN B u s W o rk sh op Ma t hi a s M ic hel SIPL ACE Cam p us Automati on and Drives 2. Aufbau C AN ID`s Si plac…

100%1 / 299
1 - 6
Student Guide CAN BUS Workshop
3 CAN BUS Ausgabe 06/2008
6
7Datum06/2008 Version 03 CAN Bus Workshop Mathias Michel
SIPLACE Campus
Automation and Drives
2. Aufbau CAN Telegramm (allgemein)
Start
Steuerfeld.
Data (0-8 Bytes user
information)
CRC End
Start:
Kennzeichnet den Beginn eines Datentelgrammes und besteht aus einem dominanten Bit. Ein Teilnehmer
darf mit einer Arbitrierung nur dann beginnen, wenn der Bus im Ruhezustand ist.
Adress Identifier Field:
Der Wert des 11 Bit Identifier entscheidet über den Buszugriff. Der niedrigste Wert besitzt die höhere Priorität.
RTR: Remote Transmission Request
: Unterscheidet zwischen Datentelegramm oder
Datenanforderungstelegramm (Data or Remote Frame). Der Data Frame ist ein dominantes Bit.
Steuerfeld
: Die 4 niederwertigen Bits des 6-Bit Feldes geben die Datenlänge des nachfolgenden Datenfeldes in
Bytes an. (DLC: data lenght code)
Datenfeld:
Dieses Feld enthält die eigentliche Nutzinformation und kann 0 bis 8 Byte umfassen. Die Übertragung eines
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üfsequenz 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
Adresse
(11 Bit Identifier)
CAN BUS Siplace
8Datum06/2008 Version 03 CAN Bus Workshop Mathias Michel
SIPLACE Campus
Automation and Drives
Arbitrierung:
Buskonflikte werden beim CAN-Bus durch ein bitorientiertes
Buszugriffsverfahren gelöst:
Haben Busteilnehmer A und B einen Sendewunsch, so beginnen sie nach
Start-of-frame Bit zu senden und vergleichen jeweils gesendetes und
empfangenes Bit. Da "0" auf dem Bus dominiert, erkennt Busteilnehmer B hier
beim vierten Bit einen Unterschied zum gesendeten Bit und zieht sich vom Bus
bis zum nächsten Start-of-frame zurück. Busteilnehmer A erkennt keinen
Unterschied und sendet weiter. Nachrichten mit hoher Priorit haben also
einen Identifier, der mit vielen "0" beginnt.
2. CAN Bus Arbitrierung
CAN BUS Siplace
1 - 7
Student Guide CAN BUS Workshop
Ausgabe 06/2008 3 CAN BUS
7
9Datum06/2008 Version 03 CAN Bus Workshop Mathias Michel
SIPLACE Campus
Automation and Drives
2. Aufbau CAN ID`s
Siplace CAN Bus Bsp. 11 bit Identifier
10 3456789 012
Channel
00 CMD = Kommando
01 ACK =Acknowledge
10 DBG = Debugg
11 PUB = Public
Richtung
0 - Das Objekt gibt seine
eigene Objekt Nr. an.
1 - Nachricht gibt die Objekt
Nr.,r die die Nachricht
bestimmt ist
Portal
00 Portal 1
01 Portal 2
10 Portal 3
11 Portal 4
Object ID
- Kopf- Vision Objekte
- Achsobjekte
- BE Zuführung
- Transport
- Sicherheit
0 0000011 000
Beispiel Kopfprozessor CAN ID 300 (hex)
Portal 1
0 1000011 000
Beispiel Kopfprozessor CAN ID 308 (hex)
Portal 2
0 0100011 000
Beispiel Kopfprozessor CAN ID 310 (hex)
Portal 3
0 1100011 000
Beispiel Kopfprozessor CAN ID 318 (hex)
Portal 4
CAN BUS Siplace
10Datum06/2008 Version 03 CAN Bus W orksh op Mathias Michel
SIPLACE Campus
Automation and Drives
2. Aufbau CAN ID`s
0 1100011 000
Beispiel Kopfprozessor
CAN ID 318 (hex)
Por tal 4
CAN ID ermitteln:
10 3456789 012
11 bit Identifier
Binär: 2 hoch X
1024 8163264128256512 124
0 81600025651 2 000
Als Ergebnis erlt man dezimal 792 Æ Umrechnung in Hex ergibt 318.
Variante 1:
Variante 2:
Aufteilen des Identifier in 4er Blöcke,
dadurch erhält man gleich die hex Zahl
2 3012301 012
Bir: 2 hoch X
4 8124812 124
0 1100011 000
Beispiel Kopfprozessor
CAN ID 318 (hex)
Portal 4
0 8100012 000
Die Summe in den Bcken ergibt die Hex Zahl 318.
2 hoch X
ausgerechnet
CAN BUS Siplace
1 - 8
Student Guide CAN BUS Workshop
3 CAN BUS Ausgabe 06/2008
8
11Datum06/2008 Version 03 CAN Bus Workshop Mathias Michel
SIPLACE Campus
Automation and Drives
2. Aufbau CAN Telegramm (Beispiel)
ID 0x243 DLC 0x03 DATA 0x00 0x00 0x90
SOF ID RTR CONTROL /DLC DATACRC CRC-DELIMETER ACK–SLOT ACK-DELIMETER EOF ITM
0 01001000011 0 0000S11 0000 0S000 00S00 000S0 1001 0000 0S00011110110101 1 1 1 1111111 111
SOF 1Bit immer 0
ID 11Bit 0/1
RTR 1Bit immer 0 bei SIPLACE
CONTROL 2Bit immer 0 bei SIPLACE
DLC 4Bit 0/1
DATA 0-64bit 0/1
CRC 15Bit 0/1
CRCDEL 1Bit 1
ACK-SLOT 1Bit 1 ; wenn 0 dann hört niemand diesen Knoten
ACK-DEL 1Bit 1
EOF 7Bit 1
ITM 3Bit 1
Î chster SOF
CAN BUS Siplace
12Datum06/2008 Version 03 CAN Bus Workshop Mathias Michel
SIPLACE Campus
Automation and Drives
2. Error Frames
Error Frames
Æ Was sind Error Frames?
Error Frames werden von den einzelnen Subsystemen gesendet, wenn ein Kommando
nicht der Kodiervorschrift entspricht oder physikalisch zerstört wirde. D.h. wenn in
einem CAN Telegramm 6 oder mehr Bits hintereinander den gleichen Pegel High oder
Low aufweisen.
Wird so ein Kommando von einem Teilnehmer erkannt informiert er sofort die anderen
Teilnehmer und den Absender des Telegramms, indem er einen Error-Frame sendet.
Durch den Empfang eines Error-Frames verwerfen alle Teilnehmer die empfangene
Nachricht und beginnen ebenfalls einen Error-Frame zu senden.
Wenn der Bus wieder frei ist, wird das Kommando erneut gesendet.
Eine Häufung von Error Frames deutet auf physikalische Busfehler hin. Werden zu viele
Error Frames während des Betriebes erkannt, ist eine detaillierte Analyse der CAN-
Signale notwendig.
Hinweis: Anzahl Error Frames während 4h Bestückbetrieb < 10 (Richtwert)
CAN BUS Siplace