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