基于MC68HC908JB8的USB指紋采集儀
隨著計(jì)算機(jī)技術(shù)的進(jìn)步,圖像處理與模式識(shí)別方法的發(fā)展,指紋處理技術(shù)日臻成熟,在眾多領(lǐng)域得到了廣泛的應(yīng)用。而指紋采集是指紋處理的第一步,本文介紹了一種基于MC68HC908JB8的便攜式USB指紋采集方案,該方案能方便靈活的采集高質(zhì)量的指紋圖像,文中具體討論了系統(tǒng)硬件以及相關(guān)驅(qū)動(dòng)和應(yīng)用程序的設(shè)計(jì)。
指紋是指人類手指上出現(xiàn)的條狀紋路,他們的形成依賴于胚胎發(fā)育時(shí)的環(huán)境和遺傳。世界上幾乎沒有兩個(gè)完全相同的指紋。由于指紋具有穩(wěn)定性、唯一性以及易于采集的特性,一直以來被認(rèn)為是最可靠的利用生物特征進(jìn)行身份鑒定的依據(jù)之一。
隨著計(jì)算機(jī)技術(shù)的進(jìn)步,圖像處理與模式識(shí)別方法的發(fā)展,指紋處理技術(shù)日臻成熟,經(jīng)歷了人工處理,半自動(dòng)化處理和自動(dòng)化處理等三個(gè)發(fā)展階段。美國(guó)于1963年首先開展關(guān)于指紋識(shí)別軟件的研究,隨后日本(1975)也開始這方面的工作,我國(guó)開展得較慢(約于1981年開始)。1975年美國(guó)推出第一個(gè)商用系統(tǒng)Printrak250,而日本的NECAFIS于1982年才投入使用。近年來,國(guó)內(nèi)也相繼推出了自己的指紋識(shí)別系統(tǒng)。
作為指紋處理的第一步的指紋取像技術(shù)也日益成熟,這使采集到的指紋數(shù)據(jù)更真實(shí),圖像更清晰,處理結(jié)果也就越加可靠,鑒定結(jié)果的可信度也越強(qiáng)。目前有利用光學(xué)全反射技術(shù)、硅晶體電容傳感技術(shù)、超聲波掃描技術(shù)等獲得指紋圖像的方法。
而且隨著現(xiàn)代社會(huì)的發(fā)展,安全性成為許多系統(tǒng)首要考慮的問題,指紋因其不可復(fù)制、不可替代的特性成為鑒定身份的可靠手段。近年來有關(guān)指紋自動(dòng)識(shí)別及認(rèn)證研究已成為模式識(shí)別、圖像處理及計(jì)算機(jī)視覺領(lǐng)域的熱點(diǎn),指紋識(shí)別已廣泛的應(yīng)用于銀行、保險(xiǎn)、公安、門禁、考勤等方面。
本文介紹了一種基于MC68HC908JB8的便攜式USB指紋采集方案,實(shí)驗(yàn)表明,這種方案充分利用了USB支持即插即用,有較強(qiáng)的糾錯(cuò)能力,能總線供電等優(yōu)點(diǎn),簡(jiǎn)化了設(shè)計(jì),降低了成本,實(shí)現(xiàn)了靈活可靠的指紋圖像傳輸,有很好的應(yīng)用前景。
USB是Universal Serial Bus的縮寫,這是近幾年逐步在PC領(lǐng)域廣為應(yīng)用的新型串行接口技術(shù)。相對(duì)于并口,串口等傳統(tǒng)的計(jì)算機(jī)接口方式,USB有很多明顯的優(yōu)點(diǎn)。它支持即插即用(plug and play),有較強(qiáng)的糾錯(cuò)能力,能總線供電,低成本,具有強(qiáng)大的外設(shè)連接能力。因而選用USB接口來傳送采集的指紋圖像,能更方便靈活地和計(jì)算機(jī)通信,有著良好的應(yīng)用前景。
設(shè)計(jì)概述
設(shè)計(jì)的目的是實(shí)現(xiàn)一個(gè)使用USB接口與主機(jī)通信的高性能指紋采集儀。指紋芯片選用了Veridicom公司的硅晶體電容傳感器FPS110,主控芯片選用Motorola公司集成USB模塊的單片機(jī)MC68HC908JB8?;竟ぷ髂J饺鐖D1所示,MC68HC908JB8控制FPS110采集指紋,然后通過MC68HC908JB8片上集成的USB模塊將數(shù)據(jù)送給計(jì)算機(jī)進(jìn)行存儲(chǔ)和后期處理。
主機(jī)軟件設(shè)計(jì)主要分為USB驅(qū)動(dòng)和演示界面兩個(gè)部分:采用Jungo公司的Windriver軟件開發(fā)WINDOWS平臺(tái)的USB驅(qū)動(dòng)程序;采用Microsoft公司VC6.0軟件開發(fā)演示平臺(tái)和一些簡(jiǎn)單的指紋處理程序。
系統(tǒng)硬件設(shè)計(jì)
1.主要芯片特性
1)集成USB模塊的指紋采集儀主控芯片MC68HC908JB8
MC68HC908JB8是Motorola公司MC68HC08系列的一款高性價(jià)比單片機(jī),芯片有256字節(jié)的片內(nèi)RAM,8K字節(jié)片內(nèi)FLASH,除傳統(tǒng)的定時(shí)器、鍵盤中斷、串行口、等I/O設(shè)備外,其主要特點(diǎn)是集成了通訊速率為1.5MB的低速USB模塊。
2)指紋采集芯片F(xiàn)PS110
FPS110是Veridicom公司的硅晶體電容傳感器,該傳感器采用先進(jìn)的半導(dǎo)體CMOS工藝,面積只有郵票般大小,具有高靈敏度、高可靠性、高分辨率(500DPI)、低功耗、低價(jià)位等許多優(yōu)點(diǎn),特別適用于商業(yè)及戶外指紋應(yīng)用系統(tǒng)。
2.指紋采集儀系統(tǒng)硬件設(shè)計(jì)
指紋采集儀基本原理如圖2所示,主要包含電源設(shè)計(jì),單片機(jī)應(yīng)用設(shè)計(jì),指紋芯片應(yīng)用設(shè)計(jì)。
1)供電設(shè)計(jì)
MC68HC908JB8和FPS110都可以支持5V供電,而且MC68HC908JB8還可提供USB接口所需的3.3V參考電壓,所以整板只采用外接5V電源。設(shè)計(jì)中為了方便調(diào)試,提供了三套可選5V電源輸入,分別是USB供電,仿真器接口供電,和單獨(dú)電源供電。
2)時(shí)鐘設(shè)計(jì)
MC68HC908JB8和FPS110分別供給時(shí)鐘,MC68HC908JB8采用6M晶體接OSC1和OSC2間,F(xiàn)PS110采用12M晶體接XTAL1和XTAL2之間
[!--empirenews.page--]3)FPS110和MC68HC908JB8接口設(shè)計(jì)
MC68HC908JB8有五組通用接口PTA,PTB,PTC,PTD,PTE.。設(shè)計(jì)中選用PTB口和PTC口于FPS110連接,PTB口用于數(shù)據(jù)通信,PTC口用于控制。具體連接如圖3所示
4)USB接口設(shè)計(jì)。
MC68HC908JB8片上集成的是1.5MB的低速USB模塊。根據(jù)USB協(xié)議,需要在D-上加一個(gè)1.5k的上拉電阻到3.3伏,連接如圖4所示。
系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)分為四個(gè)部分,分別是MC68HC908JB8上的USB固件設(shè)計(jì),指紋采集程序設(shè)計(jì),計(jì)算機(jī)上的USB驅(qū)動(dòng)設(shè)計(jì)和演示程序設(shè)計(jì)
1.MC68HC908JB8上的USB固件設(shè)計(jì)
單片機(jī)的開發(fā)環(huán)境選用Metrowerks的CodeWarriorstudio集成開發(fā)軟件,在線仿真和編程工具選用了P&EMicrocomputerSystems公司的MON08MULTILINK。
MC68HC908JB8片上集成了遵循USB1.1規(guī)范的低速USB模塊,該模塊有三個(gè)端點(diǎn),端點(diǎn)0支持控制收發(fā)傳輸,端點(diǎn)1支持中斷數(shù)據(jù)發(fā)送傳輸,端點(diǎn)2支持中斷數(shù)據(jù)接收傳輸。對(duì)應(yīng)的有USB控制積存器,USB中斷寄存器,USB數(shù)據(jù)寄存器,USB狀態(tài)寄存器。為了實(shí)現(xiàn)MC68HC908JB8和計(jì)算機(jī)之間的USB正常通信,必須在MC68HC908JB8中設(shè)計(jì)USB固件。如圖5所示,USB固件主要包含控制傳輸和USB標(biāo)準(zhǔn)請(qǐng)求命令的處理,端點(diǎn)數(shù)據(jù)讀寫處理,其他中斷處理。
2.指紋采集程序設(shè)計(jì)
MC68HC908JB8使用通用接口PTB和PTC與FPS110連接,通過控制FPS110片內(nèi)的行寄存器和列寄存器就能很方便的完成整幅指紋或部分指紋的采集,指紋采集的基本流程如圖6所示。
3.WINDOWS平臺(tái)下的USB驅(qū)動(dòng)程序設(shè)計(jì)
Windriver是美國(guó)Jungo公司出品的用于編寫硬件驅(qū)動(dòng)程序的一種工具軟件,主要用于ISA插卡、PCI插卡和USB的驅(qū)動(dòng)程序開發(fā)。使用Windriver開發(fā)驅(qū)動(dòng)程序的優(yōu)點(diǎn)主要在于不需要了解太多的操作系統(tǒng)和驅(qū)動(dòng)程序方面的知識(shí),而且Windriver帶有功能強(qiáng)大的向?qū)riverWizard,能幫助開發(fā)者進(jìn)行硬件診斷和自動(dòng)生成代碼。所以采用Windriver能讓電子工程師在短時(shí)間內(nèi)針對(duì)自制硬件開發(fā)出易用、兼容性好的驅(qū)動(dòng)程序采用Windriver來設(shè)計(jì)USB驅(qū)動(dòng)程序,如圖7所示,實(shí)際上只是在用戶模式下調(diào)用了用了Windriver通用驅(qū)動(dòng)程序提供的API函數(shù),并不用編寫WDM驅(qū)動(dòng)程序。
基本調(diào)用過程:程序運(yùn)行時(shí)先調(diào)用WDU_INI函數(shù)初始化各種變量,等待回調(diào)函數(shù)結(jié)果;如果回調(diào)成功,則調(diào)用WDU_TRANSFER等函數(shù)完成收發(fā)數(shù)據(jù);而程序運(yùn)行結(jié)束時(shí)調(diào)用WDU_UNINIT釋放變量,句柄等獲得資源。
4.WINDOWS平臺(tái)下演示程序設(shè)計(jì)
計(jì)算機(jī)上的演示程序主要包含計(jì)算機(jī)與MC68HC908JB8通信的簡(jiǎn)單控制,采集到指紋圖像的顯示,以及指紋圖像的一些如細(xì)化、二值化等的簡(jiǎn)單處理。采用的工具是VC6.0,圖8是一個(gè)演示界面的例子。
結(jié)束語
本文介紹了一種基于MC68HC908JB8的便攜式USB指紋采集方案,實(shí)驗(yàn)表明,這種方案充分利用了USB支持即插即用,有較強(qiáng)的糾錯(cuò)能力,能總線供電等優(yōu)點(diǎn),簡(jiǎn)化了設(shè)計(jì),降低了成本,實(shí)現(xiàn)了靈活可靠的指紋圖像傳輸,有很好的應(yīng)用前景。