CAN FD White Paper

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10
At a glance
Powered by AI
CAN FD provides higher bandwidth than standard CAN with less complexity than FlexRay. It is a good alternative for applications that require higher throughput than CAN but not as high performance as FlexRay or Ethernet.

CAN FD significantly increases payload size and allows higher data rates in the data phase, extending capabilities for applications like measuring multiple signals. It also has potential for easier migration from CAN due to similarities in physical layer and communication principles.

For measurement applications using XCP, CAN FD improves theoretical maximum throughput by allowing larger payloads and higher data rates. Experimental tests validated this increase over standard CAN. However, frame size variation still impacts achievable throughput.

Technical Article

Fast Measurement and Reprogramming with CAN-FD

CAN FD provides more bandwidth than CAN with less complexity than FlexRay

CAN with a flexible data rate (CAN FD) is a technological evolution of the CAN bus.
The complexity of the technology is equivalent to the standard CAN bus but it offers a
significantly increased bandwidth. CAN FD is therefore an alternative for FlexRay or
Ethernet Networks. The network specialists at Vector investigated two typical
applications, Measurement of ECU internal signals via XCP and ECU reprogramming,
using the CAN FD bus system.

Fast Measurement and Reprogramming with CAN-FD

1/10

Technical Article

ECU Measurement with XCP on CAN FD

In ECU development, the measurement and calibration of multiple signals and parameters for
open and closed loop control algorithms represents an important calibration use case. ECU
developers prefer to use the XCP (Universal Measurement and Calibration Protocol)
measurement and calibration protocol that has been standardized by ASAM e.V. In the current
protocol version 1.2 , CAN FD is introduced as a new XCP transport layer. XCP enables the
utilization of measurement and calibration tools such as Vectors CANape (figure 1) to modify
parameters during real-time operation and measure the altered behavior of the ECU.
Considering a CAN bus system the bandwidth of the transmission medium may quickly become
exhausted, depending on the number of signals to be monitored. XCP on CAN FD significantly
extends the capabilities with up to 64 bytes of payload and data rates of at least 5 MBit/s in the
data phase.

Figure 1: Measurement over XCP on CAN FD with CANape

Fast Measurement and Reprogramming with CAN-FD

2/10

Technical Article

XCP on CAN FD Data Throughput in Theory and Practice

To estimate the maximum available data throughput of XCP over CAN respective to CAN FD,
the frame size versus the available payload within a frame has been investigated for a
measurement of multiple ECU signals. The data throughput calculations are based on the
assumption of 100% bus load. The actual size of the frame fields for CAN and CAN FD are
shown in Figure 2 and Figure 3. However, frame sizes cannot be predicted precisely for either
CAN or CAN FD. To assure synchronization of bus nodes to signal edges, in dependence of its
content an a-priori unknown amount of additional stuff bits is inserted into the frame. To model
the stuff bit dependent frame size variation, a best and worst case scenario has been analyzed.

Figure 2: Structure of a CAN frame

Figure 3: Structure of a CAN FD frame

The results of data throughput calculation are graphically represented as a sector (figure 4,
figure 5), where a frame may reside independent of its actual contents. To verify the theoretical

Fast Measurement and Reprogramming with CAN-FD

3/10

Technical Article
calculation, a realistic measurement reflecting a practical measurement use case was
processed based on a simulation environment. At the laboratory setup which consists of
CANape measurement and calibration software, suitable interface hardware and a PC-based
ECU emulation the time of flight between the in- and output of the CAN/CAN FD driver was
measured in both directions. The experimentally measured values greatly meet the
mathematical prediction (figure 4, figure 7) and hence verify the modeling of the available data
throughput. Comparing the acquired measurement data acquired for a transmission using CAN
versus CAN FD, the data throughput of CAN FD has been found to be increased by factor 1.3
up to 5.4 depending on the systems configuration (figure 6).

Figure 4: Measured and calculated CAN FD data throughput in ECU measurement

