詳解一種基于DSP和USB的指紋識別系統設計
通用串行總線(xiàn)USB(UNIversal Serial Bus)是一種新型接口技術(shù)。它是由Intel、Microsoft等公司為解決日益增加的外設與有限的主板插槽與端口之間的矛盾而制定的一種串行通信標準。USB具有以下特點(diǎn):(1)有較高的傳輸速率。USBl.1支持全速和低速兩種方式,全速速率為12Mbps,低速速率為1.5Mbps;USB2.0除支持USBl.1的兩種速度方式外,還增加了速率可達480Mbps的高速方式。(2)使用方便靈活。USB支持即插即用和熱插拔,允許在任何時(shí)候連接和斷開(kāi)外設。當外設被連接時(shí),系統會(huì )自動(dòng)檢測到外設并準備使用。(3)易于擴展。通過(guò)根集線(xiàn)器可攜帶127個(gè)設備真正實(shí)現多個(gè)外設共用一個(gè)接口。此外,USB還有可靠性高、成本低、功耗小等優(yōu)點(diǎn),倍受歡迎。
本文引用地址:http://dyxdggzs.com/article/201808/385295.htm1 整體方案選擇
由于指紋圖像處理技術(shù)對實(shí)時(shí)性要求高、運算量要求大,所以采用通用的數字處理芯片。DSP的高速運算性能使其在數字信號的處理上有著(zhù)獨一無(wú)二的優(yōu)勢。但數字信號的數據量非常龐大,需要一種方便、高速的接口實(shí)現與PC機的接插。 本文給出一種基于DSP(TMS320VC5402)平臺的低成本高速USB接口方案。它采用Philips公司的PDIUSBDl2接口芯片,實(shí)現DSP指紋圖像采集處理與PC機的高速數據傳輸。本系統涵蓋了圖像采集、處理、存儲、傳輸等數字圖像處理技術(shù),其硬件原理如圖1所示。

