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