Register to reply

Controller Area Network (CAN) bit stuffing

by gomathi.c
Tags: asynchronous, clock, controller, nrz
Share this thread:
Feb19-13, 07:58 AM
P: 2
I was going through an article on CAN bus in Wikipedia & was stuck at the point where bit stuffing is explained. CAN is an asynchronous bus. They implement NRZ (Non-Return-To-Zero) encoding. To enable the receiver to correctly read the messages, continuous resynchronization is required.

Generally, in NRZ, a problem arises when there is a long sequence of 0s or 1s and the voltage level is maintained at the same value for a long time. This creates a problem on the receiving end because now, the clock synchronization is lost due to lack of any transitions and hence, it is difficult to determine the exact number of 0s or 1s in this sequence.

As per,
One characteristic of Non-Return-to-Zero code is that the signal provides no edges that can be used for resynchronization if transmitting a large number of consecutive bits with the same polarity. Therefore bit-stuffing is used to ensure synchronization of all bus nodes.
This means that during the transmission of a message, a maximum of five consecutive bits may have the same polarity. Then a bit is stuffed.

What I don’t understand is, why in NRZ, a consecutive 0’s & 1’s don’t provide edge? I assume edge means a transition. Am I right? Kindly explain me. Thanks in advance.
Phys.Org News Partner Engineering news on
Tricorder XPRIZE: 10 teams advance in global competition to develop consumer-focused diagnostic device
Study shows local seismic isolation and damping methods provide optimal protection for essential computing equipment
New filter technology uses inert gas to bore holes in high-quality steel
Feb19-13, 03:55 PM
Mordred's Avatar
P: 1,857

this article compares NRZ to RZ may help you.
Feb20-13, 04:20 AM
P: 2
In the following website, it is given that there won't be any transitions if there is large number of consecutive 0's or 1's. The bit boundaries can't be distinguished. So, the receiver clocks can't synchronise. But, what actually happens in receiver with each bit transition? And what happens if there is no transition? What happens when the bit boundaries can't be distinguished?

Register to reply

Related Discussions
Stuffing a black hole full of electrons? Special & General Relativity 11
Difference Between Normal Feedback Controller and Robust Controller Electrical Engineering 3
Neural network controller for internal combustion engine Engineering Systems & Design 7
Difference between Controller & Host Controller Computers 1
Stuffing a Wave Electrical Engineering 16