Hauptseite | Deutsche Enzyklopädie

Controller Area Network

Der CAN-Bus (Controller Area Network) gehört zu den Feldbussen.

Es handelt sich dabei um ein asynchrones, serielles Bussystem, das seit 1983 von Bosch für die Vernetzung von Steuergeräten im Automobil entwickelt wird und 1985 zusammen mit Intel vorgestellt wurde, um die Kabelbäume (bis zu 2 km pro Fahrzeug) zu reduzieren und dadurch Gewicht zu sparen.

Inhaltsverzeichnis
1 Funktion
2 CANopen/DeviceNet
3 weitere Quellen

Funktion

Übertragungsverfahren

Der CAN-Bus arbeitet nach dem CSMA- (Carrier Sense Multiple Access) Verfahren (vergleiche Ethernet). Die Daten sind NRZ-L codiert. Des Weiteren kommt zur Datensicherung das CRC-Verfahren zum Einsatz. Zur fortlaufenden Synchronisierung der Busteilnehmer wird Bit-Stuffing verwendet (siehe unten). Der Bus ist entweder mit Kupferleitungen oder über Glasfaser ausgeführt. Im Falle von Kupferleitungen arbeitet der CAN-Bus mit Differenzsignalen. Er wird normalerweise mit 3 Leitungen ausgeführt: CAN_HIGH, CAN_LOW und CAN_GND (Masse). CAN_LOW enthält den komplementären Pegel von CAN_HIGH gegen Masse. Dadurch können Gleichtaktstörungen unterdrückt werden, da ja die Differenz gleich bleibt.

Die Übertragung der Daten erfolgt so, dass ein Bit, je nach Zustand, entweder dominant oder rezessiv auf den Busleitungen wirkt. Ein dominantes überschreibt dabei ein rezessives.

Übertragungsrate und Leitungslänge

Die maximale Datenübertragungsrate beträgt 1Mbit/s. Dabei ist eine maximale Leitungslänge von 40m möglich. Bei 500kBit/s sind zum Beispiel 100m möglich und bei 125kBit/s 500m. Als Busmedium werden nach ISO1189811898-2 (High-Speed Medium Access Unit) Twisted-Pair-Kabel mit einem Wellenwiderstand von 108...132 Ohm empfohlen. Alle Teilnehmer kommunizieren mit der gleichen Baudrate.

Topologie

Das CAN-Netzwerk wird als Linienstruktur mit 2 Abschlusswiderständen von je 120 Ohm (zwischen CAN_HIGH und CAN_LOW) aufgebaut. Stichleitungen sind in eingeschränktem Umfang zugänglich.

Objectidentifier

Der Objectidentifier kennzeichnet den Inhalt der Nachricht, nicht das Gerät. Zum Beispiel kann in einem Messsystem den Parametern Temperatur, Spannung, Druck jeweils ein eigener Identifier zugewiesen sein. Die Empfänger entscheiden anhand des Identifiers, ob die Nachricht für sie relevant ist oder nicht.

Zudem dient der Objektidentifier auch der Priorisierung der Nachrichten.

Die Spezifikation definiert zwei verschiedene Identifier-Formate:

Ein Teilnehmer kann Empfänger und Sender von Nachrichten beliebig vieler Identifier sein, aber umgekehrt darf es zu einem Identifier immer nur maximal einen Sender geben (damit die Arbitrierung funktioniert).

Arbitrierung (Aushandeln des Medienzugriffs), Priorität

Der Buszugriff wird verlustfrei mittels der bitweisen Arbitrierung auf Basis der Identifier der zu sendenden Nachrichten aufgelöst. Dazu sensiert jeder Sender den Bus während er gerade den Identifier sendet. Senden zwei Teilnehmer gleichzeitig, so überschreibt das erste dominante Bit eines der beiden, das entsprechend rezessive des anderen, welcher dieses erkennt und seinen Übertragungsversuch beendet, damit der andere seine Daten übertragen kann.

