CAN FD

Last updated

CAN FD (Controller Area Network Flexible Data-Rate) is a data-communication protocol used for broadcasting sensor data and control information on 2 wire interconnections between different parts of electronic instrumentation and control system. This protocol is used in modern high performance vehicles.

Contents

CAN FD is an extension to the original CAN bus protocol that was specified in ISO 11898-1. CAN FD is the second generation of CAN protocol developed by Bosch. [1] The basic idea to overclock part of the frame and to oversize the payload dates back to 1999. [2] Developed in 2011 and released in 2012 by Bosch, CAN FD [3] was developed to meet the need to increase the data transfer rate up to 5 times faster and with larger frame/message sizes for use in modern automotive Electronic Control Units.

As in the classical CAN, CAN FD protocol is designed to reliably transmit and receive sensor data, control commands and to detect data errors between electronic sensor devices, controllers and microcontrollers. Although CAN FD was primarily designed for use in high performance vehicle ECUs, the pervasiveness of classical CAN in the different industries will lead into inclusion of this improved data-communication protocol in a variety of other applications as well, such as in electronic systems used in robotics, defense, industrial automation, underwater vehicles, medical equipment, avionics, down-hole drilling sensors, etc.

CAN FD versus classical CAN

The primary difference between the classical CAN (Controller Area Network) and CAN FD is the Flexible Data (FD). Using CAN FD, Electronic Control Units (ECUs) are enabled to dynamically switch between different data rates and longer or shorter messages. Faster data speed and more data capacity enhancements results in several system operational advantages compared to classical CAN. Commands issued by the executing ECU software reach the output controller much faster. CAN FD is typically used in high performance ECUs of modern vehicles. A modern vehicle can have more than 70 ECUs that use CAN FD to exchange information over the CAN bus when the engine is running or when the vehicle is moving.

In CAN FD, it's possible to use the 11-bit identifier (FDBF FD base frame Format) or the 29bit identifier (FEFF FD extended frame Format). The message payload size has been increased to 64 bytes of data in each CAN-frame / message, compared to only 8-bytes in the classical CAN frame. A frame is a message transmitted as a sequence of binary bit-pattern. In CAN FD, the data rate (i.e. number of bits transmitted per second) is increased to be 5 to 8 times faster than the classical CAN (5 to 8 Mbit/s for the data payload only, the arbitration bit rate is still limited to max 1 Mbit/s for compatibility). Data rate depends on the length of the bus network and the used Transceivers. CAN FD protocol specification includes some other enhancements as well, such as better detection of errors [4] in the received CAN message and the executing software flexibility to dynamically select (from a list) and switch to faster or slower data rate transfer, as and when required. On the CAN FD bus, some sensors may operate at slower data rate while others at faster data rate. CAN bus is a shared pair of wires onto which electronic sensors, controller units and ECUs are connected. CAN bus is used for exchanging information between operational units periodically or on demand. The electrical condition and configuration of the CAN bus, i.e. the total number of units connected, the length of the CAN bus wires and other electro-magnetic factors determine the fastest data transfer rate possible on that CAN bus. The CAN protocol (and by extension CAN FD) has an excellent collision resolution mechanism that depends on the propagation time of the signal and the network configuration (ring, bus or star), and to, a lesser extent, the number of units on the bus. Therefore, a physically long network may limit the data rate below the theoretical maximum.

CAN-FD bus load that was developed by "De Andrade's" equation based on Tindel's equation. [1] [5] [6]

β = τ/ω (1) (β = Busload), (τ = time of slow bits plus faster bits), ω (time in seconds of measurement). τ = Ts + Tf (2)

CAN-FD protocol defines five different error detection mechanisms: Two of them work at the bit level, and the other three at the message level. They are:

 - (1) Bit Monitoring,   - (2) Bit Stuffing,   - (3) Frame Check,  - (4) Acknowledgement Check and   - (5) Cyclic Redundancy Check. There are two options of CRC which should be denoted as for CRC length of 17 (Data Length 0-16 bytes) or CRC length of 21 bits (Data Length 17–64) bytes.

