摘要: 為了適應(yīng)指紋采集傳感器件和指紋識別系統(tǒng)向著小型化和嵌入式方向發(fā)展的需要,文中提出了一種基于ARM9處理器架構(gòu)的CPU芯片S3C2440A的嵌入式指紋識別系統(tǒng)(指紋識別系統(tǒng)是一個(gè)典型的模式識別系統(tǒng),包括指紋圖像獲取、處理、特征提取和比對等模塊。)設(shè)計(jì)方案,同時(shí)對該指紋識別系統(tǒng)的硬件架構(gòu)進(jìn)行了說明。該方案具有結(jié)構(gòu)簡單、可擴(kuò)展性和移植性強(qiáng)等諸多優(yōu)點(diǎn)。
0 引言
指紋鑒定是人身識別最重要的手段之一, 指紋自動(dòng)識別系統(tǒng)給指紋鑒定工作提供了一個(gè)新的平臺(tái), 并使指紋自動(dòng)識別系統(tǒng)在身份認(rèn)證方面具有更廣闊的前景。目前, 自動(dòng)指紋識別系統(tǒng)一般都是聯(lián)機(jī)的, 大多數(shù)系統(tǒng)都選用指紋傳感器來采集, 并以計(jì)算機(jī)(PC) 作為主機(jī)來處理, 從而對指紋進(jìn)行匹配。而本文提出的基于ARM9的嵌入式指紋識別系統(tǒng)則是把采集和處理集于一身的獨(dú)立系統(tǒng), 因而可以做得很小, 比較適合用于高檔汽車門、防盜門以及公*勤系統(tǒng)等場合。嵌入式系統(tǒng)是指以應(yīng)用為中心, 以計(jì)算機(jī)技術(shù)為基礎(chǔ), 軟硬件可裁剪, 其應(yīng)用系統(tǒng)對功能、可靠性、成本、體積和功耗等要求都比較嚴(yán)格的專用計(jì)算機(jī)系統(tǒng)。本文選用SAMSUNG的S3C2440A作為嵌入式指紋系統(tǒng)的主處理芯片, 提出了系統(tǒng)的軟硬件設(shè)計(jì)方案。:
1 嵌入式指紋識別系統(tǒng)的硬件設(shè)計(jì)
圖1所示是本嵌入式指紋識別系統(tǒng)的硬件框圖。從圖1中可以看到, 本系統(tǒng)主要由指紋數(shù)據(jù)采集模塊、微處理器模塊、數(shù)據(jù)存儲(chǔ)模塊和通訊模塊等四個(gè)模塊組成。本系統(tǒng)以ARM9處理器為核心來驅(qū)動(dòng)指紋傳感器采集指紋, 并將指紋數(shù)據(jù)放入存儲(chǔ)器中, 此數(shù)據(jù)可以被PC通過串口獲取,也可以保存在數(shù)據(jù)存儲(chǔ)器中。
指紋數(shù)據(jù)采集模塊可利用軟件方式來判斷是否進(jìn)行指紋的采集。當(dāng)進(jìn)行指紋采集時(shí), 指紋傳感芯片將按照設(shè)定的參數(shù)來采集指紋, 并將模擬圖像轉(zhuǎn)換成數(shù)字圖像, 然后在ARM的控制下, 將數(shù)據(jù)存儲(chǔ)在外部數(shù)據(jù)空間, 以等待下一步的處理。
指紋識別系統(tǒng)的硬件框圖
圖1 指紋識別系統(tǒng)的硬件框圖。
微處理器模塊以ARM和數(shù)據(jù)存儲(chǔ)器為核心,可對采集到的指紋圖像進(jìn)行相應(yīng)的預(yù)處理, 并通過對發(fā)光二極管的控制來顯示指紋預(yù)處理結(jié)果。
數(shù)據(jù)存儲(chǔ)模塊由SDRAM、FLASH構(gòu)成。其中Flash中存放的是系統(tǒng)的應(yīng)用程序和一個(gè)指紋預(yù)處理后的數(shù)據(jù), 系統(tǒng)上電后, 即可通過“BootLoader”
功能將程序加載到FLASH中以便程序運(yùn)行。
SDRAM用來存放指紋圖像并提供程序運(yùn)行時(shí)所需要的臨時(shí)數(shù)據(jù)空間。
通訊模塊的設(shè)計(jì)要考慮到處理的簡易性。本系統(tǒng)的指紋數(shù)據(jù)上傳采用的是串口方式。
2 指紋傳感器與處理器的接口設(shè)計(jì)
2.1 指紋采集器件的選擇
考慮到產(chǎn)品價(jià)格的因素和所需精度的要求,本系統(tǒng)選擇了FPS200 指紋傳感器。FPS200 是Veridicom公司推出的第三代半導(dǎo)體指紋傳感器,是一款專為嵌入式系統(tǒng)設(shè)計(jì)的高性能、低功耗、低價(jià)格指紋傳感器。FPS200可以輕易地集成到各種設(shè)備中, 如便攜式電腦、個(gè)人數(shù)字助理(PDA)、移動(dòng)電話等。FPS200基于電容器充放電原理, 它由300行和256列電容陣列組成, 傳感陣列的每一點(diǎn)都是一個(gè)金屬電極, 可充當(dāng)電容器的一極, 手指按在傳感接觸面上的對應(yīng)點(diǎn)則作為另一極, 傳感面形成兩極之間的介電層。由于指紋的脊和谷會(huì)導(dǎo)致各點(diǎn)的電容值不同, 因此, 這個(gè)電容值陣列就形成了一幅指紋圖像。FPS200是面向行的器件, 即每次可獲得一行圖像, 每列接有兩個(gè)采樣保持電路, 當(dāng)選定一行后, 對此行的所有電容充電至VDD, 而在充電結(jié)束時(shí), 第一組采樣保持電路將保存該電壓值。然后, 該行電容將被放電, 經(jīng)過一定的放電時(shí)間后, 另一組采樣保持電路將保存剩余電壓值。兩組采樣保持電路的電壓值之差正比于電容值, 這樣, 將其數(shù)字化即可表示該行的指紋圖像。FPS200的放電電流和放電時(shí)間可分別由寄存器DCR、DTR的值來設(shè)定。
FPS200在待命模式下的操作電流小于20μA, 故可在移動(dòng)設(shè)備的應(yīng)用中節(jié)約電池的消耗, 延長電池壽命。此外, FPS200還有手指自動(dòng)檢測電路(AFD), 當(dāng)有手指按在傳感器表面時(shí), 系統(tǒng)將向主機(jī)發(fā)送一個(gè)中斷信號。自動(dòng)檢測電路允許主機(jī)在沒有指紋時(shí)處在低功耗待命模式, 只有當(dāng)有手指時(shí)才喚醒主機(jī)進(jìn)行處理, 從而節(jié)省了整個(gè)系統(tǒng)的功耗。FPS200的圖像搜索功能則可通過改變電容陣列的參數(shù)值來在1秒種內(nèi)掃描多幅指紋圖像并自動(dòng)選擇最好的一幅。
2.2 指紋圖像的采集方式
FPS200有三種總線接口: USB接口、微處理器總線(MCU) 接口和串行外設(shè)接口(SPI)。使用時(shí)可由模式選擇管腳MODE [1:0] 確定其所處的工作模式。
在MCU接口模式, 通過自動(dòng)增加行列地址寄存器的值以及模數(shù)轉(zhuǎn)換的路徑優(yōu)化功能, 可使FPS200內(nèi)置的標(biāo)準(zhǔn)8位微處理器總線的性能大大加強(qiáng), 其圖像傳輸速度可達(dá)到30幀/秒, 故可以滿足連續(xù)指紋圖像的采集和比對。
在SPI接口模式, FPS200傳感器可通過其內(nèi)置的SPI接口來減小FPS200對硬件的依賴, 這樣,系統(tǒng)只需6條線就可以與帶SPI接口的微處理器相連接。在SPI模式下, FPS200的圖像傳輸速度為10幀/秒。
而在USB接口模式下, 由于FPS200內(nèi)置有高速USB核電路, 其外部不再需要其它USB控制器,因而可作為標(biāo)準(zhǔn)的USB設(shè)備來使用。在USB模式下, FPS200的圖像傳輸速度為13幀/秒。
本設(shè)計(jì)選用SPI接口, 其FPS200與ARM處理器的連線圖如圖2所示。
FPS200與ARM的連線圖
圖2 FPS200與ARM的連線圖。
FPS200的一些狀態(tài)寄存器(如DTR、DCR、PGC、THR等) 需要在進(jìn)行指紋采集之前被初始化。FPS200共有19個(gè)寄存器, 其中控制寄存器C(CTRLC) 主要負(fù)責(zé)時(shí)鐘輸出, 端口P0和Pl在使用中無需考慮。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件主程序流程圖如圖3所示。
系統(tǒng)軟件主程序流程圖
圖3 系統(tǒng)軟件主程序流程圖。
一般情況下, 系統(tǒng)上電后, 都要對整個(gè)采集系統(tǒng)進(jìn)行初始化操作, 包括微處理器系統(tǒng)的初始化以及目標(biāo)板上外設(shè)的初始化, 以對它們的參數(shù)進(jìn)行配置。初始化完成后, 就可以開始檢測傳感器上是否有手指, 如果有, 則進(jìn)行指紋圖像的采集, 采集完成后, 再對這枚指紋圖像進(jìn)行預(yù)處理。若這枚指紋圖像采集的質(zhì)量比較好, 則將數(shù)據(jù)上傳; 如果采集的圖像質(zhì)量很差, 則重新采集指紋數(shù)據(jù)。
指紋圖像的采集是在中斷程序中開始的, 當(dāng)指紋傳感器上沒有手指時(shí), 系統(tǒng)將進(jìn)入省電模式。通過指紋傳感器FPS200的手指自動(dòng)檢測中斷可喚醒系統(tǒng), 并進(jìn)行一次指紋圖像的采集、預(yù)處理和數(shù)據(jù)上傳。完成后再將進(jìn)入省電模式, 并等待下一次的手指中斷采集。ARM中的主程序很簡潔, 因?yàn)橹饕牟僮鞫加芍袛嗤瓿?。手指檢測由指紋傳感器FPS200的自動(dòng)手指檢測中斷來完成,當(dāng)檢測到有手指后, 即可開始對這枚指紋的處理工作。
系統(tǒng)初始化完成后, 系統(tǒng)將對手指是否安放在指紋傳感器上進(jìn)行檢測, 若傳感器上有手指,則進(jìn)行一次指紋采集及相應(yīng)的處理, 然后等待下一次指紋數(shù)據(jù)的采集。實(shí)際上, 指紋的采集和指紋數(shù)據(jù)的上傳都是由中斷過程完成的, 所以, 整個(gè)系統(tǒng)的主程序流程比較簡潔。
4 實(shí)驗(yàn)結(jié)果
通過不斷實(shí)驗(yàn)并設(shè)定FPS200的寄存器DCR、DTR值可以調(diào)整放電電流和放電時(shí)間, 以使采集的圖像獲得最佳。圖4所示是原圖和預(yù)處理后的指紋圖像對比, 由圖4可以看到, 實(shí)驗(yàn)的預(yù)處理效果是比較理想的。
原圖與處理后的指紋圖像對比
圖4 原圖與處理后的指紋圖像對比。
本文對幾十個(gè)采集的指紋圖像進(jìn)行了匹配實(shí)驗(yàn), 所得出的據(jù)真率和誤識率及其所需要的驗(yàn)證時(shí)間如表1所列。
表1 實(shí)驗(yàn)數(shù)據(jù)列表
實(shí)驗(yàn)數(shù)據(jù)列表
5 結(jié)束語
本文給出了基于ARM9和FP200傳感器的指紋識別系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法。本方法在指紋識別的可靠性及快速性上, 充分發(fā)揮了ARM9的優(yōu)勢。
ARM體系結(jié)構(gòu)是面向低預(yù)算市場的第一款RISC微處理器, 具有可集成、可擴(kuò)展、可移植的特點(diǎn)。
我們相信, 隨著其性價(jià)比的提高, ARM的應(yīng)用領(lǐng)域?qū)?huì)越來越廣泛。