Durch dieses Verfahren ist auch eine Hierarchie der Nachrichten untereinander gegeben. Die Nachricht mit dem niedrigsten Identifier darf "immer" übertragen werden. Für die Übertragung von zeitkritischen Nachrichten kann also ein Identifier hoher Priorität (= niedrige ID, z.B. 0) vergeben werden um ihnen so Vorrang bei der Übertragung zu gewähren. Dennoch kann selbst bei hochprioren Botschaften der Sendezeitpunkt im Gegensatz zum FlexRay Bussystem zeitlich nicht genau vorher bestimmt werden (nichtdeterministisches Verhalten).

Folien zur Erläuterung der Arbitrierung

Frame-Aufbau

Es gibt vier verschiedene Arten von Frames

Ein Daten-Frame ist logisch wie folgt aufgebaut:

Bit-stuffing kann die physikalische Länge eines Frames vergrößern. Beim Bit-stuffing wird nach fünf gleichpoligen Bits ein komplementäres Bit (sog. Stopfbit) in den logischen Bitstrom eingefügt. Bit-stuffing wirkt auf Start of frame (SOF) bis einschließlich Prüfsummenfeld (CRC) von Daten- sowie Remote-Frames und dient der Nachsynchronisation der Teilnehmer innerhalb eines Frames.

RTR (Remote Transmission Request)

Ein gesetztes RTR-Bit kennzeichnet einen Remote-Frame (rezessiv). Mit Hilfe eines Remoteframe, kann ein Teilnehmer einen anderen auffordern, seine Daten zu senden.

Die Datenlänge muss entsprechend der zu erwartenden Datenlänge gesetzt werden (Fehlerquelle: Viele Entwickler setzen die Datenlänge = 0 - dies ist falsch; ebenso sind CAN-Controller am Markt, welche RTR-Frames nur mit der Datenlänge 0 senden können). Der Objectidentifier ist derselbe, wie der der angeforderten Nachricht.

ACK-Slot

Der Acknowledge-Slot wird verwendet, um den Empfang zu quittieren. Jeder Empfänger, der keinen Fehler feststellen konnte, setzt einen dominanten Pegel an der Stelle des ACK-Slots.

Sampling

Bei manchen Controllern ist es möglich 3 Samplepoints zu verwenden. Mehrheit siegt und gibt den aktuellen Wert an.

Synchronisierung und Zeitquanten

Ein Bit wird in sog. Zeitquanten unterteilt. Sie entsprechen einem Vielfachen des Controllertaktes. in jedem Zeitquantum wird nur einmal abgetastet. Eine Flanke wird erkannt wenn der Abtastwert vor dem Zeitquantum einen anderen Wert hat wie der Wert danach. Die Nachsynchronisierung synchronisiert somit nur auf ein Zeitquantum und nicht auf die Flanke. Sync_Seg Prop_Delay Phase_Seg1 und 2

Sicherung der Daten

Erkennt ein Empfänger eine Fehlerbedingung sendet er einen Error-Frame und veranlasst so alle Teilnehmer, den Frame zu verwerfen. Sollten andere Teilnehmer diese Fehlerbedingung nicht erkannt haben, senden sie ihrerseits direkt im Anschluss ein weiteres Error-Frame. Hiermit wird eine weitere Sicherheitsfunktion des CAN Protokolls möglich. Um zu vermeiden, dass einzelne Teilnehmer durch irrtümlich erkannte Fehlerbedingungen dauerhaft den Nachrichtentransport blockieren, enthält jeder Teilnehmer Fehlerzähler. Diese Zähler erlauben nach den Regeln der Spezifikation einen fehlerhaft arbeitenden Teilnehmer in zwei Stufen des Betriebszustands vom Bus zu trennen, wenn er wiederholt Fehler erkennt, welche andere Teilnehmer nicht erkennen oder wiederholt fehlerhafte Frames versendet. Die Zustände nennen sich error active (normal), error passive (Teilnehmer darf nur noch passive --das heißt rezessive-- Error-Frames senden) und bus off (Teilnehmer darf nicht mehr senden).

