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 heutzutage in den unterschiedlichsten Bereichen zum Einsatz.
CAN-Identifier und Kontrollfelder
Man unterscheidet zwischen zwei Spezifikationen:
1. Can Spezifizierung 2.0A
2. Can Spezifizierung 2.0B
Ü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 |
Terminierung
Übertragen werden die Signale über 2 Kupferleitungen, die idealerweise mit zwei 120 Ohm Widerständen an den Enden des Bussystems terminiert werden. Eine Terminierung sollte prinzipiell auch schon bei kurzen Leitungen und niedrigen Baudraten erfolgen. Beide Widerstände dienen gleichzeitig als kombinierte Pullup und Pulldown Widerstände für alle Teilnehmer auf dem Bus. Ohne den Abschluß mit diesen Widerständen "hängt" das System potentialmäßig in der Luft.
Es ist möglich, den CAN-Bus, ausgehend von den beiden Hauptbusleitungen, als sternförmiges System aufzubauen. In diesem Fall müssen die Terminierungswiderstände andere Werte haben. Bei drei Widerständen wäre das 180 Ohm, bei 4 = 240 Ohm. Dies nennt man Multiple Termination Concept und wird von der CAN-CiA als probates Mittel zur Verzweigung des Bussystems angegeben.
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
Prinzip: Der CAN-Bus weist unter normalen Betriebsbedingungen eine hohe elektrische Störsicherheit auf, die dadurch erreicht wird, daß ein Signal auf zwei Leitungen gleichzeitig mit einer gegensinnigen Potentialänderung abgebildet wird. In die Leitung eingestreute Störungen wirken auf beide Leitungen in die gleiche Richtung. Da die beiden differentiellen Leitungen jedoch immer gegensinnige Pegel haben, bleibt die Differenz des Signals auch bei Störungen erhalten.
Dieses Verfahren nennt man Gleichtaktunterdrückung oder auch Common Mode Rejection Ratio (CMRR)
(Bilder und Grafiken sind in Arbeit ;))--Whitesun 13:43, 5. Dez 2005 (CET)
- CANopen