基于S3C2410和MBF200的指紋采集系統(tǒng)設(shè)計
指紋識別是一項高新技術(shù),而指紋識別的前期工作就是指紋圖像采集。采集的圖像質(zhì)量對指紋識別丁作有重要影響。S3C2410是為手持設(shè)備設(shè)汁的一款低功耗、高度集成、內(nèi)含一個ARM920T核的微處理器。該處理器擁有獨(dú)立的16 KB指令Cache和16 KB數(shù)據(jù)Cache、MMU、支持TFT的LCD控制器、NAND閃存控制器、4路DMA、4路帶PWM的Timer、I/O端口、RTC、Touch Screen接口、2個USB主機(jī)接中、1個USB設(shè)備接口、SD主機(jī)接口和MMC接口、2路SPI端口、最高運(yùn)行頻率為203 MHz。指紋傳感器MBF200具有體積小、低功耗和低成本等特點(diǎn),屬于電容性傳感器,其傳感器陣列由二維金屬電極組成,所有金屬電極充當(dāng)一個電容板,接觸的手指充當(dāng)另一個電容板,器件表面的鈍化層作為兩板的絕緣層,指紋紋理的凹凸會在傳感器陣列上產(chǎn)生變化的電容。進(jìn)而引起二維陣列上電壓的變化,形成指紋圖像。結(jié)合兩器件上述特點(diǎn),這里選用S3C2410和MBF200構(gòu)成指紋采集系統(tǒng)。
2 系統(tǒng)硬件設(shè)計
S3C2410與MBF200通訊支持MCU通訊方式、USB通訊方式和SPI通訊3種數(shù)據(jù)傳輸方式。此系統(tǒng)采用MCU和USB通訊方式。由于MCU通訊方式具有操作簡單、數(shù)據(jù)傳輸速度快等優(yōu)點(diǎn),這里討論基于MCU通訊的指紋采集系統(tǒng)。MBF200與S3C2410通訊的硬件框圖與指紋采集系統(tǒng)原理圖分別如圖1、圖2所示。
D[7:0]實(shí)現(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)換未完成時讀出隨機(jī)數(shù)據(jù),導(dǎo)致數(shù)據(jù)采集失??;MBF200供電電源選擇S3C2410引腳49提供的VDD33 V。
硬件平臺搭建好后通過向MBF200的CTRLC寫數(shù)據(jù)驗(yàn)證是否能控制兩個LED燈的點(diǎn)亮和熄滅。通過向索引寄存器寫MBF200功能寄存器的索引號來鎖定該寄存器,當(dāng)功能寄存器被鎖定時,才可以對該寄存器進(jìn)行讀寫操作。MBF200進(jìn)行數(shù)據(jù)采集必須正確配置幾個功能寄存器,它們配合使用才能完成指紋采集工作,下面對MCU工作模式下幾個重要寄存器進(jìn)行說明。
中斷控制寄存器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)換正在進(jìn)行時,不能對該寄存器進(jìn)行寫操作,否則A/D)轉(zhuǎn)換不能繼續(xù)進(jìn)行,要等到上一個A/D轉(zhuǎn)換完成才能可讀該寄存器,否則會讀出錯誤的數(shù)據(jù);控制寄存器CTRLB在初始化時要將AFDEN置位,以使能器件的自動檢測功能,AUTOINCEN置位以實(shí)現(xiàn)圖像采集時自動進(jìn)行A/D轉(zhuǎn)換。
3 軟件接口設(shè)計
3.1 主程序設(shè)計
軟件設(shè)計主要實(shí)現(xiàn)S3C2410控制MBF200驅(qū)動程序的編寫。在ADS 1.2開發(fā)環(huán)境下采用移植性強(qiáng)的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所示。
評論