meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
com:basic_can [2024/11/15 20:14] – vamsan | com:basic_can [2025/05/31 22:56] (current) – vamsan | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== lamaPLC Communication: | ====== lamaPLC Communication: | ||
{{ : | {{ : | ||
- | A // | + | A // |
Development of the CAN bus started in 1983 at Robert Bosch GmbH. The protocol was officially released in 1986 at the Society of Automotive Engineers (SAE) conference in Detroit, Michigan. The first CAN controller chips were introduced by Intel in 1987, and shortly thereafter by Philips. Released in 1991, the Mercedes-Benz W140 was the first production vehicle to feature a CAN-based multiplex wiring system. | Development of the CAN bus started in 1983 at Robert Bosch GmbH. The protocol was officially released in 1986 at the Society of Automotive Engineers (SAE) conference in Detroit, Michigan. The first CAN controller chips were introduced by Intel in 1987, and shortly thereafter by Philips. Released in 1991, the Mercedes-Benz W140 was the first production vehicle to feature a CAN-based multiplex wiring system. | ||
Line 7: | Line 7: | ||
The CAN bus history in short: | The CAN bus history in short: | ||
- | * Pre CAN: Car ECUs relied on complex point-to-point wiring | + | * Pre-CAN: Car ECUs relied on complex point-to-point wiring |
* 1986: Bosch developed the CAN protocol as a solution | * 1986: Bosch developed the CAN protocol as a solution | ||
* 1991: Bosch published CAN 2.0 (CAN 2.0A: 11 bit, 2.0B: 29 bit) | * 1991: Bosch published CAN 2.0 (CAN 2.0A: 11 bit, 2.0B: 29 bit) | ||
- | * 1993: CAN is adopted as international standard (ISO 11898) | + | * 1993: CAN is adopted as an international standard (ISO 11898) |
* 2003: ISO 11898 becomes a standard series | * 2003: ISO 11898 becomes a standard series | ||
* 2012: Bosch released the CAN FD 1.0 (flexible data rate) | * 2012: Bosch released the CAN FD 1.0 (flexible data rate) | ||
* 2015: The CAN FD protocol is standardized (ISO 11898-1) | * 2015: The CAN FD protocol is standardized (ISO 11898-1) | ||
- | * 2016: The physical CAN layer for data-rates up to 5 Mbit/s standardized in ISO 11898-2 | + | * 2016: The physical CAN layer for data rates up to 5 Mbit/s standardized in ISO 11898-2 |
- | The CAN bus physical layer defines | + | The CAN bus physical layer defines cable types, electrical signal levels, node requirements, |
- | * Baud rate: CAN nodes must be connected via a two wire bus with baud rates up to 1 Mbit/s (Classical CAN) or 5 Mbit/s (CAN FD) | + | * Baud rate: CAN nodes must be connected via a two-wire bus with baud rates up to 1 Mbit/s (Classical CAN) or 5 Mbit/s (CAN FD) |
* Cable length: Maximal CAN cable lengths should be between 500 meters (125 kbit/s) and 40 meters (1 Mbit/s) | * Cable length: Maximal CAN cable lengths should be between 500 meters (125 kbit/s) and 40 meters (1 Mbit/s) | ||
- | * Termination: | + | * Termination: |
===== CANopen ===== | ===== CANopen ===== | ||
Line 28: | Line 28: | ||
CANopen was invented to provide easy interoperability among devices in motion control systems. Communication among and between devices is implemented at a high level, and device configuration is also supported. It’s heavily used in motion control, robotics, and motor control applications. | CANopen was invented to provide easy interoperability among devices in motion control systems. Communication among and between devices is implemented at a high level, and device configuration is also supported. It’s heavily used in motion control, robotics, and motor control applications. | ||
- | CANopen is managed by the international organization CAN in Automation - CiA. Established in Germany in 1992, CiA is a non-profit international users/ | + | CANopen is managed by the international organization CAN in Automation - CiA. Established in Germany in 1992, CiA is a non-profit international users/ |
===== Low-Speed CAN Bus ===== | ===== Low-Speed CAN Bus ===== | ||
- | The low-speed CAN Bus, a fault-tolerant CAN, supports bit rates between 40 kbit/s and 125 kbit/s. It provides a robust communication system that allows communication to continue even when one of the two wires experiences a fault. | + | The low-speed CAN Bus, a fault-tolerant CAN, supports bit rates between 40 kbit/s and 125 kbit/s. It provides a robust communication system that allows communication to continue even when one of the two wires experiences a fault. |
===== High-Speed CAN Bus ===== | ===== High-Speed CAN Bus ===== | ||
- | The high-speed CAN Bus is based on the ISO 11898 standard and is widely used in modern applications. It supports bit rates between 40 kbit/s and 1 Mbit/s and offers simple cabling solutions, making it the most popular choice in the industry today. It is the foundation for various higher-layer protocols such as OBD2, CANopen, and j1939, further solidifying its significance in communication systems. | + | The high-speed CAN Bus is based on the ISO 11898 standard and is widely used in modern applications. It supports bit rates between 40 kbit/s and 1 Mbit/s and offers simple cabling solutions, making it the most popular choice in the industry today. It is the foundation for various higher-layer protocols such as OBD2, CANopen, and J1939, further solidifying its significance in communication systems. |
===== CAN FD (CAN Flexible Data Rate) ===== | ===== CAN FD (CAN Flexible Data Rate) ===== | ||
Line 46: | Line 46: | ||
* **ID:** The ID is the frame identifier - lower values have higher priority | * **ID:** The ID is the frame identifier - lower values have higher priority | ||
* **RTR:** The Remote Transmission Request indicates whether a node sends data or requests dedicated data from another node | * **RTR:** The Remote Transmission Request indicates whether a node sends data or requests dedicated data from another node | ||
- | * **Control: | + | * **Control: |
- | * **Data:** The Data contains the data bytes aka payload, which includes CAN signals that can be extracted and decoded for information | + | * **Data:** The Data contains the data bytes, aka payload, which includes CAN signals that can be extracted and decoded for information |
* **CRC:** The Cyclic Redundancy Check is used to ensure data integrity | * **CRC:** The Cyclic Redundancy Check is used to ensure data integrity | ||
* **ACK:** The ACK slot indicates if the node has acknowledged and received the data correctly | * **ACK:** The ACK slot indicates if the node has acknowledged and received the data correctly | ||
Line 54: | Line 54: | ||
===== Related communication buses ===== | ===== Related communication buses ===== | ||
- | In addition to CAN and the protocols that run on it described in the previous sections, | + | In addition to CAN and the protocols that run on it, described in the previous sections, other communication buses are used for vehicle applications: |
* MOST (Media-Oriented Systems Transport) | * MOST (Media-Oriented Systems Transport) |