CAN vs CAN FD: Compatibility

28 May 2020 at 22:00
By James Kime
Ixxat
Reading time: 2 minutes
CAN vs CAN FD: Compatibility
CAN FD and standard CAN networks are not fully compatible. While they start similarly, CAN FD accelerates data rate during transmission, causing standard CAN controllers to misinterpret the data and reject the frame.

One of the main questions about CAN FD is rather or not it will work with a standard CAN network. The answer is:  probably not. This is explained better by looking at how the different CAN frames look. When the two diagrams are examined at first glance they are nearly the same. 

 

CAN frame

CAN FD Frame

 

The messages will begin with a start bit and then proceed into the arbitration phase with the message header. Then, when the arbitration is established, the data packet will follow. It is finished with a CRC and end of frame sequence.

One of the main problems with CAN and CAN FD compatibility is that they are very close but not the same. The main difference is that during the data transmission phase, the FD frame will accelerate the data rate. However, because the frame started off looking like a valid CAN frame, the standard CAN controller is receiving it. When it goes into accelerated data rate, the standard CAN frame will not see stuff bits and think that data bus is broken.  It will then reject the frame with an error frame.

This is not the case in reverse, a CAN FD controller will be able to receive a standard CAN frame with no problems. Going forward, there will be CAN FD tolerant standard CAN controllers. They will know that a CAN FD frame is going and ignore it without sending an error frame. But, the main conclusion is that using CAN FD on a legacy CAN bus is not a good idea and will almost certainly not work.