Der Sender wiederholt nach dem Error-Frame seine Datenübertragung. Auch der Sender kann durch die zuvor erwähnten Fehlerzähler vom Bus getrennt werden, wenn die Datenübertragung dauerhaft fehlschlägt.

CANopen/DeviceNet

CANopen und DeviceNet[1] sind auf CAN basierende Schicht-7-Kommunikationsprotokolle, welche hauptsächlich in der Automatisierungstechnik verwendet werden.

Das Verbreitungsgebiet von CANopen ist dabei mehr Europa. Es wurde vorwiegend von Deutschen Klein- und Mittelständischen Firmen initiiert und im Rahmen eines Esprit Projektes unter Leitung von Bosch erarbeitet. Seit 1995 wird es von der CiA[1] gepflegt und ist inzwischen als Europäische Norm EN 50325-4 standardisiert.

DeviceNet hingegen ist mehr in Amerika verbreitet. Es wurde von Allen-Bradley[1] (gehört zu Rockwell Automation[1]) entwickelt und später als offener Standard an die ODVA[1] (Open DeviceNet Vendor Association) übergeben.

Das im maritimen Bereich sich langsam ausbreitende Protokoll NMEA2000 der NMEA Organisation ist eine Erweiterung von SAE J1939.

weitere Quellen

Literatur



Limit search to: Body and Title Deutsche Seiten Path

Websites for Controller
Showing page 1 (1 - 10 of 528 hits) Next »
No description
NOVA, PILOT, Controller 2500 and monitor 1500. Advanced sprayer controller that for connection between tractor and implement. NOVA, PILOT, Controller 2500 and monitor 1500. Advanced sprayer controller that for connection between tractor and implement.
ControlSim is a simulation of a PID controller and a simple process model used for training and practice in controller tuning, for purchase and download from site. ControlSim is a simulation of a PID controller and a simple process model used for training and practice in controller tuning, for purchase and download from site.
PID controller laboratory offering the ability to design a virtual 2DOF PID controller using a Java applet. PID controller laboratory offering the ability to design a virtual 2DOF PID controller using a Java applet.
Gravadores e emuladores de EPROM, microcontroladores PIC e 8051. Assistência, componentes EEPROM, BIOS e injeção eletrônica. Gravadores e emuladores de EPROM, microcontroladores PIC e 8051. Assistência, componentes EEPROM, BIOS e injeção eletrônica.
Xtend is a X10 to UNIX controller. Xtend is a X10 to UNIX controller.
Information to add altitude-azimuth controller and unipolar stepper motor controller to a telescope, and directions with drawings and ... ten inch scope. Information to add altitude-azimuth controller and unipolar stepper motor controller to a telescope, and directions with drawings and ...
Contains general departmental inquiries and links to staff. Contains general departmental inquiries and links to staff.
Albuquerque based company that provides online, telephone, and local on-site software technical support and training for Quickbooks and Peachtree. Albuquerque based company that provides online, telephone, and local on-site software technical support and training for Quickbooks and Peachtree.
... and target chips and USB to PCI host controller board, enhanced IDE controller chips, and SCSI storage controllers for digital equipment ... and target chips and USB to PCI host controller board, enhanced IDE controller chips, and SCSI storage controllers for digital equipment ...

Next »

Help build the largest human-edited directory on the web.
Submit a Site - Open Directory Project - Become an Editor
Free thumbnail preview by Thumbshots.org

Search for products at amazon.com:
Search:
Keywords:
amazon.com books on 'Controller Area Network':
Search at Google.com:
Google
WebCalSky.com Enzyklopädie

Im Artikel erwähnte Literatur