前言
指紋識別技術(shù)近年來逐漸成熟,在門禁、安防和金融等方面得到了越來越廣泛的應(yīng)用。Atmel公司新推出的智能互聯(lián)網(wǎng)芯片AT75C220集成了ARM內(nèi)核、DSP協(xié)處理器以及以太網(wǎng)MAC接口,用AT75C220和指紋傳感器結(jié)合可構(gòu)成高性能的指紋識別系統(tǒng)。
1 AT75C220主要特點
AT75C220是定位于智能互聯(lián)網(wǎng)應(yīng)用的高性能ARM處理器,采用ARM7TDMI微處理器核,具有OadDSP核,強大的外設(shè)(如中斷控制器和外設(shè)數(shù)據(jù)控制器),其DMA通道增強了微控制器的實時性能。主要特點有:
集成ARM7TDMI ARM Thumb處理器核
一個16b定點DSP核
雙以太網(wǎng)10/100Mb/s MAC接口
88kB的完整快速RAM(支持DMA方式)
多媒體數(shù)字信號編解碼器(CODEC接口)
集成SDRAM控制器
這樣,AT75C220就很適合于需要圖像處理功能并具有互聯(lián)網(wǎng)通信能力的設(shè)備,比如高性能的指紋識別設(shè)備和VoIP應(yīng)用等。單芯片集成多種功能可以降低成本,提高系統(tǒng)可靠性。同時,該芯片完備的開發(fā)軟件支持(包括LINUX操作系統(tǒng)和DSP算法程序支持等)也有利于減少產(chǎn)品上市時間。
2 芯片結(jié)構(gòu)
AT75C220主要由運行速度達40 MI/s的基于ARM7TDMI的RISC處理器、運行速度為60MI/s的DSP處理器和雙以太網(wǎng)10/100Mb/s的MAC接口組成。其內(nèi)部機構(gòu)如圖1所示。
AT75C220包含2種不同的總線ASB和APB,ASB用于連接ARM核、DSP核等核心模塊,而APB總線則連接串行通信接口、通用I/O口等,兩總線之間用AMBA總線橋連接。
ARMTTDMI微處理器是一個高性能的嵌入式CPU,他功耗低,運算速度快,內(nèi)含Thumb指令解碼器,可支持16b指令,同時支持調(diào)試和快速乘法等功能,并可通過模塊互交總線與其他功能模塊進行數(shù)據(jù)交換。
ARMTTDMI(Thumb)是公司授權(quán)用戶最多的一項產(chǎn)品,將ARM7指令集同Thumb擴展組合在一起,以減少內(nèi)存容量和系統(tǒng)成本。同時,他還利用嵌入式ICE調(diào)試技術(shù)來簡化系統(tǒng)設(shè)計,并用一個DSP增強擴展來改進性能。選擇基于ARM核的產(chǎn)品的另一個理由是,ARM公司的處理器核心得到了大量廠家的支持,便于產(chǎn)品的開發(fā)和升級換代。
同其他集成DSP核的芯片相比,AT75C220的DSP子系統(tǒng)資源是相當(dāng)豐富的,如圖2所示,除包含一個60MI/s,16b定點DSP內(nèi)核外,還具有不同用途的RAM:2kB×l6X-RAM,2kB×l6Y-RAM,16kBXl6通用數(shù)據(jù)RAM,24 kB×l6可下載程序RAM,一個256×16雙端口的RAM郵箱用于MCU-DSP通信。完整的CODEC接口允許大量的工業(yè)聲音、多媒體或數(shù)據(jù)的連接。
芯片集成的以太網(wǎng)接口包括了2個獨立的10/100Mb/s以太網(wǎng)MAC接口和一個32kB的數(shù)據(jù)包緩沖區(qū)。雙端口MAC的設(shè)計使設(shè)備嵌入到現(xiàn)有的以太網(wǎng)中而不需要另外的電纜,由于2個MAC接口之間用局部總線連接,大量的數(shù)據(jù)包可以不受延遲地從一個MAC傳送到另一個MAC,其間無需軟件的參與。數(shù)據(jù)包緩沖區(qū)由MAC接口通過DMA的方式操作,用于臨時保存接收和發(fā)送的數(shù)據(jù)包,在大多數(shù)情況下可以滿足較大的通信量。
3 指紋識別算法
指紋自動識別作為一個有較大難度的模式識別研究分支,其研究難點主要集中在如何對采集進來的各種有噪聲圖像進行濾波和增強、如何抽取指紋的全局和局部特征以及如何進行在圖像不能完全定位和圖像可能發(fā)生扭曲變形情況下的特征匹配上。一般可以分為以下幾個步驟,如圖3所示,指紋識別算法流程主要包括灰度濾波、二值化、二值濾波、細化、細化后的去噪等步驟,最后進行特征提取和匹配。
本系統(tǒng)的指紋識別算法的灰度濾波采用基于塊方圖的方向濾波,接著進行二值化并細化指紋圖像,在二值化和細化的過程中進一步去噪聲,消除導(dǎo)致錯誤的特征點的可能性。用模板匹配的方法分別獲取指紋的特征點,如端點、叉點等。指紋匹配采用基于中心點的匹配算法。通過在PC機上驗證,該算法可以達到較好的效果。
4 指紋識別系統(tǒng)
指紋識別系統(tǒng)一般由指紋傳感器、DSP處理器和外圍電路組成,為增加系統(tǒng)的處理能力,系統(tǒng)中往往還包括另外的處理器管理諸如通信、人機接口、指紋數(shù)據(jù)庫等。本系統(tǒng)結(jié)構(gòu)如圖4所示,電容式的指紋傳感器FPSll0采集指紋圖像并交由AT75C220內(nèi)部的DSP協(xié)處理器進行指紋識別,完成圖像的預(yù)處理、提取指紋特征碼,并同指紋庫中的指紋特征進行匹配,給出判別結(jié)果。ARM核運行于LINUX操作系統(tǒng)之上,實現(xiàn)了TCP/IP協(xié)議棧,由于指紋識別器的網(wǎng)絡(luò)系統(tǒng)對實時性和吞吐率要求并不高,但是要求可靠性和保密性比較高,所以傳輸層協(xié)議選擇TCP協(xié)議,并且傳輸?shù)臄?shù)據(jù)經(jīng)過了加密。ARM處理器上還包括了人機接口和控制輸出,控制輸出用于對電子門鎖進行控制。另外,ARM軟件還包括門禁系統(tǒng)、考勤系統(tǒng)中的一些專有控制模塊,比如門禁權(quán)限管理、考勤數(shù)據(jù)庫管理等
5 算法的移植
指紋識別算法開始時在PC機上實現(xiàn),需要移植到AT75C220的DSP子系統(tǒng)中。如果直接用C語言移植,難以發(fā)揮DSP的實際處理能力,執(zhí)行效率相當(dāng)?shù)?。關(guān)鍵的算法模塊用匯編語言實現(xiàn)后,指紋的采集、圖像預(yù)處理和匹配可以在1s中完成,算法效率和識別率與PC機上計算相當(dāng),達到了實際應(yīng)用要求。
6 結(jié) 語
系統(tǒng)硬件設(shè)計簡單,使整個系統(tǒng)達到了小型化、網(wǎng)絡(luò)化、智能化的要求。實踐證明,采用這種結(jié)構(gòu)的設(shè)備處理能力得到了提高,代表了未來門禁系統(tǒng)發(fā)展的方向。