DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10316_0
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 00.06 — 17 December 2008
322 of 571
NXP Semiconductors
UM10316
Chapter 21: LPC29xx CAN 0/1
[1]
When the transmit error counter exceeds the limit of 255 the BS bit is set to 1(bus-off), the CAN controller
sets the soft reset mode bit to 1 (present) and an error warning interrupt is generated if enabled. Afterwards
the transmit error counter is set to 127 and the receive error counter is cleared. It stays in this mode until the
CPU clears the soft-reset mode bit. Once this is completed the CAN controller waits the minimum
protocol-defined time (128 occurrences of the bus-free signal) counting down the transmit error counter.
After that the BS bit is cleared (bus-on), the error status bit is set to 0 (OK), the error counters are reset and
an error warning interrupt is generated if enabled. Reading the Tx error counter during this time gives
information about the status of the bus-off recovery.
[2]
Errors detected during reception or transmission affect the error counters according to the CAN
specification. The ES bit is set when at least one of the error counters has reached or exceeded the error-
warning limit. An error-warning interrupt is generated if enabled. The default value of the error-warning limit
after hardware reset is 96 decimal, see also
, CCEWL register bits.
[3]
If both the RS and the TS bits are 0 (idle) the CAN bus is idle. If both bits are set the controller is waiting to
become idle again. After hardware reset 11 consecutive recessive bits have to be detected until idle status
is reached. After bus-off this takes 128 detection cycles of 11 consecutive recessive bits.
[4]
The TCS bit is set to 0 (incomplete) whenever the transmission request bit or the self -reception request bit
is set to 1 for at least one out of the three transmit buffers. The TCS bit remains 0 until all messages have
been successfully transmitted .
[5]
If there is not enough space to store the message within the receive buffer, that message is dropped and
the data-overrun condition is signalled to the CPU the moment the message becomes valid. If this message
is not completed successfully (e.g. because of an error) no overrun condition is signalled.
[6]
After reading all messages and releasing their memory space with the command 'release receive buffer'
this bit is cleared.
9.4 CAN controller interrupt and capture register
The CAN controller interrupt and capture register allows the identification of an interrupt
source. Reading the interrupt register clears all interrupt bits except the receive interrupt
bit, which requires the release receive-buffer command. If there is another message
available within the receive buffer after the release receive-buffer command the receive
interrupt is set again: otherwise the receive interrupt stays cleared.
Bus errors are captured in a detailed error report. When a transmitted message loses
arbitration the bit where the arbitration was lost is captured. Once either of these registers
is captured its value remains the same until it is read, after which it is released to capture
a new value.
The CCIC register is read-only.
shows its bit assignment.