Ts = ([(SOF+ID+r1+IDE+EDL+r0+BRS/2+CRCdel/2)* 1,2]+ACK+DEL+EOF+IFS)/t_x (3)

Tf = ([(D〗_f+BRS/2+ESI+DLC+CRCdel/2)*1,2]+〖CRC〗_17+5)/t_y (4)

where SOF (Start of Frame) + ID (Identifier) + r1 (reserved bit 1) + IDE + EDL(Extended Data Length) + r0(reserved bit 0) + BRS/2 (Bit Rate Switch) + CRCdel/2 (CRC delimiter)= 17 bits; 1.25 is the factor of the worst case bit stuffing, [7] which means the computation shall be increased by 25%. It is considered BRS and CRCdel divided by 2, because they are exactly in the shift of bit rate transition. The ACK (Acknowledge) + DEL (Delimiter) + EOF (End-of-Frame) + IFS (Interframe Spacing) = 12 bits without bit stuffing. The CAN-FD payload size may be 0, 8, 12, 16, 20, 24, 32, 48, 64 Bytes. t_X is the transmission bandwidth for the message header (up to 1 Mbit/s).

β = ( (SOF+ID+r1+IDE+EDL+r0+BRS/2+CRCdel/2 * 1,25)+ACK+DEL+EOF+IFS)/t_x + (〖[(D〗_f+BRS/2+ESI+DLC+CRCdel/2)*1,25]+〖CRC〗_17+5)/t_y)/ω (5)
β = ( (SOF+ID+r1+IDE+EDL+r0+BRS/2+CRCdel/2 * 1,25)+ACK+DEL+EOF+IFS)/t_x + (〖[(D〗_f+BRS/2+ESI+DLC+CRCdel/2 )*1,25]+〖CRC〗_21+6)/t_y )/ω (6)

CAN FD also has decreased the number of undetected errors through increases in the performance of the CRC-algorithm. [8] In addition, CAN FD is compatible with existing CAN 2.0 networks, allowing the new protocol to function on the same network as classical CAN. [9] CAN FD bit rate can be up to 8 Mbit/s with the right CAN SIC (Signal Improvement Capability) Transceiver and so up to 8 times faster than classical CAN with 1 Mbit/s data phase.

Due to higher communication speed, CAN FD constraints are tougher in terms of line parasitic capacitance. Therefore, all components on the line have seen their "capacitance" budget reduced compared to regular CAN bus. That is the reason why semiconductor suppliers have released new components approved by car makers. This approval reflects the need for interoperability between all CAN FD systems. Indeed, selected ESD protection components are compatible with all transceivers (CAN or CAN FD) and withstand ISO7637-3. [10]

Despite a higher stand-off voltage (37 V), devices for truck applications must also comply with the low capacitance requirement (3.5 pF). [11]

CAN & CAN FD TP Headers

CAN + CANFD -TP Header
7 .. 4 (byte 0)3 .. 0 (byte 0)15 .. 8 (byte 1)23..16 (byte 2)(byte 3)(byte 4)(byte 5)(byte 6)....
Single Frame (SF)according to CAN0size (1..7)Data
CAN-FD specific0size (0..62)Data
First Frame (FF)according to CAN1size (8..4095)Data
CAN-FD specific00size (4bytes ~4 GB)Data
Consecutive Frame (CF)according to CAN2index (0..15)Data
Flow Control Frame (FC) according to CAN3 FC flag (0,1,2) Block sizeSTUnused

The above table explains the transfer protocol defined for CAN + CANFD, based on ISO 15765-2 (ISO-TP).

CAN Transceiver

CAN FD can use Transceiver for classical CAN and CAN FD. Additionally there are new CAN SiC (Signal improvement Capability) Transceiver with 5 to 8 Mbit/s data rate. [12]

