- Controller Area Network
-
Der CAN-Bus (Controller Area Network) ist ein asynchrones, serielles Bussystem und gehört zu den Feldbussen.
Um die Kabelbäume (bis zu 2 km pro Fahrzeug) zu reduzieren und dadurch Gewicht zu sparen, wurde der CAN-Bus 1983 von Bosch für die Vernetzung von Steuergeräten in Automobilen entwickelt und 1987 zusammen mit Intel vorgestellt. CAN ist als ISO 11898 international standardisiert und definiert die Layer 1 (physikalische Schicht) und 2 (Datensicherungsschicht) im ISO/OSI-Referenzmodell.
Inhaltsverzeichnis
Funktion
Übertragungsverfahren
Der CAN-Bus arbeitet nach dem CSMA/CR[1] (Carrier Sense Multiple Access / Collision Resolution)-Verfahren (nicht zu verwechseln mit CSMA/CD wie bei Ethernet). In der Literatur wird das Verfahren oft als CSMA/CA benannt, was aber rein historische Gründe hat. Dabei werden Kollisionen beim Buszugriff durch die Arbitrierung oder Bit-Arbitrierung aufgelöst (siehe unten). Die Daten sind NRZ-L-kodiert. Des Weiteren kommt zur Datensicherung die Zyklische Redundanzprüfung (ZRP bzw. engl. CRC) zum Einsatz. Zur fortlaufenden Synchronisierung der Busteilnehmer wird Bitstopfen (bit stuffing) verwendet (siehe unten). Der Bus ist entweder mit Kupferleitungen oder über Glasfaser ausgeführt. Der CAN-Bus arbeitet nach dem „Multi-Master-Prinzip“: Mehrere gleichberechtigte Steuergeräte (=Busteilnehmer) sind durch eine topologische Anordnung (siehe unten) miteinander verbunden.
Im Falle von Kupferleitungen arbeitet der CAN-Bus bei höheren Datenraten (s. u.) mit Differenzsignalen. Die Differenzsignale werden normalerweise mit zwei oder drei Leitungen ausgeführt: CAN_HIGH, CAN_LOW und optional 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 die Differenz gleich bleibt.
Bei langsameren Bussen (‚Komfort-Bus‘ z. B. zur Betätigung von Elementen durch den Benutzer) kann ein Eindrahtsystem mit der Karosserie als Masse reichen. Praktisch wird es meistens doch als Zweidrahtsystem ausgeführt, verwendet aber beim Lowspeed-CAN im Fehlerfall eines Aderbruchs den Eindrahtbetrieb als Rückfallebene, um den Betrieb weiterführen zu können. Um dort Störungen zu vermeiden, wird es grundsätzlich verdrillt.
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 Bit.
Übertragungsrate und Leitungslänge
Es wird zwischen einem Highspeed- und einem Lowspeed-Bus unterschieden. Bei einem Highspeed-Bus beträgt die maximale Datenübertragungsrate 1 Mbit/s, bei Lowspeed 125 kbit/s.
Die maximale (theoretische) Leitungslänge beträgt z. B. bei 1 Mbit/s 40 m, bei 500 kbit/s sind 100 m möglich und bei 125 kbit/s 500 m. Diese Maximalwerte beruhen darauf, dass die Zeit, die ein Signal am Bus anliegt (Bitzeit, bit/Sekunde), umso kürzer ist, je höher die Übertragungsrate ist. Mit zunehmender Leitungslänge steigt jedoch die Zeit, die ein Signal braucht, bis es am anderen Ende des Busses angekommen ist (Ausbreitungsgeschwindigkeit). Daher darf die Zeit, die ein Signal am Bus liegt, nicht kürzer sein als die Zeit, die ein Signal braucht um sich auszubreiten. Zu beachten ist, dass sich das Signal nicht nur ausbreitet, sondern auch innerhalb der Signalzeit der Empfänger auf den Sender reagieren muss (siehe ACK). Der Sender muss wiederum die eventuelle Buspegeländerung des/der Empfänger mitbekommen (siehe auch Arbitrierung). Deshalb ist die max. Leitungslänge etwas komplexer zu berechnen. Es müssen Verzögerungszeiten auf der Leitung, des Transceivers (Sender und Empfänger), des Controllers (Sender und Empfänger), Oszillatortoleranzen und der gesetzte Abtastzeitpunkt (Sender und Empfänger) berücksichtigt werden. Die Formel zur Berechnung und nähere Informationen sind der Literatur entnehmbar.
Als Busmedium werden nach ISO 11898-2 (High-Speed Medium Access Unit) von 1993 Twisted-Pair-Kabel mit einem Wellenwiderstand von 108...132 Ohm empfohlen. In der derzeit gültigen Ausgabe der ISO 11898-2 aus dem Jahr 2003 ist die Toleranz mit 95..140 Ohm spezifiziert (Abschnitt 7.5.1, Tabelle 9).
Die maximale Teilnehmeranzahl auf physikalischer Ebene hängt von den verwendeten Bustreiberbausteinen (Transceiver, physikalische Anschaltung an den Bus) ab. Mit gängigen Bausteinen sind 32, 64 oder bis zu 110 (mit Einschränkungen bis zu 128) Teilnehmer pro Leitung möglich (Erweiterungsmöglichkeit über Repeater oder Bridge).
Topologie
Das CAN-Netzwerk wird als Linienstruktur aufgebaut. Stichleitungen sind in eingeschränktem Umfang zulässig. Auch ein sternförmiger Bus (z. B. bei der Zentralverriegelung im Auto) ist möglich. Diese Varianten haben allerdings im Vergleich zum linienförmigen Bus Nachteile:
- Der sternförmige Bus wird meist von einem Zentralrechner gesteuert, da diesen alle Informationen passieren müssen, mit der Folge, dass bei einem Ausfall des Zentralrechners keine Informationen weitergeleitet werden können. Beim Ausfall eines einzelnen Steuergeräts funktioniert der Bus weiter.
- Für Stichleitungen und sternförmige Busarchitektur ist der Leitungswellenwiderstand etwas aufwändiger zu bestimmen. Die Anzahl der Stichleitungen und ihre Gesamtlänge wird durch empirische Richtformeln abgeschätzt. Der lineare Bus hat den Vorteil, dass alle Steuergeräte parallel an einer zentralen Leitung liegen. Nur wenn diese ausfällt, funktioniert der Bus nicht mehr. Diese Topologie wird häufig in Kraftfahrzeugen eingesetzt.
An jedem Leitungsende sollte sich ein Abschlusswiderstand von 120 Ohm befinden. Für einen einzelnen Canbusteilnehmer an einer Stichleitung wirkt dies genauso wie ein einzelner 60-Ohm-Widerstand, der am Ort der Abzweigung eingefügt ist. Dieser Wert ist die zentrale Impedanz einer Sternarchitektur.
Objekt-Identifier
Der Objekt-Identifier kennzeichnet den Inhalt der Nachricht, nicht das Gerät. Zum Beispiel kann in einem Messsystem den Parametern Temperatur, Spannung und 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 Objekt-Identifier auch der Priorisierung der Nachrichten.
Die Spezifikation definiert zwei verschiedene Identifier-Formate:
- 11-Bit-Identifier, auch "Base frame format" genannt (CAN 2.0A)
- 29-Bit-Identifier, auch "Extended frame format" genannt (CAN 2.0B).
Ein Teilnehmer kann Empfänger und Sender von Nachrichten mit beliebig vielen Identifiern sein, aber umgekehrt darf es zu einem Identifier immer nur maximal einen Sender geben, damit die Arbitrierung funktioniert.
Der CAN-Standard fordert, dass eine Implementierung das "Base frame format" akzeptieren muss, dagegen das "Extended frame format" akzeptieren kann, es aber zumindest tolerieren muss.
Arbitrierung, Priorität
Der Buszugriff wird verlustfrei mittels der bitweisen Arbitrierung auf Basis der Identifier der zu sendenden Nachrichten aufgelöst. Dazu überwacht 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, was dieser erkennt und seinen Übertragungsversuch beendet. Verwenden beide Teilnehmer den gleichen Identifier, wird nicht sofort ein Error-Frame erzeugt (siehe Frame-Aufbau), sondern erst bei einer Kollision innerhalb der restlichen Bits, was durch die Arbitrierung ausgeschlossen sein sollte. Daher empfiehlt der Standard, dass ein Identifier auch nur von maximal einem Teilnehmer verwendet werden soll.
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. 0x001; 0x000 für Netzmanagement - NMT) vergeben werden, um ihnen so Vorrang bei der Übertragung zu gewähren. Dennoch kann selbst bei hochprioren Botschaften der Sendezeitpunkt zeitlich nicht genau vorher bestimmt werden, da gerade in Übertragung befindliche Nachrichten nicht unterbrochen werden können und den Startzeitpunkt einer Sendung so bis zur maximalen Nachrichtenlänge verzögern können (nichtdeterministisches Verhalten). Lediglich die maximale Sendeverzögerung für die höchstpriore Nachricht kann bei bekannter maximaler Nachrichtenlänge errechnet werden.
Frame-Aufbau
Die Kommunikation erfolgt mit Telegrammen. Innerhalb eines Telegramms gibt es Steuerbits und Nutzbits. Der genormte Aufbau eines solchen Telegrammrahmens wird als Frame bezeichnet.
Es gibt vier verschiedene Arten von Frames:
- Daten-Frame, dient dem Transport von bis zu 8 Byte an Daten
- Remote-Frame, dient der Anforderung eines Daten-Frames von einem anderen Teilnehmer
- Error-Frame, signalisiert allen Teilnehmern eine erkannte Fehlerbedingung in der Übertragung
- Overload-Frame, dient als Zwangspause zwischen Daten- und Remote-Frames
Daten-Frame
Ein Daten-Frame ist logisch wie folgt aufgebaut:
- Start of Frame (SOF) = ein dominantes Bit
- Arbitrierungsfeld, bestehend aus einem Identifier-Segment (11 Bit oder 29+2 Bit) plus einem RTR-Bit (Remote Transmission Request, siehe unten)
- Kontrollfeld (CTRL) = 6 Bit
- Identifier Extension (IDE) = 1 Bit
- reserved = 1 Bit
- Data Length Code (DLC) = 4bit
- Datenfeld (DATA) = 0-64 Bit (in Einheiten von 8 Bit)
- Prüfsummenfeld (CRC) = 16 Bit (15 Bit CRC plus einem rezessiven CRC-Delimiter-Bit)
- Bestätigungsfeld (ACK) 2 Bit, bestehend aus einem ACK-Slot (siehe untenstehende Erläuterung) plus einem rezessiven ACK-Delimiter
- End of Frame (EOF) 7 Bit (rezessiv)
- Intermission (IFS - Intermission Frame Space) = 3 Bit (=min. Anzahl der Bits, die aufeinanderfolgende Botschaften trennt)
Remote Frame
Ein gesetztes RTR-Bit (Remote Transmission Request) kennzeichnet einen Remote-Frame (rezessiv). Mit Hilfe eines Remoteframes kann ein Teilnehmer einen anderen auffordern, seine Daten zu senden.
Im Falle eines „Extended Identifiers“ (siehe oben) wird das RTR-Bit durch das SRR-Bit (Substitute Remote Request) ersetzt und ebenfalls rezessiv gesendet. In diesem Fall wird das nachfolgende IDE-Bit ebenfalls rezessiv gesendet, wodurch ein „Extended Identifier“ signalisiert wird. Im Anschluss werden die restlichen 18 Bit des Identifiers und anschließend das eigentliche RTR-Bit gesendet. Das IDE-Bit zählt dabei logisch zum „Arbitrierungsfeld“, wobei das Kontrollfeld aber weiterhin aus 6 Bit besteht.
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.
Error Frame
Der Error Frame besteht aus zwei Feldern:
Das erste Feld wird bestimmt durch die Überlagerung von ERROR FLAGS, die von den verschiedenen Stationen erzeugt werden können.
Das folgende Feld ist der ERROR DELIMITER (8 rezessive Bits) .Es gibt zwei Typen von Error Flags:
- Active Error Flag
- 6 dominante Bits, gesendet von einem Knoten, der einen Fehler im Netzwerk entdeckt hat und im Fehler-Status „error active“ ist.
- Passive Error Flag
- 6 rezessive Bits, gesendet von einem Knoten, der einen Fehler im Netzwerk entdeckt hat und im Fehler-Status „error passive“ ist.
Overload Frame
Der Overload Frame ist eine Zwangspause zwischen Daten- und Remote-Frames.
ACK-Slot
Der Acknowledge-Slot wird verwendet, um den Empfang eines korrekten CAN-Frames zu quittieren. Jeder Empfänger, der keinen Fehler feststellen konnte, setzt einen dominanten Pegel an der Stelle des ACK-Slots und überschreibt somit den rezessiven Pegel des Senders. Im Falle einer negativen Quittung (rezessiver Pegel) muss der fehlererkennende Knoten nach dem ACK-Delimiter ein Error-Flag auflegen, damit erstens der Sender vom Übertragungsfehler in Kenntnis gesetzt wird und zweitens um netzweite Datenkonsistenz sicherzustellen. Wird der rezessive Pegel von einem Empfänger durch einen dominanten überschrieben, kann der Absender jedoch nicht davon ausgehen, dass das Telegramm von allen Empfängern erhalten wurde.
Bit Stuffing
Bitstopfen (bit stuffing) kann die physikalische Länge eines Frames vergrößern. Beim CAN-Bus sorgt das bit stuffing nach fünf gleichpoligen Bits für das Einfügen eines komplementären Bits (dem sog. Stopfbit) in den Bitstrom. 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.
Sampling
CAN-Controller können den Bus einmal oder dreimal pro Bit abtasten.
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 als der Wert danach. Die Nachsynchronisierung synchronisiert somit nur auf ein Zeitquantum und nicht auf die Flanke.
Datensicherung
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. Damit 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. Verschiedene Fehlerfälle führen zu einer unterschiedlich großen Erhöhung des Fehlerzählers.
Standards
- ISO 11898-1:2003 Road vehicles — Controller area network — Part 1: Data link layer and physical signalling
- ISO 11898-2:2003 Road vehicles — Controller area network — Part 2: High-speed medium access unit
- ISO 11898-3:2006 Road vehicles — Controller area network — Part 3: Low-speed, fault-tolerant, medium dependent interface
- ISO 11898-4:2004 Road vehicles — Controller area network — Part 4: Time-triggered communication
- ISO 11898-5:2007 Road vehicles — Controller area network — Part 5: High-speed medium access unit with low-power mode
- ISO/NP 11898-6 Road vehicles — Controller area network — Part 6: High-speed medium access unit with selective wake-up functionality
Anwendungsbereiche
CAN-Protokolle haben sich in verschiedenen, vor allem sicherheitsrelevanten Bereichen etabliert, bei denen es auf hohe Datensicherheit ankommt. Beispiele:
- Automobilindustrie (Vernetzung unterschiedlicher Steuergeräte, Sensoreinheiten und sogar Multimediaeinheiten)
- Automatisierungstechnik (zeitkritische Sensoren im Feld, Überwachungstechnische Einrichtungen)
- Medizintechnik (Magnetresonanz- und Computertomographen, Blutgewinnungsmaschinen, Laborgeräte, Elektro-Rollstühle, Herzlungen-Maschinen[2])
- Flugzeugtechnik (Vernetzung innerhalb von Kabinen- und Flugführungssystemen)
- Raumfahrttechnik (vermehrte Verwendung in parallelen Busarchitekturen)
- Beschallungsanlage (wird für die Steuerung von digitalen Endstufen verwendet)
- Schienenfahrzeuge
Höhere Protokolle
CANopen
CANopen ist ein auf CAN basierendes Schicht-7-Kommunikationsprotokoll, welches anfänglich in der Automatisierungstechnik verwendet wurde, mittlerweile aber vorwiegend in Embedded Systemen eingesetzt wird.
CANopen 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 CAN in Automation gepflegt und ist inzwischen als Europäische Norm EN 50325-4 standardisiert. Der Einsatz erfolgt vorwiegend in Europa, gefolgt von Asien.
DeviceNet
DeviceNet ist ein auf CAN basierendes Schicht-7-Kommunikationsprotokoll, welches hauptsächlich in der Automatisierungstechnik verwendet wird.
DeviceNet ist vorwiegend in Amerika verbreitet. Es wurde von Allen-Bradley (gehört zu Rockwell Automation) entwickelt und später als offener Standard an die ODVA (Open DeviceNet Vendor Association) übergeben.
J1939 sowie die Erweiterungen NMEA2000 und ISOBUS
J1939 ist ein auf CAN basierendes Protokoll im Nutzfahrzeugbereich. Es wird von der Society of Automotive Engineers (SAE) gepflegt. Eine Einführung in J1939 findet sich in Application Note Introduction J1939[3]
NMEA 2000 ist eine Erweiterung von SAE J1939 für den maritimen Bereich. Das Protokoll der NMEA-Organisation breitet sich zunehmend aus. Vorgänger ist NMEA 0183.
In der Landwirtschaft und Kommunaltechnik kommt der ISOBUS (ISO11783), der eine Erweiterung des J1939 darstellt, zur Steuerung und Überwachung von Anbaugeräten zum Einsatz.
CleANopen
Eine Arbeitsgruppe der CAN in Automation, die CANopen Special Interest Group (SIG) "Municipal Vehicles", entwickelt das CANopen-Anwendungsprofil für Abfallsammelfahrzeuge (CleANopen).
SafetyBUS p
SafetyBUS p ist ein auf CAN basierendes sicheres Kommunikationsprotokoll, welches hauptsächlich in der Automatisierungstechnik zur Übertragung sicherheitsgerichteter Daten verwendet wird. Alle Busteilnehmer sind 2- oder sogar 3-kanalig aufgebaut und prüfen die Datenintegrität. Das Übertragungsmedium selbst ist nicht sicher, die Sicherheit wird durch das SafetyBUS p eigene Datenprotokoll erreicht. Der SafetyBUS p kann bis SIL3 eingesetzt werden.
TTCAN
Time-Triggered Communication on CAN setzt auf dem CAN-Bus auf und ermöglicht über höhere Protokollebenen eine Echtzeitsteuerung.
CANaerospace
CANaerospace ist ein Open-Source-Kommunikationsprotokoll, welches 1998 insbesondere für den Einsatz in der Luftfahrt mit ihren besonderen Zuverlässigkeits- und Leistungsanforderungen konzipiert wurde. Im Jahr 2000 hat die amerikanische NASA CANaerospace als eigenen Standard übernommen. CANaerospace wird in zahlreichen Forschungsflugzeugen weltweit eingesetzt und hat sich als De-facto-Standard in der militärischen Flugsimulationstechnik etabliert.
ARINC 825
ARINC 825 ist ein internationaler Luftfahrt-Kommunikationsstandard, welcher in einer Technischen Arbeitsgruppe (bestehend aus mehreren Luftfahrtunternehmen, darunter Boeing und Airbus) auf der Basis von CANaerospace entwickelt wurde.
EnergyBus
EnergyBus ist ein Kommunikations- und Energieübertragungs-Bus und dazugehöriges Steckersystem für Leicht-Elektrofahrzeuge. EnergyBus wird von einem eingetragenen Verein spezifiziert. Mitglieder sind sowohl Einzelpersonen wie auch Hersteller von Steckern, Batterien, Steuerungen und Antriebseinheiten (darunter Bosch, Panasonic, Sanyo, Deutsche Bahn AG, Philipps und Varta[4]).
FireCAN
FireCAN wurde durch Zusammenarbeit österreichischer und deutscher Feuerwehraufbauhersteller im Jahr 2006 gegründet. FireCAN ist nicht als Norm fixiert, sondern als freie Übereinkunft der wesentlichen am Markt befindlichen Hersteller, die redaktionelle Betreuung der gemeinsamen Spezifikation wird dabei durch die Firma Rosenbauer ausgeübt. Die Vorstellung erfolgte im Zuge der DIN-Sitzung des Ausschusses NA 031-02-02 AA „Elektrische Betriebsmittel“ am 29. Oktober 2009 in Berlin. Diese Datenbusfestlegung basiert auf einem vereinfachten CANopen-Standard und regelt sowohl die physikalischen Eigenschaften (Stecker, Leitungen, Pinning), die Art und Anzahl der Teilnehmer, sowie die verwendeten Datenformate und Dateninhalte. Als wesentlicher Vorgänger ist der in der Landwirtschaft erfolgreich eingeführte ISOBUS zu verstehen.[5]
Für PKW
Für Personenkraftwagen haben alle Hersteller ihre eigenen Standards.
Siehe auch
Literatur
- Wolfhard Lawrenz (Hrsg.): CAN Controller Area Network - Grundlagen und Praxis. Hüthig, ISBN 3-7785-2780-0
- Konrad Etschberger (Hrsg.): CAN Controller Area Network - Grundlagen, Protokolle, Bausteine, Anwendungen. Hanser, ISBN 3-446-19431-2
- Horst Engels : CAN-Bus - Technik einfach, anschaulich und praxisnah vorgestellt. Franzis, ISBN 3-7723-5146-8
- Werner Zimmermann und Ralf Schmidgall: Bussysteme in der Fahrzeugtechnik – Protokolle, Standards und Softwarearchitektur. Vieweg+Teubner, 4. Auflage, 2010, ISBN 978-3-8348-0907-0
- Kai Borgeest: Elektronik in der Fahrzeugtechnik. 1. Auflage, Vieweg-Teubner, Wiesbaden, 2008, ISBN 978-3-8348-0207-1
Weblinks
- firmenneutrale Einführung der CiA in den CAN-Bus
- Einführung in den CAN-Bus von VECTOR
- Unabhängige Diskussionsplattform CANLIST
- Grundlagen zum CAN Bus (ME-Meßsysteme)
Einzelnachweise
Wikimedia Foundation.