CAN FD – An Introduction
CAN FD (CAN flexible data rate) is an expasion of the “classical” CAN bus (CAN classic) and is defined by the standard ISO 11898-1:2015. CAN FD facilitates not only sending of larger data volumes (payload): the limit of 8 bytes with CAN classic has been increased to 64 bytes with CAN FD. Also, it provides the possibility of a higher bit rate within the data phase, even going beyond the previous limit of 1 MBit/s.
CAN FD Data Frame
Classical CAN differentiated only two data frames: standard frames (CAN 2.0A) with 11-Bit identifiers and extended frames (CAN 2.0B) with 29-Bit identifiers. These formats will be maintained, however, within the scope of CAN FD they will be renamed.
Table 1: CAN FD Frame Formats
CAN classic differentiated only two data frames: standard frames (CAN 2.0A) with 11-Bit identifiers and extended frames (CAN 2.0B) with 29-Bit identifiers. These formats will be maintained, however, within the scope of CAN FD they will be renamed.
A CAN FD controller is downward-compatible, i.e. the previous formats of the CAN classic are recognized and can be processed. However, this does not work in the reverse direction: the frame formats FBFF and FEFF are unknown to a CAN classic controller and, consequently, error frames will be sent. This is why all devices in the network need to be equipped with a CAN FD controller to be able to use FD frame formats.
The most significant differences in the frame structure of a CAN classic data frame are shown in fig. 1.
CAN FD Base Frame Format
The CAN FD format does not support remote frames, the previous RTR bit after the identifier is replaced by the “Remote Request Substitution” (RRS) bit.
The FDF bit (FD format) in the expanded control field is the qualifier for the flexible data format. In a classical CAN frame the valid value range of the DLC field (Data Length Code) was within 0 to 8, whereas the valid range of values in a CAN FD frame reaches from 0 to 15. The value of the DLC field determines the number of bytes in the data field and is interpreted as follows:
Encoding the Data Length
Even without using the option of faster data transfer in the data phase, the increased data volume alone will bring significant advantages. At a nominal bit rate of 1 MBit/s the net transfer rate (i.e. the transfer rate of the data field) of a CAN classic controller is 576 kBit/s. A CAN FD frame with a data size of 64 bytes has a net transfer rate of 903 kBit/s.
Improved Error Detection
Via the ESI (Error State Indicator) bit in the control field the sender of a message indicates whether they are in error active or error passive mode which will considerably facilitate error detection
To avoid a worse residual error probability as with classical CAN due to the potentially higher number of stuff-bits in a message, CAN FD has been equipped with a stuff-bit counter (3 bit + parity). The new stuff-count field is sent at the beginning of the CRC field.
Increase Data Rates
In a CAN FD frame the transfer rate in the data phase (this starts with the BRS bit and ends with the last bit of the CRC) can be increased via the BRS (Bit Rate Switch) bit. The maximum value of the transfer rate in the data phase is limited by the CAN controller or CAN transceiver used in the application and is currently between 5 MBit/s and 8 MBit/s, depending on the manufacturer.
Available CAN FD Controllers
Development of CAN FD systems is determined by the available CAN controllers. The following list is an overview of currently available CAN FD microcontrollers, but without claiming to be complete.
You would like to get advice?
+49 2241 – 25 65 9 – 0
Write an email or call us.