在各種生物識別技術中,指紋識別技術是最成熟、準確和最易使用的。而指紋采集作為指紋識別系統中的一個重要環節也越來越受到人們的重視,高質量的指紋采集技術已成為一個重要的研究課題。指紋圖像的采集是自動指紋識別系統(AFIS-Automation Fingerprint Identification System)的重要組成部分,采集到的指紋圖像的質量好壞,直接影響到后續的指紋圖像處理過程。高質量的指紋圖像可以大大簡化指紋圖像處理的算法,提高識別率,減小拒識率。 隨著新型半導體指紋采集傳感器件和DSP,CPLD技術的發展,自動指紋識別技術正向著小型化和嵌入式的方向發展。本文介紹的就是基于DSP的指紋采集系統。 本系統的原理 本系統中的指紋傳感器采用FPS200固態指紋芯片,其成像原理如圖1所示。由圖1可以看出,一個像素點上有一個金屬電極,手指皮膚是另一個電極,兩者之間形成了電容CP。手指皮膚上的脊(ridge)和谷(valley)將產生不同的CP。由于CP很小,無法直接測量,所以使用以下方法:先以一固定時間對CP充電(SW1關且SA2開),接著以一固定時間對CP放電(SW1開且SW2關),放出的電能將轉儲到Cc中。每一次充電放電周期中,由于充電電壓相同,充電時間相同,所以不同的CP值將導致CP存儲不同的電能。這些電能在CP放電時將轉儲到Cc中導致Cc電壓的增高。所以CP值的不同將導致一次充電放電周期結束后Cc電壓增高值的不同(成正比),最后將導致Cc電壓增高到參考電壓所需的充電放電周期次數的不同(成反比),這樣就可以通過充電放電周期次數來測量CP了。 圖1 FPS200指紋成像原理 傳感器陣列包括256列×300行的傳感器電極,每一列都有兩個采樣—保持電路與之相聯系。采集一個指紋圖像時獲取一行數據,而此過程共有兩個階段。第一階段,傳感器電極中被選擇的行預充電到VDD電平,一個內部信號允許第一采樣—保持電路集合保存預充電行的電平。第二階段,行傳感器電極以一定電流放電,每個單元的放電率跟“放電電流”成比例。經過一段時間(即“放電時間”)后,一個內部信號允許第二采樣——保持電路集合保存最終電極的電平。預充電與放電后的電極電平之間的差別在于傳感器電容量。行獲取結束后,就可以對行中的每個單元進行A/D轉換了。芯片的敏感度可以通過調整放電時間與放電電流來控制;電流源的參考值由外接于ISET和地之間的電阻來決定,其由放電電流寄存器(DCR)控制;放電時間由放電時間寄存器(DTR)控制。 當指紋中的凸起部分置于傳感電容像素電極上時,電容會有所增加,通過檢測增加的電容就能進行指紋采集。傳感器中的像素點大小為45μm2,間隔為50μm,像素陣列的分辨率略高于500dpi,基于一種標準的單一多晶硅三層金屬0.5μm CMOS工藝。 處于指紋的凸起下的像素(電容量高)放電較慢,而處于指紋的凹處下的像素(電容量低)放電較快。這種不同的放電率可通過采樣保持(S/H)電路檢測并轉換成一個8位數字量輸出,這種檢測方法對指紋凸起和低凹具有較高的敏感性,并可形成非常好的原始指紋圖像。指紋圖像依次進行逐行采集,每個金屬電極均作為電容的一個極,與之接觸的手指則是電容的另一個極。在器件表面有一層鈍化層,作為電容兩個電極間的電介質層。將手指置于傳感器上時,指紋上的凸起和凹進會在陣列上產生不同的電容值,并構成用于認證的一整幅圖像。 系統硬件設計 本系統的工作主要由以下部分構成:指紋圖像采集部分、程序與數據存儲部分、全局邏輯控制部分以及數據通信部分。 指紋圖像采集部分:系統利用軟件查詢方式來判斷是否進行指紋的采集。當進行指紋采集時,指紋傳感芯片按照設定的參數采集指紋并將模擬圖像轉換成數字圖像,然后在DSP的控制下將數據存儲在外部數據空間中,等待進行下一步的處理。 圖2 系統硬件原理框圖 程序與數據存儲部分:此部分由SRAM和DSP片內DARAM構成,SRAM用于存放指紋圖像并提供程序運行時所需要的臨時數據空間。 全局邏輯控制部分:此部分由CPLD來完成,實現以下三方面的功能:①對DSP的數據空間進行分時尋址;②產生系統中各個芯片的片選信號;③產生系統中各個芯片的讀寫信號。 數據通信部分:該部分設計了串口通信以及USB通信兩種模式,均可以單獨工作。串口通信采用的是TI公司的異步串行收發芯片TL16C550,配合一片MAX232即可實現計算機與目標系統數據的通信;USB通信部分采用了南京沁恒電子公司的USB通信芯片CH375。 1 TMS320VC5402芯片 TMS320VC5402具有優化的CPU結構,內部有1個40位的算術邏輯單元(包括一個40位的桶式移位寄存器和兩個獨立的40位累加器),一個17×17的乘法器和一個40位專用加法器,16K×16bit RAM空間和4K×16bit ROM空間;共20根地址線,可尋址64K×16bit數據區和1M×16bit程序區,具有64K I/O空間;處理速度為100MIPS,速度高、功耗低。 2 存儲器電路的設計 通常一個DSP系統除了DSP芯片之外,還需要外部存儲器。外部存儲器一般有兩種,即存儲程序和固定數據的EPROM和可讀寫的快速RAM。本系統采用的存儲器為CY7C1041,是一款256K×16bit的靜態RAM。從接口方式考慮,外部存儲器分為串口存儲器和并口存儲器2種。在DSP系統中,由于要求高速交換數據,一般都采用并口存儲器。 由DSP的程序空間選擇信號PS作為外部程序存儲器的片選線,讀寫線R/W作為外部存儲器的讀寫控制線,存儲器選通信號MSTRB作為外部程序存儲器的使能線,地址線A0~A17作為地址線尋址256K×16程序存儲空間。在DSP與外部數據存儲器的接口中,讀寫線R/W作為外部存儲器的讀寫控制線,由數據空間選擇信號DS作為外部數據存儲器的片選信號,存儲器選通線MSTRB作為外部數據存儲器的使能線,因為C54XX系列DSP地址線只有A0~A15才能作為外部數據存儲器和I/0口尋址,所以要尋址空間超過64KB,必須擴展地址線。 3 DSP與FPS200的接口設計 本系統TMS320VC5402與指紋傳感器FPS200的接口實現采用微處理器接口模式,其接口形式非常簡單。需要說明的是,在該芯片中,地址選擇與數據寫入是分兩步完成的,先通過A0置0來寫地址索引寄存器,然后再對A0置1來讀寫對應地址的數據寄存器。 指紋傳感器通過目錄地址表去選擇它的功能寄存器。芯片內有8位數據線(D[7:0])和一個地址選擇線(A0)。此地址線用來選擇目錄寄存器和數據寄存器。若A0為低,則選中目錄地址;若A0為高,則通過目錄地址選中數據寄存器,而目錄寄存器內數據保持原值,直至被重寫或者芯片復位。 芯片有四個控制輸入引腳:RD、WR、CS0、CS1。若使CS0為低且CS1為高,則選中芯片,數據被鎖存在寫(WR)的上升邊緣。 系統軟件設計 軟件實現包括兩大部分,一是指紋數據采集控制部分,二是指紋數據通信傳輸部分。 指紋數據采集控制部分是使用C語言實現,而指紋數據傳輸采用C/C++語言實現,之后調用TMS320VC5402 C編譯器將其編譯成匯編語言,然后再送TMS320VC5402匯編器進行匯編。 圖3 CCS環境下的程序開發流程 本系統的指紋圖像采集工作是由DSP來控制FPS200指紋傳感器進行的,基于DSP的集成開發環境CCS2.0下的軟件設計流程圖如圖3所示。 本系統的主程序流程圖如圖4所示。 圖4 主程序流程圖 結語 本系統將DSP技術引入指紋采集領域,這些器件比傳統的單片機、分立元件不僅在可靠性、處理速度、穩定性上大大提高,而且使得設計的板卡體積大大減小,功耗大大降低,為指紋技術進入民用領域創造了有利條件。 |