CAN Bus Bit Stuffing

The CAN waveform is a series of bits. Since there is no clock shared between the CAN bus nodes there must be a way for all nodes to get the clock from the waveform. Therefore receivers use transitions in the CAN waveform to synchronize the receiver clocks to the transmitter.

To ensure there are enough transitions the CAN bus implements bit stuffing. Bit stuffing places a extra opposite bit of the current bit after 5 consecutive identical bits. Since the appearance of stuff bits depends on message content the length of CAN frame will vary depending on the data in it. These extra stuff bits are automatically thown away by the receiver so the application software in the CAN node never sees them.

Last updated