1、 前言
指紋因其唯一性,終身不變性等特點,在安全性要求較高的行業,如海關、金融和刑偵領域得到廣泛應用。隨著人們安全意識和隱私覺悟的提高,手機、筆記本、PDA等日常電子消費品中也逐漸開始使用指紋識別技術。此類電子消費品因為便攜、手持等特點,在體積、重量、功耗方面都有很高的要求,而傳統的指紋傳感器面積較大,不適合此類產品的使用。
隨之產生的滑動指紋傳感器(sweep fingerprint sensor),因為它更小的體積、更低的價格和極低功耗,已經逐漸開始應用于電子消費領域和其他安全系統中。以ATMEL公司的AT77C104A FingerChip為例,與傳統的指紋傳感器相比,它具有以下優點:(1)體積小,僅為1.5×15mm;(2)強魯棒性,采集到的相鄰的指紋幀沒有旋轉形變等;(3)低功耗,圖像采集時為4.5mA,導航時為1.5mA,睡眠模式小于10uA。然而手指滑過滑動指紋傳感器時,采集到的一個指紋幀序列而并非完整的指紋圖像。
為了解決這個難題,本文實現了基于ARM9芯片AT91RM9200和滑動指紋傳感器AT77104A FingerChip的指紋采集系統,并在該系統中完成指紋有效拼接。
簡單點講,指紋傳感器目前主要分為兩類,光學指紋傳感器和半導體指紋傳感器;
光學指紋傳感器:主是利用光的折攝和反射原理,光從底部射向三棱鏡,并經棱鏡射出,射出的光線在手指表面指紋凹凸不平的線紋上折射的角度及反射回去的光線明暗就會不一樣。CMOS或者CCD的光學器件就會收集到不同明暗程度的圖片信息,就完成指紋的采集。
半導體指紋傳感器:這類傳感器,無論是電容式或是電感式,其原理類似,在一塊集成有成千上萬半導體器件的“平板”上,手指貼在其上與其構成了電容(電感)的另一面,由于手指平面凸凹不平,凸點處和凹點處接觸平板的實際距離大小就不一樣,形成的電容/電感數值也就不一樣,設備根據這個原理將采集到的不同的數值匯總,也就完成了指紋的采集。
2、指紋采集和拼接系統的硬件設計
AT91RM9200是ATMEL推出的ARM9 32位處理器,具有一下優點:運算速度快(在工作頻率為180MHz的情況下它的運算速度為200MIPS)、低功耗、可提供片上或片外存儲器以及一系列外圍控制、通信和數據存儲的靈活配置。這些特征使得這款芯片適合嵌入式指紋采集系統的開發。
在本系統中,包括的通信過程為:
(1)主機和ARM板之間的通信包括:首先PC主機在超級終端中使用Xmodem協議發送文件RomBoot.bin到AT91RM9200內置的ROM中,下載完畢后,自動運行;其次分別將RomBoot.bin和U-Boot.bin程序下載存儲到DataFlash,復位后自動啟動U-Boot;最后通過以太網口將Linux鏡像文件和應用程序下載到DataFlash中。再次復位后,開發板進入Linux系統。
(2)AT77C104A和控制芯片之間的通信:通過SPI接口完成。控制芯片通過寫寄存器,設置AT77C104A的工作模式;AT77C104A將采集到的數據傳遞到SDRAM中。
圖1 指紋采集和拼接系統框圖
3、AT91RM9200與AT77C104B FingerChip連接及通信過程
指紋采集芯片采用ATMEL公司的熱敏傳感芯片AT77C104A FingerChip,通過滑過傳感陣列的指紋脊和谷的溫度變化來獲取指紋數據。與傳統的指紋傳感器相比,AT77C104A在體積、功耗、工作頻率以及對工作環境的魯棒性等方面均有優勢。該芯片提供了SPI接口,有兩種通信總線:
(1)SLOW總線:對應SLOW模式,起控制作用,控制和讀寫內部寄存器;
(2)FAST總線:對應FAST模式,用于獲取象素,使主機獲得所有的指紋象素。
在本指紋采集系統中,利用AT91RM9200的SSC接口與AT77C104B FingerChip相連。SSC 包含獨立的接收器、發送器及一個時鐘分頻器。每個發送器及接收器有三個接口:針對數據的TD/RD 信號、針對時鐘的TK/RK 信號及針對幀同步的TF/RF信號。AT91RM9200與AT77C104B FingerChip 通信時,前者處于主機方式,后者處于從機方式,連接如圖2所示。
圖2 AT91RM9200與AT77C104B FingerChip連接
在該通信過程中,SSC的接收器時鐘RK由TK驅動,同時接收端與發送端同步,所以TF與RF相連。SSC的可編程高電平及兩個32位專用PDC 通道,可在沒有處理器干涉的情況下進行連續的高速率數據傳輸,適用于快速獲取指紋數據。
滑動時指紋傳感器獲得的每一個像素,由一個16進制數表示,對應著4個時鐘周期。當傳感器通過SPI端口傳輸獲取到一幀數據時,先傳輸一個幀同步信號F0F00200,然后再傳輸232×8像素指紋數據。獲取到的指紋數據存儲在SDRAM中,通過指紋拼接程序將紋幀序列拼接成完整的指紋圖像,然后通過USB傳輸回PC主機中顯示。
4、 系統定制和驅動程序加載
4.1 系統定制
為了增加系統的可維護性,采用Linux系統,Linux內核可根據需要裁減。系統定制流程:
1、在ShopEx客服的幫助下,以書面形式整理需求;
2、ShopEx開發人員根據開發工作量進行報價:
3、簽約,開發內容做為合同附件:
4、客戶支付相應開發費用;
5、ShopEx進行系統開發、測試;
6、ShopEx客服協同客戶共同就開發內容進行驗收;
7、驗收通過,客戶開始使用定制系統: 會議的管理和控制
8、基于 Web 的會議管理和資源管理,使會議定制、資源管理、用戶管理輕松實現。
9、 系統支持多種會議類型,分別對會議類型、用戶角色等進行了不同級別的驗證。
10、系統支持多種會議成員身份和認證,每個會議成員在系統中擁有不同角色權限。會議主持人可遠程實時控制與會者的視音頻參數,以達到完美的會議效果。
4.2 加載驅動程序
設備驅動程序在Linux內核中,使某個特定的硬件響應一個定義良好的內部編程接口,同時完全隱藏了設備的工作細節。用戶通過一組標準化的調用完成對硬件的操作,而這些調用是和特定的驅動程序無關的。將這些調用映射到作用了實際硬件的設備特定的操作上,就是設備驅動程序的任務。也即Linux中的模塊化實現,這也是Linux中設備驅動程序的一大特點。
將FingerChip驅動程序加載到Linux文件系統中,當系統運行時,使用insmod命令,即可實現指紋傳感器設備的裝載。通過標準化的調用,實現對傳感器的控制。
5、基于滑動式指紋傳感器的指紋拼接算法
當手指滑過時,滑動指紋傳感器采集到是一系列指紋幀序列,因此在嵌入式系統中,需要對獲取的指紋幀序列進行拼接。與PC機中的CPU相比,ARM芯片速度較低。為了減少刮取指紋后的等待時間,對指紋拼接速度的要求很高。
本文運用基于塊匹配指紋拼接算法[5],能夠快速有效的尋找到相鄰指紋幀之間的偏移量。塊匹配算法是:(1)在圖像A中選取M×N大小的X區域;(2)在圖像B中選取所有可能的M×N大小的Y區域;(3)計算X區域和Y區域對應象素差值的平均值MAE;MAE越小,兩區域相似度越高;計算公式為:
(1)
其中0≤i≤M-1,0≤j≤N-1,p(i,j)為X區域的點p的象素值,q(i,j)為Y區域對應點q的象素值。MAE越小,兩區域相似度越高。理想情況下,MAE最小值為0。
具體實現步驟:(1)FingerChip AT77104A獲取到的指紋幀數據大小為232×8,設x方向為232,y方向為8。為了有效的拼接相鄰兩幀指紋,設置獲取每一幀數據的頻率,使得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的最小值對應的模板,此模板與上一幀的最后一行的(232-8×2)×1的模板相匹配。即得dx,dy。(6)重復執行以上步驟,直到得到一幅完整的指紋圖像。圖3-a為拼接前的指紋幀,圖3-b為拼接后的指紋圖像。
圖3 a.拼接前的指紋幀 b.拼接后的指紋圖像
6、 總結
本文實現了基于ARM9芯片AT91RM9200和滑動指紋傳感器AT77C104B FingerChip的指紋采集系統,具有低功耗,采集便捷,通信系統簡單等優點,具有很大的實用價值。開發的指紋拼接算法通過了AT77C104B FingerChip獲取的100幅指紋幀序列的測試,均能達到較好的效果。該系統獲取到的指紋幀序列和拼接后的指紋圖像,均可通過USB接口導出,可用于指紋拼接算法有效性的測試和指紋識別算法的測試。
-
傳感器
+關注
關注
2554文章
51561瀏覽量
757660 -
處理器
+關注
關注
68文章
19485瀏覽量
231501 -
Linux
+關注
關注
87文章
11357瀏覽量
210820
發布評論請先 登錄
相關推薦
TCP/IP協議在AT91RM9200上的實現
推薦:AT91RM9200嵌入式核心控制器模塊
S1D13506顯示控制器與AT91RM9200的接口設計
μCGUI移植到AT91RM9200的過程及接口設計
AT91RM9200中文手冊 AT91RM9200中文資料
基于ARM920T核的AT91RM9200微控制器及其在嵌入
基于ARM和滑動指紋傳感器的采集系統
AT91RM9200簡明手冊.pdf
at91rm9200啟動過程教程
LCD控制器S1D13506在AT91RM9200嵌入式系統
基于AT91RM9200的手持設備的低功耗設計

評論