Share this

Fingerprint recognition system design based on FPS200 sensor and DSP

2026-04-06 03:39:25 · · #1
Introduction Fingerprints, with their uniqueness, stability, and non-lossability, have become an effective means of personal identification. The development of computer image processing and pattern recognition technologies has made automatic fingerprint identification technology more mature. Fingerprint recognition technology mainly analyzes the local features of fingerprints to extract detailed feature points, thereby reliably confirming personal identity. Most current fingerprint recognition systems acquire fingerprint images into a computer and then use the computer for identification. However, this method not only consumes host system resources but also limits the speed of fingerprint image processing. The DSP-based fingerprint recognition system introduced in this paper can not only work offline but also be further developed through an interface and quickly integrated into other systems. This system uses the TI TMS320VC5416 DSP chip (hereinafter referred to as C5416) as the core processor and Veridicom's FPS200 solid-state fingerprint sensor. 1. Fingerprint Recognition Principle 1.1 Composition of a Fingerprint Recognition System Fingerprint recognition uses an image acquisition device to read fingerprint images, extracts feature data from the fingerprint images through recognition software, and then identifies the identity of the fingerprint owner based on the results obtained by a matching algorithm. This biometric recognition technology mainly involves fingerprint image acquisition, image preprocessing, feature extraction, and feature matching. During recognition, a computer compares a pre-stored template with the currently acquired feature data to calculate their similarity, thereby obtaining the matching result of the two fingerprint images. A simplified flowchart of an Automatic Fingerprint Identification System (AFIS) is shown in Figure 1. 1.2 Operating Principle of Fingerprint Acquisition The FPS200 fingerprint sensor consists of a 256×300 capacitive sensor array with a resolution of up to 500 dpi and an operating voltage range of 3.3–5 V. The sensor has an internal 8-bit ADC and two sets of sample-and-hold circuits. The structural block diagram of the FPS200 is shown in Figure 2. The FPS200 is a touch-sensitive CMOS sensor based on the principle of capacitor charging and discharging. Its outer surface is insulating, and each point in the sensor array is a metal electrode. The finger acts as the other electrode of a capacitor, and the sensing surface between them forms the dielectric layer between the capacitor electrodes. Because the distances between the ridges and valleys of the fingerprint relative to the other electrode are different, the capacitance values ​​of the various points in the silicon surface capacitor array are different. Thus, the capacitance array values ​​describe a fingerprint image. Each column of the FPS200 has two sets of sample-and-hold circuits. Fingerprint acquisition is performed row by row. A row is selected, all capacitors in that row are charged, and the voltage values ​​are saved using the sample-and-hold circuit; then, they are discharged, and the remaining voltage values ​​are saved using the other set of sample-and-hold circuits. The two sets of voltage values ​​are converted into a grayscale fingerprint image through a built-in 8-bit analog-to-digital converter. 2. System Hardware Design The feature matching and database modules in this fingerprint recognition system can be implemented in software on the host computer. Fingerprint acquisition, image preprocessing, and feature extraction can be completed by a DSP+CPLD. The hardware structure of the system is shown in Figure 3. This automatic fingerprint recognition system consists of hardware including a DSP, CPLD, FPS200 fingerprint sensor, SRAM, FLASH, and USB interface. The CPLD in Figure 3 serves as the interface and logic controller in the system, controlling the overall system logic and coordinating the work between the fingerprint extractor, DSP, and USB. The FPS200 fingerprint sensor is responsible for collecting the user's fingerprints on-site, while the CPLD stores the fingerprint image in SRAM and notifies the DSP that the data is ready after acquiring an image. During data processing, the DSP extracts data from the SRAM in blocks into its internal 128 KB RAM for fingerprint image preprocessing and feature extraction. The DSP then uploads the fingerprint template to the PC via the USB interface, matches it against the feature fingerprints in the fingerprint database, and finally displays the matching result. 2.1 System Storage Space Allocation Fingerprint images have a large data volume (the fingerprint image acquired by the FPS200 is 256×300 pixels), therefore, running the fingerprint recognition algorithm and storing feature templates require a large amount of storage space. This system has implemented reasonable allocation and management of storage resources. The system's external memory includes 256 KB of FLASH and 256 KB of SRAM. Program code is stored in FLASH; temporary fingerprint image data during algorithm execution is stored in the external SRAM, and the final fingerprint feature template is stored in FLASHEEPROM. The TMS320VC5416 has 23 address lines for addressing the program space and can directly address 8 MB of space. This system only requires 512 KB of address space, so only 19 address lines are used. During design, the high-order address A19 can be used to distinguish between FLASH and SRAM. The lower 15 bits of the DSP address lines can be directly connected to A0-A14 in the FLASH, and the higher 3 bits are controlled by the CPLD for addressing. To provide unified logic control of the memory, the system uses the CPLD to perform chip select, interrupt, reset, and read/write enable functions. 2.2 CPLD Circuit Design The CPLD serves as an interface and logic control device, integrating an address generator and handshake control circuit with the DSP. It can perform functions such as chip selection, interrupts, and general-purpose I/O configuration for the entire system. It can also directly store fingerprint images in SRAM and notify the DSP that data is ready after acquiring an image. The CPLD used in this design is the Altera MAX3000 series EPM3128ATC100-10. 2.3 Keyboard and LCD Circuit Design The LCD module uses the FM12864I as the user interface for displaying fingerprint graphics and processing results. The FM12864I is a graphic dot-matrix LCD, mainly composed of row/column drivers and a 128×64 full dot-matrix LCD. It can display graphics and also 8×4 (16×16 dot matrix) Chinese characters. For ease of debugging, the control pins connecting the DSP output and the LCD are connected to the CPLD together, allowing for flexible timing adjustments. The keyboard has 12 keys, which can be pulled high with a 10 kΩ resistor to form a 3×4 keyboard. The output logic level is connected to the CPLD's I/O, and the key value reading is controlled by a VHDL program. 2.4 USB Interface Circuit The USB interface chip selected is the Cypress EZ-USB FX2 series USB chip CY7C68013. This chip integrates a USB 2.0 transceiver, a serial interface engine (SIE), an enhanced 8051 core, an I2C bus interface, and a general-purpose programmable interface (GPIF). This circuit can perform USB transaction processing, has microprocessor control functions, and can also be used as the main control chip for USB peripherals, with a maximum transmission rate of 480 Mbps. 3. Software Design Fingerprint image preprocessing is the first step in the automatic fingerprint recognition process, and its quality directly affects the effectiveness of the automatic fingerprint recognition system. Image preprocessing includes filtering, sharpening, binarization, thinning, and noise reduction. Since the ridges in the fingerprint image have the characteristics of consistent direction, basically equal width, and basically the same spacing in a local area, directional pattern filtering can be used to process the fingerprint image. Sharpening means strengthening the boundary between fingerprint ridges in order to highlight edge information and enhance the contrast between ridges and valleys to facilitate binarization. The Laplacian single mask algorithm can be used to implement sharpening during the design. Binarization refers to the process of processing the entire image into only black (grayscale value 0) and white (grayscale value 1). There are many binarization methods, the key is the selection of threshold T. The grayscale averaging method with edge intensity as the weight can be used to directly obtain the segmentation threshold. The specific implementation steps are as follows: (1) Divide the fingerprint image into w×w sub-blocks, and then calculate the edge intensity of each sub-block according to the edge intensity operator formula of the image; the edge intensity operator of the image can be defined as: Thinning is the process of converting the fingerprint image with uneven ridge thickness into a stripe center line image with a line width of only 1 pixel. Thinning can reduce redundant information and highlight the main features of the ridges to facilitate subsequent processing. A fast thinning algorithm is used to process the binarized image to obtain the skeleton of a fingerprint image. Feature extraction and matching mainly involves selecting ridge endpoints and bifurcation points as feature points to record the category, location, and orientation information of each feature point, thereby obtaining a feature point set (feature template). The 8-neighborhood method can be used to extract feature points from the binarized fingerprint image, while simultaneously extracting bifurcation points and endpoints and removing spurious feature points. The vertex of the innermost arc of the fingerprint can be used as the center point, that is, the point of maximum curvature on the ridge. If a bifurcation line exists at the vertex of the innermost arc, and the direction of this bifurcation line is consistent with the direction of the ridges on both sides, then the bifurcation point is defined as the center point, and the orientation of each feature point relative to the center point is further determined. In this system, the feature point type, the orientation of the feature point relative to the center point, and the number of ridges of the feature point relative to the center point are used to characterize the feature information of a feature point. Matching two fingerprint images is actually a comparison of the feature point information (3 parameters) of the two images. If two fingerprints have more than 12 matching feature points, it can be basically determined that the two fingerprints belong to the same fingerprint. This paper uses TI's CCS2.0 integrated development environment (IDE) for DSPs and a JTAG emulator for debugging. The fingerprint image preprocessing and matching programs are first simulated in software using the Simulator environment; it should be noted that hardware simulation should generally be performed only after the algorithm is correct. 4. Conclusion This paper presents a fingerprint recognition system design scheme using a DSP+FPS200 fingerprint sensor. Experiments demonstrate that the system can achieve rapid fingerprint acquisition and can easily communicate with a computer via a USB interface. This system can operate offline and can also be further developed through the interface, thus broadening the application scope of fingerprint recognition systems.
Read next

CATDOLL 146CM Tami TPE

Height: 146cm A-cup Weight: 26kg Shoulder Width: 32cm Bust/Waist/Hip: 64/54/74cm Oral Depth: 3-5cm Vaginal Depth: 3-15c...

Articles 2026-02-22