Civil Engineering Reference
In-Depth Information
need to be determined. These consist of the delay on the CAN bus line (typically
5 ns/m), the transit times through the node's transceivers and, for example, in in-
dustrial applications, through additional optocouplers for galvanic isolation. The
determined signal propagation delay gives an upper limit for the possible bit rate,
since the CAN bit time (reciprocal of the bit rate) must be significantly longer than
twice this value.
Then, based the desired bit rate and the available system clock frequency fsys,
BRP
values are selected, that can produce the desired bit time from an integer num-
ber (in the range of [5…25]) of tq, with tq =
BRP
/fsys. The length of
Prop_Seg
needs to be twice the signal propagation delay, rounded up to the next integer mul-
tiple of tq. Hence, the
BRP
value must allow
Prop_Seg
to be in the range of [1…8]
(if needbe, in the range of [1…15] when
Prop_Seg
and
Phase_Seg1
are combined
in
TSEG1
).
The desired bit time must be at least 3 tq longer than the time required for
Prop_
Seg
.
Sync_Seg
is always 1 tq long; the rest is left for the two
Phase Buffer Segments
.
Phase_Seg1
and
Phase_Seg2
should have the same length, but if the subtraction
(bit time - [
Sync_Seg
+
Prop_Seg
]) results in an odd number of tq,
Phase_Seg2
is
set longer:
Phase_Seg2
=
Phase_Seg1
+ 1. In order to optimize the oscillator toler-
ance,
SJW
needs to be set to the highest possible value, but not longer than one
Phase Buffer Segment
. The oscillator tolerance is mainly determined by the relation
between the length of the
Phase Buffer Segments
and the length of the bit time.
The combination of
Prop_Seg
= 1 and
Phase_Seg1
=
Phase_Seg2
=
SJW
= 4
yields has an oscillator tolerance of 1.58 %, the largest value possible in the CAN
protocol. This combination, with a
Propagation Time Segment
of only 10 % of the
bit time, is not suitable for short bit times; at a 40-m bus length, it can be used for
bit rates up to 125 kbit/s (with a bit time of at least 8 µs).
The bit timing concept of the CAN protocol has sufficient reserves, so that small
deviations from the nominal values (temperature changes or aging of the compo-
nents may cause, e.g. drift of the oscillators or longer signal delays) do not directly
cause disturbances in the communication; but the deviations may make the network
less resilient with regard to external sources of error (e.g. EMI). If a bit is disturbed
at its
Sample Point
, the faulty bit is intercepted by higher protocol layers (CRC
code, bit-stuffing, etc.) and the message is invalidated.
1.2.7
Characteristics of CAN Controllers
In principle, there are three types of CAN controllers: “Full CAN”, “Basic CAN”
and serial linked input/output (SLIO). CAN controllers are internally partitioned in
CAN protocol controller and CAN message handler. While the function of the CAN
protocol controller is defined by the CAN specification, the function of the CAN
message handler is application specific. Different concepts have been developed for
the CAN message handling.