 Hello and welcome to this presentation of the STM32 Digital Camera Interface Controller. It covers all features of this interface. DCMI stands for Digital Camera Interface. The DCMI interface is used to connect a parallel camera module to the STM32. The camera generates a parallel data flow together with a pixel clock signal, DCMI PIX clock, which allows the interface to capture the incoming data flow. Two optional signals, H-Sync and V-Sync, may be used to synchronize the image frame between the camera and the STM32. The DCMI also supports line and frame synchronization code in the data flow. The DCMI allows you to perform continuous grabbing. This process starts on application request and continues until the capture bit is cleared. Alternatively, snapshot mode allows you to capture a single frame upon an application request. With the crop feature, the camera interface can cut and store a rectangular portion of the received image. The camera interface has a configurable parallel data interface from 0 to 14 data lines, together with a pixel clock line, DCMI PIX clock with a programmable polarity and rising falling edge configuration. DCMI PIX clock and AHB clocks must respect the minimum ratio AHB PIX clock of 2.5. It supports color or monochrome cameras using different data formats. Uncoded parallel data, also known as progressive scan, which can either be monochrome or color, raw Bayer. Luminance color coded on 8-bit 422 progressive scan and RGB 565 red-green-blue information coded on 16-bit. Some cameras also use this parallel interface to transmit compressed images in JPEG format. This is an example of a simple application used to transmit the camera image to the LCD display. The standard way to use the camera interface is to store the received data in a frame buffer in RAM. The STM32 can then process this data or transmit it further through another interface, such as USB or Ethernet. In order to limit the bus contention in the system and avoid missing data, despite the high data rate of this interface, the received data are packed in a FIFO buffer, as shown on the next slide. Depending on the interface size, 8, 10, 12 or 14 bits, two or four data items are stored in a single 32-bit word. Once a complete 32-bit word is available, it is transferred by DMA to the memory. This allows us to reduce the bus bandwidth used by the DCMI even for high-speed cases. The DCMI also has a hardware feature allowing us to select one byte out of two or one byte out of four. The feature is used to convert a color image to black and white and or the reduction of the image size. In this later case, in order to keep the form factor of the image, the DCMI may only store every other line, reducing the vertical resolution by a factor of two. An 8-level FIFO is used in order to accommodate for any DMA response latency without losing data. The camera interface allows you to capture a single frame, synchronized on after a software request or to continuously receive the data flow. In capture mode, the capture is requested by setting the capture bit in software and starts with the beginning of the next incoming frame and the DCMI clears the capture bit when the single frame has been received. Cropping is another way to reduce the image size, in addition to reducing the pixel resolution, as mentioned previously. This option is valid for both single frame capture and in continuous mode, but is not supported for JPEG format. Five interrupts are generated. All interrupts are maskable by software. The global interrupt is the OR of all single interrupts. The DMA interface is active when capture mode is enabled. A DMA request is generated each time the camera interface receives a complete 32-bit data block in its FIFO. For DMA channels available to DCMI, please refer to the DMA section in the STM32-H7 reference manual. Here is an overview of the status of the DCMI module in each of the low power modes. DCMI operations are not possible when the device is in stop or standby mode. This is a list of peripherals related to the DCMI module. Refer to DMA and NVIC trainings for more information about the DCMI channel and interrupt configuration and to the GPIO chapter for setting up the alternate function pins used by the DCMI. Examples of configuration and use of camera interface are available in the STM32-H7 package available at www.st.com. The camera additionally needs to be set up through the I2C bus before the images can be transferred via DCMI. An example of two camera setups is available in the board support package driver files. Other camera types need different setup that users have to extract from their documentation. For more details, please refer to the application note AN5020 about DCMI on STM32 devices.