CAN (Controller Area Network) CAN Grundlagen / CAN basics
Zusammenfassung: Der CAN-Bus ist ein asynchrones, serielles Feldbussystem für die Vernetzung von Steuergeräten, Sensoren und Aktoren. Im Gegensatz zu anderen Netzwerkprotokollen adressiert CAN nicht die Teilnehmer (Steuergeräte) sondern die übermittelte Nachricht. Kurz: Die Nachricht enthält die Information, von wem Sie gesendet wurde und die Teilnehmer entscheiden, ob sie die Nachricht verwenden. Hierfür ist der CAN-Bus als Multi-Master-Topologie (Alle Teilnehmer sind gleichberechtigt) ausgelegt, bei welcher der Buszugriff über das CSMA/CA (Carrier Sense Multiple Access / Collision Avoidance) Verfahren geregelt ist. Bus-Zugriffs-Kollisionen werden durch Bit-Arbitierung vermieden. Die Daten sind NRZ-L kodiert. Zusätzliche ist eine zyklische Redundanzprüfung via. CRC im Einsatz. |  | Summary: The CAN bus is an asynchronous, serial field bus system for networking control units, sensors and actuators. Unlike other network protocols, CAN does not address the bus nodes (control units) but the transmitted message. In short: The message contains the information who has sent it and the bus nodes decide whether they use the message or not. For this purpose, the CAN bus has been designed as a multi-master topology (all nodes have equal access) where the bus access is regulated by the CSMA/CA (Carrier Sense Multiple Access / Collision Avoidance) procedure. Bus access collisions are avoided by using bit-by-bit arbitration. The data is NRZ-L coded. An additional cyclic redundancy check is performed via CRC.
CAN - Grundlagen Netzwerke: CAN ist ein örtlich begrenztes System, das zur Familie der LAN (Local Area Network) - Netze gehört. Es untersteht somit dem OSI Netzwerkmodell. Das OSI Netzwerkmodell definiert sieben Schichten (Layer). |  | CAN basics - networks: CAN is a locally restricted system that belongs to the family of the LAN (Local Area Network) networks. Thus it conforms to the OSI network model. The OSI network model defines seven layers.
Layer | Description
Application (7) | Application layer / processing layer, the functionality of the network is provided to the user in this layer. For example: e-mail in the Internet (Ethernet)
Presentation (6) | Presentation layer, the system-dependent data (data in the transmission control unit) is changed to a system-independent representation that corresponds to the CAN protocol. This also includes data compression and encoding. In short: The data of the transmission control unit is translated into the "CAN language".
Session (5) | Session layer, communication between the control units in the vehicle is controlled here.
Transport (4) | Transport layer that is responsible for segmenting data packages and avoiding data backup on the CAN bus.
Network (3) | Network layer that is responsible for routing the data packages on the BUS. (The data streams are routed from the sending to the receiving stations. Can be compared to transferring a phone call from one extension to another.)
Data Link (2) | Safety layer where data is split into bit data streams and provided with checksums. (encoding of the data)
Physical (1) | Bit transfer layer, this is the cabling. (copper cable / optical cable)
CAN Übertragungssysteme: Der CAN-Bus wird in Fahrzeugen als linearer Bus verwendet. Topologien in Ring- oder Sternanordnung sind nicht erlaubt. Als Bus-Medium ist eine verdrillte oder geschirmte Zweidraht-Kupferleitung (CAN-H und CAN-L), die an beiden Enden mit einem 120 ? Widerstand abgeschlossen ist, vorgesehen. Diese Abschlusswiderstände werden zwingend benötigt, da ansonsten die CAN-Signal von einem offenen oder falsch abgeschlossenen Leitungs-Ende reflektiert werden könne und auf der Leitung zurücklaufen. Diese Reflektionen überlagern die eigentlich auf dem CAN-Bus vorhandenen Signale, wodurch diese für die Netzknoten unlesbar werden. |  | CAN transmission systems: The CAN bus in vehicles is used as a linear bus. Ring or star topologies are not allowed. The bus medium is a twisted or shielded two-wire copper line (CAN-H and CAN-L) that is terminated with a 120 ? resistor. These terminating resistors are inevitable because otherwise the CAN signal could be reflected from an open or wrongly connected line end and return in the same line. These reflections overlay the signals that are actually provided on the CAN bus, thus causing the system nodes to become illegible.
System node | It consists of a micro-controller, a CAN controller and a bus driver.
Micro-controller | Controls the CAN controller and processes transmission and receive data.
CAN controller | Implements the transmission and receive operations via the CAN bus.
Bus driver | Sending or receiving the bus level.
Bus line | Two-wire line (twisted or shielded)
Bus terminator | Resistors to avoid reflections. (inevitable)
CAN Bus-Pegel: Das CAN-Signal ist ein digitales Signal (nur zwei Zustände "rezessiv = 1" und "dominant = 0"), das für +24V Fahrzeuge im Bereich von -3 V bis +32V Kurzschlussfest ist. Der rezessive Pegel ist für beide Leitungen mit 2.5V definiert, der dominante Pegel mit 3.5V (3V bis 5V) für CAN-H und 1.5V (max. 2V) für CAN-L. Für die Erkennung eins Zustandswechsels ist die Differenz zwischen CAN-H und CAN-L entscheidend. Die Differenzspannung zwischen CAN-H und CAN-L ist mit 2V ( 1.6V - 5V) für einen dominanten Pegel und 0V (-1V - 0.5V) für einen rezessiven Pegel definiert. |  | CAN bus level: The CAN signal is a digital signal (two conditions only "recessive = 1" and "dominant = 0") that is short-circuit proof for +24V vehicles in a range from -3 V to +32 V. The recessive level has been defined with 2.5 V for both lines, the dominant level with 3.5 V (3 V to 5 V) for CAN-H and 1.5 V (max. 2 V) for CAN-L. The difference between CAN-H and CAN-L is decisive for detecting a change in the condition. The voltage difference between CAN-H and CAN-L has been defined with 2 V (1.6 V - 5 V) for a dominant level and with 0 V (-1 V - 0.5 V) for a recessive level.
CAN Aubau eines Datenprotokolls: Ein vollständiges Datenpakte (Datensatz) auf dem CAN-Bus besteht sieben Feldern. |  | CAN structure of a data protocol: A complete data package (dataset) on the CAN bus consists of seven fields.
Start Frame | The start frame marks the beginning of a message and synchronizes all stations.
Arbitration Field | The arbitration field consists of a message identifier (11 bits) and one check bit. During transmission of this field, the sending station checks for each bit, whether it is still authorized to send, or whether another station with higher priority is sending. The check bit decides whether the message is a data frame or a remote frame.
Check Field | The check field contains the code for the number of data bytes in the data field.
Data Field | The data field transmits information for other stations. The information content is between 0 and 8 bytes (1 byte = 8 bits), max. 64 bits.
CRC Field | The CRC field detects transmission faults.
Acknowledgement Field | With the acknowledgement field, the recipient signals to the sender that it has received the message correctly. If a fault is detected, the sending station will be notified immediately. The sender will then resend the data.
End of Frame | The end of frame marks the end of the message. This is the last chance to report faults.
Das CAN Protokoll SAE J1939 definiert zusätzlich noch ein erweitertes Statusfeld von 11 Bit (Base frame format)- auf 19 Bit (Extended frame format) - Identifizierung. |  | The SAE J1939 CAN protocol additionally defines another arbitration field from 11 bits (base frame format) - to 19 bits (extended frame format) - identification.
Statusfeld - Objektidentifier: Der Objektidentifier kennzeichnet den Inhalt einer Nachricht. Die Empfänger entscheiden anhat dieses Identifiers, ob die Nachricht für sie relevant ist, oder verworfen wird. Zusätzlich dient der Objektidentifier für die Priorisierung und Arbitierung der Nachrichten. CAN ist ein Multi-Master Bussystem. Durch Arbitierung und Priorisierung wird das Senderecht auf den Bus geregelt. Arbitierungsprinzip: Die Belegung des CAN-Busses erfolgt durch Aufschalten eines dominanten Bits (SOF). Anschließend werden die Bits des Identifiers nacheinander auf den Bus gelegt und mit dem tatsächlich vorhandenen Buspegel verglichen. Tritt während der Arbitierung ein Unterschied auf (rezessiv gesendet - dominat erkannt), zieht sich der Sender des rezessiven Pegels vom Bus zurück und schaltet unmittelbar in den Empfangsmodus. Der erkannte dominante Buspegel erfolgte durch einen Sender mit höherer Priorität. |  | Arbitration field - object identifier: The object identifier designates the contents of a message. On the basis of this identifier, the recipients decide whether the message is relevant to them or if it is discarded. This identifier is also used for priorization and arbitration of the messages. CAN is a multi-master bus system. Arbitration and priorization regulate the transmission rights to the bus. Arbitration principle: The bus load is started by transmitting a dominant bit (SOF). The bits of the identifier are then transmitted to the bus one after another and compared to the actually provided bus level. If a difference is detected during arbitration (recessive sent - dominant detected), the sender of the recessive level will withdraw from the bus and switches to the reception mode immediately. The dominant bus level that was detected was received from a sender with higher priority.