UM10360 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
User manual Rev. 3 — 19 December 2013  368 of 841
NXP Semiconductors
UM10360
Chapter 16: LPC176x/5x CAN1/2
The values for the reserved bits of the CANxTFI register in the Transmit Buffer should be 
set to the values expected in the Receive Buffer for an easy comparison, when using the 
Self Reception facility (self test), otherwise they are not defined.
The CAN Controller consist of three Transmit Buffers. Each of them has a length of 4 
words and is able to store one complete CAN message as shown in Figure 54
.
The buffer layout is subdivided into Descriptor and Data Field where the first word of the 
Descriptor Field includes the TX Frame Info that describes the Frame Format, the Data 
Length and whether it is a Remote or Data Frame. In addition, a TX Priority register allows 
the definition of a certain priority for each transmit message. Depending on the chosen 
Frame Format, an 11-bit identifier for Standard Frame Format (SFF) or an 29-bit identifier 
for Extended Frame Format (EFF) follows. Note that unused bits in the TID field have to 
be defined as 0. The Data Field in TDA and TDB contains up to eight data bytes.
 
Automatic transmit priority detection
To allow uninterrupted streams of transmit messages, the CAN Controller provides 
Automatic Transmit Priority Detection for all Transmit Buffers. Depending on the selected 
Transmit Priority Mode, internal prioritization is based on the CAN Identifier or a user 
defined "local priority". If more than one message is enabled for transmission (TR=1) the 
internal transmit message queue is organized such as that the transmit buffer with the 
lowest CAN Identifier (TID) or the lowest "local priority" (TX Priority) wins the prioritization 
and is sent first. The result of the internal scheduling process is taken into account short 
before a new CAN message is sent on the bus. This is also true after the occurrence of a 
transmission error and right before a re-transmission.
Tx DLC
The number of bytes in the Data Field of a message is coded with the Data Length Code 
(DLC). At the start of a Remote Frame transmission the DLC is not considered due to the 
RTR bit being '1 ' (remote). This forces the number of transmitted/received data bytes to 
be 0. Nevertheless, the DLC must be specified correctly to avoid bus errors, if two CAN 
Table 330. CAN Transmit Frame Information register (CAN1TFI[1/2/3] - address 0x4004 40[30/40/50], CAN2TFI[1/2/3] - 
0x4004 80[30/40/50]) bit description
Bit Symbol Function Reset 
Value
RM 
Set
7:0 PRIO If the TPM (Transmit Priority Mode) bit in the CANxMOD register is set to 1, enabled Tx 
Buffers contend for the right to send their messages based on this field. The buffer with the 
lowest TX Priority value wins the prioritization and is sent first.
x
15:8 - Reserved. 0
19:16 DLC Data Length Code. This value is sent in the DLC field of the next transmit message. In 
addition, if RTR = 0, this value controls the number of Data bytes sent in the next transmit 
message, from the CANxTDA and CANxTDB registers:
0000-0111 = 0-7 bytes
1xxx = 8 bytes
0X
29:20 - Reserved. 0
30 RTR This value is sent in the RTR bit of the next transmit message. If this bit is 0, the number of 
data bytes called out by the DLC field are sent from the CANxTDA and CANxTDB registers. 
If this bit is 1, a Remote Frame is sent, containing a request for that number of bytes.
0X
31 FF If this bit is 0, the next transmit message will be sent with an 11-bit Identifier (standard frame 
format), while if it’s 1, the message will be sent with a 29-bit Identifier (extended frame 
format).
0X