Fingerprint Recognition System Using MCU

With the popularity of fingerprint recognition on smartphones, fingerprint recognition technology is being applied in more and more scenarios. In addition to mobile applications, it is also gradually popularized in embedded scenarios such as mobile payments, access control systems, and smart homes.

In terms of system implementation, smartphones themselves have powerful computing capabilities and rich memory resources, making fingerprint recognition not difficult. However, in embedded systems, especially in applications based on MCU, the computing power and memory resources are limited. This article introduces a fingerprint recognition scheme based on a microcontroller system and design points.

Fingerprint Recognition System Using MCU

  

As shown in the figure below, this is a system block diagram of a WiFi fingerprint recognition front-end. The application scenario is: when a finger presses the fingerprint recognition module, the fingerprint data is collected and transmitted to the microcontroller. The microcontroller processes the fingerprint data through recognition algorithms and wirelessly transmits the processing results to the cloud via the WiFi module for identity recognition services.

  

Fingerprint Recognition System Using MCU

In specific implementation, since the fingerprint recognition algorithm involves many floating-point operations and requires temporary storage of the original data and intermediate computation data of the fingerprint matrix, there are strict requirements for computing power and storage space. Among the mainstream microcontroller architectures, the Cortex-M4 architecture integrates an FPU (Floating Point Unit). At a main frequency of 100MHz, its floating-point computation capability can meet the requirements.

The code for the fingerprint recognition algorithm occupies hundreds of Kbytes of code space after compilation. Considering the overall requirement of around 1MB of Flash code space for the WiFi network connection, application layer code, etc., a data storage requirement of about 512KB of SRAM space is suitable.

During system operation, a strong computing capability is required during the fingerprint recognition process. However, when no fingerprint is pressed, it needs to run in a low-power state to meet the power consumption requirements of embedded systems.

Fingerprint Recognition System Using MCU

  

In our scheme, we chose an MCU with XIP (eXecute In Place) characteristics, storing the code in an external SPI Flash that can be executed by the system, thus greatly expanding the code storage space. The code in the external SPI Flash has a slightly lower execution speed due to the need for internal cache.

For the core code of the recognition algorithm, it can be copied to SRAM during the Boot phase for execution, thereby improving execution speed. The XIP+SRAM code space allocation scheme balances performance and cost, making it a highlight of this design.

Fingerprint Recognition System Using MCU

  

The fingerprint recognition chip is the core component of the system implementation. The current mainstream technical indicators require the fingerprint recognition chip to be based on capacitive technology, support Live Finger Detection, be pressure-sensitive, and use a glass cover plate, enabling 360-degree touch in any direction and supporting sliding navigation.

Live Finger Detection technology has the characteristic of preventing fake fingerprint cracking and integrates a heart rate detection function, allowing users to view heart rate values in real-time. The integration of sensors facilitates the design and integration of the whole machine for manufacturers, making it convenient for application in embedded microcontroller systems.

Fingerprint Recognition System Using MCU

  

The data interface between the fingerprint recognition chip and the host requires a transmission rate of over 5Mbps during fingerprint data collection, as throughput below 5Mbps will affect user experience.

Low-speed interfaces such as UART and I2C cannot meet throughput requirements, while the SPI interface is simple and can fully meet the transmission rate requirements, making it the most suitable communication interface.

  

The fingerprint recognition chip periodically checks whether there is a finger touching the Pixel sensor area. When a finger touch is detected, it immediately collects live detection data. After data collection is complete, it notifies the Host to read via interrupt. After the MCU reads the live detection data, the chip performs a fingerprint scan. Once the fingerprint scanning starts, it will notify the Host to read data via interrupt. The fingerprint data scanning and Host data reading occur simultaneously.

Fingerprint Recognition System Using MCU

  

The microcontroller receives the raw Pixel data transmitted from the fingerprint chip and transmits it to the cloud via the WiFi module after processing through the recognition algorithm.

Due to the resource limitations of the MCU itself, the WiFi module needs to integrate WiFi drivers and TCP/IP protocol stacks, and can operate application layer code as a relatively independent unit, which greatly reduces the burden on the MCU host side. The WiFi module interacts with the MCU via serial communication.

  

Fingerprint Recognition System Using MCU

Low power consumption and anti-interference are also key points in system design. The fingerprint recognition module periodically scans the sensor even when no finger is pressed. Although the power consumption is lower than during data transmission, to adapt to battery-powered scenarios, it is hoped that the fingerprint recognition module’s power can be turned off during periods without key touches.

To achieve this, as shown in the figure above, a touch button has been added to detect when a finger approaches, turning on the power of the fingerprint recognition chip to perform fingerprint scanning and data collection. When there has been no finger touch for a long time, the power of the fingerprint scanning module is turned off to reduce power consumption.

Additionally, during data collection, to prevent the touch button from affecting the fingerprint recognition sensor, an analog switch is added after the touch button. Before data collection begins, the MCU outputs a control signal to isolate the analog signal from the touch button.

Fingerprint Recognition System Using MCU

Editor: Dai Qingran

Reviewer: Chen Yan

Fingerprint Recognition System Using MCU

Leave a Comment