Civil Engineering Reference
In-Depth Information
a. A receiver detects an error →
REC
=
REC
+ 1
except the error is a
Bit
-
Error
that is detected while the receiver sends an
Active
Error Flag
or an
Overload Flag
.
b. A receiver detects a
dominant
bit after sending an
Error Flag
→
REC
=
REC
+ 8.
c. A transmitter starts an
Error Flag
→
TEC
=
TEC
+ 8
Exception 1
: When a transmitter is in
Error Passive
state and detects an
Acknowled-
gment-Error
(no
dominant
bit in the
ACK Slot
) and it does not detect a
dominant
bit while sending its
Passive Error Flag
, the
TEC
is not changed.
Exception 2
: If a transmitter detects a
Bit
-
Error
on a
recessive
stuff-bit in the
Arbi-
tration Field
before the
RTR
bit, the
TEC
is not changed.
d. A transmitter detects a
Bit
-
Error
while sending an
Active Error Flag
or an
Over-
load Flag
→
TEC
=
TEC
+ 8.
e. A receiver detects a
Bit
-
Error
while sending an
Active Error Flag
or an
Overload
Flag
→
REC
=
REC
+ 8.
f. Any CAN node tolerates up to seven consecutive
dominant
bits after sending
an
Active Error Flag
,
Passive Error Flag,
or
Overload Flag
. After detecting the
14th consecutive
dominant
bit (in case of an Active
Error Flag
or an
Overload
Flag
) or after detecting the eighth consecutive
dominant
bit following a
Passive
Error Flag
, and after each sequence of additional eight consecutive
dominant
bits, every transmitter increases →
TEC
=
TEC
+ 8 and every receiver increases
→
REC
=
REC
+ 8.
g. A transmitter with
TEC
> 0 will decrement after each successful transmission of
a
Data Frame
or a
Remote Frame
→
TEC
=
TEC
− 1.
h. A receiver with
REC
> 0 will decrement after each reception of a fault-free
Data
Frame
or
Remote Frame
→
REC
=
REC
- 1.
Exception 1
of rule c) was introduced to avoid complicating the initialization phase
of a network. After a system is started, the initialization times of the individual
CAN nodes in a distributed control network will—under normal circumstances—
be different. If we suppose now that the first CAN node that has completed its
initialization sends a frame, it will always get an
Acknowledgment
-
Error
since there
is no other CAN node ready to give an acknowledge, with the transmission at-
tempt automatically repeated. This would mean that the
Transmit Error Counter
is incremented by 8 at each attempt, until it finally reaches the
Bus Off
threshold
and the CAN operation is stopped. One can easily imagine that the initialization
of a network would be very difficult under these circumstances. Therefore, this
Acknowledgment-Error
is treated differently.
After reaching the
Error Passive
state, the
Transmit Error Counter
is no longer
incremented in the case of an
Acknowledgment-Error
—if there is no other node
sending an
Active Error Flag
. This means that the first transmission attempt will be
repeated until a second node finishes its initialization and gives an acknowledge.
One single error may cause the application of more than one rule, e.g. under the
following circumstances:
If CAN node A, that is currently receiving a frame, detects a local error and then
sends an
Active Error Flag
, this
Error Flag
will not completely overlap with the