Kann Bus
A Controller Area Network (Kann Bus) ist eine robuste Fahrzeugbus Standard für die Ermöglichung Mikrocontroller und Geräte zur Kommunikation mit den Anwendungen des anderen ohne a Host-Computer. Es ist ein Nachrichtenbasierter Protokoll, entworfen ursprünglich für Multiplex Elektrische Verkabelung in Automobilen zum Sparen von Kupfer, kann aber auch in vielen anderen Kontexten verwendet werden. Für jedes Gerät werden die Daten in einem Rahmen seriell übertragen, jedoch so, dass, wenn mehr als ein Gerät gleichzeitig übernimmt[Klarstellung erforderlich] (Übertragungsverzögerung wird verwendet, um sicherzustellen, dass jeder Knoten ein Datagramm erhält. Frames werden von allen Geräten empfangen, einschließlich des Sendungsgeräts.
Geschichte
Entwicklung der Dose Bus Begonnen 1983 bei Robert Bosch GmbH.[1] Das Protokoll wurde 1986 offiziell in der freigelassen Society of Automotive Engineers (SAE) Konferenz in Detroit, Michigan. Die ersten Dose -Controller -Chips wurden von eingeführt von Intel im Jahr 1987 und kurz danach von Philips.[1] Veröffentlicht 1991 die Mercedes-Benz W140 war das erste Produktionsfahrzeug mit einem CAN-basierten Multiplex-Kabelsystem.[2][3]
Bosch veröffentlichte mehrere Versionen der CAN -Spezifikation und die neuesten IS CAN 2.0, die 1991 veröffentlicht wurde. Diese Spezifikation enthält zwei Teile; Teil A ist für das Standardformat mit einem 11-Bit-Kennung und Teil B für das erweiterte Format mit einer 29-Bit-Kennung. Ein Dose-Gerät, das 11-Bit-Kennungen verwendet, wird üblicherweise als CAN 2.0a bezeichnet, und ein CAN-Gerät, das 29-Bit-Kennungen verwendet, wird üblicherweise als CAN 2.0b bezeichnet. Diese Standards sind bei Bosch zusammen mit anderen Spezifikationen und frei von Bosch erhältlich weiße Papiere.[4]
1993 die Internationale Standardisierungsorganisation (ISO) veröffentlicht die Can Standard ISO 11898, die später in zwei Teile umstrukturiert wurde; ISO 11898-1, der die abdeckt Datenübertragungsebeneund ISO 11898-2, die die dose physische Schicht für Hochgeschwindigkeitsdose abdeckt. ISO 11898-3 wurde später freigesetzt und deckt die Dose-physikalische Schicht für eine fehlertolerante Dose mit niedriger Geschwindigkeit ab. Die physischen Schichtstandards ISO 11898-2 und ISO 11898-3 sind nicht Teil der Bosch-Can 2.0-Spezifikation. Diese Standards können von der ISO gekauft werden.
Bosch ist immer noch aktiv, um die Dose -Standards zu erweitern. Im Jahr 2012 veröffentlichte Bosch Kann fd 1.0 oder kann mit flexibler Datenrate. Diese Spezifikation verwendet ein anderes Frame -Format, das eine andere Datenlänge ermöglicht und optional auf eine schnellere Bitrate nach dem Schiedsverfahren umgestellt wird. CAN FD ist mit vorhandenen CAN 2.0 -Netzwerken kompatibel, sodass neue CAN -FD -Geräte im selben Netzwerk mit vorhandenen CAN -Geräten koexistieren können.[5]
Der Bus ist eines von fünf Protokollen, die in der verwendet werden On-Board-Diagnose (OBD) -II-Fahrzeugdiagnostikstandard. Der OBD-II-Standard ist seit 1996 für alle Autos und leichten LKWs in den USA obligatorisch. Die EOBD Standard ist seit 2001 für alle in der Europäischen Union verkauften Benzinfahrzeuge und alle Dieselfahrzeuge seit 2004.[6]
Anwendungen
- Beifahrerfahrzeuge, Lastwagen, Busse (Verbrennungsfahrzeuge und Elektrofahrzeuge)
- Landwirtschaftliche Geräte
- Elektronische Geräte für Luftfahrt und Navigation
- Industrielle Automatisierung und mechanische Kontrolle
- Aufzüge, Rolltreppen
- Gebäudeautomation
- Medizinische Instrumente und Ausrüstung
- Pedelecs
- Modellbahn/Eisenbahnen
- Schiffe und andere maritime Anwendungen
- Beleuchtungssteuerungssysteme
- 3D -Drucker
Automobil
Das moderne Automobil kann bis zu 70 haben elektronische Steuereinheiten (ECU) für verschiedene Subsysteme.[7] Traditionell ist der größte Prozessor der Motorsteuergerät. Andere werden für autonomes Fahren, Advanced Triver Assistance System (ADAS) verwendet, Übertragung, Airbags, Antillock -Bremsen/ABS, Tempomat, elektrisch Servolenkung, Audiosysteme, elektrische Fenster, Türen, Spiegelanpassung, Batterie- und Aufladungssysteme für Hybrid-/Elektroautos usw. Einige dieser unabhängigen Subsysteme bilden unter anderem die Kommunikation von entscheidender Bedeutung. Ein Subsystem muss möglicherweise Aktuatoren kontrollieren oder Feedback von Sensoren erhalten. Die Dose Standard wurde entwickelt, um diesen Bedarf zu erfüllen. Ein wesentlicher Vorteil ist, dass die Verbindung zwischen verschiedenen Fahrzeugsystemen eine breite Palette von Sicherheits-, Wirtschafts- und Komfortfunktionen nur mithilfe von Software implementiert werden kann - Funktionalität, die Kosten und Komplexität ergänzen, wenn solche Funktionen mithilfe herkömmlicher Automobilelektrik "hart verdrahtet" wären. Beispiele beinhalten:
- Auto Start/Stopp: Verschiedene Sensoreingänge aus dem Fahrzeug (Geschwindigkeitssensoren, Lenkwinkel, Klimaanlage ein/aus, Motortemperatur) werden über den CAN -Bus zusammengestellt, um festzustellen, ob der Motor für einen verbesserten Kraftstoffverbrauch und Emissionen stationär geschlossen werden kann.
- Elektroparkbremsen: Die Funktionalität "Hill Hold" nimmt Eingabe vom Neigungssensor des Fahrzeugs (auch vom Einbrecheralarm verwendet) und die Straßengeschwindigkeitssensoren (auch von ABS, Motorsteuerung und Traktionskontrolle verwendet) über den CAN -Bus, um festzustellen, ob das Fahrzeug ist auf einer Steigung gestoppt. In ähnlicher Weise werden Eingänge von Sicherheitsgurtsensoren (Teil der Airbag -Steuerelemente) aus dem CAN -Bus gefüttert, um festzustellen, ob die Sicherheitsgurte befestigt sind, damit die Feststellbremse beim Ausziehen automatisch freigegeben wird.
- Parkhilfe Systeme: Wenn der Fahrer umgekehrt ist, kann die Getriebesteuereinheit ein Signal über den CAN -Bus senden, um sowohl das Parksensorsystem als auch das Türsteuermodul für den Passagier -Seitentürspiegel zu aktivieren, um nach unten zu kippen, um die Position des Bordsteins anzuzeigen. Der CAN -Bus nimmt außerdem Eingänge vom Regensensor, um beim Umkehr die hintere Windschutzscheibe auszulösen.
- Auto Lane Assist/Kollisionsvermeidung Systeme: Die Eingaben von den Parksensoren werden auch vom CAN -Bus verwendet, um außerhalb der Nähe von Angeniedaten für Fahrerassistentensysteme wie Spurverlassenswarnung zu ernähren, und in jüngerer Zeit fahren diese Signale durch den CAN -Bus, um zu arbeiten Bremsen durch Draht bremsen in aktiven Kollisionsvermeidungssystemen.
- Autobremswischung: Eingang wird aus dem Regensensor genommen (hauptsächlich für die Automatik verwendet Scheibenwischer) über den CAN -Bus zum ABS -Modul, um eine unmerkliche Anwendung der Bremsen zu initiieren, während Sie Fahren zur Entleerung von Feuchtigkeit aus den Bremsrotoren einleiten. Einige hohe Leistung Audi und BMW Modelle enthalten diese Funktion.
- Sensoren können an der am besten geeigneten Stelle platziert werden und deren Daten von mehreren ECUs verwendet werden. Zum Beispiel können Außentemperatursensoren (traditionell vorne platziert) in die Außenspiegel platziert werden, wodurch das Erhitzen des Motors und die Daten, die vom Motor, der Klimaregelung und der Fahreranzeige verwendet werden, vermieden werden.
In den letzten Jahren die Lin Bus (Lokales Interconnect-Netzwerk) Standard für nicht kritische Subsysteme wie Klimaanlage und Infotainment, bei denen die Datenübertragungsgeschwindigkeit und -zuverlässigkeit weniger kritisch sind.
Sonstiges
- Das CAN -Bus -Protokoll wurde auf dem verwendet Shimano DI2 Electronic Gear Shift System für Straßenfahrräder seit 2009 und wird auch von Ansmann und verwendet Bionx Systeme in ihrem Direktantriebsmotor.
- Der Can -Bus wird auch als verwendet Fieldbus Im Allgemeinen Automatisierungsumgebungen, vor allem aufgrund der niedrigen Kosten einiger Dose Controller und Prozessoren.
- Hersteller einschließlich Nismo Ziel für die Verwendung von Can-Bus-Daten, um reale Rennrunden im Videospiel neu zu erstellen Gran Turismo 6 Verwenden der GPS -Datenlogger -Funktion des Spiels, die es den Spielern ermöglichen würde, gegen echte Runden zu rennen.[8]
- Johns Hopkins Universität's Labor für angewandte PhysikDas modulare Prothesen -Glied (MPL) verwendet einen lokalen Can -Bus, um die Kommunikation zwischen Servos und Mikrocontrollern im prothetischen Arm zu erleichtern.
- Teams in der Erster Robotikwettbewerb Ein weit verbreitetes Gebrauch kann mit dem Bus zwischen dem Roborio und anderen Robotersteuerungsmodulen kommunizieren.
- Das Cueskript Teleprompter Sortiment verwendet das CAN -BUS -Protokoll über Koaxialkabeln, um das CSSC -Desktop -Scroll -Steuerelement an die Haupteinheit anzuschließen
- Das CAN -BUS -Protokoll ist aufgrund seiner Fehlertoleranz in elektrisch verrauschten Umgebungen wie der Feedback -Systeme für Modell Railroad Sensor durch große Werbespots weit verbreitet. Digitale Befehlskontrolle Systemhersteller und verschiedene Digital Model Railroad Control -Projekte für Open Source.
- Shearwater -Forschung haben das Protokoll als Divecan implementiert[9] Verwenden Sie die Integration ihrer Tauchcomputer in Taucherbenerat von verschiedenen Herstellern.
Die Architektur
Physische Organisation
Can ist a Multi-Master Serien Bus Standard zum Anschließen elektronischer Steuereinheiten (ECUS) auch als Knoten bezeichnet (Knoten (Kfz -Elektronik ist eine wichtige Anwendungsdomäne). Zwei oder mehr Knoten sind im Dose -Netzwerk erforderlich, um zu kommunizieren. Ein Knoten kann zu Geräten aus einfacher digitaler Logik, z. PLDüber FPGA bis zu einem eingebetteten Computer, der umfangreiche Software ausführt. Ein solcher Computer kann auch ein Gateway sein, der einem Allzweck -Computer (wie einem Laptop) über einen USB- oder Ethernet -Anschluss mit den Geräten eines Dose -Netzwerks kommuniziert.
Alle Knoten sind durch ein physikalisch konventionelles physikalisch miteinander verbunden Zwei Drahtbus. Die Drähte sind ein verdrehtes Paar mit einem 120 Ω (nominal) charakteristische Impedanz.
Dieser Bus verwendet Differential verdrahtet und Signale. Zwei Signale, CAN hoch (CANH) und CAN TOW (CANL), werden entweder in einen "dominanten" Zustand mit CANH> CANL oder nicht von passiven Widerständen zu einem "rezessiven" Zustand mit CANH ≤ Canl gefahren und gezogen. Ein 0-Datenbit codiert einen dominanten Zustand, während ein 1-Datenbit einen rezessiven Zustand codiert, der eine Kabel- und Konvention unterstützt, die Knoten mit niedrigeren ID-Zahlen im Bus Priorität bietet.

ISO 11898-2Auch die Hochgeschwindigkeitsdose (Bitgeschwindigkeiten von bis zu 1 mbit/s auf CAN, 5 Mbit/s auf CAN-FD), verwendet einen linearen Bus, der an jedem Ende mit 120 Ω-Widerständen gekündigt ist.

Hochgeschwindigkeits-Can-Signalantriebe den Canh-Draht zu 3,5 V und den Canl-Kabel zu 1,5 V, wenn ein Gerät einen Dominanten überträgt (0), während die terminierenden Widerstände die beiden Drähte passiv an den Rezessiva übertragen, wenn kein Gerät überträgt. (1) Zustand mit einer nominalen Differentialspannung von 0 V (Empfänger betrachten jede Differentialspannung von weniger als 0,5 V als rezessiv.) Die dominante Differentialspannung ist eine nominale 2 V. Die dominante gemeinsame Modusspannung (CANH+CANL)/ 2 muss innerhalb von 1,5 bis 3,5 V von gemeinsam sein, während die rezessive gemeinsame Modusspannung innerhalb von ± 12 von gemeinsam liegen muss.

ISO 11898-3, auch als niedriger Geschwindigkeit oder fehlertolerante Dose bezeichnet (bis zu 125 kbit/s), verwendet einen linearen Bus, einen Sternbus oder mehrere Sternbusse, die von einem linearen Bus verbunden sind und an jedem Knoten durch einen Bruch . Der Gesamtabschlusswiderstand sollte nahe, aber nicht weniger als 100 Ω sein.

Niedriggeschwindigkeitsfehlertolerante Signalübertragung arbeitet ähnlich wie die Hochgeschwindigkeitsdose, jedoch mit größeren Spannungsschwankungen. Der dominante Zustand wird durch Fahrt Canh in Richtung der Geräte -Stromversorgungsspannung (5 V oder 3,3 V) übertragen und bei der Übertragung eines Dominanten (0) in Richtung 0 V in Richtung 0 V, während die Terminierungswiderstände den Bus mit Canh bei 0 in einen rezessiven Zustand ziehen V und Canl bei 5 V. Dies ermöglicht einem einfacheren Empfänger, der nur das Zeichen von Canh -Canl berücksichtigt. Beide Drähte müssen in der Lage sein, mit –27 bis +40 V ohne Beschädigung zu handhaben.
Elektrische Eigenschaften
Mit Hochgeschwindigkeits- und niedriger Geschwindigkeitsdose ist die Geschwindigkeit des Übergangs schneller, wenn ein rezessiv bis dominanter Übergang auftritt, da die Dose-Drähte aktiv angetrieben werden. Die Geschwindigkeit des dominanten zu rezessiven Übergangs hängt hauptsächlich von der Länge des Dose -Netzwerks und der Kapazität des verwendeten Drahtes ab.
Hochgeschwindigkeitsdose wird normalerweise in Automobil- und Industrieanwendungen verwendet, bei denen der Bus von einem Ende der Umwelt zum anderen fährt. Fehlertolerante Dose wird häufig verwendet, wenn Gruppen von Knoten miteinander verbunden werden müssen.
Die Spezifikationen erfordern, dass der Bus innerhalb einer minimalen und maximalen Busspannung der gemeinsamen Modus gehalten wird, definieren jedoch nicht, wie der Bus in diesem Bereich hält.
Der Can -Bus muss gekündigt werden. Die Terminierungswiderstände werden zur Unterdrückung benötigt Reflexionen sowie den Bus in seinen rezessiven oder müßigen Zustand zurückkehren.
Hochgeschwindigkeitsdose verwendet einen 120 Ω-Widerstand an jedem Ende eines linearen Busses. Niedrige Geschwindigkeit kann an jedem Knoten Widerstände verwenden. Andere Arten von Terminationen können verwendet werden, wie z. ISO11783.[10]
A Beendigung der Vorspannung bietet Energie und merde zusätzlich zu der Dose Signalisierung eines Vier-Draht-Kabels. Dies liefert automatisch elektrische Voreingenommenheit und Beendigung an jedem Ende eines jeden Bussegment. Ein ISO11783-Netzwerk ist für das heiße Plug-In und das Entfernen von Bussegmenten und ECUs ausgelegt.
Knoten

Jeder Knoten benötigt a
- Zentrale Verarbeitungseinheit, Mikroprozessor oder Hostprozessor
- Der Host -Prozessor entscheidet, was die empfangenen Nachrichten bedeuten und welche Nachrichten sie übertragen möchten.
- Sensoren, Aktuatoren und Steuerelemente können mit dem Host -Prozessor verbunden werden.
- Can Controller; Oft ein integraler Bestandteil des Mikrocontrollers
- Empfangen: Der CAN -Controller speichert die empfangenen seriellen Bits aus dem Bus, bis eine gesamte Nachricht verfügbar ist, die dann vom Host -Prozessor abgerufen werden kann (normalerweise durch den CAN -Controller, der einen Interrupt auslöst).
- Senden: Der Host -Prozessor sendet die Sendenachricht (n) an einen Dose -Controller, der die Bits seriell auf den Bus überträgt, wenn der Bus frei ist.
- Transceiver Definiert durch ISO 11898-2/3 Medium Access Unit [MAU] Standards
- Empfangen: Es konvertiert den Datenstrom von CAN -Bus -Ebenen in Stufen, die der CAN -Controller verwendet. Es verfügt normalerweise über Schutzschaltungen, um den Dose -Controller zu schützen.
- Übertragung: Es wandelt den Datenstrom vom CAN -Controller in CAN -Bus -Ebenen um.
Jeder Knoten kann Nachrichten senden und empfangen, jedoch nicht gleichzeitig. Eine Nachricht oder Rahmen besteht hauptsächlich aus der ID (Kennung), die die Priorität der Nachricht darstellt, und bis zu acht Datenbytes. Ein CRC, den Slot [ACK] und andere Overheads auch Teil der Nachricht sind. Der verbesserte CAN FD erweitert die Länge des Datenabschnitts auf bis zu 64 Bytes pro Rahmen. Die Nachricht wird mit a seriell auf den Bus übertragen Nicht-Return-to-Null (NRZ) Format und kann von allen Knoten empfangen werden.
Die Geräte, die von einem Dose -Netzwerk verbunden sind Sensoren, Aktuatorenund andere Steuerelemente. Diese Geräte sind über a mit dem Bus verbunden Hostprozessor, eine Dose -Controller und eine Dose Transceiver.
Datenübertragung
Die Datenübertragung kann eine verlustfreie bitweise Schiedsverfahren zur Auflösung von Streitigkeiten verwenden. Für diese Schiedsrichtermethode müssen alle Knoten im CAN -Netzwerk synchronisiert werden, um alle Bits gleichzeitig auf dem CAN -Netzwerk zu probieren. Deshalb kann ein Aufruf synchron sein. Leider ist der Begriff Synchron ungenau, da die Daten in einem asynchronen Format übertragen werden, nämlich ohne Taktsignal.
Die Dose -Spezifikationen verwenden die Begriffe "dominante" Bits und "rezessive" Bits, in denen dominant ein logischer 0 ist (aktiv an einer Spannung durch den Sender) und rezessiv ist eine logische 1 (passiv durch einen Widerstand an eine Spannung zurückgegeben). Der Leerlaufzustand wird durch die rezessive Ebene dargestellt (logisch 1). Wenn ein Knoten ein dominantes Bit überträgt und ein anderer Knoten ein rezessives Bit überträgt, gibt es eine Kollision und das dominante "Gewinne". Dies bedeutet, dass die Nachricht mit höherer Priorität keine Verzögerung gibt, und der Knoten, der die Meldung mit niedrigerer Priorität überträgt, versucht automatisch, nach dem Ende der dominanten Nachricht sechs Bituhren erneut zu übertragen. Dies macht als Echtzeit-priorisierter Kommunikationssystem sehr geeignet.
Die genauen Spannungen für eine logische 0 oder 1 hängen von der verwendeten physikalischen Schicht ab. Das Grundprinzip von kann jedoch erfordert, dass jeder Knoten auf die Daten im Dose -Netzwerk hört, einschließlich der Sendeknoten (s) selbst (selbst). Wenn eine logische 1 gleichzeitig von allen Sendeknoten übertragen wird, wird eine logische 1 von allen Knoten gesehen, einschließlich sowohl der Sendeknoten (n) als auch von den Empfangen von Knoten. Wenn eine logische 0 gleichzeitig durch alle Sendeknoten übertragen wird, wird eine logische 0 von allen Knoten gesehen. Wenn eine logische 0 von einem oder mehreren Knoten übertragen wird und eine logische 1 von einem oder mehreren Knoten übertragen wird, wird eine logische 0 von allen Knoten gesehen, einschließlich der Knoten (s), die die logische 1 übertragen 1. Wenn ein Knoten überträgt A Logical 1, aber eine logische 0 sieht es, dass es eine Konkurrenz gibt und die Übertragung beendet. Durch die Verwendung dieses Vorgangs wird jeder Knoten, der eine logische 1 überträgt, wenn ein anderer Knoten eine logische 0 "ausfällt" überträgt oder das Schiedsverfahren verliert. Ein Knoten, der das Schiedsverfahren verliert, tritt seine Nachricht für die spätere Übertragung erneut aus, und der Dose-Frame-Bitstrom setzt ohne Fehler fort, bis nur ein Knoten übertragen wird. Dies bedeutet, dass der Knoten, der die erste 1 überträgt, das Schiedsverfahren verliert. Da der Bitkennung von 11 (oder 29 für CAN 2,0B) von allen Knoten zu Beginn des Dose -Rahmens übertragen wird, überträgt der Knoten mit der niedrigsten Kennung mehr Nullen zu Beginn des Rahmens, und das ist der Knoten, der die gewinnt Schiedsverfahren oder hat die höchste Priorität.
Betrachten Sie beispielsweise eine 11-Bit-ID-Can-Can-Network mit zwei Knoten mit IDs von 15 (binäre Darstellung, 00000001111111111) und 16 (binäre Darstellung, 00000010000). Wenn diese beiden Knoten gleichzeitig übertragen werden, überträgt jeder das Startbit zuerst und überträgt die ersten sechs Nullen ihrer ID, ohne dass eine Schiedsschlichtentscheidung getroffen wird.
Anfang bisschen | ID -Bits | Der Rest des Rahmens | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
Knoten 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | |
Knoten 16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Störs übertragen | ||||
Können Daten | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
Wenn das 7. ID -Bit übertragen wird, überträgt der Knoten mit der ID von 16 eine 1 (rezessiv) für seine ID, und der Knoten mit der ID von 15 überträgt eine 0 (dominant) für seine ID. In diesem Fall weiß der Knoten mit der ID von 16, dass er eine 1 übertragen hat, aber eine 0 sieht und erkennt, dass es eine Kollision gibt und das Schiedsverfahren verloren hat. Knoten 16 stoppt die Übertragung, wodurch der Knoten mit einer ID von 15 seine Übertragung ohne Datenverlust fortsetzen kann. Der Knoten mit der niedrigsten ID gewinnt immer das Schiedsverfahren und hat daher die höchste Priorität.
Bitraten Bis zu 1 Mbit/s sind bei Netzwerklängen unter 40 m möglich. Die Verringerung der Bitrate ermöglicht längere Netzwerkabstände (z. B. 500 m bei 125 kbit/s). Der verbesserte CAN -FD -Standard ermöglicht die Erhöhung der Bitrate nach dem Schiedsverfahren und kann die Geschwindigkeit des Datenabschnitts um einen Faktor von bis zu zehn oder mehr der Schiedsrate erhöhen.
ID -Zuweisung
Nachrichten -IDs müssen eindeutig sein[11] Bei einem einzelnen Can -Bus würden ansonsten zwei Knoten die Übertragung über das Ende des Schiedsfeldes (ID) übertragen, der einen Fehler verursacht.
In den frühen neunziger Jahren wurde die Auswahl der IDs für Nachrichten einfach auf der Grundlage der Identifizierung der Datentyp und des Sendeknotens erfolgen. Da die ID jedoch auch als Nachrichtenpriorität verwendet wird, führte dies zu einer schlechten Echtzeitleistung. In diesen Szenarien war üblicherweise eine Nutzung von rund 30% in einem Bus von rund 30% erforderlich, um sicherzustellen, dass alle Nachrichten ihre Fristen einhalten. Wenn jedoch IDs stattdessen anhand der Frist der Nachricht ermittelt werden, desto niedriger ist die numerische ID und desto höher ist die Verwendung von 70 bis 80% in der Regel vor dem Übersehen einer Nachrichtenfristen.[12]
Bit -Timing
Alle Knoten im Dose -Netzwerk müssen mit der gleichen nominalen Bitrate arbeiten, aber Rauschen, Phasenverschiebungen, Oszillatortoleranz und Oszillator -Drift bedeuten, dass die tatsächliche Bitrate möglicherweise nicht die nominale Bitrate ist.[13] Da kein separates Taktsignal verwendet wird, ist ein Mittel zur Synchronisierung der Knoten erforderlich. Die Synchronisation ist während des Schiedsverfahrens wichtig, da die Knoten im Schiedsverfahren sowohl ihre übertragenen Daten als auch die übertragenen Daten der anderen Knoten gleichzeitig sehen können. Die Synchronisation ist auch wichtig, um sicherzustellen, dass Variationen des Oszillator -Timings zwischen Knoten keine Fehler verursachen.
Die Synchronisation beginnt mit einer harten Synchronisation am ersten rezessiven bis dominanten Übergang nach einer Periode des Busses (das Startbit). Die Resynchronisation tritt bei jedem rezessiven bis dominanten Übergang während des Rahmens auf. Der CAN -Controller erwartet, dass der Übergang in einem Vielfachen der nominalen Bitzeit auftritt. Wenn der Übergang nicht zu dem Zeitpunkt des Controllers auftritt, der ihn erwartet, passt der Controller die Nennbitzeit entsprechend an.
Die Anpassung erfolgt durch Teilen jedes Bits in eine Reihe von Zeitscheiben, die als Quanta bezeichnet werden, und zu jeder der vier Segmente innerhalb des Bits eine Reihe von Quanten zugewiesen: Synchronisation, Ausbreitung, Phasensegment 1 und Phasensegment 2.

Die Anzahl der Quanten, in die das Bit unterteilt ist, kann je nach Controller variieren, und die Anzahl der für jedes Segment zugewiesenen Quanten kann je nach Bitrate und Netzwerkbedingungen variiert werden.
Ein Übergang, der vor oder nach dem erwarteten Auftritt auftritt, bewirkt, dass der Controller die Zeitdifferenz berechnet und das Phasensegment 1 oder verkürzt das Phasensegment 2 bis zu diesem Zeitpunkt. Dies passt den Timing des Empfängers effektiv an den Sender an, um sie zu synchronisieren. Dieser Resynchronisierungsprozess erfolgt kontinuierlich bei jedem rezessiven bis dominanten Übergang, um sicherzustellen, dass der Sender und der Empfänger synchron bleiben. Durch kontinuierliches Resynchronisieren reduziert die durch Rauschen induzierte Fehler und ermöglicht einen empfangenden Knoten, der mit einem Knoten synchronisiert wurde, der das Schiedsverfahren zum erneuten Synchronisieren an den Knoten verlor, der das Schiedsverfahren gewann.
Schichten
Das CAN -Protokoll kann wie viele Netzwerkprotokolle in Folgendes zerlegt werden Abstraktionsschichten:
- Anwendungsschicht
- Objektschicht
- Nachrichtenfilterung
- Nachrichten- und Statusbearbeitung
- Übertragungsschicht
Der größte Teil des CAN -Standards gilt für die Übertragungsschicht. Die Übertragungsschicht empfängt Nachrichten aus der physischen Ebene und überträgt diese Nachrichten an die Objektschicht. Die Übertragungsschicht ist verantwortlich für Bit -Timing und Synchronisation, Nachrichtenrahmen, Schiedsverfahren, Bestätigung, Fehlererkennung und Signalisierung und Fehlerbeschränkung. Es wird ausgeführt:
- Verwerfung
- Fehlererkennung
- Nachrichtenvalidierung
- Wissen
- Schiedsverfahren
- Nachrichtenrahmen
- Übertragungsrate und Timing
- Informationsrouting
- Physische Schicht

Can Bus (ISO 11898-1: 2003) ursprünglich angegeben die Verbindungsschicht Protokoll mit nur abstrakten Anforderungen für die physikalische Schicht, z. B. die Verwendung eines Mediums mit mehreren Zugriff auf Bit-Ebene durch die Verwendung dominanter und rezessiver Zustände. Die elektrischen Aspekte der physikalischen Schicht (Spannung, Strom, Anzahl der Leiter) wurden in angegeben ISO 11898-2: 2003, was jetzt weithin akzeptiert ist. Die mechanischen Aspekte der physischen Schicht (Steckertyp und -zahl, Farben, Beschriftungen, Pin-Outs) müssen jedoch noch offiziell angegeben werden. Infolgedessen hat ein Automobil -ECU in der Regel eine bestimmte - oft Gewohnheit - Konnector mit verschiedenen Arten von Kabeln, von denen zwei die Dose -Buslinien sind. Trotzdem sind mehrere De -facto -Standards für die mechanische Umsetzung entstand Männlicher Stecker vom 9-poligen D-Sub-Typ mit dem folgenden Pin-out:
- Pin 2: Can-Low (Can–)
- Pin 3: GND (Boden)
- Pin 7: Can-High (Can+)
- Pin 9: Can V+ (Leistung)

Dies de facto Der mechanische Standard für CAN könnte implementiert werden, wobei der Knoten sowohl männliche als auch weibliche 9-polige D-Sub-Steckverbinder parallel innerhalb des Knotens elektrisch miteinander verkabelt werden. Die Busleistung wird dem männlichen Anschluss eines Knotens und der Bus aus dem weiblichen Stecker des Knotens an Kraft. Dies folgt dem Übereinkommen der Elektrotechnik, dass Stromquellen bei weiblichen Steckverbindern beendet werden. Die Übernahme dieses Standards vermeidet die Notwendigkeit, benutzerdefinierte Splitter herzustellen, um zwei Sätze von Busdrähten an einen einzelnen D -Anschluss an jedem Knoten zu verbinden. Solche nicht standardmäßigen (benutzerdefinierten) Kabelbäume (Splitter), die Leiter außerhalb des Knotens verbinden, reduzieren die Buszuverlässigkeit, beseitigen die Austauschbarkeit der Kabel, reduzieren die Kompatibilität von Kabelbäumen und erhöhen die Kosten.
Das Fehlen einer vollständigen physikalischen Schichtspezifikation (zusätzlich zu elektrischem) entfuhr die CAN -Busspezifikation aus den Einschränkungen und Komplexität der physikalischen Implementierung. Es ließ jedoch die Implementierung von Bussen für Interoperabilitätsprobleme aufgrund mechanischer Inkompatibilität offen. Um die Interoperabilität zu verbessern, haben viele Fahrzeughersteller Spezifikationen generiert, in denen eine Reihe von zulässigen können können in Kombination mit den Anforderungen an die parasitäre Kapazität auf der Linie. Die zulässige parasitäre Kapazität umfasst sowohl Kondensatoren als auch ESD -Schutz (ESD[14] gegen ISO 7637-3). Zusätzlich zur parasitären Kapazität haben 12 V- und 24 -V -Systeme nicht die gleichen Anforderungen an die maximale Leitungsspannung. In der Tat können leichte Leitungen von Sprungstartveranstaltungen bis zu 24 V betragen, während LKW -Systeme bis zu 36 V. Auf dem Markt kommen neue Lösungen, die es ermöglichen, gleiche Komponente für CAN als auch zu verwenden Kann fd (sehen [15]).
Geräuschimmunität auf ISO 11898-2: 2003 wird erreicht, indem die Differentialimpedanz des Busses bei niedrigem Wert mit niedrigen Widerständen (120 Ohm) an jedem Ende des Busses aufrechterhalten wird. Wenn Sie jedoch ruhen, kann ein Bus mit niedrigem Impedanz, wie sie mehr Strom (und Strom) zeichnen, als andere spannungsbasierte Signalbusse. Auf Can -Bus -Systeme, ausgeglichene Linie Der Betrieb, wobei der Strom in einer Signallinie genau durch Strom in der entgegengesetzten Richtung in einem anderen Signal ausgeglichen wird, liefert eine unabhängige, stabile 0 -V -Referenz für die Empfänger. Best Practice bestimmt, dass mit dem Bus ausgeglichene Paarsignale eingetragen werden können verdrehtes Paar Drähte in einem abgeschirmten Kabel zur Minimierung der HF -Emission und zur Verringerung der Interferenzanfälligkeit in der bereits lauten HF -Umgebung eines Automobils.
ISO 11898-2 liefert eine gewisse Immunität gegen die gemeinsame Modusspannung zwischen Sender und Empfänger, indem eine Schiene von 0 V entlang des Busses läuft, um einen hohen Grad an Spannungsbeteiligung zwischen den Knoten aufrechtzuerhalten. In der oben erwähnten De -facto -mechanische Konfiguration wird auch eine Versorgungsschiene enthalten, um die Stromversorgung an jeden der Transceiverknoten zu verteilen. Das Design bietet eine gemeinsame Versorgung für alle Transceiver. Die tatsächliche Spannung, die vom Bus angewendet werden soll und welche Knoten darauf gelten, sind anwendungsspezifisch und nicht formell angegeben. Das gemeinsame Praxisknotendesign bietet jedem Knoten Transceiver, die optisch aus seinem Knotenwirt isoliert werden und eine 5 V linear regulierte Versorgungsspannung für die Transceiver aus der vom Bus bereitgestellten universellen Versorgungsschiene ableiten. Dies ermöglicht normalerweise die Betriebsspanne der Versorgungsschiene ausreichend, um die Interoperabilität über viele Knotentypen hinweg zu ermöglichen. Typische Werte der Versorgungsspannung in solchen Netzwerken betragen 7 bis 30 V. Das Fehlen eines formalen Standards bedeutet jedoch, dass Systemdesigner für die Kompatibilität der Versorgungsschiene verantwortlich sind.
ISO 11898-2 beschreibt die elektrische Implementierung, die sich aus einer mehrstöckigen, ausgewogenen Leitungskonfiguration mit Widerstandsabschluss an jedem Ende des Busses enthält. In dieser Konfiguration wird ein dominanter Zustand durch einen oder mehrere Sender geltend gemacht, die das CAN - um 0 V und (gleichzeitig) umschalten, um die CAN -CAN auf die +5 -V -Busspannung zu wechseln, wodurch ein Strompfad durch die Widerstände gebildet wird, die den Bus enden. Als solche bilden die terminierenden Widerstände eine wesentliche Komponente des Signalsystems und sind nicht nur eingeschlossen, um die Wellenreflexion bei hoher Frequenz zu begrenzen.
Während eines rezessiven Zustands verbleiben die Signallinien und Widerstände in hoher Impedanzen in Bezug auf beide Schienen. Spannungen auf sowohl Dose+ als auch Can - neigen (schwach) zu einer Spannung auf halbem Weg zwischen den Schienen. Ein rezessiver Zustand ist im Bus nur dann vorhanden, wenn keiner der Sender im Bus einen dominanten Zustand geltend macht.
Während eines dominanten Zustands bewegen sich die Signallinien und Widerstände in einem Zustand mit geringer Impedanz in Bezug auf die Schienen, so dass der Strom durch den Widerstand fließt. Dose + Spannung tendiert bis zu +5 V und Can - tendiert auf 0 V.
Unabhängig vom Signalzustand befinden sich die Signallinien aufgrund der terminierenden Widerstände am Ende des Busses immer in geringer Impedanzzustand.
Diese Signalstrategie unterscheidet sich erheblich von anderen ausgewogenen Linienübertragungstechnologien wie z. RS-422/3, RS-485usw., die Differentiallinien -Treiber/ Empfänger verwenden und ein Signalisierungssystem verwenden, das auf der Differentialmodusspannung der ausgewogenen Linie basiert und einen fiktiven 0 V überquert und inaktiver Tri-Staat) und wird in der Zeitdomäne behandelt. Mehrfacher Zugriff auf CAN -Bus wird durch die elektrische Logik des Systems erreicht, das nur zwei Zustände unterstützt, die konzeptionell analog zu einem „verdrahteten und“ Netzwerk sind.
Rahmen
Ein Dose -Netzwerk kann so konfiguriert werden, dass er mit zwei verschiedenen Nachrichten (oder "Frame") Formaten funktioniert: das Standard- oder Basis -Frame -Format (beschrieben in CAN 2.0 A und CAN 2,0 B) und das erweiterte Frame -Format (nur durch CAN 2,0 B beschrieben ). Der einzige Unterschied zwischen den beiden Formaten besteht darin, dass der "Can Base-Rahmen" eine Länge von 11 Bit für den Kennung unterstützt und der "Dose erweiterte Rahmen" eine Länge von 29 Bit für den Kennung unterstützt, der aus dem 11-Bit-Kennung besteht ("Basiskennung") und eine 18-Bit-Erweiterung ("Identifiererweiterung"). Die Unterscheidung zwischen dem Basisrahmenformat und dem erweiterten Frame-Format zwischen dem Dose wird unter Verwendung des IDE-Bits durchgeführt, das bei einem 11-Bit-Rahmen als dominant übertragen und bei einem 29-Bit-Rahmen als rezessiv übertragen wird. Kann Controller, die erweiterte Frame -Formatmeldungen unterstützen, auch Nachrichten senden und empfangen können im Dose -Bildformat. Alle Frames beginnen mit einem Bit des Frame-Starts (SOF), das den Beginn der Rahmenübertragung bezeichnet.
Can hat vier Frame -Typen:
- Datenrahmen: Ein Frame, der Knotendaten für die Übertragung enthält
- Remote -Rahmen: Ein Frame, in dem die Übertragung eines bestimmten Kennung angefordert wird
- Fehlerrahmen: Ein Rahmen, der von jedem Knoten übertragen wird, der einen Fehler erkennt
- Überlastungsrahmen: Ein Frame, der eine Verzögerung zwischen Daten oder Remote -Frame injiziert
Datenrahmen
Der Datenrahmen ist der einzige Rahmen für die tatsächliche Datenübertragung. Es gibt zwei Nachrichtenformate:
- Basisrahmenformat: mit 11 Kennungsbits
- Erweitertes Frame -Format: mit 29 Kennungsbits
Die Can -Standard erfordert, dass die Implementierung das Basis -Frame -Format akzeptieren und das erweiterte Bildformat akzeptieren kann, aber das erweiterte Frame -Format tolerieren muss.
Basisrahmenformat

Das Frame-Format lautet wie folgt: Die Bitwerte werden für das CAN-LO-Signal beschrieben.
Feldname | Länge (Bits) | Zweck |
---|---|---|
Frame-Start | 1 | Bezeichnet den Beginn der Rahmenübertragung |
Kennung (grün) | 11 | Eine (eindeutige) Kennung, die auch die Nachrichtenpriorität darstellt |
Zeug Bit | 1 | Ein bisschen entgegengesetzte Polarität, um die Synchronisation aufrechtzuerhalten; sehen Bit -Füllung, unter |
Fernübertragungsanforderung (RTR) (blau) | 1 | Muss für Datenrahmen und rezessiv (1) für Remote -Anforderungsrahmen dominant sein (0) (siehe Remote -Rahmen, unter) |
Identifiererweiterungsbit (IDE) | 1 | Muss für das Basisrahmenformat mit 11-Bit-Identifikatoren dominant sein (0) |
Reserviertes Bit (R0) | 1 | Reserviertes Stück. Muss dominant sein (0), aber entweder als dominant oder rezessiv akzeptiert. |
Datenlängencode (DLC) (gelb) | 4 | Anzahl der Bytes von Daten (0–8 Bytes)[a] |
Datenfeld (rot) | 0–64 (0-8 Bytes) | Daten zu übertragen (Länge in Bytes, die vom DLC -Feld diktiert werden) |
CRC | 15 | Zyklische Redundanzprüfung |
CRC -Trennzeichen | 1 | Muss rezessiv sein (1) |
ACK -Slot | 1 | Der Sender sendet rezessiv (1) und jeder Empfänger kann einen Dominanten (0) behaupten |
ACK -Trennzeichen | 1 | Muss rezessiv sein (1) |
Frameendende (EOF) | 7 | Muss rezessiv sein (1) |
Zwischenrahmenabstand (IFS) | 3 | Muss rezessiv sein (1) |
- ^ Es ist physisch möglich, dass ein Wert zwischen 9 und 15 im 4-Bit-DLC übertragen wird, obwohl die Daten immer noch auf acht Bytes begrenzt sind. Bestimmte Controller ermöglichen die Übertragung oder Rezeption eines DLC über acht, aber die tatsächliche Datenlänge ist immer auf acht Bytes begrenzt.
Erweitertes Frame -Format
Das Frame -Format lautet wie folgt von hier in der folgenden Tabelle:
Feldname | Länge (Bits) | Zweck |
---|---|---|
Frame-Start | 1 | Bezeichnet den Beginn der Rahmenübertragung |
Kennung a (grün) | 11 | Erster Teil des (eindeutigen) Kennung, der auch die Nachrichtenpriorität darstellt |
Ersatz Remote Request (SRR) | 1 | Muss rezessiv sein (1) |
Identifiererweiterungsbit (IDE) | 1 | Muss rezessiv (1) für erweitertes Frame-Format mit 29-Bit-Kennungen sein |
Kennung B (grün) | 18 | Zweiter Teil des (eindeutigen) Kennung, der auch die Nachrichtenpriorität darstellt |
Fernübertragungsanforderung (RTR) (blau) | 1 | Muss für Datenrahmen und rezessiv (1) für Remote -Anforderungsrahmen dominant sein (0) (siehe Remote -Rahmen, unter) |
Reservierte Bits (R1, R0) | 2 | Reservierte Bit |
Datenlängencode (DLC) (gelb) | 4 | Anzahl der Bytes von Daten (0–8 Bytes)[a] |
Datenfeld (rot) | 0–64 (0-8 Bytes) | Daten zu übertragen (Länge durch DLC -Feld diktiert) |
CRC | 15 | Zyklische Redundanzprüfung |
CRC -Trennzeichen | 1 | Muss rezessiv sein (1) |
ACK -Slot | 1 | Der Sender sendet rezessiv (1) und jeder Empfänger kann einen Dominanten (0) behaupten |
ACK -Trennzeichen | 1 | Muss rezessiv sein (1) |
Frameendende (EOF) | 7 | Muss rezessiv sein (1) |
- ^ Es ist physisch möglich, dass ein Wert zwischen 9 und 15 im 4-Bit-DLC übertragen wird, obwohl die Daten immer noch auf acht Bytes begrenzt sind. Bestimmte Controller ermöglichen die Übertragung oder Rezeption eines DLC über acht, aber die tatsächliche Datenlänge ist immer auf acht Bytes begrenzt.
Die beiden Kennungsfelder (A & B) bilden zu einer 29-Bit-Kennung.
Remote -Rahmen
- Im Allgemeinen wird die Datenübertragung autonom mit dem Datenquellenknoten (z. B. einem Sensor) durchgeführt, der einen Datenrahmen sendet. Es ist jedoch auch möglich, dass ein Zielknoten die Daten aus der Quelle anfordern, indem ein Remote -Frame gesendet wird.
- Es gibt zwei Unterschiede zwischen einem Datenrahmen und einem Remote -Rahmen. Erstens wird der RTR-Bit als dominantes Bit im Datenrahmen übertragen, und zweitens im Remote-Rahmen gibt es kein Datenfeld. Das DLC -Feld gibt die Datenlänge der angeforderten Nachricht an (nicht die übertragene).
D.h.
- Rtr = 0; Dominant im Datenrahmen
- Rtr = 1; Rezessiv im Fernrahmen
Im Falle eines Datenrahmens und eines Remote -Rahmens, wobei der gleiche Kennung gleichzeitig übertragen wird, gewinnt der Datenrahmen aufgrund des dominanten RTR -Bits nach der Kennung ein Schiedsverfahren.
Fehlerrahmen
Der Fehlerrahmen besteht aus zwei verschiedenen Feldern:
- Das erste Feld wird durch die Überlagerung von Fehlerflags (6–12 dominante/rezessive Bits) angegeben, die von verschiedenen Stationen beigetragen haben.
- Das folgende zweite Feld ist der Fehlertrennzeichen (8 rezessive Bits).
Es gibt zwei Arten von Fehlerflags:
- Aktives Fehlerflag
- Sechs dominante Bits - übertragen von einem Knoten, der einen Fehler in dem Netzwerk erfasst, der im Fehlerzustand "Fehler aktiv" ist.
- Passives Fehlerflag
- Sechs rezessive Bits - übertragen von einem Knoten, der einen aktiven Fehlerrahmen im Netzwerk erfasst, der im Fehlerstatus "Fehler passiv" ist.
Es gibt zwei Fehlerzähler in CAN:
- Fehlerzähler (TEC) übertragen
- Fehlerzähler empfangen (REC)
- Wenn TEC oder REC größer als 127 und weniger als 255 ist, wird im Bus ein passiver Fehlerrahmen übertragen.
- Wenn TEC und REC weniger als 128 sind, wird im Bus ein aktiver Fehlerrahmen übertragen.
- Wenn TEC größer als 255 ist, tritt der Knoten in den Bus ab, in dem keine Frames übertragen werden.
Überlastungsrahmen
Der Überladungsrahmen enthält das Überladungsflag zwei Bitfelder und den Überlastungsgrenzwert. Es gibt zwei Arten von Überlastbedingungen, die zur Übertragung eines Überlastflaggens führen können:
- Die internen Bedingungen eines Empfängers, für die eine Verzögerung des nächsten Datenrahmens oder des Remote -Rahmens erforderlich ist.
- Erkennung eines dominanten Teils während der Pause.
Der Beginn eines Überlastungsrahmens aufgrund von Fall 1 darf erst zum ersten Bitzeit einer erwarteten Pause gestartet werden, während Überlastungsrahmen aufgrund von Fall 2 nach Erkennung des dominanten Bits ein Bit einbrochen werden. Die Überlastflagge besteht aus sechs dominanten Bits. Die Gesamtform entspricht der des aktiven Fehlerflags. Das Formular des Überlastflags zerstört die feste Form des Pausefeldes. Infolgedessen erkennen alle anderen Stationen auch eine Überlastbedingung und starten von ihrer Seite die Übertragung eines Überlastflaggens. Überlastungsgrenzwerter besteht aus acht rezessiven Bits. Der Überlastungsgrenzwert hat die gleiche Form wie der Fehlertrennzeichen.
ACK -Slot
Der Bestätigungs -Slot wird verwendet, um den Erhalt eines gültigen Dose zu bestätigen. Jeder Knoten, der den Rahmen empfängt, ohne einen Fehler zu finden, überträgt einen dominanten Niveau im ACK -Steckplatz und überschreibt so den rezessiven Niveau des Senders. Wenn ein Sender im ACK -Steckplatz einen rezessiven Niveau erkennt, weiß er, dass kein Empfänger einen gültigen Rahmen gefunden hat. Ein empfangender Knoten kann einen Rezessiva übertragen, um anzuzeigen, dass er keinen gültigen Rahmen erhalten hat, aber ein weiterer Knoten, der einen gültigen Rahmen erhalten hat, kann dies mit einem Dominanten überschreiben. Der übertragende Knoten kann nicht wissen, dass die Nachricht von allen Knoten auf dem Dose -Netzwerk empfangen wurde.
Oft besteht die Funktionsweise des Geräts darin, unbestätigte Frames immer und immer wieder neu zu übertragen. Dies kann dazu führen, dass schließlich in den Status "Passiv" eintreten.
Interframe -Abstand
Datenrahmen und Remote -Rahmen werden durch ein Bitfeld, das als Interframe -Raum bezeichnet, von den vorhergehenden Frames getrennt. Der Interframe -Raum besteht aus mindestens drei aufeinanderfolgenden rezessiven (1) Bits. Wenn ein dominantes Bit erkannt wird, wird es als "Start des Frame" des nächsten Frame angesehen. Überlastungsrahmen und Fehlerrahmen sind nicht von einem Interframe -Speicherplatz vorausgegangen und mehrere Überladungsrahmen werden nicht durch einen Interframe -Bereich getrennt. Der Interframe -Raum enthält die Bit -Fields -Pause und den Bus -Leerlauf sowie die Aussetzung der Übertragung für Fehlerpassivstationen, die der Sender der vorherigen Nachricht gewesen sind.[16]
Bit -Füllung

Um genügend Übergänge zu gewährleisten, um die Synchronisation aufrechtzuerhalten, wird nach fünf aufeinanderfolgenden Bits derselben Polarität ein wenig entgegengesetzte Polarität eingefügt. Diese Praxis heißt Bit -Füllungund ist aufgrund der notwendig Nicht zurückgegeben auf Null (NRZ) Codierung mit CAN verwendet. Die gefüllten Datenrahmen sind vom Empfänger entschlossen.
Alle Felder im Rahmen sind mit Ausnahme des CRC -Trennzeichens, des ACK -Feldes und des Ende des Rahmens gefüllt, die eine feste Größe haben und nicht gefüllt sind. In den Feldern, in denen Bit -Füllen verwendet werden, werden sechs aufeinanderfolgende Bits derselben Polarität (111111 oder 000000) als Fehler angesehen. Ein aktives Fehlerflag kann von einem Knoten übertragen werden, wenn ein Fehler erkannt wurde. Das aktive Fehlerflag besteht aus sechs aufeinanderfolgenden dominanten Bits und verstößt gegen die Regel der Bit -Füllung.
Bit -Füllen bedeutet, dass Datenrahmen größer sein können als man erwarten würde, indem sie einfach die in den oben genannten Tabellen gezeigten Bits aufzählen. Die maximale Größe eines Dose -Rahmens (Basisformat) nach Bitfüllung ist im Fall
- 11111000011110000 ...
Welches ist so gestopft (Füllung in fett gedruckt):
- 111110000011111000001...
Das Füllung selbst ist möglicherweise das erste der fünf aufeinanderfolgenden identischen Bits. Im schlimmsten Fall gibt es ein Füllbit pro vier Originalbits.
Die Größe eines Basisrahmens wird von begrenzt
seit ist die Größe des Rahmens vor dem Füllen, im schlimmsten Fall wird ein Bit alle vier Originalbits nach dem ersten (daher der –1 am Zähler) und aufgrund des Layouts der Bits des Headers nur 34 hinzugefügt Von 44 von ihnen können Bit -Füllung ausgesetzt sein.
Rahmentyp | Vor dem Füllen | Nach dem Füllen | Füllung | Gesamtrahmenlänge |
---|---|---|---|---|
Grundrahmen | ||||
verlängerter Rahmen |
Ein unerwünschter Nebeneffekt des Bit -Füllungsschemas ist, dass eine kleine Anzahl von Bitfehlern in einer empfangenen Nachricht den Schartungsprozess beschädigen kann, was zu einer größeren Anzahl von Fehlern führt, die sich durch die schickte Nachricht ausbreiten können. Dies verringert den Schutzniveau, der sonst vom CRC gegen die ursprünglichen Fehler angeboten wird. Dieser Mangel des Protokolls wurde in CAN -FD -Frames unter Verwendung einer Kombination von festen Störbits und einem Zähler angesprochen, der die Anzahl der eingefügten Dinge aufzeichnet.
Kann niedrigere Schichten Standards
ISO 11898 -Serie Gibt die physische und Datenverbindungsschicht an (Ebenen 1 und 2 der ISO/OSI Modell) der Kategorie der seriellen Kommunikation genannt Controller Area Network Dies unterstützt verteilte Echtzeitkontrolle und Multiplexing für die Verwendung innerhalb von Straßenfahrzeugen.[17]
Es gibt mehrere können Physische Schicht und andere Standards:
ISO 11898-1: 2015 Gibt die an Datenverbindungsschicht (DLL) und physisch Signalisierung des Controller Area Network (CAN).[18] Dieses Dokument beschreibt die allgemeine Architektur von CAN in Bezug auf hierarchische Ebenen gemäß dem ISO -Referenzmodell für Open Systems Interconnection (OSI) etabliert in ISO/IEC 7498-1 und liefert die Eigenschaften für die Einrichtung eines Austauschs digitaler Informationen zwischen Modulen, die die CAN -DLL mit einer detaillierten Spezifikation des Logische Verbindungssteuerung (LLC) Unterschicht und Medium Access Control (MAC) Unterschicht.
ISO 11898-2: 2016 Gibt die Hochgeschwindigkeitsrate (Übertragungsraten von bis zu 1 mbit/s) mittelgroßer Zugangseinheit (MAU) und einige mittelabhängige Grenzfläche (MDI) (gemäß ISO 8802-3) an, die die physikalische Schicht des Controllerbereichs umfassen Netzwerk. ISO 11898-2 verwendet einen Zweidraht ausgewogen Signalschema. Es ist die am häufigsten verwendete physische Schicht im Fahrzeug Antriebsstrang Anwendungen und industrielle Kontrollnetzwerke.
ISO 11898-3: 2006 Gibt mit mittlerer mittelschwieriger Schnellgrenzfläche mit niedriger Geschwindigkeit, um einen Austausch digitaler Informationen zwischen elektronischen Steuereinheiten von Straßenfahrzeugen zu errichten, die mit der Dose mit Übertragungsraten über 40 kbit/s bis zu 125 kbit/s ausgestattet sind.
ISO 11898-4: 2004 Gibt eine zeitgesteuerte Kommunikation in der CAN (TTCAN) an. Es gilt für die Einrichtung eines zeitgesteuerten Austauschs digitaler Informationen zwischen elektronischen Steuereinheiten (ECU) von Straßenfahrzeugen, die mit CAN ausgestattet sind, und legt die Rahmensynchronisierungsentität fest, die den Betrieb von logischen Verknüpfungen und Medienzugriffskontrollen gemäß ISO koordiniert 11898-1, um den zeitlich ausgelösten Kommunikationsplan bereitzustellen.
ISO 11898-5: 2007 Gibt die physische Dose -Schicht für Übertragungsraten bis zu 1 mbit/s für die Verwendung innerhalb von Straßenfahrzeugen an. Es beschreibt die Funktionen mit mittlerer Zugangseinheit sowie einige mittelabhängige Schnittstellenfunktionen gemäß ISO 8802-2. Dies stellt eine Erweiterung von ISO 11898-2 dar, die sich mit neuen Funktionen für Systeme befasst, die Konsumfunktionen mit geringer Leistung erfordern, während keine aktive Buskommunikation vorhanden ist.
ISO 11898-6: 2013 Gibt die physische Dose -Schicht für Übertragungsraten bis zu 1 mbit/s für die Verwendung innerhalb von Straßenfahrzeugen an. Es beschreibt die Funktionen mit mittlerer Zugangseinheit sowie einige mittelabhängige Schnittstellenfunktionen gemäß ISO 8802-2. Dies stellt eine Erweiterung von ISO 11898-2 und ISO 11898-5 dar, wobei ein selektiver Weckmechanismus mit konfigurierbaren Dose Rahmen angegeben wird.
ISO 16845-1: 2016 Bietet die Methodik- und abstrakte Testsuite, die zur Überprüfung der Konformität der in ISO 11898-1 angegebenen Dose-Implementierung erforderlich ist.
ISO 16845-2: 2018 Erstellt Testfälle und Testanforderungen, um einen Testplan zu realisieren, der überprüft wird, ob der Transceiver mit implementierten selektiven Weckfunktionen den angegebenen Funktionen entspricht. Die Art der in ISO 16845-2: 2018 definierten Tests wird als Konformitätstest bezeichnet.
Can-basierte höhere Schichtprotokolle
Da der CAN -Standard keine Aufgaben von Anwendungsschichtprotokollen enthält, wie z. Ablaufsteuerung, Geräteadressierung und Transport von Datenblöcken größer als eine Nachricht, und vor allem Anwendungsdaten wurden viele Implementierungen höherer Schichtprotokolle erstellt. Einige sind für einen Geschäftsbereich standardisiert, obwohl alle von jedem Hersteller erweitert werden können. Für Personenwagen hat jeder Hersteller seinen eigenen Standard.
Kann in der Automatisierung (CIA) ist die Organisation der internationalen Nutzer und Hersteller, die Protokolle mit höherem Schicht auf Dosen und ihrer internationalen Standardisierung entwickelt und unterstützt.[19] Zu diesen Spezifikationen gehören:
Standardisierte Ansätze
- ARINC 812 oder ARINC 825 (Luftfahrtindustrie)
- Öffnen können -CIA 301/302-2 und EN 50325-4 (Industrie Automatisierung)
- IEC 61375-3-3 (Verwendung von Canopen in Schienenfahrzeugen)
- Geräte Netz (Industrial Automatisierung)
- Energybus - CIA 454 und IEC 61851-3 (Batterie -Charger -Kommunikation)
- Isobus - ISO 11783 (Landwirtschaft)
- ISO-TP - ISO 15765-2 (Transportprotokoll für die Automobildiagnostik)
- Milcan (Militärfahrzeuge)
- NMEA 2000 - IEC 61162-3 (Marineindustrie)
- SAE J1939 (Netzwerk im Fahrzeug für Busse und Lastwagen)
- SAE J2284 (Netzwerke im Fahrzeug für Personenwagen)
- Einheitliche diagnostische Dienste (UDS) - ISO 14229 (Automobildiagnostik)
- Leisurecan - Offener Standard für die Freizeitfahrzeug-/Fahrzeugindustrie
Andere Ansätze
- Canaerospace - Aktien (für die Luftfahrtindustrie)
- Can Kingdom - Kvaser (Embedded Control System)
- CCP/Xcp (Automobil -ECU -Kalibrierung)
- GMLAN - General Motors (für General Motors)
- RV-C - RVIA (verwendet für Freizeitfahrzeuge)
- Safetybus p - Pilz (für die Industrie verwendet Automatisierung)
- Uavcan (Luft- und Raumfahrt und Robotik)
- CSP (CUBESAT Space Protocol)
- VSCP (Sehr einfaches Steuerungsprotokoll) Ein kostenloses Automatisierungsprotokoll, das für alle Arten von Automatisierungsaufgaben geeignet ist
Canopen Lift
Die 2001 gegründete Canopen Special Interest Group (SIG) "Lift Control" entwickelt das Canopen Application Profile CIA 417 für Lift -Steuerungssysteme. Es arbeitet bei der Erweiterung der Funktionen, verbessert den technischen Inhalt und stellt sicher, dass die aktuellen Rechtsstandards für Auftriebskontrollsysteme erfüllt sind. Die erste Version von CIA 417 wurde im Sommer 2003, Version 2.0 im Februar 2010, Version 2.1.0 im Juli 2012, Version 2.2.0 im Dezember 2015 und Version 2.3.1 im Februar 2020 veröffentlicht (erhältlich).
Jörg Hellmich (Elfin GmbH) ist der Vorsitzende dieser Sig und verwaltet a Wiki der Canopen Lift -Community mit Inhalt über Canopen Lift.
Sicherheit
CAN ist ein Protokoll mit niedrigem Niveau und unterstützt keine Sicherheitsfunktionen. Es gibt auch keine Verschlüsselung in Standard-Dose-Implementierungen, wodurch diese Netzwerke für das Interception von Man-in-the-Middle-Rahmen offen bleiben. In den meisten Implementierungen wird erwartet, dass Anwendungen ihre eigenen Sicherheitsmechanismen bereitstellen. z. B. Authentifizierung eingehender Befehle oder das Vorhandensein bestimmter Geräte im Netzwerk. Wenn Sie nicht angemessene Sicherheitsmaßnahmen implementieren, kann dies zu verschiedenen Arten von Angriffen führen, wenn der Gegner es schafft, Nachrichten in den Bus einzufügen.[20] Während Kennwörter für einige sicherheitskritische Funktionen wie Ändern von Firmware, Programmierschlüssel oder Steuern von Antillock-Bremsaktuatoren vorhanden sind, werden diese Systeme nicht universell implementiert und verfügen über eine begrenzte Anzahl von Saatgut-/Schlüsselpaaren.
Entwicklungswerkzeuge
Bei der Entwicklung oder Fehlerbehebung beim CAN -Bus kann die Prüfung von Hardwaresignalen sehr wichtig sein. Logikanalysatoren und Busanalysatoren sind Werkzeuge, die Signale sammeln, analysieren, dekodieren und speichern, damit die Menschen die Hochgeschwindigkeitswellenformen in ihrer Freizeit betrachten können. Es gibt auch spezialisierte Werkzeuge sowie Busmonitore.
A Can Bus Monitor ist ein Analysewerkzeug, oft eine Kombination von Hardware- und Software, verwendet während der Entwicklung von Hardware, die den CAN -Bus verwendet.
In der Regel hört der CAN -Bus -Monitor den Datenverkehr im CAN -Bus an, um ihn in einer Benutzeroberfläche anzuzeigen. Oft bietet der CAN -Busmonitor die Möglichkeit zum Simulieren von CAN -Busaktivitäten durch Senden von Can -Rahmen an den Bus. Der CAN -Bus -Monitor kann daher verwendet werden, um den erwarteten CAN -Datenverkehr von einem bestimmten Gerät zu validieren oder zu simulieren, um die Reaktion aus einem bestimmten Gerät zu validieren, das mit dem CAN -Bus verbunden ist.
Lizenzierung
Bosch hält Patente über die Technologie, obwohl diejenigen, die sich auf das ursprüngliche Protokoll beziehen, jetzt abgelaufen sind. Hersteller von Can-kompatiblen Mikroprozessoren zahlen Lizenzgebühren an Bosch für die Verwendung der Can-Marke und eines der neueren Patente im Zusammenhang mit CAN-FD, und diese werden normalerweise im Preis des Chip an den Kunden weitergegeben. Hersteller von Produkten mit Brauch Asics oder Fpgas Die Eindämmung von Can-kompatiblen Modulen muss eine Gebühr für die CAN-Protokolllizenz zahlen, wenn sie die Can-Marken- oder CAN-FD-Funktionen verwenden möchten.[21]
Siehe auch
- Byteflight
- Autoradio
- Can Bus Monitor
- Öffnen können - Kommunikationsprotokoll für eingebettete Systeme
- Canpie - Open Source -Gerätetreiber für CAN
- Kann fd - Neue Implementierung von CAN mit einer schnelleren Übertragung
- Can4linux - Open Source Linux -Gerätetreiber für CAN
- Flexcan - eine alternative Implementierung.
- Flexray -Hochgeschwindigkeitsalternative zu CAN
- Liste der Netzwerkbusse- Liste der elektronischen Kommunikationsbusysteme für Kollisionsdomäne
- Lokales Verbindungsnetzwerk - eine kostengünstige Alternative
- Modbus- Serienkommunikationsprotokoll, die hauptsächlich für programmierbare Logik -Controller entwickelt wurden
- Die meisten Bussen
- OBD-II-PIDs - Liste der Parameter -IDs
- Osek- Spezifikationen für eingebettete Betriebssysteme innerhalb der Automobile
- SAE J1939 - Kommunikationsprotokoll für LKW und Busse
- Socketcan - Eine Reihe von Open Source -Dose -Treibern und ein Networking -Stapel von Volkswagen Research zum Linux -Kernel.
Verweise
- ^ a b "Kann Geschichte". Kann in der Automatisierung.
- ^ "Mercedes-Benz S-Klasse W 140". mercedes-benz.com. 23. Februar 2016. Abgerufen 27. Oktober 2017.
- ^ "Can in Automation - Mercedes W140: Erstes Auto mit Can" ". Can-Newsletter.org. Abgerufen 27. Oktober 2017.
- ^ "Bosch Semiconductor Can Literature". Archiviert von das Original Am 2017-05-23. Abgerufen 2017-05-31.
- ^ de Andrade, R.; Hodel, K. N.; Justo, J. F.; Laganá, A. M.; Santos, M. M.; Gu, Z. (2018). "Analytische und experimentelle Leistungsbewertungen des CAN-FD-Busses". IEEE -Zugang. 6: 21287–21295. doi:10.1109/access.2018.2826522.
- ^ Gebäudetapter für Fahrzeuge an Bord diagnostisch Archiviert 2018-05-14 bei der Wayback -Maschine, obddiag.net, abgerufen 2009-09-09
- ^ Vergleich von ereignisgesteuerten und zeitgesteuerten Konzepten in Bezug auf verteilte Kontrollsysteme A. Albert, Robert Bosch GmbH Embedded World, 2004, Nürnberg
- ^ "NISMO erhöht die GT6 -GPS -Datenlogger -Funktionalität und verfolgt die Anzahl der GT6". www.gtplanet.net. 25. Oktober 2014.
- ^ "Was ist Divecan und warum sollte es mich interessieren?". 22. März 2016.
- ^ "ISO11783 Ein standardisierter Traktor - Implementierung der Schnittstelle" (PDF).
- ^ ISO 11898-1: 2015-Straßenfahrzeuge-Controller Area Network (CAN)-Teil 1: Datenverbindungsschicht und physische Signalübertragung
- ^ Daigmorte, Hugo; Boyer, Marc (2017), "Bewertung der zulässigen CAN -Buslast mit schwachem Synchronisationsmechanismus", Proc. des 24. int. Conf. auf Echtzeit-Netzwerken und -Systemen (RTNS 2017), Grenoble, Frankreich: ACM
- ^ "Verstehen von Microchips Dose -Modul -Bit -Timing" (PDF).
- ^ "ISO7637-3 DioDes-Schutz für Can Bus".
- ^ "Kann den ESD -Schutzbus schützen".
- ^ "Können Busnachrichtenrahmen - Überlastungsrahmen, Interframe -Raum". 18. November 2009.
- ^ "Controller Area Network (CAN)". Vektorgruppe. Archiviert von das Original am 25. April 2016. Abgerufen 25. September 2013.
- ^ "ISO 11898-1: 2003 - Straßenfahrzeuge - Controller Area Network (CAN) - Teil 1: Datenverbindungsschicht und physische Signalübertragung". ISO.
- ^ CIA: Internationale Standardisierung.
- ^ "Wir fuhren ein Auto, während es gehackt wurde". www.vice.com. Archiviert Aus dem Original am 8. November 2019.
- ^ "Lizenzbedingungen können Protokoll und FD -Protokoll können" (PDF). Archiviert von das Original (PDF) Am 2016-03-16. Abgerufen 2016-03-15.
Externe Links
- Bosch -Spezifikation (Altes Dokument - etwas mehrdeutig/unklar in einigen Stellen, abgelöst vom Standard [1])
- Bosch CAN FD Specification Version 1.0
- Planbarkeitsanalyse für Controller Area Network (CAN): Widerspruch, überarbeitet und überarbeitet
- Pinouts for Common Can Bus Connectors
- Eine Webseite über Can in Automotive
- Planbarkeitsanalyse für Controller Area Network (CAN) mit FIFO -Warteschlangen
- Implementierungshandbuch für Controller Area Network (CAN)
- Freeware Bit-Timing-Rechner für Windows unterstützt viele Mikrocontroller, z. Atmel, STM32, Microchip, Renesas, ... (Zip-Datei)
- Kostenloses E-Learning-Modul "Einführung in Can" "
- ARINC-825 Tutorial (Video) von Excalibur Systems Inc.
- Website von CIA
- Kann Newsletter online
- Verständnis und Nutzung des Controller Area -Netzwerks von UC Berkeley
- Kann Protokoll -Tutorial
- ESD -Schutz für Can Bus und Kann fd