![]() ![]() Classical CAN - how can this lead to less overhead? CANĪs evident, the added functionality of CAN FD adds a lot of extra bits vs. Overhead and data efficiency of CAN FD vs. In Classical CAN, there can be 0 to 3 stuff bits in the CRC, while in CAN FD there are always four fixed stuff bits to improve communication reliability.ĪCK: The data phase (aka payload) of the CAN FD data frame stops at the ACK bit, which also marks the end of the potentially increased bit rate. The SBC is added to improve communication reliability.ĬRC: The Cyclic Redundancy Check (CRC) is 15 bit in the Classical CAN, while in CAN FD it's 17 bits (for up to 16 data bytes) or 21 bits (for 20-64 data bytes). The following Fixed Stuff-Bit can be regarded as a second parity bit. SBC: The Stuff Bit Count (SBC) precedes the CRC and consists of 3 gray-coded bits and a parity bit. To maintain a 4-bit DLC, CAN FD uses the remaining 7 values from 9 to 15 to denote the number of data bytes used (12, 16, 20, 24, 32, 48, 64). The above table shows how the two protocols use the DLC consistently up to 8 data bytes. If the transmitter becomes 'error passive' it'll be recessive (1) to indicate it is in error passive mode.ĭLC: Like in Classical CAN, the CAN FD DLC is 4 bits and denotes the number of data bytes in the frame. Setting it to recessive (1) means that the remaining part of the data frame is sent at a higher bit rate (up to 5ĮSI: The Error Status Indicator (ESI) bit is by default dominant (0), i.e.'error active'. it may in the future be set to recessive (1) to denote a new protocol.īRS: The Bit Rate Switch (BRS) can be dominant (0), meaning that the CAN FD data frame is sent at the arbitration rate (i.e. Res: This new reserved bit plays the same role as r0 - i.e. Note that nodes that are not CAN FD capable produce an error frame after the FDF bit. In CAN FD, it's named FDF and recessive (1).Īfter the r0/FDF bit, the CAN FD protocol adds "3 new bits". FDF: In Classical CAN, r0 is reserved and dominant (0). In CAN FD, remote frames are not supported at all - the Remote Request Substitution (RRS) is always dominant (0). RRS: The Remote Transmission Request (RTR) is used in Classical CAN to identify data frames and corresponding remote frames. ![]() ![]() an 11-bit CAN FD frame (29-bit is also supported):īelow we go through the differences step-by-step: CAN FD frame fields explained The CAN FD protocol introduces an adjusted CAN data frame to enable the extra data bytes and flexible bit-rates.īelow we compare an 11-bit Classical CAN frame vs. In short, it is necessary to find a way to only increase the speed during the data transmission. Before the ACK slot - when multiple nodes acknowledge the correct reception of the data frame - the speed needs to be reduced to the nominal bit-rate. On the other hand, after arbitration there's an "empty highway" - enabling high speed during the data transmission (when there is just one node driving the bus-lines). Speeding up the arbitration process would reduce the maximum length to unsuitable levels. To be certain that every node is reached within the bit time, a CAN network running at 1 Mbit/s needs to have a maximum length of 40 meters (in practice 25 meters). During arbitration, a "bit time" provides sufficient delay between each bit to allow every node on the network to react. ![]()
0 Comments
Leave a Reply. |