基于OMAP架構的嵌入式指紋識別系統(tǒng)設計與應用
生物認證技術是信息時代的重要產(chǎn)物之一。人體生物特征具有唯一性與穩(wěn)定性,因此,人們開發(fā)了指紋、臉型、語音、虹膜、遺傳基因(DNA)結構等多種生物特征識別技術。在各種生物特征中,指紋的特征性能優(yōu)異,指紋識別技術也正日趨成熟。因此,針對汽車安防領域的市場需求,本文設計了一種基于OMAP架構的嵌入式指紋識別系統(tǒng)。該系統(tǒng)識別率高、處理速度快、可擴展性強,必然有著廣闊的應用前景和研究價值。
開放式多媒體應用平臺OMAP
TI公司的OMAP(Open Multimedia Applications Platform)平臺是基于DSP的開放式多媒體應用平臺。它采用雙核結構,把高性能低功耗的DSP核與控制性能強的ARM微處理器結合起來,具有集成度高、硬件可靠性和穩(wěn)定性強、速度快、數(shù)據(jù)處理能力強、功耗低、開放性好等優(yōu)點。OMAP平臺透過先進的操作系統(tǒng)平臺不僅開放了ARM,而且開放了DSP。通過DSP/BIOS橋,DSP的資源就如同ARM的外設一樣通過操作系統(tǒng)的API被調(diào)用。DSP/BIOS橋在OMAP平臺上實現(xiàn)了雙核的無縫連接。OMAP平臺支持WinCE、EPOC、Nucleus、VxWorks和Linux等多種操作系統(tǒng),提供了易于使用的開放式編程環(huán)境。
OMAP平臺采用雙核技術使操作系統(tǒng)的效率和多媒體代碼的執(zhí)行更加優(yōu)化。實時性任務由DSP完成,非實時性任務和系統(tǒng)控制工作由ARM完成,從而使系統(tǒng)的功耗降至最低,成功地解決了性能與功耗的最佳組合問題。
系統(tǒng)硬件設計
基于OMAP架構的嵌入式指紋識別系統(tǒng)(以車載應用為例)主要由OMAP5912嵌入式微處理器、FPS200指紋傳感器、人機界面、CAN總線接口、USB通信接口、電源管理等模塊組成。系統(tǒng)組成原理如圖1所示。
OMAP5912是整個系統(tǒng)的核心。它一方面要控制指紋傳感器FPS200進行指紋樣本的采集,建立指紋樣本庫,并對指紋庫進行管理和維護;另一方面它還要控制DSP內(nèi)核處理復雜的指紋識別算法,進行指紋圖像的處理、指紋特征的提取和匹配。在系統(tǒng)的操作過程中,建立友好的人機界面特別關鍵。在觸摸屏控制器ADS7846和OMAP5912的控制下,用戶可以通過觸摸屏以及LCD液晶顯示屏方便快捷地進行人機對話,如用戶個人身份碼(PIN)認證、指紋庫管理與維護等。開放式系統(tǒng)必然要求信息資源共享,CAN總線接口能使該系統(tǒng)與汽車上的多個控制器(即電控單元ECU)進行通信。USB通信接口的設計使得嵌入式系統(tǒng)的應用更加靈活、方便,令系統(tǒng)與多種類型的外設進行通信成為可能。功能強大的電源管理芯片TPS65010為系統(tǒng)核心部分提供了所需的1.6V、1.8V、3V、3.3V等工作電壓,并合理地進行功耗分配。由于指紋圖像數(shù)據(jù)量大、指紋算法復雜,設計時需要較大的存儲空間,因此系統(tǒng)擴展了1個NOR閃存和1個DDR SDRAM。系統(tǒng)可通過JTAG接口進行在線調(diào)試。
OMAP5912嵌入式微處理器
OMAP5912微處理器是由192MHz的TMS320C55x DSP內(nèi)核和192MHz的低功耗、增強型ARM926微處理器組成的雙核應用處理器。
流量控制器(Traffic Controller,簡稱TC)用于控制對外部內(nèi)存的存取,其最高工作頻率為75MHz。TC提供了外部內(nèi)存快速接口(EMIFF)、外部內(nèi)存慢接口(EMIFS)和內(nèi)部存儲器接口 (IMIF)。其中,EMIFF可與SDRAM連接,而EMIFS只能與閃存和速度稍慢的ROM連接。OMAP5912內(nèi)還有192K的內(nèi)部存儲器,由ARM和DSP共享。TC可以看作儲存資源的守衛(wèi),由它內(nèi)部的仲裁器來決定哪個核有權利存取這些資源,以及是否可以讓兩個核同時存取這些資源。
OMAP5912中央有一個高性能的9信道系統(tǒng)直接內(nèi)存存取器(DMA)。這個9信道DMA允許在不同的埠間傳送數(shù)據(jù),而無需ARM干涉。DMA可作業(yè)的端口包括EMIFF、EMIFS、IMIF和周邊組件。
FPS200指紋傳感器
FPS200 是Veridicom 公司基于標準CMOS工藝的指紋傳感器。利用半導體硅電容效應,硅傳感器成為電容的一個極板,手指則是另一極板,手指紋線的脊和谷相對于平滑的硅傳感器之間的電容差,即可形成8位的指紋灰度圖像。FPS200 指紋傳感器的工作電壓在3.3V至5V之間,低功耗、高效率,可以在較小(1.28cm×1.50cm)的表面上獲得與光學技術同樣好甚至更好(500DPI的較高分辨率)的圖像質(zhì)量。
在硬件設計方面,特別要注意的是需要在OMAP5912和FPS200之間增加1個74LV245收發(fā)器來解決時序沖突問題,這里不再贅述。
人機界面設計
由于觸摸屏輕薄、輸入方便快捷,本設計采用四線電阻式觸摸屏作為人機界面的輸入設備。人機界面系統(tǒng)由OMAP5912微處理器、觸摸屏控制器、四線電阻式觸摸屏以及LCD液晶顯示屏4部分組成。觸摸屏控制器采用 Burn-Brown公司的ADS7846芯片,它是一種典型的帶有連續(xù)逼近型寄存器的12位ADC,內(nèi)部自帶2.5V參考電壓,有一個和微處理器相連的標準SPI據(jù)接口。ADS7846根據(jù)串行數(shù)據(jù)輸入端 DIN 收到的不同命令字來打開相應的開關通道,并接收返回的模擬電壓,通過A/D轉(zhuǎn)換得出對應的數(shù)字量,再通過串行數(shù)據(jù)輸出端 DOUT 傳回微處理器。觸摸屏控制器ADS7846與微處理器OMAP5912的連接電路如圖2所示。
CAN總線接口設計
嵌入式指紋識別系統(tǒng)完成車主身份認證后,需要立即向汽車發(fā)動機電子控制系統(tǒng)(EEC)發(fā)送點火控制信號,從而啟動汽車發(fā)動機。因此,本系統(tǒng)設計了CAN總線接口來實現(xiàn)與EEC的通信。CAN總線與微處理器之間的接口電路通常包括CAN控制器和CAN收發(fā)器,本設計中采用了Microchip的 MCP2510 CAN協(xié)議控制器,以及飛利浦的 PCA82C250 CAN收發(fā)器。連接關系如圖3所示。
USB通信接口設計
為了使嵌入式系統(tǒng)能與多種類型的外設進行通信,設計中擴展了USB通信接口。OMAP5912微處理器內(nèi)置了對應于USB1.1的USB主控制器,并且該設計支持主從雙重USB通信模式,只需要利用一個USB接口適配器就可以方便地進行主從模式轉(zhuǎn)換。需要注意的是當選擇Client模式時,需要設置FUNC_MUX_CTRL_D[5:3] = 000。
軟件設計流程
OMAP5912的軟件架構
OMAP5912的軟件結構建立在兩個操作系統(tǒng)之上:基于ARM的Linux操作系統(tǒng)以及基于DSP的DSP/BIOS。連接兩個操作系統(tǒng)的核心技術是DSP/BIOS橋。DSP/BIOS橋提供了一種使用DSP的無縫接口,允許開發(fā)者在GPP(通用處理器)上使用標準應用編程接口訪問并控制DSP的運行環(huán)境。利用TI公司的CCS(Code Composer Studio)集成開發(fā)環(huán)境,從開發(fā)者的角度來看,OMAP好像僅用GPP處理器就完成了所有處理功能。這樣,開發(fā)者就不需要為兩種處理器分別編程,從而使編程工作大為簡化。在OMAP體系結構下,開發(fā)者可以像對待單個GPP那樣對OMAP的雙處理器平臺進行編程。
系統(tǒng)軟件流程圖
為了防止有人盜取指紋并利用指紋膜對指紋識別系統(tǒng)進行欺騙性攻擊,采取“個人身份碼(PIN)+ 指紋識別”的雙重認證措施是非常必要的。用戶輸入PIN信息引導系統(tǒng)找到指紋庫中對應的一個模板,即可與采集到的用戶指紋進行1對1的“最佳”匹配,這樣既能防止欺騙性攻擊,又不需要每次都進行1對N的逐次匹配,可以高效率、快速地完成指紋識別過程。系統(tǒng)軟件的主要程序流程如圖4所示。
指紋識別過程
1) 圖像預處理。圖像預處理包括3個步驟,即圖像分割、圖像增強和二值化。分割器讀取并剪切輸入的指紋圖,在基本不損失有用指紋信息的前提下減少以后各步驟中所要處理的數(shù)據(jù)量;圖像增強用以對分割后的指紋圖像進行平滑、銳化、濾波等加工,以提高圖像質(zhì)量;二值化即把8位的灰度指紋圖像轉(zhuǎn)化成0和255的二值圖像,閾值的選取采用了局部閾值法。
2) 細化處理。為了進一步壓縮數(shù)據(jù),還需要對二值化圖像進行細化處理。細化時應保持紋線的連接性、方向性不變,還應保持紋線的中心基本不變。細化后的紋線會出現(xiàn)搭橋及豁口,因此必須進行細化后的去噪工作。
3) 特征提取。指紋的特征點信息是從細化后的二值化圖像中提取的。從細化后的二值化圖像中找到分叉點或終結點,然后從這些點開始尋找紋路軌跡。通過這些點,紋路的形狀被計算出來。這些形狀數(shù)據(jù)、點的類型以及點的位置就作為該指紋圖像的特征點被存儲下來。
4) 特征匹配。在提取出指紋特征點后,便會得到一組矢量點。同樣,在指紋庫中存儲的指紋模板也是一組矢量點,要判斷兩個指紋是否匹配也就轉(zhuǎn)化成判斷兩組矢量點是否匹配。指紋圖像的匹配是根據(jù)兩幅圖像特征點的最大匹配點支持數(shù)來確定的,如果最大匹配支持點數(shù)大于規(guī)定的值,則認為兩幅指紋圖像匹配。
FPS200的寄存器設置
在初始化過程中,要往指紋傳感器FPS200相應的寄存器中寫入控制字,設置采集指紋的參數(shù)。其中最關鍵的是DCR、DTR、PGC這3個寄存器的參數(shù)設置。本文通過反復試驗進行了寄存器的參數(shù)最佳設置,圖5說明了分別調(diào)整3個寄存器的參數(shù)值對圖像質(zhì)量的影響。
結語
本文基于OMAP架構的嵌入式技術,設計了一個完整的、可獨立運行的嵌入式指紋識別系統(tǒng),該系統(tǒng)已在實驗室成功通過測試,并正在申請立項。隨著生物認證技術的快速發(fā)展,該系統(tǒng)的擴展空間會越來越廣闊,系統(tǒng)設計也會越來越完美。車載多媒體網(wǎng)絡的發(fā)展已經(jīng)成為一個必然趨勢,該系統(tǒng)可進一步開發(fā)GPS車載導航系統(tǒng),OMAP開放式多媒體應用平臺也為今后系統(tǒng)的拓展預留了足夠的空間。相信該系統(tǒng)一定會有巨大的市場潛力。