Nxp Semiconductors UM10237 User Manual

Page of 792
UM10237_2
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 02 — 19 December 2008 
480 of 792
NXP Semiconductors
UM10237
Chapter 18: LPC24XX CAN controllers CAN1/2
RX Error Counter = (CANxGSR AND 0x00FF0000) / 0x00010000
Note that a CPU-forced content change of the RX Error Counter is possible only if the 
Reset Mode was entered previously. An Error Status change (Status Register), an Error 
Warning or an Error Passive Interrupt forced by the new register content will not occur 
until the Reset Mode is cancelled again. 
TX error counter
The TX Error Counter Register, which is part of the Status Register, reflects the current 
value of the Transmit Error Counter. In Operating Mode this register appears to the CPU 
as a read only memory. After hardware reset this register is initialized to ’0’. A write access 
to this register is possible only in Reset Mode. If a bus-off event occurs, the TX Error 
Counter is initialized to 127 to count the minimum protocol-defined time (128 occurrences 
of the Bus-Free signal). Reading the TX Error Counter during this time gives information 
about the status of the Bus-Off recovery. If Bus Off is active, a write access to TXERR in 
the range of 0 to 254 clears the Bus Off Flag and the controller will wait for one occurrence 
of 11 consecutive recessive bits (bus free) after clearing of Reset Mode. The Tx error 
counter is determined as follows:
TX Error Counter = (CANxGSR AND 0xFF000000) / 0x01000000
Writing 255 to TXERR allows initiation of a CPU-driven Bus Off event. Note that a 
CPU-forced content change of the TX Error Counter is possible only if the Reset Mode 
was entered previously. An Error or Bus Status change (Status Register), an Error 
Warning, or an Error Passive Interrupt forced by the new register content will not occur 
until the Reset Mode is cancelled again. After leaving the Reset Mode, the new TX 
Counter content is interpreted and the Bus Off event is performed in the same way as if it 
was forced by a bus error event. That means, that the Reset Mode is entered again, the 
TX Error Counter is initialized to 127, the RX Counter is cleared, and all concerned Status 
and Interrupt Register Bits are set. Clearing of Reset Mode now will perform the protocol 
defined Bus Off recovery sequence (waiting for 128 occurrences of the Bus-Free signal). 
If the Reset Mode is entered again before the end of Bus Off recovery (TXERR>0), Bus 
Off keeps active and TXERR is frozen.
8.4 Interrupt and Capture Register (CAN1ICR - 0xE004 400C, CAN2ICR - 
0xE004 800C)
Bits in this register indicate information about events on the CAN bus. This register is 
read-only. Bits not listed read as 0 and should be written as 0.
The Interrupt flags of the Interrupt and Capture Register allow the identification of an 
interrupt source. When one or more bits are set, a CAN interrupt will be indicated to the 
CPU. After this register is read from the CPU all interrupt bits are reset except of the 
Receive Interrupt bit. The Interrupt Register appears to the CPU as a read only memory. 
Bits 1 thru 10 clear when they are read.
Bits 16-23 are captured when a bus error occurs. At the same time, if the BEIE bit in 
CANIER is 1, the BEI bit in this register is set, and a CAN interrupt can occur.