Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] can-messages with same identifier

Status
Not open for further replies.

Emb4U

Member level 3
Joined
Jan 18, 2014
Messages
56
Helped
9
Reputation
18
Reaction score
8
Trophy points
8
Location
Bangaluru
Activity points
321
If two CAN messages with same ID sending at a same time, different data which can node will gain arbitration?
 

jaga123

Member level 1
Joined
May 16, 2011
Messages
32
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,288
Location
india
Activity points
1,533
i think the node which send a dominent bit first ,it may get the bus acess
 

Emb4U

Member level 3
Joined
Jan 18, 2014
Messages
56
Helped
9
Reputation
18
Reaction score
8
Trophy points
8
Location
Bangaluru
Activity points
321
According to the document of CAN(Robert Bosch) two CAN messages with same ID sending at a same time is not possible.
My question is why they will not send...If it may occurs what conditions should be arises ?
 

pratomer

Newbie level 6
Joined
Jan 14, 2014
Messages
13
Helped
1
Reputation
2
Reaction score
1
Trophy points
3
Activity points
66
If the bus is idle which is represented by recessive level (Logical 1), any node may begin to transmit. If two or more nodes begin sending messages at the same time, the message with the more dominant ID (which has more dominant bits, i.e., zeroes) will overwrite other nodes' less dominant IDs, so that eventually (after this arbitration on the ID.) only the dominant message remains and is received by all nodes. This mechanism is referred to as priority based bus arbitration.
 

Emb4U

Member level 3
Joined
Jan 18, 2014
Messages
56
Helped
9
Reputation
18
Reaction score
8
Trophy points
8
Location
Bangaluru
Activity points
321
I think this is the correct one..

Two nodes on the network are not allowed to send messages with the same id. If two nodes try to send a message with the same id at the same time arbitration will not work. Instead, one of the transmitting nodes will detect that his message is distorted outside of the arbitration field. The nodes will then use the error handling of CAN, which in this case ultimately will lead to one of the transmitting node being switched off (bus-off mode).
 

jaga123

Member level 1
Joined
May 16, 2011
Messages
32
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,288
Location
india
Activity points
1,533
it may be
but i have one question. how transmitter node get to know that the message is destroyed outside and why? if both has sane id why one get accepted?
 

Tunelabguy

Full Member level 5
Joined
Jan 3, 2011
Messages
319
Helped
92
Reputation
184
Reaction score
89
Trophy points
1,308
Activity points
4,228
it may be
but i have one question. how transmitter node get to know that the message is destroyed outside and why? if both has sane id why one get accepted?
The conflict will not be noticed during the ID portion. But it will be noticed during the message portion, assuming the two transmitters are sending different messages. But by then it is too late to recover gracefully. The damage has already been done. When a conflict is detected during the ID portion, the less dominant transmitter can stop transmitting without corrupting the message. In principle, it would be possible for this to happen during the message too. The more "dominant message" would get through. But the CAN bus is not designed to implement this sort of error recovery. I think the reason is timing. The ID field is short enough that two independent transmitters that start at the same time will stay in sync close enough during the ID so that arbitration works. But if you add in the message portion, now the small difference in transmission rates could make the two transmitters drift far enough out of synchronization that it becomes impossible to reliably detect bus conflict in time to prevent damage to the data. So they don't even both trying, but as Emb4U said, this becomes a more serious error and causes one of the transmitters to be switched off semi-permanently.
 

Emb4U

Member level 3
Joined
Jan 18, 2014
Messages
56
Helped
9
Reputation
18
Reaction score
8
Trophy points
8
Location
Bangaluru
Activity points
321
I have a another answar which was strike in my mind ,when the two node having same identifier,and when the identifiers will go for the arbitration the bus will think there is a one identifier because the the identifiers are look like same.And then, when the arbitration will be complete, one will be discarded automatically after the arbitration.
 

Emb4U

Member level 3
Joined
Jan 18, 2014
Messages
56
Helped
9
Reputation
18
Reaction score
8
Trophy points
8
Location
Bangaluru
Activity points
321
If two master trying to access a slave with same identifier then one node will win the arbitration but what is the condition of that node which is lost in the arbitration. and i am little bit confused that in that time what is the condition of the bus.

Sir please help me and clear my doubt.
 

jaga123

Member level 1
Joined
May 16, 2011
Messages
32
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,288
Location
india
Activity points
1,533
I have a another answar which was strike in my mind ,when the two node having same identifier,and when the identifiers will go for the arbitration the bus will think there is a one identifier because the the identifiers are look like same.And then, when the arbitration will be complete, one will be discarded automatically after the arbitration.


sir i get confused . if one node will discard from communication for what reason it will do so, and what error it will get?
please explain briefly.
Thank you for your answer...
 

Emb4U

Member level 3
Joined
Jan 18, 2014
Messages
56
Helped
9
Reputation
18
Reaction score
8
Trophy points
8
Location
Bangaluru
Activity points
321
When two nodes sends same identifier in a same time to access to the another node then one node will go to the busoff condition.
Then my question is in between two nodes which node will go to busoff ?

Dear members please help me because i am totally confused.
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
49,136
Helped
14,380
Reputation
29,024
Reaction score
13,134
Trophy points
1,393
Location
Bochum, Germany
Activity points
283,226
When two nodes sends same identifier in a same time to access to the another node then one node will go to the busoff condition.
The statement is mostly wrong.

If two stations are sending a message with same ID and differences in the succeeding message part exactly at the same bit time, a transmitter error will be generated.
Only after 32 consecutive transmitter errors without receiving valid messages inbetween, a transmitter will go to bus-off state.

Furthermore, this is a purely theoretical problem. What's the likelihood to achieve the said condition repeatedly? Why should two stations send data frames with same ID? Makes no sense in terms of CAN application layer.
 
Last edited:

Emb4U

Member level 3
Joined
Jan 18, 2014
Messages
56
Helped
9
Reputation
18
Reaction score
8
Trophy points
8
Location
Bangaluru
Activity points
321
Capture.PNGI know that two nodes will never send same ID in same time. It is illegal but may be possible.(mention in document)
But as per the document they have seen as identical. then which condition should be arises here.

thanks for reply.

some suggetions please.
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top