CAN FD in action

In 2017, CAN FD was predicted to be used in most vehicles by 2019–2020. [13]

CAN FD supporters

Some of the companies behind the new standard include STMicroelectronics, Infineon, [14] NXP, Texas Instruments, Kvaser, Daimler and GM.

CAN FD forms a basic data link layer in some higher Layer protocols like CANopen as CANopen FD and J1939 and supported by different companies with protocol stacks.

CAN XL

CAN XL is the 3rd version of the CAN data link layer after classical CAN and CAN FD. CAN FD is compatible to CAN XL.

Related Research Articles

<span class="mw-page-title-main">Asynchronous Transfer Mode</span> Digital telecommunications protocol for voice, video, and data

Asynchronous Transfer Mode (ATM) is a telecommunications standard defined by the American National Standards Institute and ITU-T for digital transmission of multiple types of traffic. ATM was developed to meet the needs of the Broadband Integrated Services Digital Network as defined in the late 1980s, and designed to integrate telecommunication networks. It can handle both traditional high-throughput data traffic and real-time, low-latency content such as telephony (voice) and video. ATM provides functionality that uses features of circuit switching and packet switching networks by using asynchronous time-division multiplexing. ATM was seen in the 1990s as a competitor to Ethernet and networks carrying IP traffic as, unlike Ethernet, it was faster and designed with quality-of-service in mind, but it fell out of favor once Ethernet reached speeds of 1 gigabits per second.

<span class="mw-page-title-main">I²C</span> Serial communication bus

I2C (Inter-Integrated Circuit; pronounced as “eye-squared-see” or “eye-two-see”), alternatively known as I2C or IIC, is a synchronous, multi-controller/multi-target (historically-termed as master/slave), single-ended, serial communication bus invented in 1982 by Philips Semiconductors. It is widely used for attaching lower-speed peripheral ICs to processors and microcontrollers in short-distance, intra-board communication.

<span class="mw-page-title-main">CAN bus</span> Standard for serial communication between devices without host computer

A controller area network is a vehicle bus standard designed to enable efficient communication primarily between electronic control units (ECUs). Originally developed to reduce the complexity and cost of electrical wiring in automobiles through multiplexing, the CAN bus protocol has since been adopted in various other contexts. This broadcast-based, message-oriented protocol ensures data integrity and prioritization through a process called arbitration, allowing the highest priority device to continue transmitting if multiple devices attempt to send data simultaneously, while others back off. Its reliability is enhanced by differential signaling, which mitigates electrical noise. Common versions of the CAN protocol include CAN 2.0, CAN FD, and CAN XL which vary in their data rate capabilities and maximum data payload sizes.

Serial Peripheral Interface (SPI) is a de facto standard for synchronous serial communication, used primarily in embedded systems for short-distance wired communication between integrated circuits.

Modbus or MODBUS is a client/server data communications protocol in the application layer. It was originally published by Modicon in 1979 for use with its programmable logic controllers (PLCs). Modbus has become a de facto standard communication protocol for communication between industrial electronic devices in a wide range of buses and network.

LIN is a network protocol used for communication between components in modern vehicles. It is a low-cost single-wire serial protocol that supports communications up to 19.2 Kbit/s with a maximum bus length of 40 metres (131.2 ft).

FlexRay is an automotive network communications protocol developed by the FlexRay Consortium to govern on-board automotive computing. It is designed to be faster and more reliable than CAN and TTP, but it is also more expensive. The FlexRay consortium disbanded in 2009, but the FlexRay standard is now a set of ISO standards, ISO 17458-1 to 17458-5.

OBD-II PIDs are codes used to request data from a vehicle, used as a diagnostic tool.

<span class="mw-page-title-main">IEBus</span> Communication bus specification