通過(guò)圖像傳感器獲得指紋圖像及數字化輸出,將圖像數據傳遞給中央處理芯片DSP。DSP對圖像進(jìn)行實(shí)時(shí)處理,如:濾波、圖像的平滑銳化、二值化、特征點(diǎn)提取等,同時(shí)將處理結果通過(guò)USB輸出到上位機。在整個(gè)指紋圖像采集處理系統中,DSP主要有三個(gè)方面的作用:通過(guò)其I2C總線(xiàn)對OV6620的對比度、亮度、銳度等各項參數進(jìn)行設置;對指紋圖像進(jìn)行數字處理;按照USB的規范應答,提供設備識別,固化PDIUSBDl2,與上位機通信。
2 系統硬件方案選擇與設計
2 系統硬件方案選擇與設計
2.1 圖像傳感器
CMOS圖像傳感器是近幾年發(fā)展較快的新型圖像傳感器,可以將像素陣列與外圍支持電路集成在同一塊芯片上,是一個(gè)完整的圖像系統。與CCD產(chǎn)品相比較其功耗小、體積小、成本低。
在采集系統中,使用OV6620作為圖像采集芯片。OV6620是Omni Vision公司開(kāi)發(fā)的CMOS黑白圖像采集芯片。該芯片將CMOS光感應核與外圍支持電路集成在一起。輸出的視頻為黑白圖像。技術(shù)參數:分辨率352x288,速度30幀/秒。
2.2 數字信號處理芯片
本系統中采用了TI公司推出的高性能數字信號處理器TMS320VC5402。其采用程序空間與數據空間完全獨立的哈佛總線(xiàn)結構,指令的執行采用流水線(xiàn)結構,內部有一到多個(gè)處理內核,帶有片上硬件乘法器,其指令執行速度最快為幾十納秒,處理能力為100MIPS。這些為DSP在高速大數據量的數據采集處理系統中提供了廣闊的應用空間。片內共有8條總線(xiàn)(4條程序存儲器總線(xiàn)、1條數據存儲器總線(xiàn)和3條地址總線(xiàn))、片上存儲器和片上外圍電路等硬件,有高度專(zhuān)業(yè)化的指令系統,具有功耗低、高度并行等優(yōu)點(diǎn)。
2.3 USB接口芯片
世界上很多半導體公司參與了USB芯片的開(kāi)發(fā),形成了多種產(chǎn)品系列。如Intel 8*930AX/HX、Cypress FX2高速USB微控制器、National Semiconductor的USBN9602/9603。對于基于DSP平臺的USB接口設計,綜合考慮了幾種方案之后,決定采用一個(gè)不帶MCU內核的USB接口芯片PDIUSBDl2,再加上簡(jiǎn)單的外圍電路和時(shí)序調整電路。主要因為其滿(mǎn)足項目性能需求,且使用外接CPU,成本非常低。
PDIUSBDl2是Philips公司推出的一款特點(diǎn)突出的USB接口芯片。完全遵從USBl.1協(xié)議,其內部集成有串行接口引擎(SIE)、320字節多結構FIFO存儲器、收發(fā)器(Transceiver)和電壓調節器。它可以工作在5V或者3.3V的工作電壓下;具有8位數據總線(xiàn),且有完全自治的DMA傳輸操作。它還具有可控制的軟件連接(SoftConnect)功能,可以保證在微控制器可靠初始化之后再連接上USB總線(xiàn)。多中斷模式實(shí)現批量和同步傳輸,在批量和同步模式下可實(shí)現1MB/S的數據傳輸率。PDIUSBDl2高集成度、高可靠性和寬范圍工作條件的特點(diǎn),可以非常方便地兼容大部分DSP的工作環(huán)境。
3 軟件設計
3 軟件設計
3.1 固件設計
固件編程(firmware programming)是USB數據傳輸系統中終端設備程序設計的重要部分,微處理器通過(guò)固件程序與計算機進(jìn)行數據交換。由于采用不帶MCU內核的USB接口芯片,所以關(guān)于USBl.1協(xié)議規范的實(shí)現都必須靠DSP(TMS320VC5402)控制PDIUSBDl2芯片完成
:在DSP(TMS320VC5402)的平臺上編寫(xiě)程序,以完成USBl.1規范所要求的標準請求及用戶(hù)根據產(chǎn)品需要自己定義的請求。
當設備連接到主機后,主機通過(guò)給PDIUSBDl2的端點(diǎn)0發(fā)送包含標準USB請求的控制傳輸(即Setup包),PDIUSBDl2產(chǎn)生一個(gè)中斷給MCU(1NT0),MCU通過(guò)讀PDIUSBDl2的中斷寄存器和最后一次傳輸狀態(tài)寄存器來(lái)對每一個(gè)請求做出響應,并通過(guò)PDIUSBDl2的端點(diǎn)0回送請求信息。主機從返回的信息中讀取描述數據(包括設備描述符、配置描述符、接口描述符、端點(diǎn)描述符、字符串描述符),分配和載入一個(gè)設備驅動(dòng)程序并對設備進(jìn)行配置。設備配置完成后,就可以使用配置中支持的端點(diǎn)傳輸數據。固件程序結構如圖2所示。

3.2 設備驅動(dòng)
3.2 設備驅動(dòng)
在Win32系統中,把每一個(gè)設備都抽象為文件,此時(shí)的應用程序只需通過(guò)幾個(gè)簡(jiǎn)單的文件操作APl函數,就可以實(shí)現與驅動(dòng)程序中某個(gè)設備的通信。
PC機的驅動(dòng)程序由Philips公司提供。用VC++6.0通過(guò)調用API函數,編寫(xiě)PC的應用程序。這樣即可實(shí)現PC機對DSP(TMS320VC5402)指紋取像系統的控制以及圖像的傳輸。主要使用的API函數是DeviceIOControl()、ReadFile()、WriteFile()。其中DeviceIOControl()用于PC(主機)向DSP圖像采集系統發(fā)送請求;ReadFile()和WriteFile()分別用于從圖像采集系統讀出數據以及向圖像采集系統寫(xiě)入數據。在設計過(guò)程中必須注意的問(wèn)題是:由于USB接口是主從方式的接口,其一切傳輸過(guò)程都必須通過(guò)主機向外設發(fā)送請求后才可以開(kāi)始,所以在使用ReadFile()、WriteFile()讀寫(xiě)數據前,必須先通過(guò)DeviceIOControl()向圖像采集系統發(fā)送請求。
評論