基于ARM的指紋識別門禁系統(tǒng)設計
摘要:傳統(tǒng)的身份識別技術已經不能滿足現(xiàn)代社會需要,因而指紋識別技術得到了廣泛應用。文章介紹了指紋識別原理與處理方法,指出了一種基于嵌入式ARM9體系結構的指紋識別門禁系統(tǒng)的軟硬件設計方法。
關鍵詞:ARM;指紋識別;S3C2440AL;TFS-D0303
0 引言
現(xiàn)代社會高速發(fā)展,很多場合需要身份確認,傳統(tǒng)的身份識別技術已經不能滿足社會要求。人的身體特征具有不可復制性,因此人們開始研究生物識別技術,而指紋具有唯一性、終生不變性、難于偽造等特點,安全性高,因而得到了廣泛應用。在一些機要部門,如銀行、賓館、機房等一般都安裝有門禁系統(tǒng),門禁系統(tǒng)是為保障人們生活、工作及財產安全, 對重要通道的出入口進行管理與控制的系統(tǒng),基于指紋識別技術的門禁系統(tǒng)是一項高科技安全設施,提高了系統(tǒng)的安全性。ARM作為一種嵌入式系統(tǒng)處理器,具有高性能、低功耗、低成本等特點,因而在工業(yè)控制領域、成像和安全產品方面得到了廣泛應用。本文介紹了基于嵌入式ARM9體系結構的指紋識別原理與處理方法,以及指紋識別門禁系統(tǒng)的軟硬件設計方法。
1 指紋識別原理及處理方法
指紋識別技術通過分析指紋的局部特征,從中抽取詳盡的特征點,從而可靠地確認個人身份。指紋識別技術主要涉及四個功能:讀取指紋圖象、提取特征、保存數(shù)據(jù)和比對。首先從獲取的指紋圖像上找到“特征點”,然后根據(jù)特征點的特性建立用戶活體指紋的指紋特征數(shù)據(jù)(一種單向的轉換,可以從指紋圖像轉換成特征數(shù)據(jù)但不能從特征數(shù)據(jù)轉換成為指紋圖像)。由于兩枚不同的指紋不會產生相同的特征數(shù)據(jù),所以通過對所采集到的指紋圖像的特征數(shù)據(jù)和存放在數(shù)據(jù)庫中的指紋特征數(shù)據(jù)進行模式匹配,從而計算出它們的相似程度,最終得到兩個指紋的匹配結果,根據(jù)匹配結果來鑒別用戶身份。
1.1 指紋圖像的采集
光學取像有著悠久的歷史,它可以追溯到上世紀70年代,依據(jù)的是光的全反射原理。現(xiàn)在一般采用光學指紋傳感器來采集指紋,取得指紋具有圖像清晰、功耗低、穩(wěn)定性高等特點。本系統(tǒng)采用的是TFS—D0303光學指紋傳感器。
1.2 指紋識別的算法實現(xiàn)
指紋識別算法的有效性直接影響著指紋識別的精確度和指紋識別門禁系統(tǒng)的安全性和穩(wěn)定性,對整個門禁的安全性和可靠性起著決定性的作用。指紋識別算法的處理過程主要包括:圖像處理、紋路細化、特征提取和特征匹配等(見圖1)。
預處理在指紋識別中是不可缺少的步驟。其目的是去除圖像獲取時所引入的噪聲,消除低質量圖像的影響,以便后續(xù)環(huán)節(jié)能夠正確地進行特征提取和分類識別。預處理過程主要包括圖像分割、平滑、圖像增強、二值化和細化等步驟,每經過一個步驟都可以改善圖像的質量,有利于后面的工作。
環(huán)境溫度的影響或手指干燥可能會使指紋圖像產生紋線不連續(xù)。對于指紋紋線不連續(xù)的指紋圖像,一般要經過平滑濾波處理,這也是對圖像進行模糊化,使斷裂的紋線邊界經過模糊后連接起來。在本算法中采用低通濾波器對各塊指紋圖像的方向信息進行塊水平的平滑,修正不準確的計算結果。
具體方法為先計算0(x,y)在X軸和Y軸上的投影分量:
式中,H(u,v) 為二維低通濾波器;w1×w1為5×5濾波器尺寸;w為圖像子塊尺寸(本算法取w=10個像素大小)。
經過紋路細化, 二值化圖像的紋路線被細化為只有一個像素寬的連接線段。顯示了原始指紋圖像、增強后的二值化圖像以及細化后的二值化圖像。指紋的特征點信息是從細化后的二值化圖像中提取的。從細化后的二值化圖像中找到分叉點或端點,然后從這些點開始尋找紋路軌跡。通過這些點,紋路的形狀被計算出來。這些形狀數(shù)據(jù)、點的類型以及點的位置就作為該指紋圖像的特征點被記錄下來。
特征匹配是根據(jù)兩幅圖像特征點的最大匹配點支持數(shù)來確定的。假設有甲和乙兩幅圖像,首先依次以甲圖的每一個特征點為基準,依次計算乙圖像中每個和甲圖中基準特征點類型相同的特征點到乙圖中每個特征點的距離和方向,根據(jù)這個距離和方向,再以甲圖中的基準點為原點,計算出甲圖中的一個點,然后判斷是否也是甲圖的特征點,如果是,則匹配支持數(shù)加1。按甲圖中特征點順序依次計算,取最大值就是兩幅圖像的最大支持匹配點數(shù)。如果最大匹配支持點數(shù)大于規(guī)定的值,則認為兩幅圖像匹配。否則,不匹配。
2 系統(tǒng)硬件設計
基于RISC體系結構的ARM微處理器因其體積小、功耗低、執(zhí)行速度快等優(yōu)點在多個領域得到廣泛應用。本系統(tǒng)采用的是三星公司的嵌入式微處理器S3C2440AL,這是一款高性能、低功耗的功能強大的嵌入式應用處理器產品,它采用Intel X-Scale微結構體系框架,集成了許多常用的外圍接口,功能強大。S3C2440AL主頻為400MHz,最高為533MHz;TFS-D0303指紋傳感器由256×300個電容傳感陣列組成,其分辨率高達500dpi,工作電壓范圍為3.3~5V,傳感器內部有8位ADC,并具有2組采樣保持電路。整個硬件系統(tǒng)的框圖如圖2所示。
系統(tǒng)存儲器接口采用128MB SDRAM存儲器,支持16、64、128、256MB DRAM技術,4個SDRAM區(qū),每個區(qū)支持64M存儲器。時鐘允許(一個CKE引腳用于把整個SDRAM接口置為自我刷新),支持最多至6個靜態(tài)存儲器器件(SRAM、Flash、ROM),支持2個PCMCI/CF插槽。時鐘采用3.6864M-Hz振蕩器,具有核PLL和外圍PLL,可產生各種工作頻率,32.768kHz振蕩器可驅動實時時鐘、電源管理器和中斷控制器。電源控制器可控制快速/運行、空閑和睡眠工作方式。LCD控制器支持被動(DSTN)和主動(TFT)LCD顯示,最大分辨率800×600×16,2個專用DMA通道,允許LCD控制器支持單層或雙層顯示。實時時鐘(RTC),可產生周期性中斷,把應用處理器從睡眠狀態(tài)喚醒。串行口通信USB從模塊,符合USB規(guī)范,支持v1.1版本,支持多達16個端點提供48MHz的內部時鐘。
3 系統(tǒng)軟件設計
本系統(tǒng)的軟件設計主要有以下幾個流程:上電系統(tǒng)初始化、指紋識別、控制電鎖的開啟。系統(tǒng)的精度絕大部分取決于指紋識別的算法。程序初始化后進入低功耗模式,等待各種具體操作。當有指紋采集時,就進入指紋數(shù)據(jù)采集和處理模塊,處理結束后,又重新退回低功耗等待模式,等待其他操作。同理,當有讀卡數(shù)據(jù)或者時鐘設置響應時,便進入相應的操作模塊進行處理。
3.1 對S3C2440AL的初始化
系統(tǒng)初始化對于嵌入式系統(tǒng),要在其程序存儲器中有系統(tǒng)初始化代碼(如圖3)。系統(tǒng)執(zhí)行了初始化代碼后,才能正確執(zhí)行其他應用程序,初始化在系統(tǒng)復位后自動完成。系統(tǒng)的初始化必須包含下列初始化代碼,有設置中斷向量表、初始化寄存器、初始化堆棧指針寄存器、初始化端口、改變處理器的工作模式。系統(tǒng)在用戶模式下才能開中斷。在對指紋傳感器的初始化中,應按要求逐步對控制寄存器進行初始化。
3.2 指紋采集
指紋采集可以工作在中斷方式,也可以工作在查詢方式。本系統(tǒng)采用的是查詢工作方式。程序流程大致如下,先初始化各寄存器,先往相應的寄存器寫入控制字,設置采集指紋的參數(shù),當指紋被自動采集進入數(shù)據(jù)寄存器,把指紋數(shù)據(jù)存入到指定的存儲空間。
3.3 與計算機之間的通信
RS232串口用于S3C2440AL與上位機的通信,當存儲圖像過多時,可把圖像存儲在上位機上。S3C2440AL的UART可工作在中斷模式或DMA模式下。本系統(tǒng)選用的是中斷模式,也可以用查詢方式。程序可以控制端口的波特率、數(shù)據(jù)寬度(5、6、7、8位)、停止位(1到2位)、極性控制等通信協(xié)議的設置。
4 結束語
本文介紹了基于ARM的指紋識別門禁系統(tǒng)的軟硬件設計。ARM體系結構有豐富的接口,在門禁、監(jiān)控等領域正發(fā)揮越來越重要的作用,面向可集成、可移植的特定嵌入式系統(tǒng)越來越多地出現(xiàn)在工程應用領域。本文實現(xiàn)的指紋識別門禁系統(tǒng)具有輕便、易安裝、成本低的優(yōu)點,具有良好的發(fā)展前景。