IEBus is a communication bus specification "between equipments within a vehicle or a chassis" of Renesas Electronics. It defines OSI model layer 1 and layer 2 specification. IEBus is mainly used for car audio and car navigations, which established de facto standard in Japan, though SAE J1850 is major in United States.
IEBus is also used in some vending machines, which major customer is Fuji Electric. Each button on the vending machine has an IEBus ID, i.e. has a controller.
Detailed specification is disclosed to licensees only, but protocol analyzers are provided from some test equipment vendors. Its modulation method is PWM with 6.00 MHz base clock originally, but most of automotive customers use 6.291 MHz, and physical layer is a pair of differential signalling harness. Its physical layer adopts half-duplex, asynchronous, and multi-master communication with carrier-sense multiple access with collision detection (CSMA/CD) for medium access control. It allows for up to fifty units on one bus over a maximum length of 150 meters. Two differential signalling lines are used with Bus+ / Bus− naming, sometimes labeled as Data(+) / Data(−).

DeviceNet is a network protocol used in the automation industry to interconnect control devices for data exchange. It utilizes the Common Industrial Protocol over a Controller Area Network media layer and defines an application layer to cover a range of device profiles. Typical applications include information exchange, safety devices, and large I/O control networks.

In computer networking, an Ethernet frame is a data link layer protocol data unit and uses the underlying Ethernet physical layer transport mechanisms. In other words, a data unit on an Ethernet link transports an Ethernet frame as its payload.

Society of Automotive Engineers standard SAE J1708 is a standard used for serial communications between ECUs on a heavy duty vehicle and also between a computer and the vehicle. With respect to Open System Interconnection model (OSI), J1708 defines the physical layer. Common higher layer protocols that operate on top of J1708 are SAE J1587 and SAE J1922. The protocol is maintained by SAE International.

In computer networking, a Fibre Channel frame is the frame of the Fibre Channel protocol. The basic building blocks of an FC connection are the frames. They contain the information to be transmitted (payload), the address of the source and destination ports and link control information. Frames are broadly categorized as

ONE-NET is an open-source standard for wireless networking. ONE-NET was designed for low-cost, low-power (battery-operated) control networks for applications such as home automation, security & monitoring, device control, and sensor networks. ONE-NET is not tied to any proprietary hardware or software, and can be implemented with a variety of low-cost off-the-shelf radio transceivers and micro controllers from a number of different manufacturers.

ARINC 818: Avionics Digital Video Bus (ADVB) is a video interface and protocol standard developed for high bandwidth, low-latency, uncompressed digital video transmission in avionics systems. The standard, which was released in January 2007, has been advanced by ARINC and the aerospace community to meet the stringent needs of high performance digital video. The specification was updated and ARINC 818-2 was released in December 2013, adding a number of new features, including link rates up to 32X fibre channel rates, channel-bonding, switching, field sequential color, bi-directional control and data-only links.

Synchronous Serial Interface (SSI) is a widely used serial interface standard for industrial applications between a master (e.g. controller) and a slave (e.g. sensor). SSI is based on RS-422 standards and has a high protocol efficiency in addition to its implementation over various hardware platforms, making it very popular among sensor manufacturers. SSI was originally developed by Max Stegmann GmbH in 1984 for transmitting the position data of absolute encoders – for this reason, some servo/drive equipment manufacturers refer to their SSI port as a "Stegmann Interface". It was formerly covered by the German patent DE 34 45 617 which expired in 1990. It is very suitable for applications demanding reliability and robustness in measurements under varying industrial environments.

ISO 15765-2, or ISO-TP (Transport Layer), is an international standard for sending data packets over a CAN-Bus. The protocol allows for the transport of messages that exceed the eight byte maximum payload of CAN frames. ISO-TP segments longer messages into multiple frames, adding metadata (CAN-TP Header) that allows the interpretation of individual frames and reassembly into a complete message packet by the recipient. It can carry up to 232-1 (4294967295) bytes of payload per message packet starting from the 2016 version. Prior version were limited to a maximum payload size of 4095 bytes.

