Is CANFD Fully Compatible with CAN?

First, let’s take a look at the frame structure of CAN:

Is CANFD Fully Compatible with CAN? CAN Frame Structure

Is CANFD Fully Compatible with CAN?

From the above image, we can see that in the standard frame, there is an r0 bit, which is actually a reserved bit. ISO11898-1 stipulates that the sender sends the r0 bit as dominant, while the receiver does not judge the state of this bit. Similarly, in the extended frame, there is also an r1 bit, which is a reserved bit, and its regulation is consistent with that of the r0 bit. Due to the regulations on reserved bits in ISO11898-1, some older CAN controllers do not follow the ISO specification when sending reserved bits, sending the r0 or r1 bit as recessive instead of dominant, and the receiver can still receive the CAN message normally. So what problems will occur in CANFD if the CAN controller sends the standard frame r0 or the extended frame r1 as recessive? This needs to be discussed from the CANFD frame structure.

Is CANFD Fully Compatible with CAN? CANFD Frame Structure

Is CANFD Fully Compatible with CAN?

As shown in the direction of the arrow in the above image, in the CANFD frame, the original r0 bit in the CAN standard frame has now changed to the EDL bit (CANFD bit), and the r1 bit in the CAN extended frame has also changed to the EDL bit. The EDL bit stipulates that when EDL is recessive, it is a CANFD frame, and when it is dominant, it is a CAN frame.

Is CANFD Fully Compatible with CAN? Problems Caused by Sending Recessive r0 and r1 Bits in CAN Standard and Extended Frames
Then the question arises: for those CAN controllers that do not fully comply with the ISO11898-1 specification, when they send CAN frames with the r0 bit as recessive, if there is a CANFD node on the bus, it will be recognized by the CANFD controller as a CANFD frame, but in fact, it is sending a CAN frame. In this case, it leads to the CANFD controller receiving abnormally and sending erroneous frames. In this situation, for CAN controllers that do not fully comply with the ISO11898-1 specification, CANFD is not compatible with CAN.

Is CANFD Fully Compatible with CAN?

Finally, let’s summarize with the above image: CAN controllers that do not comply with the ISO11898-1 specification send messages with the standard frame r0 bit or the extended frame r1 bit as recessive, and in the CANFD network, they will be judged as CANFD frames by the receiving end of the CANFD controller, leading to bus errors.

Is CANFD Fully Compatible with CAN? Solutions

If this CAN controller exists on the bus, we can set the CANFD controller to operate as a CAN controller to be compatible with this CAN node.

If using the USBCANFD-200U series CANFD card, when encountering non-compliant CAN controllers, we can set the controller type to CAN through ZCANPRO to solve this problem.

Is CANFD Fully Compatible with CAN?

【Copyright Statement】This article is original content by ZLG Developer Community users and may not be reproduced without authorization. More users are welcome to communicate and interact in the community, and upon adoption, a 100 yuan JD E-card can be obtained.

Address: https://developer.zlg.cn(Long press to copy and open on PC)

Is CANFD Fully Compatible with CAN?
Is CANFD Fully Compatible with CAN?
Is CANFD Fully Compatible with CAN?
Is CANFD Fully Compatible with CAN?
Is CANFD Fully Compatible with CAN?
Is CANFD Fully Compatible with CAN?
Is CANFD Fully Compatible with CAN?

Leave a Comment