Philips Semiconductors
Application note
AU5790 Single wire CAN transceiver
AN2005
Within CAN each node must synchronize to each other’s message on the first recessive to dominant edge of the message and all the other
recessive to dominant edges in the message waveform. Because each node has its own clock reference, the oscillator tolerance, ∆f, will affect
the bit time and the sample time, so ∆f has big impact on the synchronization. Meanwhile, CAN supports arbitration and in-frame
acknowledgment, which means after sending out a data bit the transceiver needs to read back the bus level, so the propagation delay between
nodes in the network must be limited to guarantee synchronization.
The propagation delay from node A to node B includes all the device delays in the transmission path from A to B, CAN controller A delay time,
transceiver A transmit delay, transceiver B receive delay, and bus line delay, etc. Since all nodes must receive each other’s signal, and
synchronize to it, then send them back during arbitration, the total propagation delay in the network should be the round trip delay.
Dietmayer and Overberg analyzed CAN bit timing requirements in detail in their SAE technical paper #970295[1]. By summarizing their analysis,
we can find that in order to guarantee CAN bit time requirement, the total propagation delay has to satisfy following equations:
t
(max) < t – t
– ( 25t – t
)* ∆f (1)
seg2
prop
bit
seg2
bit
t
(max) < t – t
– ( 25t – t
)* ∆f + t
(min)/2 – t (1- ∆f) (2)
prop Q
prop
bit
seg2
bit
seg2
The requirement on Equation (1) is more severe than that on Equation (2) if the minimum propagation delay is larger than 2* t .
Q
2.1.2 Arbitration
If no device is transmitting a message, the network bus is in a recessive state, and any device may start to transmit a message. If more than
one device starts to transmit a message at the same time, only one device gets bus access successfully by bit arbitration using the identifier.
All devices on the bus are connected to the bus in a wired OR configuration. During arbitration, every device compares the read-back bus level
with the transmitted data level. If these levels are the same, the transmission continues. If a device sends a recessive level, and reads back a
dominant level, it has lost arbitration and has to stop sending any more bits, and becomes a receiver.
The following figure shows an arbitration example. Node 1, 2, and 3 start to send out message at the same time. At bit ID-23, node 2 sends a
recessive level, but the readback bus level is dominant, thus node 2 loses arbitration and becomes a receiver. Node 1 loses its arbitration at bit
ID-20. Node 3 finally wins bus access and continues message transmission.
ARBITRATION
CONTROL
DATA
ID 28 ... 18
R
T
R
S
O
F
RECEIVE
*
NODE 1
RECEIVE
NODE 2
*
NODE 3
DOMINANT
RECESSIVE
BUS-LEVEL
= ARBITRATION LOSS
BITS NOT SENT
*
SL01259
Figure 3. CAN bus arbitration
3
2001 Apr 16