《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM9處理器的嵌入式指紋識別系統(tǒng)設(shè)計(jì)
基于ARM9處理器的嵌入式指紋識別系統(tǒng)設(shè)計(jì)
維庫
摘要: 基于ARM9處理器的嵌入式指紋識別系統(tǒng)設(shè)計(jì),摘要:為了適應(yīng)指紋采集傳感器件和指紋識別系統(tǒng)向著小型化和嵌入式方向發(fā)展的需要,,文中提出了一種基于ARM9處理器架構(gòu)的CPU芯片S3C2440A的嵌入式指紋識別系統(tǒng)(指紋識別系統(tǒng)是一個(gè)典型的模式識別系統(tǒng),,包括指紋
關(guān)鍵詞: ARM 指紋識別
Abstract:
Key words :

     摘要: 為了適應(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 引言

指紋鑒定是人身識別最重要的手段之一,, 指紋自動識別系統(tǒng)給指紋鑒定工作提供了一個(gè)新的平臺, 并使指紋自動識別系統(tǒng)在身份認(rèn)證方面具有更廣闊的前景,。目前,, 自動指紋識別系統(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ù)存儲模塊和通訊模塊等四個(gè)模塊組成。本系統(tǒng)以ARM9處理器為核心來驅(qū)動指紋傳感器采集指紋,, 并將指紋數(shù)據(jù)放入存儲器中,, 此數(shù)據(jù)可以被PC通過串口獲取,也可以保存在數(shù)據(jù)存儲器中,。

指紋數(shù)據(jù)采集模塊可利用軟件方式來判斷是否進(jìn)行指紋的采集,。當(dāng)進(jìn)行指紋采集時(shí),, 指紋傳感芯片將按照設(shè)定的參數(shù)來采集指紋, 并將模擬圖像轉(zhuǎn)換成數(shù)字圖像,, 然后在ARM的控制下,, 將數(shù)據(jù)存儲在外部數(shù)據(jù)空間, 以等待下一步的處理,。

指紋識別系統(tǒng)的硬件框圖
指紋識別系統(tǒng)的硬件框圖
圖1 指紋識別系統(tǒng)的硬件框圖。

微處理器模塊以ARM和數(shù)據(jù)存儲器為核心,,可對采集到的指紋圖像進(jìn)行相應(yīng)的預(yù)處理,, 并通過對發(fā)光二極管的控制來顯示指紋預(yù)處理結(jié)果。

數(shù)據(jù)存儲模塊由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),、移動電話等。FPS200基于電容器充放電原理,, 它由300行和256列電容陣列組成,, 傳感陣列的每一點(diǎn)都是一個(gè)金屬電極, 可充當(dāng)電容器的一極,, 手指按在傳感接觸面上的對應(yīng)點(diǎn)則作為另一極,, 傳感面形成兩極之間的介電層。由于指紋的脊和谷會導(dǎo)致各點(diǎn)的電容值不同,, 因此,, 這個(gè)電容值陣列就形成了一幅指紋圖像。FPS200是面向行的器件,, 即每次可獲得一行圖像,, 每列接有兩個(gè)采樣保持電路,, 當(dāng)選定一行后, 對此行的所有電容充電至VDD,, 而在充電結(jié)束時(shí),, 第一組采樣保持電路將保存該電壓值。然后,, 該行電容將被放電,, 經(jīng)過一定的放電時(shí)間后, 另一組采樣保持電路將保存剩余電壓值,。兩組采樣保持電路的電壓值之差正比于電容值,, 這樣, 將其數(shù)字化即可表示該行的指紋圖像,。FPS200的放電電流和放電時(shí)間可分別由寄存器DCR,、DTR的值來設(shè)定。

FPS200在待命模式下的操作電流小于20μA,, 故可在移動設(shè)備的應(yīng)用中節(jié)約電池的消耗,, 延長電池壽命。此外,, FPS200還有手指自動檢測電路(AFD),, 當(dāng)有手指按在傳感器表面時(shí), 系統(tǒng)將向主機(jī)發(fā)送一個(gè)中斷信號,。自動檢測電路允許主機(jī)在沒有指紋時(shí)處在低功耗待命模式,, 只有當(dāng)有手指時(shí)才喚醒主機(jī)進(jìn)行處理, 從而節(jié)省了整個(gè)系統(tǒng)的功耗,。FPS200的圖像搜索功能則可通過改變電容陣列的參數(shù)值來在1秒種內(nèi)掃描多幅指紋圖像并自動選擇最好的一幅,。

2.2 指紋圖像的采集方式

FPS200有三種總線接口: USB接口、微處理器總線(MCU) 接口和串行外設(shè)接口(SPI),。使用時(shí)可由模式選擇管腳MODE [1:0] 確定其所處的工作模式,。

在MCU接口模式, 通過自動增加行列地址寄存器的值以及模數(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的連線圖
 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)軟件主程序流程圖
系統(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的手指自動檢測中斷可喚醒系統(tǒng),, 并進(jìn)行一次指紋圖像的采集、預(yù)處理和數(shù)據(jù)上傳,。完成后再將進(jìn)入省電模式,, 并等待下一次的手指中斷采集,。ARM中的主程序很簡潔, 因?yàn)橹饕牟僮鞫加芍袛嗤瓿?。手指檢測由指紋傳感器FPS200的自動手指檢測中斷來完成,,當(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ù)列表
實(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ū)絹碓綇V泛,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。