基于ARM和滑動(dòng)指紋傳感器的采集系統(tǒng)
1、 前言
本文引用地址:http://www.ex-cimer.com/article/152571.htm指紋因其唯一性,終身不變性等特點(diǎn),在安全性要求較高的行業(yè),如海關(guān)、金融和刑偵領(lǐng)域得到廣泛應(yīng)用。隨著人們安全意識(shí)和隱私覺(jué)悟的提高,手機(jī)、筆記本、PDA等日常電子消費(fèi)品中也逐漸開(kāi)始使用指紋識(shí)別技術(shù)。此類電子消費(fèi)品因?yàn)楸銛y、手持等特點(diǎn),在體積、重量、功耗方面都有很高的要求,而傳統(tǒng)的指紋傳感器面積較大,不適合此類產(chǎn)品的使用。
隨之產(chǎn)生的滑動(dòng)指紋傳感器(sweep fingerprint sensor),因?yàn)樗〉捏w積、更低的價(jià)格和極低功耗,已經(jīng)逐漸開(kāi)始應(yīng)用于電子消費(fèi)領(lǐng)域和其他安全系統(tǒng)中。以ATMEL公司的AT77C104A FingerChip為例[1],與傳統(tǒng)的指紋傳感器相比,它具有以下優(yōu)點(diǎn):(1)體積小,僅為1.5×15mm;(2)強(qiáng)魯棒性,采集到的相鄰的指紋幀沒(méi)有旋轉(zhuǎn)形變等;(3)低功耗,圖像采集時(shí)為4.5mA,導(dǎo)航時(shí)為1.5mA,睡眠模式小于10uA。 [2]中應(yīng)用的圖像傳感器,獲取的指紋圖像大小為240×240,面積遠(yuǎn)遠(yuǎn)大于滑動(dòng)指紋傳感器。然而手指滑過(guò)滑動(dòng)指紋傳感器時(shí),采集到的一個(gè)指紋幀序列而并非完整的指紋圖像。如何將得到的指紋幀序列快速的拼接成一幅完整的指紋圖像,達(dá)到與傳統(tǒng)的面積較大的指紋傳感器相同的效果,成為一個(gè)急需解決的難題[3]。
為了解決這個(gè)難題,本文實(shí)現(xiàn)了基于ARM9芯片AT91RM9200[4]和滑動(dòng)指紋傳感器AT77104A FingerChip的指紋采集系統(tǒng),并在該系統(tǒng)中完成指紋有效拼接。
2、 指紋采集和拼接系統(tǒng)的硬件設(shè)計(jì)
AT91RM9200是ATMEL推出的ARM9 32位處理器,具有一下優(yōu)點(diǎn):運(yùn)算速度快(在工作頻率為180MHz的情況下它的運(yùn)算速度為200MIPS)、低功耗、可提供片上或片外存儲(chǔ)器以及一系列外圍控制、通信和數(shù)據(jù)存儲(chǔ)的靈活配置。這些特征使得這款芯片適合嵌入式指紋采集系統(tǒng)的開(kāi)發(fā)。
在硬件核心電路中,使用兩片16位的SDRAM來(lái)配置成32位寬度的高性能存儲(chǔ)器,讀取數(shù)據(jù)時(shí)候以四個(gè)字節(jié)為一個(gè)單位,從而加快了數(shù)據(jù)的讀取速度。同時(shí)外擴(kuò)一個(gè)8M的DataFlash,用于存放Uboot、Linux文件系統(tǒng)和應(yīng)用程序。
在本系統(tǒng)中,包括的通信過(guò)程為:
?。?)主機(jī)和ARM板之間的通信包括:首先PC主機(jī)在超級(jí)終端中使用Xmodem協(xié)議發(fā)送文件RomBoot.bin到AT91RM9200內(nèi)置的ROM中,下載完畢后,自動(dòng)運(yùn)行;其次分別將RomBoot.bin和U-Boot.bin程序下載存儲(chǔ)到DataFlash,復(fù)位后自動(dòng)啟動(dòng)U-Boot;最后通過(guò)以太網(wǎng)口將Linux鏡像文件和應(yīng)用程序下載到DataFlash中。再次復(fù)位后,開(kāi)發(fā)板進(jìn)入Linux系統(tǒng)。
?。?)AT77C104A和控制芯片之間的通信:通過(guò)SPI接口完成。控制芯片通過(guò)寫寄存器,設(shè)置AT77C104A的工作模式;AT77C104A將采集到的數(shù)據(jù)傳遞到SDRAM中。
?。?)在該嵌入式系統(tǒng)中,拼接采集到的指紋幀序列,通過(guò)USB接口導(dǎo)出拼接后的指紋圖像。
圖1指紋采集和拼接系統(tǒng)框圖
3、AT91RM9200與AT77C104B FingerChip連接及通信過(guò)程
指紋采集芯片采用ATMEL公司的熱敏傳感芯片AT77C104A FingerChip,通過(guò)滑過(guò)傳感陣列的指紋脊和谷的溫度變化來(lái)獲取指紋數(shù)據(jù)。與傳統(tǒng)的指紋傳感器相比,AT77C104A在體積、功耗、工作頻率以及對(duì)工作環(huán)境的魯棒性等方面均有優(yōu)勢(shì)。該芯片提供了SPI接口,有兩種通信總線:
?。?)SLOW總線:對(duì)應(yīng)SLOW模式,起控制作用,控制和讀寫內(nèi)部寄存器;
?。?)FAST總線:對(duì)應(yīng)FAST模式,用于獲取象素,使主機(jī)獲得所有的指紋象素。
在本指紋采集系統(tǒng)中,利用AT91RM9200的SSC接口與AT77C104B FingerChip相連。SSC 包含獨(dú)立的接收器、發(fā)送器及一個(gè)時(shí)鐘分頻器。每個(gè)發(fā)送器及接收器有三個(gè)接口:針對(duì)數(shù)據(jù)的TD/RD 信號(hào)、針對(duì)時(shí)鐘的TK/RK 信號(hào)及針對(duì)幀同步的TF/RF 信號(hào)。AT91RM9200與AT77C104B FingerChip 通信時(shí),前者處于主機(jī)方式,后者處于從機(jī)方式,連接如圖2所示。
在該通信過(guò)程中,SSC的接收器時(shí)鐘RK由TK驅(qū)動(dòng),同時(shí)接收端與發(fā)送端同步,所以TF與RF相連。AT91RM9200通過(guò)I/O口(PIO_PA5)提供片選信號(hào),選擇指紋傳感器的工作模式。SSC的可編程高電平及兩個(gè)32位專用PDC 通道,可在沒(méi)有處理器干涉的情況下進(jìn)行連續(xù)的高速率數(shù)據(jù)傳輸,適用于快速獲取指紋數(shù)據(jù)。
AT77C104A FingerChip內(nèi)部有13個(gè)寄存器。AT91RM9200通過(guò)寫AT77C104A FingerChip內(nèi)部的模式寄存器,將FingerChip設(shè)置成獲取象素模式。此時(shí),AT91RM9200通過(guò)PIO_PA5將FingerChip的FSS(Fast SPI Slave Slect,低電平有效)信號(hào)置為低電平。設(shè)置完成后,AT91RM9200為主機(jī),F(xiàn)ingerChip為從機(jī)。FingerChip的MISO信號(hào)將采集到的數(shù)據(jù)輸入到AT91RM9200的SSC端口對(duì)應(yīng)的RD端,存儲(chǔ)到SDRAM中。
圖2 AT91RM9200與AT77C104B FingerChip連接
評(píng)論