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

1 - 5 S tudent Guid e CAN BU S Wor kshop Ausgabe 06/2 008 3 CAN BU S 5 5 Da t um 06 / 20 08 Ver s i o n 0 3 C AN B u s W o rk sh op Ma t h ia s M ic h el SIPL ACE Camp us Aut o matio n and Dr ives 2. CAN BU S (al lge m e…

100%1 / 299
1 - 4
Student Guide CAN BUS Workshop
3 CAN BUS Ausgabe 06/2008
4
3Datum06/2008 Version 03 CAN Bus Workshop Mathias Michel
SIPLACE Campus
Automation and Drives
1. CAN BUS Siplace
Voraussetzungen
Multimeter, Oszilloskop
CAN Testbox 03043645-01
Service Laptop with the SW Caccia
00349514-01 Kvaser Card for Laptop
00349679-03 Testcable for CAN Bus 2x
00349676-01 CAN Cable (Receiver) 2x
00194932-11 Anleitung CAN Test Box
CAN BUS Siplace
4Datum06/2008 Version 03 CAN Bus Workshop Mathias Michel
SIPLACE Campus
Automation and Drives
2. CAN BUS (allgemein)
Der CAN Bus ist ein dezentraler, serieller Multi-Master Bus. Jeder Busteilnehmer darf senden, wenn
der Bus frei ist.
Broadcast, d.h. die Nachricht enthält keine Zieladresse, sondern nur einen Identifier. Alle Teilnehmer
empfangen diese Nachricht und entscheiden selber, ob sie auf die Nachricht reagieren.
Ein CAN Teilnehmer (CAN Knoten) besteht aus einem CAN Controller mit Sender- und Empfänger
einheit und einem Mikrocontroller.
Über die Differenzspannung der zwei Leitungen CAN_High und CAN_Low, welche jeweils mit einem
Abschlusswiderstand von 120 Ohm versehen sind, werden die Daten übertragen
CAN BUS Siplace
1 - 5
Student Guide CAN BUS Workshop
Ausgabe 06/2008 3 CAN BUS
5
5Datum06/2008 Version 03 CAN Bus Workshop Mathias Michel
SIPLACE Campus
Automation and Drives
2. CAN BUS (allgemein)
Jeder Busteilnehmer besitzt einen CAN-Controller, welcher Daten senden und empfangen kann,
wenn der Bus frei ist.
Dieser CAN-Controller kommuniziert mit einem Mikrocontroller. Der Mikrocontroller steuert und
kontrolliert den entsprechenden CAN-Bus-Teilnehmer.
Ein CAN-Bus-Teilnehmer kann nur senden, wenn der Bus frei ist, d. h. keine Kommunikation zu
anderen Teilnehmern stattfindet. Der Zugriff auf den CAN-BUS wird im CAN-Protokoll (Identifier)
festgelegt. Damit ergeben sich unterschiedliche Prioritäten der CAN-Bus-Teilnehmer.
Mikrocontroller: Tauscht mit dem CAN Controller Daten aus
CAN Controller: Fügt den Datenrahmen hinzu,
baut die Verbindung auf,
macht die Fehlerbehandlung.
Sender/Empfänger: Pegelanpassung (Treiberstufen)
CAN BUS Siplace
6Datum06/2008 Version 03 CAN Bus Workshop Mathias Michel
SIPLACE Campus
Automation and Drives
2. CAN Bus (allgemein)
CAN-Telegramm :
• Ein Telegramm kann zwischen 0..8 Datenbytes enthalten.
• Ein 11 Bit langer Identifier (Adresse) identifiziert die Nachricht bzgl. Art, Priorität, Quelle
und /oder Ziel.
• Durch den Identifier wird auch der Buszugriff gesteuert (Arbitrierung).
• Der Identifier bestimmt die Priorität auf den Buszugriff (Arbitrierung) und entscheidet bei
gleichzeitigem Buszugriff mehrerer Teinehmer welche Nachricht zuerst und welche später
gesendet wird.
• Der CAN Bus arbeitet mit einem 11bit Identifier (Machine CAN BUS) oder einem
erweitertem Identifier von 29 bit (Sub CAN Bus e.g. CAN node).
CAN BUS Siplace
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