The need for even more speed: CAN FD

This article was updated on June 10, 2019.

Controller Area Network (CAN) is a common communications protocol and bus used to interconnect distributed applications where microprocessors need to communicate. It is widely known in the automotive industry, where it has its roots in in-vehicle networking.

CAN is now used outside of automotive applications such as industrial control, field buses, appliances, aerospace – even coffee machines. The simplicity at the protocol level stems from the fact that most of the heavy lifting is done in hardware within the CAN controller peripheral. The flexibility of the bus topology also contributes directly to its widespread use.

As system complexity and interprocessor communication have increased, the available bandwidth within a CAN bus has decreased. Thus, the need for speed (or more bandwidth) has been growing. TI first addressed the CAN timing margin and bandwidth on the physical layer side with its SN65HVD255, SN65HVD256 and SN65HVD257 CAN transceivers. These transceivers are optimized for large and highly loaded CAN networks and optimize the loop delay timing within the transceivers. The benefit that these transceivers offer is higher CAN data rates in the same network. For systems in need of even more bandwidth or bandwidth flexibility, the next step is to move to CAN FD

What is CAN FD?

Introduced in 2012, CAN Flexible Data Rate (CAN FD) is an update to the original CAN standard (now known as “Classical CAN”). This protocol delivers increased data-rate flexibility – up to 5 Mbps – and payloads up to 64 bytes.

In addition to this higher data rate, which is five times faster than the maximum data rate of Classical CAN, CAN FD also offers a new timing parameter called loop delay symmetry.

What is loop delay symmetry?

Within a Classical CAN network, the two-way or round-trip loop delay of the system is the main limiting factor for an achievable bit rate. Since any node in the network may communicate during the arbitration phase of the frame, timing must account for the two farthest nodes, which can lead to round-trip delay requirements.

The CAN FD protocol removes the round-trip delay requirement during the data phase and enables higher bit rates. The constraint during the FD data phase from the network and physical layer is the symmetry of the bit on the bus (the physical bit representation).

The new parameter for CAN FD in transceivers is called loop delay symmetry (tREC), shown in Figure 1. Many transceivers, including the TCAN1042-Q1 and TCAN1051-Q1, feature this timing parameter and support up to 5-Mbps CAN FD data rates.

Figure 1:  Loop delay symmetry (tREC)

With these enhancements, the effective bandwidth of CAN FD systems has been greatly increased with respect to a classical CAN implementation.

Challenges upgrading to CAN FD

While it does provide several benefits for designers of connected systems such as in-vehicle networks, CAN FD does have its challenges. In particular, many microcontrollers do not have integrated CAN FD support, instead requiring multiple discrete components to create a CAN FD interface. The alternative is to upgrade your microcontroller to one with integrated support; however, much like a CAN FD implementation through discrete components, upgrades can dramatically increase bill-of-materials cost and take up board space.

To help address this challenge, TI has introduced the TCAN4550-Q1 system-basis chip (SBC). This SBC is the first to integrate a CAN FD controller and transceiver into a single device. You can connect the TCAN4550-Q1 to an existing microcontroller via Serial Peripheral Interface and quickly create a CAN FD interface.

As the prevalence of CAN FD in modern designs continues to grow, devices like the TCAN4550-Q1 help greatly simplify the cost and complexity of connected network systems.

Additional resources

  • I am looking forward to CAN FD.  While the transceivers are necessary for CAN FD, they are not the only piece to the puzzle.  Microcontrollers need to have CAN FD functionality built in, or you have to write your own code to bit bang the new protocol.

    When are TI's microcontrollers going to have CAN FD ports built in?