Inhaltsverzeichnis
CAN-BUS
CAN ist ein 1983 von Robert Bosch GmbH entwickeltes Bussystem, das zunächst in der Automobilindustrie für die Onboardkommunikation eingesetzt wurde. In den folgenden Jahren fand es jedoch auch vielseitigen Einsatz in der Industrie. Aufgrund seiner Echtzeitfähigkeit, seiner ausgeprägten Fehlererkennungsmechanismen und Einfachheit kommt es Heutsotage in den unterschiedlichsten Bereichen zum Einsatz.
Man unterscheidet zwischen zwei Spezifikationen:
- Can Spezifizierung 2.0A Dies ist die "Basisspezifikation" 11Bit ID
- Can Spezifizierung 2.0B Erweiterung der ID auf 29Bit
Übertragung
Beim CAN-Bus handelt es sich um ein multimasterfähiges Bussystem, das bis 1MBit/s spezifiziert ist. Allerdings ist hierbei zu beachten, dass die maximale Segmentlänge mit der Erhöhung der Baudrate sinkt.
Ausdehnung / Baudrate / Kabel
Bei einer Oszillatorfrequenz von 16MHz und einer Einfachabtastung(siehe Bittiming) kann man nach folgender Tabelle gehen:
Datenrate | Bitzeit | Quanta/Bit | Time Quantum (TQ) | SP Location | Länge |
1Mbit/s | 1µs | 8 | 125ns | 6TQ | 25m |
800kbit/s | 1,25µs | 10 | 125ns | 8TQ | 50m |
500kbit/s | 2µs | 16 | 125ns | 14TQ | 100m |
250kbit/s | 4µs | 16 | 250ns | 14TQ | 250m |
125kbit/s | 8µs | 16 | 500ns | 14TQ | 500m |
50kbit/s | 20µs | 16 | 1,25µs | 14TQ | 1000m |
20kbit/s | 50µs | 16 | 3,125µs | 14TQ | 2500m |
10kbit/s | 100µs | 16 | 6,25µs | 14TQ | 5000m |
Übertragen werden die Signale über 2 Kupferleitungen, die jeweils mit Abschlusswiderständen(124Ohm), um Reflexionen zu vermeiden, versehen sind.
Bittiming
Zur Berechnung des Samplepoints, dies ist der Zeitpunkt, zudem auf die Leitung "gesehen" werden soll, welchen Zustand diese hat, wird in der Regel nur die Busgeschwindigkeit benötigt. Aus dieser ermittelt der Controller vier Werte:
- Synchronisationssegment:
->Segment, das zum Synchronisieren des Nodes benötigt wird
- Propagationssegment:
->Segment, das die Zeit darstellt, die das Signal zur Ausbreitung im Medium benäötigt
- Phasensegment 1
- Phasensegment 2
Zwischen Phasensegment 1 und 2 liegt der Samplepoint.
Bit Stuffing
Da beim CAN auch während der Datenübertragung synchronisiert wird, wird nach fünf Bits gleicher Polarität in den Datenfluss ein Bit eingebaut, welches den Pegel ändert. Diese Bits nennt man Stuffbits. Der Empfänger destufft die Daten wieder, sodass die Daten für den Empfängercontroller genauso aussehen, wie für den Sender. Die maximale Anzahl der in ein Telegramm eingefügten Stuffbits errechnet sich nach folgender Formel:
max'_stuff_'=(34 + 8 Dlc -1)/4
Protokoll
Arbitrierungsprozess
Fehlererkennung
- Bitfehler
- CRC - Fehler
- Ack - Fehler
- Format - Fehler
- Stuffbit - Fehler
CANopen
ToDo:
- Protokoll
- Arbitrierungsprozess
- Fehlererkennung
- CANopen