采用S3C2410和Linux系統(tǒng)的指紋識別管理系統(tǒng)
作者Email: newtonian@263.net
摘要:隨著ARM系列處理器性能的不斷提高,過去一些專屬于DSP領(lǐng)域的運算密集型的應(yīng)用,例如指紋識別等,也能夠在ARM處理器上得以很好的實現(xiàn)。并且由于MCU的強大控制功能,以及操作系統(tǒng)的巨大靈活性,使得這種系統(tǒng)有DSP平臺不可比擬的優(yōu)勢。本文著重介紹了基于S3C2410和Linux操作系統(tǒng)的指紋識別管理系統(tǒng)的實現(xiàn)方法,以及這種實現(xiàn)方法與傳統(tǒng)DSP系統(tǒng)的異同。
指紋識別技術(shù)在金融、交通、安全等領(lǐng)域以及日常工作和生活中被越來越廣泛地應(yīng)用。指紋識別的算法中通常有大量的矩陣運算,域變換,三角函數(shù)運算等等,屬于典型的運算密集型的應(yīng)用,因此通常采用DSP來實現(xiàn)嵌入式應(yīng)用。不過近期情況有了很大改觀,MCU的性能突飛猛進(jìn),使得指紋識別這樣的運算密集型的應(yīng)用也可以采用MCU來實現(xiàn)。例如,三星公司推出的基于ARM920內(nèi)核的嵌入式處理器S3C2410,速度高達(dá)200MIPS,完全可以滿足指紋識別應(yīng)用對運算速度的要求。S3C2410具有的豐富外設(shè),并且可以運行Linux操作系統(tǒng),這樣的特性則是傳統(tǒng)的DSP所無法比擬的。
進(jìn)行指紋識別,首先要設(shè)法獲取指紋。之前用得最多的是光學(xué)采集器,特點是價格相對便宜($15-$100),但體積比較大,結(jié)構(gòu)復(fù)雜。最近光學(xué)采集器正受到半導(dǎo)體電容陣列式指紋采集器的強烈沖擊。這種新型的采集器采用硅片表面的微小電容陣列來感知指尖的細(xì)微紋理,其特點是靈敏度高,采集圖像質(zhì)量好,并且體積非常小,很容易將其安裝到小型設(shè)備,例如手機或者是門鎖等產(chǎn)品中。盡管目前其價格還比較高(>$25),但由于它是按照莫爾定律發(fā)展的半導(dǎo)體產(chǎn)品,可以預(yù)見,正如傳統(tǒng)的相機會被數(shù)碼相機代替一樣,在不久的將來它將成為指紋采集器的主流產(chǎn)品。目前半導(dǎo)體采集器的主要生產(chǎn)廠家有ST和Fujitsu等。
在我們這項設(shè)計方案中采用的指紋采集器是Fujutsu公司的FSP200。它能在大約25mmX30mm的面積上獲得256X300個象素的指紋圖像。FPS200可以直接連接到S3C2410的總線上,因此這項設(shè)計的硬件十分簡潔緊湊。硬件如下圖所示:
從上圖可以看出,指紋識別核心板實際只有3個組成部分,即電源管理,CPU和內(nèi)存。電源管理部分采用DC-DC以獲得高效率,這對于門鎖等采用電池的應(yīng)用非常有用。內(nèi)存有16MB的SDRAM和4MB的Flash。實際上如果僅僅需要進(jìn)行指紋識別是用不到那么多Flash的,但我們的設(shè)計并不僅僅是要實現(xiàn)簡單的指紋識別,而是一個可以對多個用戶進(jìn)行管理的指紋管理系統(tǒng),因此4MB的Flash是必要的。
核心板提供了兩個外部接口,即傳感器接口和用戶板接口。傳感器接口采用16Pin的扁平印刷電纜與FPS200傳感器相連。用戶板接口實際上是一個UART,用戶板開發(fā)者可以通過任何一個帶有UART的簡單單片機對它進(jìn)行完全的控制。對核心板的控制是通過一系列指令集來完成。為了與過去的大量用戶保持兼容性,我們的控制指令集與現(xiàn)在被廣泛應(yīng)用的FDA2000指紋識別模塊是兼容的。(FDA2000由于Intel的S1100的停產(chǎn)而面臨供貨的問題)通過指令集操作,用戶板可以在核心板上實現(xiàn)建立和刪除檔案,比對,查詢等等功能,核心板可以在一秒左右的時間將比對的結(jié)果反饋給用戶板。
在軟件方面,引入了操作系統(tǒng)是這種設(shè)計方案的最大特點。盡管會對效率有所影響,但由于處理器速度很快,并且算法可以針對處理器做很多優(yōu)化,因此較引入操作系統(tǒng)帶來的好處而言,對效率的影響就不值一提了。系統(tǒng)的軟件結(jié)構(gòu)如下圖所示:
如上圖所示,軟件由Linux操作系統(tǒng)內(nèi)核,設(shè)備驅(qū)動程序,指紋識別算法以及用戶接口程序等四個部分組成。操作系統(tǒng)負(fù)責(zé)整個系統(tǒng)的管理,進(jìn)程調(diào)度等。設(shè)備驅(qū)動用于驅(qū)動各種外設(shè)進(jìn)行工作,例如指紋采集,串口通信等。指紋識別算法是系統(tǒng)的核心部分,算法設(shè)計的好壞直接關(guān)系到指紋識別系統(tǒng)的速度、可靠性等重要指標(biāo)。清華大學(xué)精密測試技術(shù)及儀器國家重點實驗室林教授領(lǐng)導(dǎo)數(shù)名博士、碩士進(jìn)行了十余年的潛心鉆研以及眾多國家級公安、國防、人事部門的實用驗證保證了我們這款設(shè)計中算法的先進(jìn)性和可靠性。用戶接口程序則提供核心板和用戶板之間的通信機制,使得用戶可以方便地對核心板進(jìn)行控制。
基于操作系統(tǒng)的最大好處在于,可以在指紋識別系統(tǒng)上幾乎無限制地擴充出各種各樣的功能,例如適應(yīng)于網(wǎng)絡(luò)化管理的以太網(wǎng)接口,適應(yīng)于移動應(yīng)用的GPRS或者WLAN通信接口,適應(yīng)于安全數(shù)據(jù)存儲應(yīng)用的U盤讀寫操作等等。如果沒有OS,上述功能的實現(xiàn)是不可想象的。
下面是我們開發(fā)的指紋識別管理系統(tǒng)核心板的一些性能參數(shù):
n采用世界最先進(jìn)的CMOS電容式指紋傳感器,體積小,靈敏度高
n以Samsung S3C2410 ARM920內(nèi)核RISC CPU為核心
n200MIPS 運算速度
n16MB SDRAM提供強大運算能力
n4MB Flash可存儲1000個樣本
n低功耗設(shè)計,最大功耗僅360mW,有可利用電池工作
n小尺寸(40mm X 90mm X 10mm),可方便地嵌入小型設(shè)備進(jìn)行二次開發(fā);
n系統(tǒng)成本低廉
n以Linux操作系統(tǒng)為核心,提供優(yōu)異的穩(wěn)定性和良好的可擴展性
n核心算法由清華大學(xué)精密測試技術(shù)及儀器國家重點實驗室開發(fā)
n拒真率0.001%
n認(rèn)假率0.0001%
n匹配時間1.8s(匹配成功)
n通過UART與用戶板進(jìn)行通信,二次開發(fā)十分簡便
n指令集兼容被廣泛應(yīng)用的韓國FDA2000指紋模塊
此外,還可以方便地在核心板的硬軟件基礎(chǔ)上擴充出以下非常實用的功能:
n以太網(wǎng)接口以及TCP/IP通訊協(xié)議
nModem接口以及PPP通訊協(xié)議
nGPRS通訊功能
n802.11B WLAN通訊接口
我們開發(fā)的核心板,用戶既可以直接將其進(jìn)行二次開發(fā)后直接嵌入自己的產(chǎn)品中,也可以根據(jù)自己的特定需求向我們進(jìn)行功能定制。目前我們的指紋算法已經(jīng)在公安、軍事以及人事等領(lǐng)域進(jìn)行了多年的實際應(yīng)用驗證,而新近開發(fā)的這款指紋識別管理系統(tǒng)核心板也即將應(yīng)用于上述領(lǐng)域。我們利用自己開發(fā)的核心板做了幾套完整的功能演示系統(tǒng),大家可以到清華大學(xué)精密儀器國家實驗室來實地評估,請致電62772990與林教授聯(lián)系。也可以發(fā)email到 newtonian@263.net詢問您想了解的其它情況。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論