1 引言
指紋識別是一項高新技術,而指紋識別的前期工作就是指紋圖像采集。采集的圖像質量對指紋識別丁作有重要影響。S3C2410是為手持設備設汁的一款低功耗、高度集成、內含一個ARM920T核的微處理器。該處理器擁有獨立的16 KB指令Cache和16 KB數(shù)據(jù)Cache、MMU、支持TFT的LCD控制器、NAND閃存控制器、4路DMA、4路帶PWM的Timer、I/O端口、RTC、Touch Screen接口、2個USB主機接中、1個USB設備接口、SD主機接口和MMC接口、2路SPI端口、最高運行頻率為203 MHz。指紋傳感器MBF200具有體積小、低功耗和低成本等特點,屬于電容性傳感器,其傳感器陣列由二維金屬電極組成,所有金屬電極充當一個電容板,接觸的手指充當另一個電容板,器件表面的鈍化層作為兩板的絕緣層,指紋紋理的凹凸會在傳感器陣列上產生變化的電容。進而引起二維陣列上電壓的變化,形成指紋圖像。結合兩器件上述特點,這里選用S3C2410和MBF200構成指紋采集系統(tǒng)。
2 系統(tǒ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的通訊,索引寄存器對應存儲空間的最低位為0,功能寄存器對應最低位為1;當跳針JP1,JP2,JP3跳到右邊時為MCU通訊方式;nGCS2與選通信號CSO連接,用于選通MBF200;S3C2410引腳nOE與MBF200的RD引腳連接,產生讀信號;S3C2410引腳nWE與MBF200的WR引腳連接,產生寫信號;電路中接2個LED,與MBF200引腳P1、P0相連,低電平亮,用于測試硬件電路;JP4連接EINT與MBF200的INTR中斷引腳;WAIT引腳用于在指紋采集時查看A/D轉換是否完成,防止在A/D轉換未完成時讀出隨機數(shù)據(jù),導致數(shù)據(jù)采集失??;MBF200供電電源選擇S3C2410引腳49提供的VDD33 V。
硬件平臺搭建好后通過向MBF200的CTRLC寫數(shù)據(jù)驗證是否能控制兩個LED燈的點亮和熄滅。通過向索引寄存器寫MBF200功能寄存器的索引號來鎖定該寄存器,當功能寄存器被鎖定時,才可以對該寄存器進行讀寫操作。MBF200進行數(shù)據(jù)采集必須正確配置幾個功能寄存器,它們配合使用才能完成指紋采集工作,下面對MCU工作模式下幾個重要寄存器進行說明。
中斷控制寄存器ICR主要控制指紋傳感器的兩個中斷源:內部中斷與外部中斷。其IT[1:0]位與IP[1:0]位需配合使用,通過產生中斷喚醒傳感器,當IT[1:O]被設置成電平觸發(fā)時,IP [1:0]位要設置為上升沿或高電平有效;控制寄存器CTRLA寫非“0”值開始A/D轉換,讀該寄存器獲取指紋圖像數(shù)據(jù),當A/D轉換正在進行時,不能對該寄存器進行寫操作,否則A/D)轉換不能繼續(xù)進行,要等到上一個A/D轉換完成才能可讀該寄存器,否則會讀出錯誤的數(shù)據(jù);控制寄存器CTRLB在初始化時要將AFDEN置位,以使能器件的自動檢測功能,AUTOINCEN置位以實現(xiàn)圖像采集時自動進行A/D轉換。
3 軟件接口設計
3.1 主程序設計
軟件設計主要實現(xiàn)S3C2410控制MBF200驅動程序的編寫。在ADS 1.2開發(fā)環(huán)境下采用移植性強的C語言編寫程序,目標板上電后初始化整個采集系統(tǒng),包括ARM系統(tǒng)的初始化和MBF200的初始化。
MBF200器件采集圖像通過檢測中斷開始,首先使能中斷,中斷寄存器清零。本程序采用電平觸發(fā)方式,在無指紋時引腳INTR是高電平,當有指紋時變?yōu)榈碗娖?。因此,檢測中斷信號就是檢測引腳INTR的信號。程序向CTRLA寄存器寫0x02,采集整個區(qū)域的指紋圖像,圖像數(shù)據(jù)存儲在CTRLA寄存器。注意要等到上一個A/D轉換完成才能讀該寄存器,否則會讀出錯誤的數(shù)據(jù)。主程序流程如圖3所示。
MBF200的功能寄存器中除SRA、CIDH、CIDL外,在指紋采集前必須對其初始化。指紋采集主程序源代碼如下:
3.2 寄存器參數(shù)選擇
(1)門限值THR的選擇門限值THR和周圍環(huán)境的溫度、濕度等有關,周圍環(huán)境不同,門限值也不同。當門限值不合適時,器件在空閑狀態(tài)會被認為是有手指按下,中斷信號為低電平。因此,在采集時必須選擇門限值。門限值選擇流程如圖4所示。
(2)DTR、DCR、PGC寄存器參數(shù)選擇DTR、DCR、PGC 3個寄存器參數(shù)選擇直接決定采集圖片的質量。DTR寄存器控制電容放電時間,它對圖片的背景有很大影響,如果過小,則背景區(qū)域較暗,不利于后續(xù)處理,經(jīng)實驗驗證其值最好不小于0x2e;DCR寄存器控制電容放電電流,它對圖片的前景區(qū)和背景區(qū)都有很大影響,如果過小,則背景區(qū)域較暗,不利于后續(xù)處理,如果該值過大,則圖片很淡,亦不利于后續(xù)處理,經(jīng)實驗驗證其值最好為0x01;PGC寄存器是可編程增益寄存器,它對圖片的前景背景都有很大影響,如果過小,則前景區(qū)域較淺,不利于后續(xù)處理,經(jīng)實驗驗證其值最好不小于0x0c。圖5為凋整好參數(shù)后所采集的圖片。其中,DTR=0x32,DCR=0x01.PGC=0x0e。
4 結束語
隨著社會發(fā)展,信息安全被提到更高的位置,指紋自動識別系統(tǒng)會有更廣闊的應用前景。指紋采集模塊對識別工作有很大影響。結合S3C2410與MBF200的特點,設計由S3C2410控制的基于MCU通信方式的指紋采集系統(tǒng),該指紋采集系統(tǒng)結構簡單、操作方便、采集速度快,適合于嵌入式系統(tǒng)應用。