 Hello, and welcome to this presentation of the STM32F7 basic extended controller area network interface. It will cover the main features of this interface, which is widely used to connect the microcontroller to a CAN network. The controller area network or CAN is a standard serial differential bus broadcast interface, allowing the microcontroller to communicate with external devices connected to the same network bus. The CAN interface is highly configurable, allowing nodes to easily connect using two wires. Applications benefit from a multi-master concept with message priority, object-oriented communication, no node addressing but content identification, real-time capability with low message transfer latency and system-wide message consistency, error detection and management mechanism. The STM32 CAN peripheral supports the basic extended CAN protocol versions 2.0A and B active with a maximum bit rate of 1 megabit per second. The BX CAN includes three transmit mailboxes with a configurable transmit priority option and two receive FIFOs with three stages with 28 scalable filter banks. This allows the CAN to efficiently manage a high number of incoming and outgoing messages with a minimum CPU load. The BX CAN peripheral also manages four dedicated interrupt vectors. The BX CAN has three main operating modes, initialization, normal, and sleep. After a hardware reset, the BX CAN is in sleep mode, which operates at a lower power. Note, in sleep mode, the internal pull-up is active on PIN CAN TX. The BX CAN enters initialization mode via software to allow the configuration of the peripheral. Before entering normal mode, the BX CAN must synchronize with the CAN bus, so it waits until the bus is idle. This means 11 consecutive recessive bits have been monitored on PIN CAN RX. When the CAN is in normal mode, the user can select whether to run in operation or test mode. The BX CAN supports three test modes. In silent mode, the BX CAN is able to receive valid frames, but it sends only recessive bits on the CAN bus and it cannot start a transmission. Silent mode can be used to analyze traffic on a CAN bus without affecting it by the transmission of dominant bits. In loopback mode, the BX CAN treats its own transmitted messages as received messages and stores them, if they pass acceptance filtering, in a received mailbox. Loopback mode is provided for self-test functions. In combined loopback and silent mode, the BX CAN can be tested in loopback mode, but without affecting the running CAN system connected to the CAN TX and CAN RX pins. This simplified block diagram of the BX CAN in a single CAN configuration shows its basic functional and control features. Three types of registers, control configuration registers, filter configuration registers and status registers. Three transmit mailboxes are provided to the software for setting up messages. The transmission scheduler decides which mailbox has priority to be transmitted first. The BX CAN provides 14 scalable and configurable identifier filters for selecting the incoming messages the application needs and discarding the others. To receive FIFOs, FIFO Zero and FIFO One are used by hardware to store incoming messages. Each FIFO can store three complete messages. The FIFOs are completely managed by hardware. This simplified block diagram of the BX CAN in a dual CAN configuration shows the shared 28 acceptance filters between the two BX CAN modules. The users can assign each filter to either FIFO Zero or FIFO One and configure each filter for identifier mask or list mode. The controller area network or CAN bus was originally designed for automotive applications, but is now also used in many other contexts. Here is a summary of CAN interrupt events. Transmit, receive buffers for FIFO Zero and FIFO One, and error and status change interrupts. Here is an overview of the CAN low power configuration modes. The device is not able to perform any communications in stop or standby modes. It is important to ensure that all CAN traffic is completed before the peripheral enters stop or standby modes. The debug support module allows the user to select the BX CAN behavior when the core is halted, in other words, stopped at a break point. The default configuration allows the BX CAN reception to continue as normal, and this may lead to reception overrun errors. The other debug option is to block updates of the BX CAN receive registers and FIFOs until the core is running. For additional information, refer to the training modules for these peripherals, which may affect BX CAN behavior. Reset and clock controller or RCC for more information about the CAN clock control and enable reset. Interrupts for more information about the mapping of the BX CANs interrupts. General purpose IOs or GPIOs for more information about the BX CANs input and output pins. And debug support or DBG for more information about the BX CANs behavior in debug mode. Application notes covering the CAN topic are available on www.st.com. To learn more about the CAN interface, you can also visit a wide range of web pages discussing the CAN communication protocol and bus monitoring tools. Many digital oscilloscopes support direct reading and analysis of data transmitted over the CAN bus.