基于MC68HC908JB8的USB指紋采集儀
MC68HC908JB8有五組通用接口PTA,PTB,PTC,PTD,PTE.。設計中選用PTB口和PTC口于FPS110連接,PTB口用于數據通信,PTC口用于控制。具體連接如圖3所示
MC68HC908JB8片上集成的是1.5MB的低速USB模塊。根據USB協議,需要在D-上加一個1.5k的上拉電阻到3.3伏,連接如圖4所示。
系統軟件設計
系統軟件設計分為四個部分,分別是MC68HC908JB8上的USB固件設計,指紋采集程序設計,計算機上的USB驅動設計和演示程序設計
1.MC68HC908JB8上的USB固件設計
單片機的開發環境選用Metrowerks的CodeWarriorstudio集成開發軟件,在線仿真和編程工具選用了PEMicrocomputerSystems公司的MON08MULTILINK。
MC68HC908JB8片上集成了遵循USB1.1規范的低速USB模塊,該模塊有三個端點,端點0支持控制收發傳輸,端點1支持中斷數據發送傳輸,端點2支持中斷數據接收傳輸。對應的有USB控制積存器,USB中斷寄存器,USB數據寄存器,USB狀態寄存器。為了實現MC68HC908JB8和計算機之間的USB正常通信,必須在MC68HC908JB8中設計USB固件。如圖5所示,USB固件主要包含控制傳輸和USB標準請求命令的處理,端點數據讀寫處理,其他中斷處理。
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支持即插即用,有較強的糾錯能力,能總線供電等優點,簡化了設計,降低了成本,實現了靈活可靠的指紋圖像傳輸,有很好的應用前景。
評論