www.wikidata.de-de.nina.az
Der CAN Bus Controller Area Network ist ein serielles Bussystem und gehort zu den Feldbussen Er wurde 1983 vom Unternehmen Bosch entwickelt und 1986 zusammen mit Intel vorgestellt Sein Zweck ist es Kabelbaume zu reduzieren und hiermit Kosten und Gewicht zu sparen Zur damaligen Zeit konnte die Gesamtlange aller Kabel in Kraftfahrzeugen beispielsweise ohne CAN bis zu 2 km betragen CAN ist in ISO 11898 1 international standardisiert und definiert Layer 2 Datensicherungsschicht im ISO OSI Referenzmodell Die beiden gangigsten Realisierungen der physischen Schichten sind nach ISO 11898 2 Highspeed physical layer und ISO 11898 3 Fault tolerant physical layer definiert Sie unterscheiden sich in zahlreichen Eigenschaften und sind nicht zueinander kompatibel Inhaltsverzeichnis 1 Funktion 1 1 Ubertragungsverfahren 1 2 Topologie 1 3 Synchronisierung und Zeitquanten 1 4 Maximale Ubertragungsrate und Leitungslange 1 5 Objekt Identifier 1 6 Arbitrierung Prioritat 2 Frame Aufbau 2 1 Daten Frame 2 2 Remote Frame 2 3 Error Frame 2 4 Overload Frame 3 ACK Slot 4 Bit Stuffing 5 Datensicherung 6 Bit Timing 7 Security 8 Standards 9 Weiterentwicklung 10 Anwendungsbereiche 11 Hohere Protokolle 11 1 ISO TP 11 2 CANopen 11 3 DeviceNet 11 4 J1939 sowie die Erweiterungen NMEA2000 und ISOBUS 11 5 CleANopen 11 6 CANopen Lift 11 7 SafetyBUS p 11 8 TTCAN 11 9 CANaerospace 11 10 ARINC 825 11 11 EnergyBus 11 12 FireCAN 11 13 Unified Diagnostic Services 12 Siehe auch 13 Literatur 14 Weblinks 15 EinzelnachweiseFunktion BearbeitenUbertragungsverfahren Bearbeiten Der CAN Bus arbeitet nach dem Multi Master Prinzip d h er verbindet mehrere gleichberechtigte Steuergerate Ein CSMA CR Verfahren lost Kollisionen gleichzeitiger Buszugriff auf ohne dass die gewinnende hoher priorisierte Nachricht beschadigt wird Dazu sind die Bits je nach Zustand dominant bzw rezessiv ein dominantes Bit uberschreibt ein rezessives Die logische 1 ist rezessiv kann sich auf dem Bus also nur durchsetzen solange kein Teilnehmer logisch 0 sendet logisch entspricht dies einer UND Verknupfung obwohl bei Betrachtung einer der Leitungen fur die Spannungspegel eine Wired OR Verknupfung gilt Die Daten sind NRZ codiert mit Bitstopfen zur fortlaufenden Synchronisierung auch von Busteilnehmern mit wenig stabilem Oszillator Zur Erhohung der Ubertragungssicherheit wird die zyklische Redundanzprufung eingesetzt Spannungspegel im Highspeed CAN BusIm Falle von Kupferleitungen arbeitet der CAN Bus mit zwei verdrillten Adern CAN HIGH CAN H und CAN LOW CAN L symmetrische Signalubertragung CAN GND Masse als dritte Ader ist optional jedoch oft zusammen mit einer vierten Ader zur 5 V Stromversorgung vorhanden Bei hoheren Datenraten Highspeed CAN ist der Spannungshub zwischen den beiden Zustanden relativ gering Im rezessiven Ruhezustand ist die Differenzspannung null beide Adern etwa 2 5 V uber Masse im dominanten Zustand betragt sie mindestens 2 V CAN HIGH gt 3 5 V CAN LOW lt 1 5 V Beim fur grossere Distanzen geeigneten Lowspeed CAN kommt ein Spannungshub von 5 V zum Einsatz indem die rezessiven Ruhepegel auf 5 V CAN LOW und 0 V CAN HIGH gelegt sind Bei Ausfall einer der beiden Leitungen kann die Spannung der anderen Leitung gegen Masse ausgewertet werden Bei langsameren Bussen Komfort Bus z B zur Betatigung von Elementen durch den Benutzer kann ein Eindrahtsystem mit der Karosserie als Masse deshalb reichen Praktisch wird es meistens doch als Zweidrahtsystem ausgefuhrt verwendet aber im Fall eines Aderbruchs den Eindrahtbetrieb als Ruckfallebene um den Betrieb weiterfuhren zu konnen Das nennt sich dann Limp Home Modus Deutsch nach Hause humpeln Modus Topologie Bearbeiten Linearer CAN BusDas CAN Netzwerk wird als Linienstruktur aufgebaut Stichleitungen sind in eingeschranktem Umfang zulassig auch ein sternformiger Bus z B bei der Zentralverriegelung im Auto ist moglich Diese Varianten haben allerdings im Vergleich zum linienformigen Bus Nachteile Der sternformige Bus wird meist von einem Zentralrechner gesteuert da diesen alle Informationen passieren mussen mit der Folge dass bei einem Ausfall des Zentralrechners keine Informationen weitergeleitet werden konnen Beim Ausfall eines einzelnen Steuergerats funktioniert der Bus weiter Fur Stichleitungen und sternformige Busarchitektur ist der Leitungswellenwiderstand etwas aufwendiger zu bestimmen Die Anzahl der Stichleitungen und ihre Gesamtlange wird durch empirische Richtformeln abgeschatzt Der lineare Bus hat den Vorteil dass alle Steuergerate parallel an einer zentralen Leitung liegen Nur wenn diese ausfallt funktioniert der Bus nicht mehr Diese Topologie wird haufig in Kraftfahrzeugen eingesetzt An jedem Leitungsende sollte sich ein Abschlusswiderstand von 120 Ohm befinden Fur einen einzelnen CAN Bus Teilnehmer an einer Stichleitung wirkt dies genauso wie ein einzelner 60 Ohm Widerstand der am Ort der Abzweigung eingefugt ist Dieser Wert ist die zentrale Impedanz einer Sternarchitektur Synchronisierung und Zeitquanten Bearbeiten Die nominale Datenubertragungsrate im Netzwerk muss allen Teilnehmern bekannt sein ggf durch automatische Detektion CAN in Automation hat dazu eine Application Note herausgegeben CiA 801 Die Synchronisation auf den genauen Beginn einer Nachricht erfolgt mit dem Wechsel vom rezessiven Idle Pegel des Busses zum dominanten Synchronisations Bit mit dem jede Nachricht beginnt Jeder weitere Pegelwechsel von rezessiv zu dominant kann zur dynamischen Nachsynchronisierung der Empfanger verwendet werden Die Nachsynchronisierung gleicht Phasenrauschen und drift zwischen den lokalen Oszillatoren aus Eine Nachsynchronisierung findet auch wahrend der Arbitrierungsphase statt wenn ein Sender eine Nachricht mit hoherer Prioritat zu senden beginnt Dies bewirkt meist ebenfalls einen Phasensprung in Bezug zur vorherigen Nachricht Maximale Ubertragungsrate und Leitungslange Bearbeiten Es wird zwischen einem Highspeed Bus mit einer Datenrate von bis zu 1 Mbit s und einem Lowspeed Bus mit bis zu 125 kbit s unterschieden Diese Raten gelten jedoch nur bei Leitungslangen bis zu 40 m Daruber hangt die maximal zulassige Datenrate von der Leitungslange ab Mit niedrigeren Datenraten sind langere Leitungen moglich bei 500 kbit s bis zu 100 m und bei 125 kbit s bis zu 500 m Diese Maximalwerte beruhen darauf dass die Zeit die ein Signal am Bus anliegt Bitzeit Sekunde Bit umso kurzer ist je hoher die Ubertragungsrate ist Mit zunehmender Leitungslange steigt jedoch die Zeit die ein Signal braucht bis es am anderen Ende des Busses angekommen ist Ausbreitungsgeschwindigkeit Zu beachten ist dass sich das Signal nicht nur ausbreitet sondern auch der Empfanger auch innerhalb einer begrenzten Zeit auf den Sender reagieren muss siehe ACK Der Sender muss wiederum die eventuelle Buspegelanderung des oder der Empfanger mitbekommen siehe auch Arbitrierung Deshalb ist die maximale Leitungslange etwas komplexer zu berechnen Es mussen Verzogerungszeiten auf der Leitung des Transceivers Sender und Empfanger des Controllers Sender und Empfanger Oszillatortoleranzen und der gesetzte Abtastzeitpunkt Sender und Empfanger berucksichtigt werden Der weiter entwickelte CAN FD Standard erlaubt es die Datenrate nach der Verbindungsaushandlung zu erhohen Damit kann die Ubertragungsgeschwindigkeit des Datenabschnitts um den Faktor 10 oder mehr gesteigert werden Als Busmedium werden nach ISO 11898 2 High Speed Medium Access Unit Twisted Pair Kabel ursprunglich mit einem Wellenwiderstand von 108 132 Ohm empfohlen In der derzeit gultigen Ausgabe der ISO 11898 2 aus dem Jahr 2016 ist die Toleranz mit 100 130 Ohm angegeben Die maximale Teilnehmeranzahl auf physischer Ebene hangt von den verwendeten Bustreiberbausteinen Transceiver physische Anschaltung an den Bus ab Mit gangigen Bausteinen sind 32 64 oder bis zu 110 mit Einschrankungen bis zu 128 Teilnehmer pro Leitung moglich Erweiterungsmoglichkeit uber Repeater oder Bridge Objekt Identifier Bearbeiten Der Objekt Identifier kennzeichnet den Inhalt der Nachricht nicht das Gerat Zum Beispiel kann in einem Messsystem den Parametern Temperatur Spannung und Druck jeweils ein eigener Identifier zugewiesen sein Es konnen mehrere Parameter unter einem Identifier vereint sein solange die Summe der Daten die maximal mogliche Lange des Datenfeldes nicht uberschreitet Die Empfanger entscheiden anhand des Identifiers ob die Nachricht fur sie relevant ist oder nicht Zudem dient der Objekt Identifier auch der Priorisierung der Nachrichten Die Spezifikation definiert zwei 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 Empfanger 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 29 Bit Identifier ist in erster Linie fur das Umfeld von Nutzfahrzeugen Schiffen Schienenfahrzeugen und Landmaschinen definiert 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 Die Liste der Objekt Identifier einschliesslich Sender und Empfanger ist Bestandteil der sog Kommunikationsmatrix oder K Matrix Arbitrierung Prioritat Bearbeiten Der Buszugriff wird verlustfrei mittels der bitweisen Arbitrierung auf Basis der Identifier der zu sendenden Nachrichten aufgelost Dazu uberwacht jeder Sender den Bus wahrend er gerade den Identifier sendet Senden zwei Teilnehmer gleichzeitig so uberschreibt das erste dominante Bit eines der beiden das entsprechend rezessive des anderen was dieser erkennt und seinen Ubertragungsversuch 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 ubertragen werden Fur die Ubertragung von zeitkritischen Nachrichten kann also ein Identifier hoher Prioritat niedrige ID z B 0x001 0x000 fur Netzmanagement NMT vergeben werden um ihnen so Vorrang bei der Ubertragung zu gewahren Dennoch kann selbst bei hochprioren Botschaften der Sendezeitpunkt zeitlich nicht genau vorher bestimmt werden da gerade in Ubertragung befindliche Nachrichten nicht unterbrochen werden konnen und den Startzeitpunkt einer Sendung so bis zur maximalen Nachrichtenlange verzogern konnen nichtdeterministisches Verhalten Lediglich die maximale Sendeverzogerung fur die hochstpriore Nachricht kann bei bekannter maximaler Nachrichtenlange errechnet werden Fur niederpriore Nachrichten ist im Allgemeinen keine Aussage uber den Sendezeitpunkt moglich Sollte ein Teilnehmer kontinuierlich Nachrichten mit einer hohen Prioritat versenden kann dies zur Blockade des Busses fuhren da die Nachrichten der anderen Teilnehmer jeweils die Arbitrierung verlieren Dieses Verhalten wird als Babbling idiot beschrieben Sollte dieses Verhalten auf einer Fehlfunktion basieren kann es nur durch zusatzliche Hardware sogenannte Buswachter Bus Guardians gelost werden 1 Frame Aufbau Bearbeiten CAN Daten Frame mit elektrischen Pegeln CAN Datentelegramm im Base Frame Format CAN Datentelegramm im Extended Frame FormatDie Kommunikation erfolgt mit Telegrammen Innerhalb eines Telegramms gibt es Steuerbits und Nutzbits roter Bereich Der genormte Aufbau eines solchen Telegrammrahmens wird als Frame bezeichnet Es gibt vier verschiedene Arten von Frames Daten Frame dient dem Transport von Daten Remote Frame dient der Anforderung eines Daten Frames von einem anderen Teilnehmer Error Frame signalisiert allen Teilnehmern eine erkannte Fehlerbedingung in der Ubertragung Overload Frame dient als Zwangspause zwischen Daten und Remote FramesDaten Frame Bearbeiten 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 Steuerungsfeld CTRL 6 Bit Identifier Extension IDE 1 Bit reserved 1 Bit Data Length Code DLC 4 Bit Anzahl der Bytes im Datenfeld 0 bis 8 Bytes Werte 9 bis 15 werden nicht unterstutzt Datenfeld DATA 0 bis 8 mal 8 Bit Prufsummenfeld CRC 15 Bit Generatorpolynom x 15 x 14 x 10 x 8 x 7 x 4 x 3 1 displaystyle x 15 x 14 x 10 x 8 x 7 x 4 x 3 1 gefolgt von einem rezessiven CRC Delimiter Bit Bestatigungsfeld ACK 2 Bit bestehend aus einem ACK Slot siehe untenstehende Erlauterung 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 Bearbeiten Ein gesetztes RTR Bit Remote Transmission Request kennzeichnet einen Remote Frame rezessiv Mit Hilfe eines Remote Frames 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 anschliessend das eigentliche RTR Bit gesendet Das IDE Bit zahlt dabei logisch zum Arbitrierungsfeld wobei das Kontrollfeld aber weiterhin aus 6 Bit besteht Die Datenlange muss entsprechend der zu erwartenden Datenlange gesetzt werden Fehlerquelle Viele Entwickler setzen die Datenlange 0 dies ist falsch ebenso sind CAN Controller am Markt welche RTR Frames nur mit der Datenlange 0 senden konnen Der Objektidentifier ist derselbe wie der der angeforderten Nachricht Error Frame Bearbeiten Der Error Frame besteht aus zwei Feldern Das erste Feld wird bestimmt durch die Uberlagerung von ERROR FLAGS die von den verschiedenen Stationen erzeugt werden konnen 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 Bearbeiten Der Overload Frame ist eine Zwangspause zwischen Daten und Remote Frames Er beinhaltet zwei Felder Overload Flag und Overload Delimiter Es gibt zwei Arten von Uberlastung die zur Generierung des Overload Flag fuhren Die Elektronik des Empfangers erfordert eine Verzogerung der Ubertragung des nachsten Datenframes oder Remoteframes bspw aufgrund eines vollen Empfangspuffers Erkennung eines dominanten Bits auf dem Bus wahrend einer Ubertragungspause des eigenen Sendevorganges Ein Overload Frame verursacht aufgrund des ersten Falls darf nur im ersten Bitintervall einer erwarteten Sendepause erzeugt werden wahrend ein Overload Frame bedingt durch Fall 2 einen Takt nach der Erkennung des dominanten Bits gesendet wird Das Overload Flag besteht aus sechs dominanten Bits Die allgemeine Form korrespondiert zu der des Active Error Flags Die Form des Overload Flags zerstort die festgelegte Ubertragungsform da das Bitstuffing verletzt wird Als Konsequenz erkennen alle anderen Gerate ebenfalls die Uberlastung und generieren selber wiederum auch ein Overload Flag Der Overload Delimiter besteht aus acht rezessiven Bits und entspricht der Form des Error Delimiters ACK Slot BearbeitenDer Acknowledge Slot wird verwendet um den Empfang eines korrekten CAN Frames zu quittieren Jeder Empfanger der keinen Fehler feststellen konnte setzt einen dominanten Pegel an der Stelle des ACK Slots und uberschreibt 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 Ubertragungsfehler in Kenntnis gesetzt wird und zweitens um netzweite Datenkonsistenz sicherzustellen Wird der rezessive Pegel von einem Empfanger durch einen dominanten uberschrieben kann der Absender jedoch nicht davon ausgehen dass das Telegramm von allen anderen Empfangern erhalten wurde Bit Stuffing BearbeitenBitfolgen mit mehr als funf gleichen Bits werden im CAN Protokoll fur Steuerungszwecke z B End of Frame benutzt Es durfen also innerhalb des CAN Frames nicht mehr als funf Bits mit dem gleichen Pegel hintereinander vorkommen Um dies zu verhindern wird nach funf Bits mit dem gleichen Pegel ein Bit mit dem inversen Pegel eingefugt Dieses Bit nennt man Stopf Bit oder stuff bit Im Bild oben sind die Stopfbits lila eingefarbt Bitstopfen bit stuffing kann die physische Lange eines Frames vergrossern Bit stuffing wirkt auf Start of frame SOF bis einschliesslich Prufsummenfeld CRC von Daten sowie Remote Frames und dient der Nachsynchronisation der Teilnehmer innerhalb eines Frames Datensicherung BearbeitenErkennt ein Empfanger eine Fehlerbedingung sendet er einen Error Frame und veranlasst so alle Teilnehmer den Frame zu verwerfen Sollten andere Teilnehmer diese Fehlerbedingung erkannt haben senden sie ihrerseits direkt im Anschluss ein weiteres Error Frame Damit wird eine weitere Sicherheitsfunktion des CAN Protokolls moglich Um zu vermeiden dass einzelne Teilnehmer durch irrtumlich erkannte Fehlerbedingungen dauerhaft den Nachrichtentransport blockieren enthalt jeder Teilnehmer Fehlerzahler Diese Zahler erlauben nach den Regeln der Spezifikation einen fehlerhaft arbeitenden Teilnehmer in zwei Stufen des Betriebszustands vom Bus zu trennen wenn er wiederholt Fehler erkennt die andere Teilnehmer nicht erkennen oder wiederholt fehlerhafte Frames versendet Die Zustande nennen sich error active normal error passive Teilnehmer darf nur noch passive das heisst rezessive Error Frames senden und bus off Teilnehmer darf nicht mehr senden Der Sender wiederholt nach dem Error Frame seine Datenubertragung Auch der Sender kann durch die zuvor erwahnten Fehlerzahler vom Bus getrennt werden wenn die Datenubertragung dauerhaft fehlschlagt Verschiedene Fehlerfalle fuhren zu einer unterschiedlich grossen Erhohung des Fehlerzahlers Bit Timing BearbeitenAlle CAN Knoten mussen mit derselben Bitrate arbeiten was aufgrund von technischen Begebenheiten wie Phasenverschiebungen durch Laufzeiten Unterschiede in den Taktraten der einzelnen Oszillatoren und anderen ausseren Einwirkungen erschwert wird 2 Da keine allgemeiner Taktgeber vorhanden ist mussen sich die einzelnen Knoten selber synchronisieren Die Synchronisation ist wichtig damit die Knoten sowohl die eigenen gesendeten Daten als auch empfangene Daten korrekt einlesen konnen Sind sie nicht synchronisiert kann es zu ungewollten Busfehlern kommen Die Synchronisierung beginnt mit einer Synchronisierung beim ersten rezessiv zu dominanten Ubergang nach einem Inter Frame Space dem Startbit Eine Resynchronisation erfolgt bei jedem rezessiv zu dominanten Ubergang wahrend des Frames Der CAN Controller erwartet dass der Ubergang zu einem Vielfachen der nominalen Bitzeit erfolgt Ist dies nicht der Fall passt er die nominale Bitzeit entsprechend an Beispiel Aufteilung einer nominalen BitzeitDie Anzahl an verwendeten Quanten kann auf dem Mikrocontroller selber konfiguriert werden Sie hangt ab von der tatsachlichen Bitrate und Qualitat des Netzwerkes Kommt ein Bitwechsel fruher oder spater als erwartet kann der CAN Controller die Differenz berechnen und die Lange der Phasensegemente 1 und 2 verlangern oder verkurzen Eine Resynchronisierung wird bei jedem rezessiv zu dominanten Bitwechsel durchgefuhrt damit Empfanger und Sender synchron bleiben Dies hat eine verringerte Storanfalligkeit durch Rauschen zur Folge Ein Knoten der die Synchronisierung verloren hat kann sich somit jederzeit selber synchronisieren Security BearbeitenDas CAN Protokoll unterstutzt standardmassig keine Sicherheitsfunktionen Die Botschaften auf dem Bus werden ohne Verschlusselung ubertragen und sind fur jeden Busteilnehmer einsehbar Schon jetzt sind diverse Angriffe auf CAN Bus Systeme bekannt unter anderem 3 Bus Flood Attack Simple Frame Spoofing Adaptive Spoofing Error Passive Spoofing Attack Double Receive Attack Bus Off Attack Freeze Doom Loop AttackObwohl einige Systeme zwar unabhangig des Kommunikationsmediums geschutzt sind z B uber Challenge Response Sicherheitsverfahren zeigt ein Jeep Hack aus dem Jahre 2015 dass Angriffe auf den CAN Bus durchaus gravierende Folgen haben kann 4 Analysiert man den CAN Bus hinsichtlich der gangigsten Sicherheitsziele lassen sich einige Schwachstellen erkennen Vertraulichkeit Der CAN Bus bietet keine Vertraulichkeit da Botschaften im Klartext ubertragen werden 5 Integritat Eine gewisse Integritat wird uber den Cycle Redundancy Check zwar gewahrleistet diesen kann ein Angreifer allerdings auch ohne Probleme andern Daher ist sie ebenfalls nicht gewahrleistet 5 Verfugbarkeit Da das Arbitrierungsverfahren auf Prioritaten der einzelnen Nachrichten setzt kann es vorkommen dass eine niederpriore Nachricht nicht gesendet werden kann Auch diese Sicherheitsziel ist nicht gewahrleistet 5 Authentizitat Ahnlich der Verfugbarkeit gibt es hier ebenfalls ein Feld Identifier welches in der Theorie eine Authentizitat bietet allerdings kann diese durch einen Angreifer einfach geandert werden 3 Verbindlichkeit Sobald eine Nachricht empfangen wird landet sie im Empfangspuffer des Empfangers Beim Empfang einer weiteren Nachricht wird dieser uberschrieben und ist nicht mehr vorhanden Der Empfang dieser Botschaft kann somit abgestritten werden 4 Keine der funf gangigen Sicherheitsziele kann also durch den CAN Bus erfullt werden Standards BearbeitenISO 11898 1 2015 Road vehicles Controller area network Part 1 Data link layer and physical signalling ISO 11898 2 2016 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 11898 6 2013 Road vehicles Controller area network Part 6 High speed medium access unit with selective wake up functionality SAE J2284 1 2016 High Speed CAN for Vehicle Applications at 125 kbps SAE J2284 2 2016 High Speed CAN for Vehicle Applications at 250 kbps SAE J2284 3 2016 High Speed CAN for Vehicle Applications at 500 kbps SAE J2284 4 2016 High Speed CAN for Vehicle Applications at 500 kbps with CAN FD Data at 2 Mbps SAE J2284 5 2016 High Speed CAN for Vehicle Applications at 500 kbps with CAN FD Data at 5 MbpsWeiterentwicklung Bearbeiten2012 wurde von Bosch ein Vorschlag zur Erhohung der verfugbaren Bandbreite namens CAN FD Flexible Data Rate vorgestellt 6 Dies wird durch Verkurzung der Bit Zeiten in der Datenphase und Vergrosserung des Datenfeldes auf bis zu 64 Byte erreicht Insgesamt verspricht man sich zurzeit durch das improved CAN 7 genannte Verfahren einen bis zu 8 fach hoheren Datendurchsatz Das CAN FD Protokoll kann wie das Classical CAN Protokoll alle einfachen single Bitfehler erkennen Ausserdem werden mehrfache multiple Bitfehler mit einer noch hoheren Wahrscheinlichkeit entdeckt CAN FD wurde international normiert und ist nun Bestandteil von ISO 11898 1 2015 Im Volkswagen Konzern wurde der CAN FD erstmals in den Fahrzeugen des MQB Baukastens ab 2019 eingesetzt Anwendungsbereiche BearbeitenCAN Protokolle haben sich in verschiedenen vor allem sicherheitsrelevanten Bereichen etabliert bei denen es auf hohe Datensicherheit ankommt Beispiele Automobilindustrie Vernetzung unterschiedlicher Steuergerate Sensoreinheiten und Multimediaeinheiten Automatisierungstechnik zeitkritische Sensoren im Feld Uberwachungstechnische Einrichtungen Aufzugsanlagen Vernetzung der Steuerung mit verschiedenen Sensoren Aktoren und Aufzugsanlagen untereinander innerhalb einer Aufzugsgruppe Medizintechnik Magnetresonanz und Computertomographen Blutgewinnungsmaschinen Laborgerate Elektro Rollstuhle Herzlungen Maschinen 8 Flugzeugtechnik Vernetzung innerhalb von Kabinen und Flugfuhrungssystemen Raumfahrttechnik vermehrte Verwendung in parallelen Busarchitekturen Beschallungsanlage wird fur die Steuerung von digitalen Endstufen verwendet Schienenfahrzeuge Schiffbau Die DGzRS lasst in die neue Generation ihrer Seenotrettungskreuzer Bus Systeme einbauen Pyrotechnik Vernetzung von Zundsystemen Agrartechnik Vernetzung unterschiedlicher Steuergerate Sensoreinheiten und Aktoreinheiten Sicherheitstechnik Vernetzung intern in Anlagen extern bei einzelnen Bauelementen Hohere Protokolle BearbeitenISO TP Bearbeiten ISO 15765 2 auch kurz ISO TP ermoglicht den Transport von Botschaften deren Lange die maximal 8 Bytes Nutzdaten eines CAN Frames uberschreiten Im OSI Modell deckt es die Schichten 3 Network Layer und 4 Transport Layer ab und kann bis zu 4095 Bytes Nutzdaten pro Telegramm transportieren ISO TP segmentiert langere Botschaften auf mehrere Frames und erganzt die Datenpakete um Metadaten die eine Interpretation der einzelnen Frames durch den Empfanger ermoglichen CANopen Bearbeiten CANopen ist ein auf CAN basierendes Schicht 7 Kommunikationsprotokoll welches anfanglich in der Automatisierungstechnik verwendet wurde mittlerweile aber vorwiegend in Embedded Systemen eingesetzt wird CANopen wurde vorwiegend von deutschen klein und mittelstandischen 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 Europaische Norm EN 50325 4 standardisiert Der Einsatz erfolgt vorwiegend in Europa gefolgt von Asien DeviceNet Bearbeiten DeviceNet ist ein auf CAN basierendes Schicht 7 Kommunikationsprotokoll welches hauptsachlich in der Automatisierungstechnik verwendet wird DeviceNet ist vorwiegend in Amerika verbreitet Es wurde von Allen Bradley gehort zu Rockwell Automation entwickelt und spater als offener Standard an die ODVA Open DeviceNet Vendor Association ubergeben J1939 sowie die Erweiterungen NMEA2000 und ISOBUS Bearbeiten J1939 ist ein auf CAN basierendes Protokoll im Nutzfahrzeugbereich Es wird von der Society of Automotive Engineers SAE gepflegt Eine Einfuhrung in J1939 findet sich in Application Note Introduction J1939 9 NMEA 2000 ist eine Erweiterung von SAE J1939 fur den maritimen Bereich Das Protokoll der NMEA Organisation breitet sich zunehmend aus Vorganger ist NMEA 0183 NMEA2000 ist ein IEC Standard IEC61162 3 In der Landwirtschaft und Kommunaltechnik kommt der ISOBUS ISO 11783 der eine Erweiterung des J1939 darstellt zur Steuerung und Uberwachung von Anbaugeraten zum Einsatz CleANopen Bearbeiten Eine Arbeitsgruppe der CAN in Automation die CANopen Special Interest Group SIG Municipal Vehicles entwickelt das CANopen Anwendungsprofil fur Abfallsammelfahrzeuge CleANopen DIN EN 50325 4 CANopen Lift Bearbeiten Eine 2001 gegrundete Arbeitsgruppe der CAN in Automation die CANopen Special Interest Group SIG Lift Control entwickelt das CANopen Anwendungsprofil CANopen CiA 417 fur Aufzuge Die erste Version von CiA 417 wurde im Sommer 2003 veroffentlicht Die Version 2 0 steht seit Februar 2010 auf der CiA Webseite frei zur Verfugung Die Arbeitsgruppe arbeitet an der Erweiterung des CANopen Lift Funktionsumfangs verfeinert technische Inhalte und sorgt um die Einhaltung aktueller gesetzlich vorgeschriebener Normen fur Aufzuge in CiA 417 Die Version 2 1 0 ist im Juli 2012 und die Version 2 2 0 verfugbar fur CiA Mitglieder ist im Dezember 2015 als Draft Standard Proposal verabschiedet worden Im Jahre 2016 wurde an der Version 2 3 0 verfugbar fur CiA Mitglieder gearbeitet Jorg Hellmich ELFIN GmbH ist der Vorsitzende dieser Arbeitsgruppe und betreibt unabhangig vom CiA ein Wiki der CANopen Lift Anwendergemeinschaft mit Inhalten zu CANopen Lift SafetyBUS p Bearbeiten SafetyBUS p ist ein auf CAN basierendes sicheres Kommunikationsprotokoll welches hauptsachlich in der Automatisierungstechnik zur Ubertragung sicherheitsgerichteter Daten verwendet wird Alle Busteilnehmer sind zwei oder sogar dreikanalig aufgebaut und prufen die Datenintegritat Das Ubertragungsmedium selbst ist nicht sicher die Sicherheit wird durch das SafetyBUS p eigene Datenprotokoll erreicht Der SafetyBUS p kann bis SIL3 eingesetzt werden TTCAN Bearbeiten Time Triggered Communication on CAN setzt auf dem CAN Bus auf und ermoglicht uber hohere Protokollebenen eine Echtzeitsteuerung TTCAN ist in ISO 11898 4 genormt CANaerospace Bearbeiten CANaerospace ist ein Open Source Kommunikationsprotokoll welches 1998 insbesondere fur den Einsatz in der Luftfahrt mit ihren besonderen Zuverlassigkeits und Leistungsanforderungen konzipiert wurde Im Jahr 2000 hat die amerikanische NASA CANaerospace als eigenen Standard ubernommen CANaerospace wird in zahlreichen Forschungsflugzeugen weltweit eingesetzt und hat sich als De facto Standard in der militarischen Flugsimulationstechnik etabliert ARINC 825 Bearbeiten 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 Bearbeiten EnergyBus LogoEnergyBus ist ein Kommunikations und Energieubertragungs Bus und dazugehoriges Steckersystem fur Leicht Elektrofahrzeuge wie Pedelecs und E Bikes EnergyBus wird von einem eingetragenen Verein dem EnergyBus e V mit Sitz in Tanna gemeinsam mit dem CAN in Automation e V spezifiziert Mitglieder sind sowohl Einzelpersonen wie auch Hersteller von Steckern Batterien Steuerungen und Antriebseinheiten darunter Bosch Panasonic Sanyo Deutsche Bahn AG Philips und Varta 10 Das Kommunikationsprotokoll ist im CANopen Applikationsprofil 454 energy management systems definiert FireCAN Bearbeiten FireCAN wurde durch Zusammenarbeit osterreichischer und deutscher Feuerwehraufbauhersteller im Jahr 2006 gegrundet und ist mittlerweile als Norm DIN 14700 vorhanden Ursprunglich wurde FireCAN als freie Ubereinkunft der wesentlichen am Markt befindlichen Hersteller die redaktionelle Betreuung der gemeinsamen Spezifikation wird dabei durch die Firma Rosenbauer ausgeubt 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 physischen Eigenschaften Stecker Leitungen Anschlussbelegung die Art und Anzahl der Teilnehmer sowie die verwendeten Datenformate und Dateninhalte Als wesentlicher Vorganger ist der in der Landwirtschaft erfolgreich eingefuhrte ISOBUS zu verstehen 11 Unified Diagnostic Services Bearbeiten In Personenkraftwagen sehr verbreitet ist mittlerweile Unified Diagnostic Services gemass der ISO 14229 In alteren Modellen verwendeten viele Hersteller eigene Standards oft basierend auf der letztlich nicht standardisierten Norm fur KWP on CAN Normentwurf ISO DIS 15765 Siehe auch BearbeitenFlexRay Local Interconnect Network LIN SocketCAN CAN Treiber und Netzwerkschicht innerhalb des Linux Kernels can4linuxLiteratur BearbeitenEine Liste uber veroffentlichte CAN Bucher 12 ist auf der Webseite des CiA zu finden Wolfhard Lawrenz Hrsg CAN Controller Area Network Grundlagen und Praxis 5 Auflage VDE Berlin Offenbach 2011 ISBN 978 3 8007 3332 3 Konrad Etschberger Hrsg CAN Controller Area Network Grundlagen Protokolle Bausteine Anwendungen Hanser Munchen 1994 ISBN 3 446 19431 2 Horst Engels CAN Bus Technik einfach anschaulich und praxisnah vorgestellt Franzis Poing 2002 ISBN 3 7723 5146 8 Werner Zimmermann und Ralf Schmidgall Bussysteme in der Fahrzeugtechnik Protokolle Standards und Softwarearchitektur 5 Auflage Springer Vieweg Wiesbaden 2014 ISBN 978 3 658 02418 5 Kai Borgeest Elektronik in der Fahrzeugtechnik 3 Auflage Springer Vieweg Wiesbaden 2013 ISBN 978 3 8348 1642 9 Konrad Reif Batterien Bordnetze und Vernetzung Vieweg Teubner Verlag Wiesbaden 2010 ISBN 978 3 8348 1310 7 Gerhard Schnell und Bernhard Wiedemann Bussysteme in der Automatisierungs und Prozesstechnik Vieweg Teubner Verlag Wiesbaden 2008 ISBN 978 3 8348 0425 9 Mathias Rausch Kommunikationssysteme im Automobil LIN CAN CAN FD CAN XL FlexRay Automotive Ethernet Hanser Munchen 2022 ISBN 978 3 446 47035 4 Weblinks BearbeitenFirmenneutrale Einfuhrung der CiA in den CAN Bus Einfuhrung in den CAN Bus von VECTOR Unabhangige Diskussionsplattform CANLIST Wiki zur CAN Technologie und Produkten CANopen Lift org Wiki der CANopen Lift Community Einfuhrung in die CAN Bus Grundlagen anhand eines Modell Autos CANBASIC mit CAN Bus CAN Protokoll Tutorial engl Fehlersuche in CAN NetzwerkenEinzelnachweise Bearbeiten Giuseppe Buja Juan R Pimentel Alberto Zuccollo Overcoming Babbling Idiot Failures in the FlexCAN Architecture A Simple Bus Guardian In Emerging Technologies and Factory Automation 2005 ISBN 0 7803 9401 1 S 461 468 PDF Datei Pat Richards Understanding Microchip s CAN Module Bit Timing In michrochip com Microchip Technology Inc 2001 abgerufen am 3 Mai 2023 englisch a b Dr Ken Tindell CAN Bus Security In Canis Automotive Labs Canis Automotive Labs 14 Februar 2020 abgerufen am 19 Mai 2023 englisch a b MILLER Charlie VALASEK Chris Remote exploitation of an unaltered passenger vehicle Black Hat USA 2015 2015 Jg Nr S 91 S 1 91 a b c Mehmet Bozdal Mohammad Samie Sohaib Aslam Ian Jennions Evaluation of CAN Bus Security Challenges In Sensors Band 20 Nr 8 Januar 2020 ISSN 1424 8220 S 2364 doi 10 3390 s20082364 mdpi com abgerufen am 19 Mai 2023 13 iCC Conference Paper PDF 215 KiB Archiviert vom Original am 13 Dezember 2016 abgerufen am 17 Juni 2017 CAN FD Specification Version 1 0 PDF 313 KiB Archiviert vom Original am 2 Juli 2017 abgerufen am 20 Juni 2017 http www can cia org can knowledge Eine Protokolleinfuhrung Application Note Introduction J1939 PDF 284 kB Liste der EnergyBus Mitglieder Memento des Originals vom 31 Oktober 2012 im Internet Archive Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www energybus info alte Webseite FireCAN Memento vom 4 Marz 2016 im Internet Archive Liste mit veroffentlichten CAN Buchern In can newsletter org Abgerufen am 24 August 2016 Normdaten Sachbegriff GND 4338572 2 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Controller Area Network amp oldid 234578218