The next big thing in automotive communication is Controller Area Network with Flexible Data-Rate or CANFD. This new standard allows for higher data rates and lower latency than the current CAN standard, making it ideal for applications that require quick data transfer such as automated driving and active safety systems. CAN is very popular in the automotive industry. Higher-level protocols are developed over CAN. for example, SAE J1938 is widely used in off-highway vehicles and locomotives. SAE J1939 protocol is also being adopted in industrial automation. While CANFD is not yet widely adopted, it is expected to become the new norm in automotive communication in the near future.
What is CANFD?
As vehicles become more and more complex, the need for a faster and more reliable automotive communication protocol has never been greater. CANFD, or Controller Area Network with Flexible Data-Rate, is the next big thing in automotive communication.
The Controller Area Network (CAN) is a vehicle bus standard designed to allow electronic control units (ECUs) and devices to communicate with each other in vehicles. The CANFD standard is an extension of the CAN protocol that allows for faster data rates and increased message lengths.
CANFD was developed in response to the increasing demand for higher data rates in automotive applications. ISO 11898-1:2015 defines the CANFD protocol. The CANFD standard supports data rates up to 8 Mbps, which is twice the rate of the previous CAN 2.0B standard. In addition, CANFD messages can be up to 64 bytes long, compared to the 8-byte limit of CAN 2.0B messages.
The increased data rate and message length of CANFD make it well-suited for applications such as infotainment systems, advanced driver assistance systems (ADAS), and body control modules (BCMs).
While the benefits of CANFD are clear, there are still some challenges that need to be addressed before it can be widely adopted. These include ensuring compatibility with existing CAN networks, designing efficient devices for high-speed data transfer, and developing standardized protocols for new applications.
Background: The Development of Automotive Communication Standards
The automotive industry is always looking for ways to improve communication between vehicles and between vehicles and drivers. In the early days of automotive development, there were no standards for communication and each manufacturer used their own proprietary system. This made it difficult for drivers to switch between different brands of cars.
In the 1980s, the Controller Area Network (CAN) was developed as a way to standardize communication in the automotive industry. CAN became the de facto standard for automotive communication and was widely adopted by manufacturers.
However, CAN has its limitations. It was designed for slow-speed applications and does not support high-speed data transfer rates that are necessary for some advanced driver assistance systems (ADAS).
The next generation of automotive communication is CAN Flexible Data Rate (CANFD), which supports data rates up to 5 Mbps. The implementation of CANFD will require the support of all automakers. The Automotive Safety Integrity Level (ASIL) is a key factor in the certification and validation process for ADAS systems.
|CAN Communication Version||Publication Year||Data Size|
|CAN Identifier Size |
|CAN 1.0||1983||0 to 8||11 bits||250Kbps, 500Kbps|
|CAN 2.0A||1991||0 to 8||11 bits||250Kbps, 500Kbps|
|CAN 2.0B||1991||0 to 8||29 bits||250Kbps, 500Kbps|
|CAN-FD 1.0||2012||0 to 64||11 bits/ 29 bits||500Kbps, 2Mbps|
|ISO CAN-FD||2015||0 to 64||11 bits/ 29 bits||500Kbps, 2Mbps|
Why CANFD is Important: Faster Data Transmission, More Reliable Communication
The existing CAN standard could not support the higher data rates required by new applications such as infotainment and driver assistance systems. CANFD addresses this issue by using a more efficient data encoding scheme that allows for higher data rates while maintaining compatibility with existing CAN hardware and software.
With CAN 2.0B, 8 bytes of data are transmitted in one packet. If the data is transmitted with the maximum transmission rate of 1Mbps, then approximately 7000 packets are transmitted per second. this means approximately 56K Bytes of data can be transmitted per second.
CANFD supports 64 bytes of data in one packet. With a maximum transmission rate (1Mbps of base and 8Mbps of FD), approximately 450K bytes of data can be transmitted per second on CANFD.
In addition to its increased data rate, CANFD also offers improved error detection and correction capabilities, which results in more reliable communication. This is especially important in safety-critical applications where even a single bit error can have disastrous consequences.
CAN FD use one of the existing CAN frame formats for the physical layer, but it uses a new data encoding scheme for the data link layer. The physical layer is identical to CAN 2.0A and CAN 2. 0B. The data link layer is similar to CAN 2.0 B, however, it uses a different encoding scheme that results in more efficient use of the available 8-bit data payloads. The payloads are sent in ascending order with respect to the logical channel number of the message. This means that for each logical channel, all messages will be sent before any new logical channel is started.
SAE J1939/21 defined a transport protocol specification for a data payload larger than 8 bytes. The data is broken down into smaller chunks and sent using TP protocol message sequence. Since we can send 64 bytes of data using CANFD, the transport protocol is not required here.
The data link layer is similar to CAN 2. 0, but it has a message structure with more flexibility and extensibility than the one defined in ISO 11898-1:2004.
Data link layer messages can be sent in three different modes:
- Normal mode – This is the default mode for all messages.
- Transmit-only mode – This mode is used for messages that do not require a response from the called device. In this mode, the calling device sends a message and then waits for an acknowledgment from the called device. The calling device does not expect to receive any further data from the called device.
- Transmit-receive mode – This mode is used for messages that require a response from the called device. In this mode, the calling device sends a message and then waits for an acknowledgment from the called device.
To implement CANFD in your vehicle, you’ll need to purchase a CANFD controller, download the latest CAN FD software from the manufacturer’s website, and wire the controller to the vehicle’s CAN bus.
What is CAN?
CAN stands for Controller Area Network.
CAN is a form of serial communication developed by Bosch in 1983.
CAN supports multidrop bus, means multiple nodes are connected on the same set of wires.
CAN transmits binary data. 0 is called as dominent bit and 1 is called as recessive bit.
CAN 2.0A Frame Format
- SOF is the start of the frame bit
- An 11-bit identifier determines message priority
- RTR bit is a Remote Transmission request. This bit is set to request data from another node
- IDE is identifere extension bit. It is used to differentiate between CAN2.0A and CAN2.0B frames.
- r0 is reserved bit always sent as dominant bit
- DLC is data length code indicating the length of the data field from 0 to 8 bytes
- CRC delimiter marks the end of the CRC field
- ACK Slot is sent as a recessive bit. The REceiver is supposed to acknowledge the reception during this slot.
- ACK delimiter marks the end of the ACK field.
- EOF is sent as 7 recessive bits marking the end of the frame.
- INT is an intermission between messages, sent as 3 recessive bits
CAN 2.0B Frame Format
- SRR is a substitute request bit sent as recessive. This bit ensures compatibility between CAN 2.0A and CAN 2.0B frames.
- The rest of the fields are the same as the CAN 2.0A frame.
What is CANFD?
CANFD can be thought of like CAN 3.0. It is srial communication which efficienctly suports destributed real time communication with higher data rates and higher security. CANFD frames support configurable increased data transmission rate for data field that supports up to 64 bytes of data in a single frame.
To support the different transmission rate for data field, we need different transceivers for CANFD. According to ISO 11898-1 CANFD node can receive and transmit normal CAN frames. But older CAN transcievers can not support CANFD frames. The CAN transcievers see CANFD frame as a error and trigger error frames. To avoide such issues on mixed system, we must filter out CANFD nodes for old ECUs using hardware shields.
CANFD supports maximum speed upto 8Mbps. Data section and CRC can switch to upto 8 times faster transmission frequency than the rest of the frame.
CANFD Frame Format
CANFD supports base CAN as well as extended CAN format.
- EDL bit is sent as a recessive bit. It signifies extended data length. it differentiates the CANFD frame from the CAN frame. In the base CAN frame dominant r0 bit is sent instead of EDL. In the base CANFD frame (11-bit identifier), EDL comes after the IDE bit. in the extended CANFD frame (29-bit identifier), the EDL bit comes after the r1 bit.
- BRS stands for bit rate switch. If this bit is dominant, then the bit rate in the CAFD frame remains the same throughout the frame. When this bit is set to recessive, the bit rate of the data field and CRC field is switched from a standard bit rate to preconfigured bit rate.
- ESI is error state indicator flag. This bit is sent as recessive in normal conditions. Error active nodes send this bit as dominant.
- Reserved bits r1 and r0 are always sent as dominant bits. these bits are reserved for future expansion.
- SRR is a substitute request bit. It is sent as recessive in CAN 2.0B frames. CANFD receivers accept this bit as recessive or dominant.
Data Length Code in CANFD
The number of data bytes sent in the frame is determined by the DLC field. it is a 4-bit field and has different coding in CAN and CAN FD frames. The below table shows the number of data bytes by the DLC field.
|DLC 3||DLC 2||DLC 1||DLC 0||Number of Data Bytes in CAN||Number of Data Bytes in CANFD|
The Data field can contain data from 0 to 8 bytes in the CAN frame. CANFD supports data up to 64 bytes. every byte contains 8 bits and MSB is transmitted first. When DLC is set to zero in remote frames, there is no data field in the message frame.
The cyclic redundancy check (CRC) is used for error detection. CANFD uses different CRC generator polynomials for different frames. CAN frames use polynomial CRC_15. CANFD uses polynomial CRC_17 for frames where the data field size is up to 16 bytes. If the data field is longer than 16 bytes, CANFD uses polynomial CRC_21.
Conclusion: The Future of Automotive Communication
As the automotive industry continues to develop new ways to increase communication and efficiency, CANFD is likely to play an important role. This relatively new technology offers a number of advantages over previous generations of automotive communication systems, and its adoption is likely to continue to grow in the coming years.
While CANFD is not yet a perfect system, it represents a significant step forward for the automotive industry. As more and more vehicles begin to adopt this technology, it is likely that it will become the new standard for automotive communication.