Figure 5: Calculated data throughputs of data measurement with XCP on CAN FD


(fA=500 kBit/s)

Figure 6: Comparison of measured data throughputs of data measurement with XCP on CAN
and CAN FD

Fast Measurement and Reprogramming with CAN-FD

4/10

Technical Article

Figure 7: Measured data throughputs of a data measurement with XCP on CAN FD


(fA=500 kBit/s).

Packet Concatenation with CAN FD

Above its already improved bandwidth, XCP over CAN FD possesses further potential for
improvement. Due to the equivalent physical communication basis of CAN and CAN FD, it is
likely that the communication paths of existing ECU software will still be limited to an eight-byte
data transmission after migrating to CAN FD. In this case XCP can only benefit from the higher
data transmission rate but cannot utilize the full 64 bytes of payload available in CAN FD
frames. To optimize the data transmission rate, the payload of small XCP packets could be
concatenated as a large CAN FD frame (figure 8). Vector is currently working on a proposal that
enables packet concatenation for XCP over CAN FD in a future XCP specification.

Figure 8: Faster data transmission by multiple XCP packets combined in one CAN FD frame

Fast Measurement and Reprogramming with CAN-FD

5/10

Technical Article

Flash Programming

(Re-) programming of flash memory is the second use case in which significant improvements
are expected through the utilization of fast network protocols. In the three flash phases Delete,
Download/program and Verify, the download time is a key factor in conventional CAN bus
systems, that can be accelerated by faster bus systems such as FlexRay, Ethernet and CAN
FD.

Regardless of the transmission protocol, it makes sense to use additional optimization


strategies for downloading, such as data compression and pipelined programming. Although
compression by an LZSS (Lempel-Ziv-Storer-Szymanski) algorithm reduces the volume of data
to be transmitted, its efficiency is highly dependent on the data structure, and data extraction in
the ECU generates additional CPU load that need to be taken into account. Pipelined
programming, on the other hand, represents a type of parallelization: While a data segment is
still being written in the ECU, transmission of the next segment is already started. Therefore,
the potential performance gain from this method is the greatest when programming times are
shorter than data transmission times.

FlexRay and Ethernet

FlexRay offers a transmission rate of 10 MBit/s, but it is not fully available for (re-) programming.
In the periodic communication sequence of the time-triggered protocol, all PDUs (Protocol Data
Unit) are predefined in fixed slots. If many slots are reserved for diagnostic service requests
such as for download, this reduces bandwidth for the useful data. Realistic configurations
provide for 4 to 8 PDUs with 42 to 255 bytes each per cycle for diagnose services. Vector
engineers have measured download rates of 40 to 60 KByte/s when pipelined programming is
used.

Fast Measurement and Reprogramming with CAN-FD

6/10

Technical Article
Ethernet with Diagnostics over IP (DoIP) per ISO 13400-2 is also well-suited for fast
reprogramming of ECUs. In testing 100 MBit Ethernet and a typical microcontroller with a pure
flash write rate of 180 KByte/s, results were largely a function of the buffer size of the
TransferData service. A 16 KByte buffer enables throughput of around 150 KByte/s, which is
already near the limit of the flash memory used in the test.

Reprogramming via CAN FD

Since semiconductor manufacturers do not offer any microcontrollers that provide CAN FD
support yet, network specialists at Vector used a microcontroller in which the CAN FD controller
was implemented in an FPGA for their CAN FD measurements. The software stack on the
board consists of a standard Vector UDS bootloader. The ISO 15765-2 transport layer and CAN
driver were extended for support of CAN FD. To permit a quick test setup process for download
testing, the CANoe simulation and testing tool was used, because the tool already offers CAN
FD support. This software uses an external DLL which provides the flash programming
procedure and transport layer functions. In the future, the Vector vFlash flash tool will become
available for CAN FD.

