S3C2410和MBF200在指紋采集系統(tǒng)中的應(yīng)用
1 引言
指紋識別即指通過比較不同指紋的細節(jié)特征點來進行鑒別。由于每個人的指紋不同,就是同一人的十指之間,指紋也有明顯區(qū)別,因此指紋可用于身份鑒定。隨著計算機和信息技術(shù)的發(fā)展,F(xiàn)BI和法國巴黎警察局于六十年代開始研究開發(fā)指紋自動識別系統(tǒng)(AFIS)用于刑事案件偵破。目前,世界各地的警察局已經(jīng)廣泛采用了指紋自動識別系統(tǒng)。九十年代,用于個人身份鑒定的自動指紋識別系統(tǒng)得到開發(fā)和應(yīng)用。S3C2410處理器是Samsung公司基于ARM公司的ARM920T處理器核,采用0.18um制造工藝的32位微控制器。該處理器擁有:獨立的16KB指令Cache和16KB數(shù)據(jù)Cache,MMU,支持TFT的LCD控制器,NAND閃存控制器,3路UART,4路DMA,4路帶PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2個USB主機,1個USB設(shè)備,SD主機和MMC接口,2路SPI.S3C2410處理器最高可運行在203MHz.指紋傳感器MBF200具有體積小、低功耗和低成本等特點,屬于電容性傳感器,其傳感器陣列由二維金屬電極組成,所有金屬電極充當(dāng)一個電容板,接觸的手指充當(dāng)另一個電容板,器件表面的鈍化層作為兩板的絕緣層,指紋紋理的凹凸會在傳感器陣列上產(chǎn)生變化的電容。進而引起二維陣列上電壓的變化,形成指紋圖像。結(jié)合兩器件上述特點,這里選用S3C2410和MBF200構(gòu)成指紋采集系統(tǒng)。
2 系統(tǒng)硬件設(shè)計
MCU(Micro Control Unit)中文名稱為微控制單元,又稱單片微型計算機(Single Chip Microcomputer)或者單片機,是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計算機的CPU、RAM、ROM、定時計數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級的計算機,為不同的應(yīng)用場合做不同組合控制。
S3C2410與MBF200通訊支持MCU通訊方式、USB通訊方式和SPI通訊3種數(shù)據(jù)傳輸方式。此系統(tǒng)采用MCU和USB通訊方式。由于MCU通訊方式具有操作簡單、數(shù)據(jù)傳輸速度快等優(yōu)點,這里討論基于MCU通訊的指紋采集系統(tǒng)。MBF200與S3C2410通訊的硬件框圖與指紋采集系統(tǒng)原理圖分別如圖1、圖2所示。
D[7:0]實現(xiàn)與S3C2410的通訊,索引寄存器對應(yīng)存儲空間的最低位為0,功能寄存器對應(yīng)最低位為1;當(dāng)跳針JP1,JP2,JP3跳到右邊時為MCU通訊方式;nGCS2與選通信號CSO連接,用于選通MBF200;S3C2410引腳nOE與MBF200的RD引腳連接,產(chǎn)生讀信號;S3C2410引腳nWE與MBF200的WR引腳連接,產(chǎn)生寫信號;電路中接2個LED,與MBF200引腳P1、P0相連,低電平亮,用于測試硬件電路;JP4連接EINT與MBF200的INTR中斷引腳;WAIT引腳用于在指紋采集時查看A/D轉(zhuǎn)換是否完成,防止在A/D轉(zhuǎn)換未完成時讀出隨機數(shù)據(jù),導(dǎo)致數(shù)據(jù)采集失??;MBF200供電電源選擇S3C2410引腳49提供的VDD33 V.
硬件平臺搭建好后通過向MBF200的CTRLC寫數(shù)據(jù)驗證是否能控制兩個LED燈的點亮和熄滅。通過向索引寄存器寫MBF200功能寄存器的索引號來鎖定該寄存器,當(dāng)功能寄存器被鎖定時,才可以對該寄存器進行讀寫操作。MBF200進行數(shù)據(jù)采集必須正確配置幾個功能寄存器,它們配合使用才能完成指紋采集工作,下面對MCU工作模式下幾個重要寄存器進行說明。
中斷控制寄存器ICR主要控制指紋傳感器的兩個中斷源:內(nèi)部中斷與外部中斷。其IT[1:0]位與IP[1:0]位需配合使用,通過產(chǎn)生中斷喚醒傳感器,當(dāng)IT[1:O]被設(shè)置成電平觸發(fā)時,IP [1:0]位要設(shè)置為上升沿或高電平有效;控制寄存器CTRLA寫非"0"值開始A/D轉(zhuǎn)換,讀該寄存器獲取指紋圖像數(shù)據(jù),當(dāng)A/D轉(zhuǎn)換正在進行時,不能對該寄存器進行寫操作,否則A/D)轉(zhuǎn)換不能繼續(xù)進行,要等到上一個A/D轉(zhuǎn)換完成才能可讀該寄存器,否則會讀出錯誤的數(shù)據(jù);控制寄存器CTRLB在初始化時要將AFDEN置位,以使能器件的自動檢測功能,AUTOINCEN置位以實現(xiàn)圖像采集時自動進行A/D轉(zhuǎn)換。
3 軟件接口設(shè)計
3.1 主程序設(shè)計
軟件設(shè)計主要實現(xiàn)S3C2410控制MBF200驅(qū)動程序的編寫。在ADS 1.2開發(fā)環(huán)境下采用移植性強的C語言編寫程序,目標(biāo)板上電后初始化整個采集系統(tǒng),包括ARM系統(tǒng)的初始化和MBF200的初始化。
MBF200器件采集圖像通過檢測中斷開始,首先使能中斷,中斷寄存器清零。本程序采用電平觸發(fā)方式,在無指紋時引腳INTR是高電平,當(dāng)有指紋時變?yōu)榈碗娖?。因此,檢測中斷信號就是檢測引腳INTR的信號。程序向CTRLA寄存器寫0x02,采集整個區(qū)域的指紋圖像,圖像數(shù)據(jù)存儲在CTRLA寄存器。注意要等到上一個A/D轉(zhuǎn)換完成才能讀該寄存器,否則會讀出錯誤的數(shù)據(jù)。主程序流程如圖3所示。
MBF200的功能寄存器中除SRA、CIDH、CIDL外,在指紋采集前必須對其初始化。指紋采集主程序源代碼如下:
3.2 寄存器參數(shù)選擇
寄存器是中央處理器內(nèi)的組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數(shù)據(jù)和位址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數(shù)器(PC)。在中央處理器的算術(shù)及邏輯部件中,包含的寄存器有累加器(ACC)。寄存器通常都用來意指由一個指令之輸出或輸入可以直接索引到的暫存器群組。更適當(dāng)?shù)氖欠Q他們?yōu)?架構(gòu)寄存器".
?。?)門限值THR的選擇門限值THR和周圍環(huán)境的溫度、濕度等有關(guān),周圍環(huán)境不同,門限值也不同。當(dāng)門限值不合適時,器件在空閑狀態(tài)會被認為是有手指按下,中斷信號為低電平。因此,在采集時必須選擇門限值。門限值選擇流程如圖4所示。
(2)DTR、DCR、PGC寄存器參數(shù)選擇DTR、DCR、PGC 3個寄存器參數(shù)選擇直接決定采集圖片的質(zhì)量。DTR寄存器控制電容放電時間,它對圖片的背景有很大影響,如果過小,則背景區(qū)域較暗,不利于后續(xù)處理,經(jīng)實驗驗證其值最好不小于0x2e;DCR寄存器控制電容放電電流,它對圖片的前景區(qū)和背景區(qū)都有很大影響,如果過小,則背景區(qū)域較暗,不利于后續(xù)處理,如果該值過大,則圖片很淡,亦不利于后續(xù)處理,經(jīng)實驗驗證其值最好為0x01;PGC寄存器是可編程增益寄存器,它對圖片的前景背景都有很大影響,
4 結(jié)束語
隨著社會發(fā)展,信息安全被提到更高的位置,指紋自動識別系統(tǒng)會有更廣闊的應(yīng)用前景。指紋采集模塊對識別工作有很大影響。結(jié)合S3C2410與MBF200的特點,設(shè)計由S3C2410控制的基于MCU通信方式的指紋采集系統(tǒng),該指紋采集系統(tǒng)結(jié)構(gòu)簡單、操作方便、采集速度快,適合于嵌入式系統(tǒng)應(yīng)用。