技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于ARM和滑動指紋傳感器的采集系統(tǒng)

基于ARM和滑動指紋傳感器的采集系統(tǒng)

時間:2008-12-22 12:03:14來源:ronggang

導(dǎo)語:?本文實現(xiàn)了由ARM9芯片AT91RM9200和滑動指紋傳感芯片AT77C104B FingerChip構(gòu)成的、基于Linux的指紋采集系統(tǒng)
摘 要:本文實現(xiàn)了由ARM9芯片AT91RM9200和滑動指紋傳感芯片AT77C104B FingerChip構(gòu)成的、基于Linux的指紋采集系統(tǒng)。同時利用一種快速的指紋拼接算法,拼接出完整的高質(zhì)量指紋圖像,使低成本、低功耗和小面積的滑動指紋傳感器達到與傳統(tǒng)的指紋傳感器相同的效果。 關(guān)鍵字:滑動指紋傳感器 指紋采集 指紋拼接 塊匹配 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 sweep fingerprint sensor AT77C104B FingerChip. The whole high quality fingerprint is obtained by a fast stitching algorithm. The effect of fingerprint obtained by the low cost, low power and small area sweep fingerprint sensor is as good as traditional one‘s. Keyword: sweep fingerprint sensor, fingerprint acquisition, fingerprint stitching, block-matching 1、 前言   指紋因其唯一性,終身不變性等特點,在安全性要求較高的行業(yè),如海關(guān)、金融和刑偵領(lǐng)域得到廣泛應(yīng)用。隨著人們安全意識和隱私覺悟的提高,手機、筆記本、PDA等日常電子消費品中也逐漸開始使用指紋識別技術(shù)。此類電子消費品因為便攜、手持等特點,在體積、重量、功耗方面都有很高的要求,而傳統(tǒng)的指紋傳感器面積較大,不適合此類產(chǎn)品的使用。   隨之產(chǎn)生的滑動指紋傳感器(sweep fingerprint sensor),因為它更小的體積、更低的價格和極低功耗,已經(jīng)逐漸開始應(yīng)用于電子消費領(lǐng)域和其他安全系統(tǒng)中。以ATMEL公司的AT77C104A FingerChip為例[1],與傳統(tǒng)的指紋傳感器相比,它具有以下優(yōu)點:(1)體積小,僅為1.5×15mm;(2)強魯棒性,采集到的相鄰的指紋幀沒有旋轉(zhuǎn)形變等;(3)低功耗,圖像采集時為4.5mA,導(dǎo)航時為1.5mA,睡眠模式小于10uA。 [2]中應(yīng)用的圖像傳感器,獲取的指紋圖像大小為240×240,面積遠遠大于滑動指紋傳感器。然而手指滑過滑動指紋傳感器時,采集到的一個指紋幀序列而并非完整的指紋圖像。如何將得到的指紋幀序列快速的拼接成一幅完整的指紋圖像,達到與傳統(tǒng)的面積較大的指紋傳感器相同的效果,成為一個急需解決的難題[3]。   為了解決這個難題,本文實現(xiàn)了基于ARM9芯片AT91RM9200[4]和滑動指紋傳感器AT77104A FingerChip的指紋采集系統(tǒng),并在該系統(tǒng)中完成指紋有效拼接。 2、 指紋采集和拼接系統(tǒng)的硬件設(shè)計   AT91RM9200是ATMEL推出的ARM9 32位處理器,具有一下優(yōu)點:運算速度快(在工作頻率為180MHz的情況下它的運算速度為200MIPS)、低功耗、可提供片上或片外存儲器以及一系列外圍控制、通信和數(shù)據(jù)存儲的靈活配置。這些特征使得這款芯片適合嵌入式指紋采集系統(tǒng)的開發(fā)。   在硬件核心電路中,使用兩片16位的SDRAM來配置成32位寬度的高性能存儲器,讀取數(shù)據(jù)時候以四個字節(jié)為一個單位,從而加快了數(shù)據(jù)的讀取速度。同時外擴一個8M的DataFlash,用于存放Uboot、Linux文件系統(tǒng)和應(yīng)用程序。   在本系統(tǒng)中,包括的通信過程為:  ?。?)主機和ARM板之間的通信包括:首先PC主機在超級終端中使用Xmodem協(xié)議發(fā)送文件RomBoot.bin到AT91RM9200內(nèi)置的ROM中,下載完畢后,自動運行;其次分別將RomBoot.bin和U-Boot.bin程序下載存儲到DataFlash,復(fù)位后自動啟動U-Boot;最后通過以太網(wǎng)口將Linux鏡像文件和應(yīng)用程序下載到DataFlash中。再次復(fù)位后,開發(fā)板進入Linux系統(tǒng)。  ?。?)AT77C104A和控制芯片之間的通信:通過SPI接口完成??刂菩酒ㄟ^寫寄存器,設(shè)置AT77C104A的工作模式;AT77C104A將采集到的數(shù)據(jù)傳遞到SDRAM中。  ?。?)在該嵌入式系統(tǒng)中,拼接采集到的指紋幀序列,通過USB接口導(dǎo)出拼接后的指紋圖像。 [align=center] 圖1指紋采集和拼接系統(tǒng)框圖[/align] 3、AT91RM9200與AT77C104B FingerChip連接及通信過程   指紋采集芯片采用ATMEL公司的熱敏傳感芯片AT77C104A FingerChip,通過滑過傳感陣列的指紋脊和谷的溫度變化來獲取指紋數(shù)據(jù)。與傳統(tǒng)的指紋傳感器相比,AT77C104A在體積、功耗、工作頻率以及對工作環(huán)境的魯棒性等方面均有優(yōu)勢。該芯片提供了SPI接口,有兩種通信總線:  ?。?)SLOW總線:對應(yīng)SLOW模式,起控制作用,控制和讀寫內(nèi)部寄存器;  ?。?)FAST總線:對應(yīng)FAST模式,用于獲取象素,使主機獲得所有的指紋象素。   在本指紋采集系統(tǒng)中,利用AT91RM9200的SSC接口與AT77C104B FingerChip相連。SSC 包含獨立的接收器、發(fā)送器及一個時鐘分頻器。每個發(fā)送器及接收器有三個接口:針對數(shù)據(jù)的TD/RD 信號、針對時鐘的TK/RK 信號及針對幀同步的TF/RF 信號。AT91RM9200與AT77C104B FingerChip 通信時,前者處于主機方式,后者處于從機方式,連接如圖2所示。   在該通信過程中,SSC的接收器時鐘RK由TK驅(qū)動,同時接收端與發(fā)送端同步,所以TF與RF相連。AT91RM9200通過I/O口(PIO_PA5)提供片選信號,選擇指紋傳感器的工作模式。SSC的可編程高電平及兩個32位專用PDC 通道,可在沒有處理器干涉的情況下進行連續(xù)的高速率數(shù)據(jù)傳輸,適用于快速獲取指紋數(shù)據(jù)。   AT77C104A FingerChip內(nèi)部有13個寄存器。AT91RM9200通過寫AT77C104A FingerChip內(nèi)部的模式寄存器,將FingerChip設(shè)置成獲取象素模式。此時,AT91RM9200通過PIO_PA5將FingerChip的FSS(Fast SPI Slave Slect,低電平有效)信號置為低電平。設(shè)置完成后,AT91RM9200為主機,F(xiàn)ingerChip為從機。FingerChip的MISO信號將采集到的數(shù)據(jù)輸入到AT91RM9200的SSC端口對應(yīng)的RD端,存儲到SDRAM中。 [align=center] 圖2 AT91RM9200與AT77C104B FingerChip連接[/align]   滑動時指紋傳感器獲得的每一個像素,由一個16進制數(shù)表示,對應(yīng)著4個時鐘周期。當傳感器通過SPI端口傳輸獲取到一幀數(shù)據(jù)時,先傳輸一個幀同步信號F0F00200,然后再傳輸232×8像素指紋數(shù)據(jù)。因此,每傳輸一幀數(shù)據(jù),需要n=(232×8+8)×4=7496個時鐘周期。當FingerChip以6Mbps工作時,每秒中可獲取804幀指紋數(shù)據(jù)。獲取到的指紋數(shù)據(jù)存儲在SDRAM中,通過指紋拼接程序?qū)⒓y幀序列拼接成完整的指紋圖像,然后通過USB傳輸回PC主機中顯示。 4、 系統(tǒng)定制和驅(qū)動程序加載   4.1系統(tǒng)定制   為了增加系統(tǒng)的可維護性,采用Linux系統(tǒng),Linux內(nèi)核可根據(jù)需要裁減。系統(tǒng)定制過程為:(1) 首先將RomBoot.bin下載到AT91RM9200的SDRAM里;當超級終端顯示RomBoot程序界面之后,分別將RomBoot.bin和U-Boot.bin程序下載存儲到DataFlash的0xc0000000和0xc0008000地址。復(fù)位開發(fā)板,進入U-Boot命令行。(2)在超級終端中,通過tftp將裁減過的Linux內(nèi)核鏡像文件和文件系統(tǒng)下載到Dataflash中運行。   4.2 加載驅(qū)動程序   設(shè)備驅(qū)動程序在Linux內(nèi)核中,使某個特定的硬件響應(yīng)一個定義良好的內(nèi)部編程接口,同時完全隱藏了設(shè)備的工作細節(jié)。用戶通過一組標準化的調(diào)用完成對硬件的操作,而這些調(diào)用是和特定的驅(qū)動程序無關(guān)的。將這些調(diào)用映射到作用了實際硬件的設(shè)備特定的操作上,就是設(shè)備驅(qū)動程序的任務(wù)。另一方面,這種編程接口使得驅(qū)動程序獨立于內(nèi)核的其他部分而建立,在需要的時候,可以在運行時“插入”內(nèi)核(調(diào)入內(nèi)存),也即Linux中的模塊化實現(xiàn),這也是Linux中設(shè)備驅(qū)動程序的一大特點。   將FingerChip驅(qū)動程序加載到Linux文件系統(tǒng)中,當系統(tǒng)運行時,使用insmod命令,即可實現(xiàn)指紋傳感器設(shè)備的裝載。通過標準化的調(diào)用,實現(xiàn)對傳感器的控制。 5、 基于滑動式指紋傳感器的指紋拼接算法   當手指滑過時,滑動指紋傳感器采集到是一系列指紋幀序列,因此在嵌入式系統(tǒng)中,需要對獲取的指紋幀序列進行拼接。與PC機中的CPU相比,ARM芯片速度較低。為了減少刮取指紋后的等待時間,對指紋拼接速度的要求很高。   從大量的指紋序列中發(fā)現(xiàn),當采集速度足夠快時,指紋幀序列相鄰兩幀之間是連續(xù)的,而且會有部分重疊。同時,相鄰指紋幀之間的旋轉(zhuǎn)和形變微乎其微,幾乎可以被忽略,所以在相鄰指紋幀配準的時候,只需要計算出兩幀之間的偏移量就可以。   本文運用基于塊匹配指紋拼接算法[5],能夠快速有效的尋找到相鄰指紋幀之間的偏移量。塊匹配算法是:(1)在圖像A中選取M×N大小的X區(qū)域;(2)在圖像B中選取所有可能的M×N大小的Y區(qū)域;(3)計算X區(qū)域和Y區(qū)域?qū)?yīng)象素差值的平均值MAE;MAE越小,兩區(qū)域相似度越高;(4)MAE最小值對應(yīng)的Y區(qū)域即為與X區(qū)域匹配。計算公式為:    (1)   其中0≤i≤M-1,0≤j≤N-1,p(i,j)為X區(qū)域的點p的象素值,q(i,j)為Y區(qū)域?qū)?yīng)點q的象素值。MAE越小,兩區(qū)域相似度越高。理想情況下,MAE最小值為0。   具體實現(xiàn)步驟:(1)FingerChip AT77104A獲取到的指紋幀數(shù)據(jù)大小為232×8,設(shè)x方向為232,y方向為8。為了有效的拼接相鄰兩幀指紋,設(shè)置獲取每一幀數(shù)據(jù)的頻率,使得y方向的偏移量dy不大于8,即保證相鄰兩幀一定有重疊。(2)理想情況下,手指在y方向滑動,在x方向上偏移量為0。因此,只考慮dx不大于dy的情況。當dx超過dy時,滑動無效。(3)由(1)(2)可得,|dx|<8。同時可得,最后一行,中間的(232-8×2)個象素與下一幀必有重疊。(4)取前一幀最后一行(232-8×2)個象素,即(232-8×2)×1的模板,與新獲取的一幀指紋匹配。(5)匹配方法:在新的指紋幀里面尋找所有可能的(232-8×2)×1的模板,計算求得MAE。選取MAE的最小值對應(yīng)的模板,此模板與上一幀的最后一行的(232-8×2)×1的模板相匹配。即得dx,dy。(6)重復(fù)執(zhí)行以上步驟,直到得到一幅完整的指紋圖像。圖3-a為拼接前的指紋幀,圖3-b為拼接后的指紋圖像。 [align=center] 圖3 a.拼接前的指紋幀 b.拼接后的指紋圖像[/align] 6、 總結(jié)   本文實現(xiàn)了基于ARM9芯片AT91RM9200和滑動指紋傳感器AT77C104B FingerChip的指紋采集系統(tǒng),具有低功耗,采集便捷,通信系統(tǒng)簡單等優(yōu)點,具有很大的實用價值。開發(fā)的指紋拼接算法通過了AT77C104B FingerChip獲取的100幅指紋幀序列的測試,均能達到較好的效果。該系統(tǒng)獲取到的指紋幀序列和拼接后的指紋圖像,均可通過USB接口導(dǎo)出,可用于指紋拼接算法有效性的測試和指紋識別算法的測試。因為AT91RM9200支持以太網(wǎng)的接入,因此可以聯(lián)網(wǎng)集控。下一步的工作是,在此指紋采集和指紋拼接算法的基礎(chǔ)上,開發(fā)指紋識別系統(tǒng)。 參考文獻   1. AT77C104B FingerChip Data Sheet. www.atmel.com   2. 謝健陽 李鐵才等,指紋識別系統(tǒng)的設(shè)計實現(xiàn),微計算機信息,2006 No.8 P.156-157   3. Y. L. Zhang, J. Yang and H. T. Wu, “A hybrid swipe fingerprint mosaicing scheme”, AVBPA 2005, LNCS3546, pp.131-140, 2005.   4. AT91RM9200 Data Sheet. www.atmel.com   5. F. S. 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

標簽:

點贊

分享到:

上一篇:基于電阻應(yīng)變式傳感器的電子...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號