Image Processing Reference
In-Depth Information
one which is sending the frame with the highest priority (it should be noted that the winning node
does not even realize that a collision has occurred). his implies that no two nodes in a CAN network
can be transmitting messages concerning the same object (that is to say, characterized by the same
identifier) at the same time. If this is not the case, in fact, unmanageable collisions could take place
which, in turn, cause transmission errors. Because of the automatic retransmission feature of CAN
controllers, this would lead almost certainly to a burst of errors on the bus, which, in turn, causes
the stations involved to be disconnected by the fault confinement mechanism. his implies that, in
general, only one node can be the producer of each object.
One exception to this rule is given by frames that do not have a data field, such as, for example,
remote frames. In this case, should a contention occur involving frames with the same identifier, they
wouldoverlapperfectlyandhencenocollisionefectivelywouldoccur.hesameisalsotruefordata
frames whose data field is not empty, provided that its content is the same for all frames sharing the
same identifier. However, it makes no sense in general to send frames with a constant data field.
All nodes that lose a contention have to retry the transmission as soon as the exchange of the cur-
rent (winning) frame ends. hey all try to send their frames again immediately after the intermission
is read on the bus. Here, a new collision may take place that could also involve frames sent by nodes
for which a transmission request was issued while the bus was busy.
An example that shows the detailed behavior of the arbitration phase in CAN is depicted in
Figure .. There,  nodes (that have been indicated symbolically as A, B, and C) start transmit-
ting a frame at the same time (maybe at the end of the intermission following the previous frame
exchange over the bus). As soon as a node understands it has lost the contention, it switches its out-
put level to the recessive value, so that it no longer interferes with the other transmitting nodes. his
event takes place when bit ID issentfornodeA,whilethesamehappensfornodeBatbitID .Node
C manages to send the whole identifier field, and then it can keep on transmitting the remaining part
of the frame.
15.2.4 Error Management
One of the main requirements that were considered as fundamental in the definition of the CAN
protocol was the need to have a highly robust communication system, i.e., a system which is able to
detect most of transmission errors. Hence, particular care was taken in defining the support for error
management.
SOF
Identifier
RTR
10
9
8
7
6
5
4
3
2
1
0
Level on the bus
Bit stream sent by node A
(msg. id. = 100 111x xxxx)
receive mode
1
00
1
1
1
Bit stream sent by node B
(msg. id. = 100 1101 11xx)
receive mode
1
00 1
1
0
1
1
1
Bit stream sent by node C
(msg. id. = 100 1101 1010)
control and data
1
00
1
1
0
1
1
01
0
0
FIGURE .
Arbitration phase in CAN.
 
Search WWH ::




Custom Search