can4linux is an Open Source CAN Linux-Kernel device driver. Development started in the mid-1990s for the Philips 82C200 CAN controller stand alone chip on an ISA Board AT-CAN-MINI. In 1995 the first version was created to use the CAN bus with Linux for laboratory automation as a project of the Linux Lab Project at FU Berlin.

<span class="mw-page-title-main">I3C (bus)</span> Serial bus specification

I3C, also known as SenseWire, is a specification to enable communication between computer chips by defining the electrical connection between the chips and signaling patterns to be used. Short for "Improved Inter Integrated Circuit", the standard defines the electrical connection between the chips to be a two wire, shared (multidrop), serial data bus, one wire (SCL) being used as a clock to define the sampling times, the other wire (SDA) being used as a data line whose voltage can be sampled. The standard defines a signalling protocol in which multiple chips can control communication and thereby act as the bus controller.

This article provides information about the communications aspects of Universal Serial Bus (USB): Signaling, Protocols, Transactions. USB is an industry-standard used to specify cables, connectors, and protocols that are used for communication between electronic devices. USB ports and cables are used to connect hardware such as printers, scanners, keyboards, mice, flash drives, external hard drives, joysticks, cameras, monitors, and more to computers of all kinds. USB also supports signaling rates from 1.5 Mbit/s to 80 Gbit/s depending on the version of the standard. The article explains how USB devices transmit and receive data using electrical signals over the physical layer, how they identify themselves and negotiate parameters such as speed and power with the host or other devices using standard protocols such as USB Device Framework and USB Power Delivery, and how they exchange data using packets of different types and formats such as token, data, handshake, and special packets.

References

  1. 1 2 "CAN in Automation (CiA): CAN FD - The basic idea". www.can-cia.org. Retrieved 2017-01-25.
  2. Cena, G.; Valenzano, A. (1999). "Overclocking of controller area networks". Electronics Letters. 35 (22): 1923. Bibcode:1999ElL....35.1923C. doi:10.1049/el:19991289.
  3. "Bosch CAN FD Specification Version 1.0 (released April 17th, 2012)" (PDF). Archived from the original (PDF) on 2015-12-11. Retrieved 2019-01-02.
  4. "CAN FD and the CRC issue" (PDF).
  5. de Andrade, R.; Hodel, K. N.; Justo, J. F.; Laganá, A. M.; Santos, M. M.; Gu, Z. (2018). "Analytical and Experimental Performance Evaluations of CAN-FD Bus". IEEE Access. 6: 21287–21295. Bibcode:2018IEEEA...621287D. doi: 10.1109/ACCESS.2018.2826522 ..
  6. https://www.teses.usp.br/teses/disponiveis/3/3140/tde-06082015-111553/publico/Dissertacao_Ricardo_rev2_17.pdf [ bare URL PDF ]
  7. "can: length: add definitions for frame lengths in bits".
  8. "Archived copy" (PDF). Archived from the original (PDF) on 2019-04-16. Retrieved 2017-01-25.{{cite web}}: CS1 maint: archived copy as title (link)
  9. "High speed CAN FD bus is coming to cars, says Microchip". Electronics Weekly. 2015-10-26. Retrieved 2017-01-26.
  10. "CAN bus ESD protection for 12V systems". STMicroelectronics-ESDCAN03-2BWY.
  11. "CAN bus ESD protection for 24V systems". STMicroelectronics-ESDCAN05-2BWY.
  12. "CAN Signal Improvement". www.nxp.xom. Archived from the original on 2020-08-04. Retrieved February 2, 2022.
  13. "CAN 2020: The future of CAN technology". www.can-cia.org. Retrieved 2017-01-26.
  14. Kelling, Ursula (April 2014). "Infineon Microcontrollers" (PDF). CAN Newsletter Online. Retrieved June 2, 2019.