<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于USB與DSP的指紋識別系統的設計實(shí)現

基于USB與DSP的指紋識別系統的設計實(shí)現

作者: 時(shí)間:2013-11-02 來(lái)源:網(wǎng)絡(luò ) 收藏

PDIDl2是Philips公司推出的一款特點(diǎn)突出的接口芯片。完全遵從l.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),可以非常方便地兼容大部分的工作環(huán)境。

3 軟件設計

3.1 固件設計

固件編程(firmware programming)是USB數據傳輸系統中終端設備程序設計的重要部分,微處理器通過(guò)固件程序與計算機進(jìn)行數據交換。由于采用不帶MCU內核的USB接口芯片,所以關(guān)于USBl.1協(xié)議規范的實(shí)現都必須靠(TMS320VC5402)控制PDIUSBDl2芯片完成:在(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)

在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ā)送請求。

3.3 指紋識別流程

系統上電時(shí),TMS320VC5402通過(guò)12C總線(xiàn)操作對OV6620進(jìn)行設置,然后進(jìn)入指紋圖像采集階段。在該階段,TMS320VC5402處于空閑狀態(tài),CPLD占用數據總線(xiàn),

將數據直接存儲到圖像RAM中。采集完一幀指紋圖像后由CPLD發(fā)握手信號,通知DSP進(jìn)人數據處理階段。在該階段,TMS320VC5402先將圖像RAM中的數據分塊搬運到用戶(hù)RAM中,進(jìn)行圖像預處理、特征點(diǎn)提取等運算,最后通過(guò)USB將結果輸出給上位機。上位機調出指紋數據庫,并將提取的結果與指紋特征庫中的數據進(jìn)行比對,從而與庫中特征指紋進(jìn)行指紋匹配識別。

DSP算法具體如下:(1)預濾波。方向濾波:設計了一個(gè)水平模板,然后將水平模板旋轉到所需增強的方向進(jìn)行濾波。(2)二值化。背景分離:采用標準差閾值跟蹤法,圖像的指紋部分由黑白相間的紋理組成,灰度變化很大,具有較大的標準差,而背景部分灰度分布比較平坦,標準差小。因此計算以各點(diǎn)為中心的一組像素的標準差,當標準差大于某一門(mén)限時(shí),就可以確定該點(diǎn)為前景,否則為背景。(3)計算方向圖:采用基于法線(xiàn)向量的方法,其中還涉及到方向場(chǎng)的平滑銳化。(4)特征點(diǎn)提?。翰捎昧思咕€(xiàn)跟蹤法,其基本思想是直接對圖像進(jìn)行脊線(xiàn)跟蹤,在跟蹤過(guò)程中檢測特征點(diǎn)。

整個(gè)軟件流程如圖3所示。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: USB DSP 指紋識別系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>