1 Introduction
Fingerprint refers to the uneven surface of the skin on the tip of the finger. Although fingerprints are only a small part of the body's skin, it contains a lot of information. These skin lines in the pattern, breakpoints and intersections are different, in the information processing they are called "characteristics", depending on the uniqueness of the characteristics, you can be the user with his fingerprints, by comparing the fingerprint characteristics of the input and pre-saved legal fingerprint characteristics, you can verify the user's true identity.
Prior to the various fingerprint recognition systems are optical recognition systems, because the light can not penetrate the skin surface, so can only scan the surface of the finger skin, or scan to the deadly skin layer, but not deep into the dermis layer. In this case, the degree of cleanliness of the finger surface directly affects the recognition effect. If more dust is stuck on the user's finger, there may be a case of recognition error. And, if people follow their fingers and do a fingerprint hand model, it may also be through the identification system, for users, the use is not very safe and stable.
This system adopts the spce061a single-chip microcomputer as the control core,spce061a not only has the control function of single chip microcomputer, it is also a DSP chip with strong computing ability, and for the acquisition of fingerprint, The system uses a new type of Fujitsu fingerprint sensor MBF300, the capacitance sensor emitted by the electronic signal can pass through the surface of the finger and deadly skin layer, reach the dermis of the finger skin, directly read the fingerprint pattern, thereby greatly improving the safety of the system.
2 system Design
spce061a 's fingerprint identification system is shown in the overall design scheme 1.
Figure 1 The overall design of fingerprint identification system
The system uses the spce061a of the company's single-chip microcomputer, which is the control function, data processing functions and digital signal processing (DSP) function set in one of the new single-chip microcomputer. Its CPU uses the latest 16-bit micro-processing chip, the operating frequency can reach 40MHz. Its instruction system provides 16-bit multiplication operation instruction and internal product operation instruction, which can be processed by high speed DSP for fingerprint template. Its internal bus structure reduces the connection between the various functional components, and improves the reliability and anti-jamming ability. Its structure is modular and easy to expand the system. It has a strong interrupt handling capability and is suitable for a variety of real-time control areas. Its address line reaches 22, can expand 4M space program and data memory, suitable for the fingerprint recognition system to the memory capacity of large requirements. Its low-power and low-voltage operating modes make it particularly suitable for battery-powered fingerprint identification systems.
MBF300 is a miniature fingerprint sensor developed by Fujitsu, and the system uses MBF300 to compare and analyze the sample fingerprint template into a single chip microcomputer. It is a scanning sensor, which uses the finger to slide the fingerprint on the sensor surface for sampling.
Both the keyboard and LCD are I/O devices. The keyboard allows users to modify the information and enter the ID number, enhance the security of the system; LCD using CHIPS65545, used to display the interface information, in order to prevent electromagnetic interference and signal attenuation, LCD cable must be made some special treatment.
Basic principle and characteristics of 3 MBF300 sensor
Capacitive sensors can convert objects, graphics, text, and other two-dimensional images into electrical signals. The MBF300 belongs to capacitive sensors. It is comprised of a 2-D metal electrode array. One end is a fixed plate, while the human finger skin acts as an active plate. When the finger is placed on the sensor, a tiny signal is coupled from the driving ring to the surface of the finger's dermis and changes with the ridge of the fingerprint and the Grain valley. The sensor detects this subtle change, amplifies the inductive signal, and converts it into a modulus, resulting in an accurate fingerprint image.
3. 1 Fundamentals of MBF300 sensors
The basic principle of the MBF300 capacitive sensor is shown in 2.
Figure 2 schematic diagram of the MBF300 sensor
S is a fixed plate, h is the active plate, that is, the user's finger fingerprint. When the active plate is moved due to the change of the measured parameters, the distance d between the poles changes, thus changing the capacitance between the two plates. The effective area covered by the two Poles is a (M2), the distance between the plates is D (M), and the dielectric constant of the plate is ε (f m-1), and the static capacitance C (F) is as follows:
3. 2
Features of the MBF300 sensor
The MBF300 Surface Protection film is exceptionally hard, making the sensor durable. Its operating voltage is 2.8v~5v, so the battery can be used for power supply. It has a 256*32 pixel sensing matrix, which makes the fingerprint characteristic sampled data more accurate. Its bus interface supports USB1.1, enhanced 8-bit microprocessor interface, and SPI serial interface, respectively. The SPCE061A uses USB interface chip PDIUSBD12 and MBF300 fingerprint sensor for communication.
4 Software Design
4. 1 fingerprint recognition algorithm
The human fingerprint is composed of closely adjacent concave and convex lines, according to equation 3-2, through the use of standard reference discharge current on each pixel point, it can detect the fingerprint texture condition, the specific algorithm is divided into four parts.
4. 1. 1 preprocessing algorithm for fingerprint recognition. The aim of fingerprint recognition preprocessing is to make the fingerprint image clearer and the edge more obvious, so as to identify the feature points of fingerprint. In this paper, we adopt the Extremum filter and the improved smoothing filter to eliminate the noise, make the image not distorted, and take the Laplace sharpening to enhance the fingerprint, highlight the edge information, and provide convenience for the background separation algorithm.
4. 1. 2 background separation. The method of iterative threshold is used to divide the fingerprint image into the threshold value. In image processing, it is called iterative to get the output image by using an operation repeatedly until the condition is satisfied. The iterative threshold method is as follows:
① sets the initial gray threshold t (such as t=127), which refers to the gray value of the fingerprint image divided into two groups of R1 and R2.
② calculates the average gray values U1 and U2 of the two groups.
③ Reset the new grayscale threshold T. The new T definition is: t= (U1+U2)/2.
④ threshold segmentation based on the new T-fingerprint image.
This method is based on the adaptive threshold value of the fingerprint image binary processing. The experimental results show that the method is more universal and effective than setting the fixed threshold.
4.1. 3 feature point extraction. The basic idea of ridge tracking method is to track the image directly and detect and extract the feature points during the tracking process.
4.1. 4 classification algorithm. Fingerprint is divided into 5 categories: Arch, Do ring class, right ring class, pointed arch class and Vortex class, pre-use global feature sorting, can speed up the fingerprint matching service.
4. 2 program Flow
When the system is idle, SPCE061A writes the CPUCLK stop control word with the P_systemclock unit, causing the system to go to sleep from the running state and turn off the system clock (the PLL oscillator). When the user has a fingerprint or key input, the system receives a wake-up signal and then switches the PLL oscillator on, while the CPU responds to the wake-up event and initializes it. Use the Irq3_key to wake-up source for the touch key, and use Fiq to enter the wake-up source for the MBF300 fingerprint sensor. Below are some of the code for Program Flowchart 3 and Irq3_key wake-up programs.
Figure 3 Program Flowchart
r1=0x0000;//set an input port with a pull-down resistor
[P_IOA_ATTRIB]=R1;//Set 3 attribute vectors
[P_ioa_dir]=r1;
[P_IOA_DATA]=R1;//Interrupt settings (allow Irq3_key touch interrupt)
INT off;//off interrupt
r1=0x0080;//SET Interrupt flag
[P_int_ctrl]=r1;
INT IRQ;//Open Interrupt
Read P_ioa_latch unit to latch ioa[0~7] data for touch wake
R1=[p_ioa_latch];//latch a port low 8-bit data
Set the No. 0 to 2nd position of the P_systemclock (write) 7013H unit to "111" so that the system goes to sleep,
r1=0x0007;//system enters sleep state
[P_systemclock]=r1;
IRQ3 subroutine (call IRQ3 Interrupt Service subroutine when the touch wake source of Port A is triggered):
. TEXT
. Public _irq3
_IRQ3:
R1 = 0x0100;//Compare to L_IRQ3_EXT1 interrupt
TEST R1,[p_int_ctrl];
JNZ l_irq3_ext1;//Yes, then enter; No, make the following judgments
R1 = 0x0200;
TEST R1,[p_int_ctrl];//Is l_irq3_ext2 interrupted
JNZ l_irq3_ext2;//Yes, enter the interrupt; No, execute the following program
L_irq3_keychange_wakeup://Not two of the above interrupts must be a key wakeup interrupt
R1 = 0x0080;//clear IRQ3 Touch Interrupt Request
[P_int_clear]= R1;
:
(tasks that are processed after the system is awakened)
:
RETI
L_IRQ3_EXT2:
[P_int_clear] = R1;//Clear IRQ3_EXT2 Interrupt Request
RETI
L_IRQ3_EXT1:
[P_int_clear] = R1;//Clear IRQ3_EXT1 Interrupt Request
RETI
5 Summary
Compared to other fingerprint identification system control core most of the DSP computing power, but the shortcomings of poor control ability, the system is the largest innovation point is the control core using both a single-chip control function, but also has a powerful DSP computing power in one of the 16-bit SOC Chip spce061a, The system can be widely used in fingerprint lock, keyless car, PDA equipment, large-scale access control system and so on, after simple expansion.
Fingerprint recognition system based on SPCE061A