With the transport layer that is used, the theoretically attainable transmission rate in flashing
over CAN FD is 270 to 370 KByte/s at 4 MBit/s in the CAN FD data phase. However, real
measured values lie well below this (figure 9). Surprisingly, the compression and pipelining
optimization strategies were counterproductive for CAN FD in the test environment that was
used. The reason is that, in the laboratory setup used, the programming time for the internal
flash memory became the limiting factor in the flashing process. So this made optimizations to
the download phase ineffective. However, further tests with more powerful CPUs are needed to
arrive at more general conclusions about data throughput and the effectiveness of
optimizations. A key finding of the measurements is that CAN FD delivers a significantly higher
data throughput than CAN (figure 9), and the effort required for migration is negligible.

Fast Measurement and Reprogramming with CAN-FD

7/10

Technical Article

Figure 9: Comparison of download and programming times with CAN and CAN FD

Summary and Outlook

Overall, it is still difficult to arrive at an objective comparison of the bus systems CAN FD,
FlexRay and Ethernet due to their different microcontrollers and constraints, but certain
tendencies can be clearly discerned. In the case of FlexRay, high download speeds and high
performance for the real time data payload are not both achievable at the same time. 100 MBit
Ethernet delivers the fastest transmission rates, but it requires complex software configuration,
and its hardware costs are higher than for CAN FD. CAN FD appears to be the most balanced
solution; it offers high data rates and the potential for further improvement at moderate costs. In
addition, it is relatively easy to migrate to the new CAN standard, because of the close
similarities between CAN and CAN FD. Both protocols are based on the same physical layer,
and this enables reuse of transceivers, wiring and bus topologies. Since the communication
principle has not changed either, existing know-how can still be applied. The modifications to
affected software layers in calibration and reprogramming that need to be made are relatively
minor.

Fast Measurement and Reprogramming with CAN-FD

8/10

Technical Article
CAN FD enables significant throughput gains in both measurement and reprogramming of
ECUs. In (re-) programming, this shifts the bottleneck more to the flash memory. Further
development to shorten the memory access times of the MCUs that are used promise additional
performance gains. Efforts by Vector to extend the XCP specifications to include packet
concatenation with CAN FD also offer the potential for increasing performance of the new
protocol that is still untapped.

Vector: Universal support for CAN FD

ECU software can only be efficiently developed for CAN FD if all components of the tool chain
support the improved CAN protocol. Vector believes that in the future CAN FD will play a
strategic role in in-vehicle networking. The tool provider has given priority to supporting the new
system in its products, and it already offers a comprehensive CAN FD tool chain which includes
the CANoe and CANalyzer analysis and simulation tools from Version 8.1, the CANdb
database, CANape measurement and calibration tool from Version 12.0 and the vFlash flash
tool from Version 2.6. The line-up of related hardware ranges from a simple bus interface with
USB connection to high-performance interfaces with dedicated CPU, and finally the VT System
the modular test hardware product from Vector. In the future, CAN FD will also be included in
MICROSAR, the AUTOSAR basic software from Vector. The process solution PREEvision
rounds out the product line-up.

Literature:
CAN-FD specification V1.0, Robert Bosch GmbH

Fast Measurement and Reprogramming with CAN-FD

9/10

Technical Article
Authors:

Armin Happel (Dipl.-Ing.) has been employed at Vector Informatik GmbH since 1997. He works in the
Embedded Software Development area, where he is responsible for the Flash Bootloader product area.

Erik Sparrer (Dipl.-Ing.) has been employed at Vector Informatik GmbH since 2013. He is a software
developer in the Calibration and Measurement area with a focus on the integration of communication
hardware and data acquisition systems for CANape.

Peter Decker (Dipl.-Ing. (FH)) has been employed at Vector Informatik GmbH since 2002. He works
as product manager in the Multibus Development area for CANoe/CANalyzer.

Vector Group
www.vector.com

Fast Measurement and Reprogramming with CAN-FD

10/10

You might also like