
C8051F040/1/2/3/4/5/6/7
Rev. 1.5 227
18. Controller Area Network (CAN0)
IMPORTANT DOCUMENTATION NOTE: The Bosch CAN Controller is integrated in the C8051F04x Fam-
ily of devices. This section of the data sheet gives a description of the CAN controller as an overview and
offers a description of how the Silicon Labs CIP-51 MCU interfaces with the on-chip Bosch CAN controller.
In order to use the CAN controller, please refer to Bosch’s C_CAN User’s Manual (revision 1.2) as an
accompanying manual to Silicon Labs’ C8051F04x Data sheet.
The C8051F04x family of devices feature a Control Area Network (CAN) controller that enables serial com-
munication using the CAN protocol. Silicon Labs CAN facilitates communication on a CAN network in
accordance with the Bosch specification 2.0A (basic CAN) and 2.0B (full CAN). The CAN controller con-
sists of a CAN Core, Message RAM (separate from the CIP-51 RAM), a message handler state machine,
and control registers. Silicon Labs CAN is a protocol controller and does not provide physical layer drivers
(i.e., transceivers). Figure 18.1 shows an example typical configuration on a CAN bus.
Silicon Labs CAN operates at bit rates of up to 1 Mbit/second, though this can be limited by the physical
layer chosen to transmit data on the CAN bus. The CAN processor has 32 Message Objects that can be
configured to transmit or receive data. Incoming data, message objects and their identifier masks are
stored in the CAN message RAM. All protocol functions for transmission of data and acceptance filtering is
performed by the CAN controller and not by the CIP-51 MCU. In this way, minimal CPU bandwidth is
needed to use CAN communication. The CIP-51 configures the CAN controller, accesses received data,
and passes data for transmission via Special Function Registers (SFRs) in the CIP-51.
Figure 18.1. Typical CAN Bus Configuration
C8051F04x
CANTX
CANRX
CAN_H
CAN_L
Isolation/Buffer (Optional)
CAN
Transceiver
Isolation/Buffer (Optional)
CAN
Transceiver
Isolation/Buffer (Optional)
CAN
Transceiver
R
R
CAN Protocol Device CAN Protocol Device