(→CANopen) |
(Links hinzugefügt) |
||
Zeile 127: | Zeile 127: | ||
* CANopen | * CANopen | ||
+ | |||
+ | ==Links== | ||
+ | |||
+ | *[http://www.can-cia.org/ CAN-CiA - Can in Automation] | ||
+ | *[http://www.sae.org/products/j1939a.htm SAE-J-1939 - CAN für Dieselmotoren] | ||
[[Kategorie:Grundlagen]] | [[Kategorie:Grundlagen]] | ||
[[Kategorie:Microcontroller]] | [[Kategorie:Microcontroller]] |
Version vom 5. Dezember 2005, 22:38 Uhr
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
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