04-12-2014 01:16 AM
Hi,
I am new to CAN protocol going through the Robert Bosch's CAN Specification ver2.0 Part B. I can't understand the following lines in page 63
" Note:
Start up / Wake up:
if during startup only one node is online, and if this node transmits some message, it will get no acknowledgement, detect an error and repeats the message. It can become 'error passive' but not 'bus off' due to this reason."
As far as I understand when a transmitter detects an error(like Acknowledgement error) it retransmits the message and also increments the transmit error count (TEC) by 8. So if there is only one node then its TEC should increase by 8 everytime it transmits a message and should go into 'bus off' condition.
Can someone please explain why the specification says it can only go 'Error Passive' but not 'Bus off'?.
Thanks in Advance,
Jagdish.
Solved! Go to Solution.
04-14-2014 07:08 AM
In chapter 7 of the spec where it indicates incrementing by 8 for each error, the next sentence indicates that there is an exception where a node does not increment the transmitter error counter if it is error passive (TC >= 128) and the error is a no-ack error.
04-15-2014 08:29 PM
Thanks a lot for your reply. I missed reading that exception.
05-14-2015 07:49 AM
I have a doubt that what happens when DLC in message frame is specified as 0?
05-14-2015 08:48 AM
@bbk1707 wrote:
I have a doubt that what happens when DLC in message frame is specified as 0?
Can you explain your comment a bit more. I am not understanding what you are asking.
05-14-2015 08:55 AM
@bbk1707 wrote:
I have a doubt that what happens when DLC in message frame is specified as 0?
Are you trying to say "What happens when the DLC (payload length) is 0 bytes". The answer is the payload has 0 bytes. There are times when seeing the message is enough, and no payload is needed. Lets say we have a device on the bus sending a frame letting the other devices on the bus know that piece of hardware is still awake and working. A more robust system would have a counter that continued to increment, but for a simple system maybe just seeing that frame is enough to know the device is powered up and working. Why waste bandwidth on sending any data in the payload?
Having a payload of 0 through 8 bytes is standard and has no adverse effect. Here is some more information.
http://en.wikipedia.org/wiki/CAN_bus
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
05-14-2015 09:01 AM
05-14-2015 09:02 AM
If you have a DLC of 0, then there is no data filed, just the Arb ID + Control + CRC + EOM. Everything else behaves essentially identically.
05-14-2015 09:04 AM
05-14-2015 09:34 AM