Controller Area Network (FlexCAN)
MPC5510 Microcontroller Family Reference Manual, Rev. 1
25-6
Freescale Semiconductor
Preliminary
The FlexCAN module stores CAN messages for transmission and reception using a message buffer
structure. Each MB is formed by 16 bytes mapped in memory as described in
. The FlexCAN
module can manage up to 64 message buffers.
shows a standard/extended message buffer
(MB0) memory map, using 16 bytes (0x80
–
0x8F) total space.
NOTE
Reading the C/S word of a message buffer (the first word of each MB) will
lock it, preventing it from receiving further messages until it is unlocked
either by reading another MB or by reading the timer.
25.3.2
Message Buffer Structure
The message buffer structure used by the FlexCAN module is represented in
. Both extended
and standard frames (29-bit identifier and 11-bit identifier, respectively) used in the CAN specification
(version 2.0 Part B) are represented.
0x0880-0x08BF
CANx_RXIMR0–CANx_RXIMR15 — Rx Individual
Mask Registers
R/W
Note1
0x08C0-0x08FF
CANx_RXIMR16–CANx_RXIMR31 — Rx Individual
Mask Registers
R/W
Note1
0x0900-0x097F
CANx_RXIMR32–CANx_RXIMR63 — Rx Individual
Mask Registers
R/W
Note1
1
Please refer to the register definition.
Table 25-2. Message Buffer MB0 Memory Mapping
Address
Offset
MB Field
0x80
Control and status (C/S)
0x84
Identifier field
0x88–0x8F
Data fields 0–7 (1 byte each)
Table 25-1. FlexCAN Memory Map (continued)
Offset from
FlexCAN_BASE
(FlexCAN_A = 0xFFFC_0000
FlexCAN_B = 0xFFFC_4000
FlexCAN_C = 0xFFFC_8000
FlexCAN_D = 0xFFFC_C000
FlexCAN_E = 0xFFFD_0000
FlexCAN_F = 0xFFFD_4000)
Register
Access Reset Value
1
Section/Page