基于MC68HC908JB8的USB指紋采集儀
MC68HC908JB8有五組通用接口PTA,PTB,PTC,PTD,PTE.。設(shè)計中選用PTB口和PTC口于FPS110連接,PTB口用于數(shù)據(jù)通信,PTC口用于控制。具體連接如圖3所示
MC68HC908JB8片上集成的是1.5MB的低速USB模塊。根據(jù)USB協(xié)議,需要在D-上加一個1.5k的上拉電阻到3.3伏,連接如圖4所示。
系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計分為四個部分,分別是MC68HC908JB8上的USB固件設(shè)計,指紋采集程序設(shè)計,計算機上的USB驅(qū)動設(shè)計和演示程序設(shè)計
1.MC68HC908JB8上的USB固件設(shè)計
單片機的開發(fā)環(huán)境選用Metrowerks的CodeWarriorstudio集成開發(fā)軟件,在線仿真和編程工具選用了PEMicrocomputerSystems公司的MON08MULTILINK。
MC68HC908JB8片上集成了遵循USB1.1規(guī)范的低速USB模塊,該模塊有三個端點,端點0支持控制收發(fā)傳輸,端點1支持中斷數(shù)據(jù)發(fā)送傳輸,端點2支持中斷數(shù)據(jù)接收傳輸。對應(yīng)的有USB控制積存器,USB中斷寄存器,USB數(shù)據(jù)寄存器,USB狀態(tài)寄存器。為了實現(xiàn)MC68HC908JB8和計算機之間的USB正常通信,必須在MC68HC908JB8中設(shè)計USB固件。如圖5所示,USB固件主要包含控制傳輸和USB標(biāo)準(zhǔn)請求命令的處理,端點數(shù)據(jù)讀寫處理,其他中斷處理。
MC68HC908JB8使用通用接口PTB和PTC與FPS110連接,通過控制FPS110片內(nèi)的行寄存器和列寄存器就能很方便的完成整幅指紋或部分指紋的采集,指紋采集的基本流程如圖6所示。
3.WINDOWS平臺下的USB驅(qū)動程序設(shè)計
Windriver是美國Jungo公司出品的用于編寫硬件驅(qū)動程序的一種工具軟件,主要用于ISA插卡、PCI插卡和USB的驅(qū)動程序開發(fā)。使用Windriver開發(fā)驅(qū)動程序的優(yōu)點主要在于不需要了解太多的操作系統(tǒng)和驅(qū)動程序方面的知識,而且Windriver帶有功能強大的向?qū)riverWizard,能幫助開發(fā)者進行硬件診斷和自動生成代碼。所以采用Windriver能讓電子工程師在短時間內(nèi)針對自制硬件開發(fā)出易用、兼容性好的驅(qū)動程序采用Windriver來設(shè)計USB驅(qū)動程序,如圖7所示,實際上只是在用戶模式下調(diào)用了用了Windriver通用驅(qū)動程序提供的API函數(shù),并不用編寫WDM驅(qū)動程序。
基本調(diào)用過程:程序運行時先調(diào)用WDU_INI函數(shù)初始化各種變量,等待回調(diào)函數(shù)結(jié)果;如果回調(diào)成功,則調(diào)用WDU_TRANSFER等函數(shù)完成收發(fā)數(shù)據(jù);而程序運行結(jié)束時調(diào)用WDU_UNINIT釋放變量,句柄等獲得資源。
4.WINDOWS平臺下演示程序設(shè)計
計算機上的演示程序主要包含計算機與MC68HC908JB8通信的簡單控制,采集到指紋圖像的顯示,以及指紋圖像的一些如細(xì)化、二值化等的簡單處理。采用的工具是VC6.0,圖8是一個演示界面的例子。
結(jié)束語
本文介紹了一種基于MC68HC908JB8的便攜式USB指紋采集方案,實驗表明,這種方案充分利用了USB支持即插即用,有較強的糾錯能力,能總線供電等優(yōu)點,簡化了設(shè)計,降低了成本,實現(xiàn)了靈活可靠的指紋圖像傳輸,有很好的應(yīng)用前景。
評論