基于S3C2410和MBF200的指紋采集系統設計
指紋識別是一項高新技術(shù),而指紋識別的前期工作就是指紋圖像采集。采集的圖像質(zhì)量對指紋識別丁作有重要影響。S3C2410是為手持設備設汁的一款低功耗、高度集成、內含一個(gè)ARM920T核的微處理器。該處理器擁有獨立的16 KB指令Cache和16 KB數據Cache、MMU、支持TFT的LCD控制器、NAND閃存控制器、4路DMA、4路帶PWM的Timer、I/O端口、RTC、Touch Screen接口、2個(gè)USB主機接中、1個(gè)USB設備接口、SD主機接口和MMC接口、2路SPI端口、最高運行頻率為203 MHz。指紋傳感器MBF200具有體積小、低功耗和低成本等特點(diǎn),屬于電容性傳感器,其傳感器陣列由二維金屬電極組成,所有金屬電極充當一個(gè)電容板,接觸的手指充當另一個(gè)電容板,器件表面的鈍化層作為兩板的絕緣層,指紋紋理的凹凸會(huì )在傳感器陣列上產(chǎn)生變化的電容。進(jìn)而引起二維陣列上電壓的變化,形成指紋圖像。結合兩器件上述特點(diǎn),這里選用S3C2410和MBF200構成指紋采集系統。
2 系統硬件設計
S3C2410與MBF200通訊支持MCU通訊方式、USB通訊方式和SPI通訊3種數據傳輸方式。此系統采用MCU和USB通訊方式。由于MCU通訊方式具有操作簡(jiǎn)單、數據傳輸速度快等優(yōu)點(diǎn),這里討論基于MCU通訊的指紋采集系統。MBF200與S3C2410通訊的硬件框圖與指紋采集系統原理圖分別如圖1、圖2所示。
D[7:0]實(shí)現與S3C2410的通訊,索引寄存器對應存儲空間的最低位為0,功能寄存器對應最低位為1;當跳針JP1,JP2,JP3跳到右邊時(shí)為MCU通訊方式;nGCS2與選通信號CSO連接,用于選通MBF200;S3C2410引腳nOE與MBF200的RD引腳連接,產(chǎn)生讀信號;S3C2410引腳nWE與MBF200的WR引腳連接,產(chǎn)生寫(xiě)信號;電路中接2個(gè)LED,與MBF200引腳P1、P0相連,低電平亮,用于測試硬件電路;JP4連接EINT與MBF200的INTR中斷引腳;WAIT引腳用于在指紋采集時(shí)查看A/D轉換是否完成,防止在A(yíng)/D轉換未完成時(shí)讀出隨機數據,導致數據采集失??;MBF200供電電源選擇S3C2410引腳49提供的VDD33 V。
硬件平臺搭建好后通過(guò)向MBF200的CTRLC寫(xiě)數據驗證是否能控制兩個(gè)LED燈的點(diǎn)亮和熄滅。通過(guò)向索引寄存器寫(xiě)MBF200功能寄存器的索引號來(lái)鎖定該寄存器,當功能寄存器被鎖定時(shí),才可以對該寄存器進(jìn)行讀寫(xiě)操作。MBF200進(jìn)行數據采集必須正確配置幾個(gè)功能寄存器,它們配合使用才能完成指紋采集工作,下面對MCU工作模式下幾個(gè)重要寄存器進(jìn)行說(shuō)明。
中斷控制寄存器ICR主要控制指紋傳感器的兩個(gè)中斷源:內部中斷與外部中斷。其IT[1:0]位與IP[1:0]位需配合使用,通過(guò)產(chǎn)生中斷喚醒傳感器,當IT[1:O]被設置成電平觸發(fā)時(shí),IP [1:0]位要設置為上升沿或高電平有效;控制寄存器CTRLA寫(xiě)非“0”值開(kāi)始A/D轉換,讀該寄存器獲取指紋圖像數據,當A/D轉換正在進(jìn)行時(shí),不能對該寄存器進(jìn)行寫(xiě)操作,否則A/D)轉換不能繼續進(jìn)行,要等到上一個(gè)A/D轉換完成才能可讀該寄存器,否則會(huì )讀出錯誤的數據;控制寄存器CTRLB在初始化時(shí)要將AFDEN置位,以使能器件的自動(dòng)檢測功能,AUTOINCEN置位以實(shí)現圖像采集時(shí)自動(dòng)進(jìn)行A/D轉換。
3 軟件接口設計
3.1 主程序設計
軟件設計主要實(shí)現S3C2410控制MBF200驅動(dòng)程序的編寫(xiě)。在A(yíng)DS 1.2開(kāi)發(fā)環(huán)境下采用移植性強的C語(yǔ)言編寫(xiě)程序,目標板上電后初始化整個(gè)采集系統,包括ARM系統的初始化和MBF200的初始化。
MBF200器件采集圖像通過(guò)檢測中斷開(kāi)始,首先使能中斷,中斷寄存器清零。本程序采用電平觸發(fā)方式,在無(wú)指紋時(shí)引腳INTR是高電平,當有指紋時(shí)變?yōu)榈碗娖?。因此,檢測中斷信號就是檢測引腳INTR的信號。程序向CTRLA寄存器寫(xiě)0x02,采集整個(gè)區域的指紋圖像,圖像數據存儲在CTRLA寄存器。注意要等到上一個(gè)A/D轉換完成才能讀該寄存器,否則會(huì )讀出錯誤的數據。主程序流程如圖3所示。
評論