The MCAN module performs CAN protocol
communication according to ISO 11898-1:2015. The data bit rate can be programmed to
values up to 5Mbps. Additional transceiver hardware is required for the connection
to the physical layer (CAN bus).
For communication on a CAN network, individual message frames can be configured. The message frames and identifier masks are stored in the Message RAM.
All functions concerning the handling of messages are implemented in the Message Handler.
The register set of the MCAN module can be
accessed directly using the module interface. These registers are used to control
and configure the CAN core and the Message Handler, and to access the Message
RAM.
Figure 18-4 shows the MCAN module block diagram, followed by the description of the MCAN
module blocks.
-
CAN Core: The CAN core consists of the CAN protocol controller and the
Rx/Tx shift register. The CAN handles all ISO 11898-1:2015 protocol functions
and supports 11-bit and 29-bit identifiers.
-
Message Handler: the Message Handler (Rx Handler and Tx Handler) is a
state machine that controls the data transfer between the single-ported Message
RAM and the CAN core's Rx/Tx shift register. The Message Handler also handles
the acceptance filtering and Interrupt generation as programmed in the control
registers.
-
Message RAM: the main purpose of the Message RAM is to store Rx/Tx
messages, Tx Event elements, and Message ID Filter elements (for more
information, see Section 18.5.16).
- Message RAM Interface: enables a connection between the Message RAM and the other blocks in the MCAN module.
-
Registers and Message Object Access: Data consistency is provided by
indirect accesses to the message objects. During normal operation, all
software
accesses to the Message RAM are done through interface registers. The interface
registers have the same word-length as the Message RAM.
- Module Interface: The MCAN module registers are accessed by the user's software through a 32-bit peripheral bus interface.
- Clocking: Two clocks are provided to the MCAN module: the peripheral synchronous clock (interface clock - MCAN_ICLK) and the peripheral asynchronous clock (functional clock - MCAN_FCLK).
- Extension Interface: All selected internal status and control signals are routed to this interface (except for the indication signals of configuration change enable bit (MCAN_CCCR.CCE) and Interrupt Register bits (MCAN_IR).