Share this

Data acquisition system based on ARM and sliding fingerprint sensor

2026-04-06 05:04:19 · · #1
Abstract: This paper presents a Linux-based fingerprint acquisition system consisting of an ARM9 chip AT91RM9200 and a sliding fingerprint sensor chip AT77C104B FingerChip. A fast fingerprint stitching algorithm is used to stitch together a complete, high-quality fingerprint image, enabling this low-cost, low-power, and small-area sliding fingerprint sensor to achieve the same performance as traditional fingerprint sensors. Keywords: Sweep fingerprint sensor, fingerprint acquisition, fingerprint stitching, block-matching Abstract: This paper elaborates on the implementation of a fingerprint acquisition system based on the embedded Linux environment, which consists of the ARM9 AT91RM9200 and the AT77C104B FingerChip sweep fingerprint sensor. The whole high-quality fingerprint is obtained by a fast stitching algorithm. The effect of fingerprint acquisition by the low-cost, low-power, and small-area sweep fingerprint sensor is as good as traditional fingerprint sensors. Keywords: sweep fingerprint sensor, fingerprint acquisition, fingerprint stitching, block-matching 1. Introduction Fingerprints, due to their uniqueness and lifelong immutability, are widely used in industries with high security requirements, such as customs, finance, and criminal investigation. With the increasing awareness of security and privacy, fingerprint recognition technology is gradually being used in everyday consumer electronics such as mobile phones, laptops, and PDAs. These consumer electronics, due to their portability and handheld nature, have high requirements in terms of size, weight, and power consumption. Traditional fingerprint sensors, with their large area, are unsuitable for use in such products. The resulting sweep fingerprint sensor, due to its smaller size, lower price and extremely low power consumption, has gradually begun to be used in the field of consumer electronics and other security systems. Taking the AT77C104A FingerChip of ATMEL as an example [1], compared with the traditional fingerprint sensor, it has the following advantages: (1) small size, only 1.5×15mm; (2) strong robustness, the adjacent fingerprint frames collected do not have rotational deformation, etc.; (3) low power consumption, 4.5mA when acquiring images, 1.5mA when navigating, and less than 10uA in sleep mode. The image sensor used in [2] acquires a fingerprint image size of 240×240, which is much larger than that of the sweep fingerprint sensor. However, when the finger slides across the sweep fingerprint sensor, a fingerprint frame sequence is acquired instead of a complete fingerprint image. How to quickly stitch the obtained fingerprint frame sequence into a complete fingerprint image to achieve the same effect as the traditional fingerprint sensor with a larger area has become an urgent problem to be solved [3]. To solve this problem, this paper implements a fingerprint acquisition system based on the ARM9 chip AT91RM9200[4] and the sliding fingerprint sensor AT77104A FingerChip, and completes the effective fingerprint splicing in the system. 2. Hardware design of fingerprint acquisition and splicing system The AT91RM9200 is an ARM9 32-bit processor launched by ATMEL, which has the following advantages: fast operation speed (its operation speed is 200MIPS at a working frequency of 180MHz), low power consumption, and can provide on-chip or off-chip memory as well as a series of peripheral control, communication and data storage flexible configurations. These features make this chip suitable for the development of embedded fingerprint acquisition systems. In the core hardware circuit, two 16-bit SDRAMs are used to configure a 32-bit wide high-performance memory. When reading data, four bytes are used as a unit, which speeds up the data reading speed. At the same time, an 8M DataFlash is added externally to store Uboot, Linux file system and application. The communication process included in this system is as follows: (1) Communication between the host and the ARM board includes: First, the PC host uses the Xmodem protocol in the super terminal to send the file RomBoot.bin to the ROM built into the AT91RM9200. After the download is completed, it runs automatically; second, the RomBoot.bin and U-Boot.bin programs are downloaded and stored in DataFlash respectively. After reset, U-Boot is started automatically; finally, the Linux image file and application are downloaded to DataFlash through the Ethernet port. After reset again, the development board enters the Linux system. (2) Communication between AT77C104A and the control chip: completed through the SPI interface. The control chip sets the working mode of AT77C104A by writing registers; AT77C104A transfers the collected data to SDRAM. (3) In this embedded system, the collected fingerprint frame sequence is spliced ​​and the spliced ​​fingerprint image is exported through the USB interface. [align=center] Figure 1 Block diagram of fingerprint acquisition and stitching system[/align] 3. Connection and communication process between AT91RM9200 and AT77C104B FingerChip The fingerprint acquisition chip uses the AT77C104A FingerChip thermal sensor chip from ATMEL, which acquires fingerprint data by measuring the temperature changes of the fingerprint ridges and valleys as they slide across the sensor array. Compared with traditional fingerprint sensors, the AT77C104A has advantages in terms of size, power consumption, operating frequency, and robustness to the working environment. The chip provides an SPI interface with two communication buses: (1) SLOW bus: corresponding to SLOW mode, which plays a control role, controlling and reading/writing internal registers; (2) FAST bus: corresponding to FAST mode, used to acquire pixels, enabling the host to obtain all fingerprint pixels. In this fingerprint acquisition system, the SSC interface of the AT91RM9200 is used to connect to the AT77C104B FingerChip. The SSC contains an independent receiver, transmitter, and a clock divider. Each transmitter and receiver has three interfaces: TD/RD signals for data, TK/RK signals for clock, and TF/RF signals for frame synchronization. When the AT91RM9200 communicates with the AT77C104B FingerChip, the former is in master mode and the latter in slave mode, as shown in Figure 2. During this communication, the SSC's receiver clock RK is driven by TK, and the receiver is synchronized with the transmitter, so TF and RF are connected. The AT91RM9200 provides a chip select signal through I/O port (PIO_PA5) to select the fingerprint sensor's operating mode. The SSC's programmable high level and two 32-bit dedicated PDC channels enable continuous high-speed data transmission without processor interference, suitable for quickly acquiring fingerprint data. The AT77C104A FingerChip has 13 internal registers. The AT91RM9200 sets the FingerChip to pixel acquisition mode by writing to the AT77C104A FingerChip's internal mode register. At this time, the AT91RM9200 sets the FSS (Fast SPI Slave Select, active low) signal of the FingerChip to low level through PIO_PA5. After the setting is completed, the AT91RM9200 is the master and the FingerChip is the slave. The MISO signal of the FingerChip inputs the acquired data to the RD terminal corresponding to the SSC port of the AT91RM9200 and stores it in SDRAM. [align=center] Figure 2 Connection between AT91RM9200 and AT77C104B FingerChip[/align] Each pixel obtained by the fingerprint sensor during swiping is represented by a hexadecimal number, corresponding to 4 clock cycles. When the sensor acquires a frame of data through the SPI port, it first transmits a frame synchronization signal F0F00200, and then transmits 232×8 pixel fingerprint data. Therefore, each frame of data transmission requires n = (232×8+8)×4 = 7496 clock cycles. When the FingerChip operates at 6Mbps, it can acquire 804 frames of fingerprint data per second. The acquired fingerprint data is stored in SDRAM. The fingerprint splicing program splices the fingerprint frame sequence into a complete fingerprint image, and then transmits it back to the PC host for display via USB. 4. System Customization and Driver Loading 4.1 System Customization In order to increase the maintainability of the system, a Linux system is adopted, and the Linux kernel can be trimmed as needed. The system customization process is as follows: (1) First, download RomBoot.bin to the SDRAM of AT91RM9200; after the super terminal displays the RomBoot program interface, download and store the RomBoot.bin and U-Boot.bin programs to the DataFlash addresses 0xc0000000 and 0xc0008000 respectively. Reset the development board and enter the U-Boot command line. (2) In the super terminal, download the trimmed Linux kernel image file and file system to the Dataflash via tftp and run them. 4.2 Loading the Device Driver In the Linux kernel, a device driver enables specific hardware to respond to a well-defined internal programming interface, completely hiding the device's operational details. Users operate the hardware through a set of standardized calls, which are independent of the specific driver. Mapping these calls to device-specific operations that affect the actual hardware is the task of the device driver. On the other hand, this programming interface allows the driver to be built independently of other parts of the kernel, and can be "inserted" into the kernel (loaded into memory) at runtime when needed—a modular implementation in Linux, a key feature of Linux device drivers. The FingerChip driver is loaded into the Linux file system. When the system is running, the insmod command is used to load the fingerprint sensor device. Control of the sensor is achieved through standardized calls. 5. Fingerprint Stitching Algorithm Based on a Sliding Fingerprint Sensor When a finger slides across the fingerprint sensor, the sensor collects a series of fingerprint frames. Therefore, in embedded systems, the acquired fingerprint frame sequences need to be stitched together. Compared to a CPU in a PC, ARM chips are slower. To reduce the waiting time after swiping the fingerprint, the fingerprint stitching speed is crucial. It was found from a large number of fingerprint sequences that when the acquisition speed is fast enough, the fingerprint frame sequence is continuous between two adjacent frames and there will be some overlap. At the same time, the rotation and deformation between adjacent fingerprint frames are negligible and can be ignored. Therefore, when registering adjacent fingerprint frames, it is only necessary to calculate the offset between the two frames. This paper uses a block matching fingerprint stitching algorithm [5] to quickly and effectively find the offset between adjacent fingerprint frames. The block matching algorithm is: (1) Select an M×N X region in image A; (2) Select all possible M×N Y regions in image B; (3) Calculate the average value MAE of the pixel difference between the X region and the Y region; the smaller the MAE, the higher the similarity between the two regions; (4) The Y region corresponding to the minimum MAE value is the one that matches the X region. The calculation formula is: (1) where 0≤i≤M-1, 0≤j≤N-1, p(i,j) is the pixel value of point p in the X region, and q(i,j) is the pixel value of point q in the Y region. The smaller the MAE, the higher the similarity between the two regions. Ideally, the minimum MAE is 0. Specific implementation steps: (1) The fingerprint frame data obtained by the FingerChip AT77104A is 232×8. Let the x direction be 232 and the y direction be 8. In order to effectively stitch the fingerprints of two adjacent frames, the frequency of acquiring each frame of data is set so that the offset dy in the y direction is no greater than 8, that is, to ensure that the two adjacent frames must overlap. (2) Ideally, the finger slides in the y direction and the offset in the x direction is 0. Therefore, only the case where dx is no greater than dy is considered. When dx exceeds dy, the sliding is invalid. (3) From (1) and (2), we can get that |dx|<8. At the same time, we can get that the last row, the middle (232-8×2) pixels must overlap with the next frame. (4) Take the last row of the previous frame (232-8×2) pixels, that is, the template of (232-8×2)×1, and match it with the newly acquired fingerprint frame. (5) Matching method: Find all possible (232-8×2)×1 templates in the new fingerprint frame and calculate the MAE. Select the template corresponding to the minimum value of MAE. This template matches the (232-8×2)×1 template in the last row of the previous frame. That is, dx and dy are obtained. (6) Repeat the above steps until a complete fingerprint image is obtained. Figure 3-a is the fingerprint frame before stitching, and Figure 3-b is the fingerprint image after stitching. [align=center] Figure 3 a. Fingerprint frame before stitching b. Fingerprint image after stitching[/align] 6. Summary This paper implements a fingerprint acquisition system based on the ARM9 chip AT91RM9200 and the sliding fingerprint sensor AT77C104B FingerChip. It has the advantages of low power consumption, convenient acquisition, and simple communication system, and has great practical value. The developed fingerprint stitching algorithm passed the test of 100 fingerprint frame sequences acquired by AT77C104B FingerChip and achieved good results. The fingerprint frame sequences and stitched fingerprint images acquired by this system can be exported via USB interface, which can be used to test the effectiveness of the fingerprint stitching algorithm and the fingerprint recognition algorithm. Because the AT91RM9200 supports Ethernet access, it can be networked for centralized control. The next step is to develop a fingerprint recognition system based on this fingerprint acquisition and stitching algorithm. References: 1. AT77C104B FingerChip Data Sheet. www.atmel.com 2. Xie Jianyang, Li Tiecai, et al., Design and Implementation of Fingerprint Recognition System, Microcomputer Information, 2006, No.8, pp.156-157 3. YL Zhang, J. Yang and HT Wu, “A hybrid swipe fingerprint mosaicing scheme”, AVBPA 2005, LNCS3546, pp.131-140, 2005. 4. AT91RM9200 Data Sheet. www.atmel.com 5. FS Rovati, P. Gardella, P. Zambotti and D. Pau, “Spatial-temporal motion estimation for image reconstruction and mouse functionality with optical or capacitive sensors”, Consumer Electronics, IEEE Transactions on, vol 49, pp.711-718, Aug. 2003
Read next

CATDOLL 148CM Sana (TPE Body with Hard Silicone Head)

Height: 148cm Weight: 30kg Shoulder Width: 34cm Bust/Waist/Hip: 70/58/82cm Oral Depth: 3-5cm Vaginal Depth: 3-15cm Anal...

Articles 2026-02-22