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