Chapter 13
FlexCAN
The following sections provide an introduction to the FlexCAN standard, details of the CAN bus, the Canopen communication
system, details of how to integrate FlexCAN with OpenIL, and running a FlexCAN application.
13.1 Introduction
Both the LS1021A and LS1028A boards have the FlexCAN module. The FlexCAN module is a communication controller
implementing the CAN protocol according to the CAN 2.0 B protocol specification. The main sub-blocks implemented in the
FlexCAN module include an associated memory for storing message buffers, Receive (Rx) Global Mask registers, Receive
Individual Mask registers, Receive FIFO filters, and Receive FIFO ID filters. A general block diagram is shown in the following
figure. The functions of these submodules are described in subsequent sections.
Figure 48. FlexCAN block diagram
13.1.1 CAN bus
CAN (Controller Area Network) is a serial bus system. A CAN bus is a robust
allow
and devices to communicate with each other in applications without a
. Bosch published
several versions of the CAN specification and the latest is CAN 2.0 published in 1991. This specification has two parts; part A is
for the standard format with an 11-bit identifier, and part B is for the extended format with a 29-bit identifier. A CAN device that
uses 11-bit identifiers is commonly called CAN 2.0A and a CAN device that uses 29-bit identifiers is commonly called CAN 2.0B.
CAN is a
standard for connecting Electronic Control Units [ECUs] also known as nodes. Two or more
nodes are required on the CAN network to communicate. The complexity of the node can range from a simple I/O device up to
NXP Semiconductors
Open Industrial User Guide, Rev. 1.8, 05/2020
User's Guide
164 / 199