Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Der CAN-Bus (Controller Area Network) gehört zu den Feldbussen .
Es handelt sich dabei um ein Bussystem das von BOSCH für die KFZ-Automatisierung entwickelt wurde und zusammen mit Intel vorgestellt wurde um die Kabelbäume (bis 2 km pro Fahrzeug) zu reduzieren und Gewicht zu sparen.
Es können beliebige Geräte an den angeschaltet werden wenn sie die Spezifikationen erfüllen. existieren 2 Normen:
CAN20 A (11bit Objectidentifier) (--> theor. Teilnehmer)
CAN20 B (27bit Objectidentifier) (--> theor. Teilnehmer)
Der CAN-Bus arbeitet nach dem CSMA - ( C arrier S ense M ultiple A ccess) Verfahren (vgl. Ethernet ). Die Daten sind NRZ-L codiert. Desweiteren wird zur Datensicherung Bit-stuffing verwendet (siehe unten). Der Bus ist mit Kupferleitungen oder über Glasfaser ausgeführt. Im von Kupferleitungen arbeitet der CAN-Bus mit Differenzsignalen. wird normalerweise mit 3 Leitungen ausgeführt: CAN_HIGH und CAN_GND (Masse). CAN_LOW enthält den komplementären von CAN_HIGH gegen Masse. Dadurch können Gleichtaktstörungen werden da ja die Differenz gleich bleibt.
Die maximale Datenübertragungsrate beträgt 1Mbit/s. Dabei eine maximale Leitungslänge von 30m möglich. Bei sind zum Beispiel 100m möglich und bei 500m. Als Busmedium werden nach ISO 11898(CAN High-Speed) Twisted-Pair-Kabel mit einem Wellenwiderstand von 108...132 Ohm empfohlen. Alle Teilnehmer kommunizieren mit der Baudrate .
Bei CAN 20 A (11 Bit kennzeichnet der Objectidentifier die Nachricht und ist Geräteadresse! Das heißt das zum Beispiel in Messsystem einer Temperatur Spannung oder Drehzahl ein Identifier zugewiesen wird. Dieses System ermögicht es Teilnehmer die für sich relevanten Daten anhand Identifiers vom Bus zu nehmen oder nicht.
Gleichzeitig dient der Objektidentifier auch zur der Sendeberechtigung bei gleichzeitiger Übertragung ( Kollision ) durch den Prozess der sog. bitweisen Arbitrierung .
Die Übertragung der Daten erfolgt so ein Bit je nach Zustand entweder dominant oder rezessiv auf den Busleitungen wirkt. Ein dominantes dabei ein rezessives.
Gleichzeitig mit dem Senden lauscht jeder auch auf den Bus. Senden nun 2 gleichzeitig so überschreibt das erste dominante Bit der beiden das entsprechend rezessive des anderen das erkennt und seine Übertragung beendet damit andere seine Daten übertragen kann. (= bitweise Arbitrierung )
Durch dieses Verfahren ist auch eine Hierarchie der Nachrichten untereinander gegeben. Die Nachricht mit dem Identifier darf "immer" übertragen werden. (Was von ist wenn z.B. das ABS auslösen soll...)
Der CAN-Bus erreicht Bitfehlerraten (BER Bit Rate) in der Größenordnung von 0.00003. Zum verwendet man einen CRC (Cyclic Redundancy Check Prüfsumme) von 15 Bit und zum anderen Dabei wird nach 5 rezessiven Bits ein Bit eingefügt um die Konsistenz zu wahren keinen Fehler vorzutäuschen.
Im Falle einer von einem Empfänger erkannten Kollision sendet dieser einen aus und veranlasst so alle Teilnehmer am den Frame zu verwerfen. Der Sender hat Möglichkeit sofort nach dem Errorframe seine Daten wiederholen. (im Standard werden noch aktive und Error-Frames unterschieden)