<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è) > 嵌入式系統 > 設計應用 > 基于CMOS圖像傳感器的指紋識別設計

基于CMOS圖像傳感器的指紋識別設計

作者: 時(shí)間:2014-08-06 來(lái)源:電子產(chǎn)品世界 收藏

  快速批量傳輸的實(shí)現

本文引用地址:http://dyxdggzs.com/article/256536.htm

  控制接口芯片AN2131QC特性簡(jiǎn)介

  AN2131QC是基于1.1協(xié)議設計的,支持高速12Mb/s的傳輸速率,內嵌有增強型8051微控制器、8kB的RAM和一個(gè)智能USB內核的收發(fā)器,它包含一個(gè)I2C總線(xiàn)控制器和3個(gè)8位多功能I/O口,有8位數據總線(xiàn)和16位地址總線(xiàn)用于外部RAM擴展。其結構如圖5所示。

  

 

  圖5 AN2131QC結構簡(jiǎn)圖

  AN2131QC內部的USB差分收發(fā)器連接到USB總線(xiàn)的D+和D-上。串行接口引擎(SIE)對USB總線(xiàn)上串行數據進(jìn)行編碼和譯碼(即實(shí)現USB協(xié)議的打包和解包工作),同時(shí)執行錯誤糾正、位填充及其它USB需要的信號標準,這種機制大大減輕了8051的工作,簡(jiǎn)化了固件的編程。內核微處理器是一個(gè)增強型8051,其指令周期為4 個(gè)時(shí)鐘周期并具有雙DPTR指針,同時(shí)指令與標準8051兼容。它使用內部RAM存儲固件程序和數據,上電后,主機通過(guò)USB總線(xiàn)將固件程序和外設特性描述符下載到內部RAM(也可以直接從板上E2PROM上讀取),然后重連接,按照下載的特性描速符進(jìn)行重枚舉,這種設計可以實(shí)現軟件USB快速批量傳輸的實(shí)現。

  當采集的指紋數據導入了由SRAM和構成的高速數據緩沖緩沖區后,要通過(guò)USB接口將數據發(fā)送到上位PC機,AN2131QC必須先將數據讀入到內部USB緩沖區,因此,AN2131QC將數據傳到內部USB緩沖的速度將是整個(gè)USB數據傳輸速度快慢的關(guān)鍵。為了使USB數據傳輸(從外部讀入數據并將之傳到PC機)達到最快,需要采用很多措施,下面就設計指紋識別儀固件(AN2131QC程序)中采用的USB批量傳輸進(jìn)行探討。

  正常情況下,AN2131QC內核結構從外部讀入數據到USB的端點(diǎn)緩沖區,要使用的匯編程序為:

  movx a,@dptr;讀外部數據到acc寄存器incdptr;外部地址加1

  incdps;切換DPTR指針(內核有雙DPTR指針,用dps進(jìn)行切換)

  movx @dptr,a;將acc內容放入USB緩沖區

  incdptr;USB緩沖區地址加1

  incdps;切換DPTR指針

  由上述程序可知,數據在寄存器中完成操作后,都必須有一個(gè)“incdptr”和“incdps”指令來(lái)完成16位地址的增加和緩沖區指針切換。為了消除這種內部消耗,使用AN2131QC提供的一種特殊的硬件指針即自動(dòng)指針(只用于內部緩沖區),8051裝載USB緩沖區地址到兩個(gè)AUTOPTRH (高字節地址)和AUTOPTRL(低字節地址)寄存器中,向AUTODATA寫(xiě)入的數據就直接存入由AUTOPTR/H2L指向的地址緩沖區中,并且內核自動(dòng)增加AUTOPTR/H2L中16位地址的值。這樣USB緩沖區可以像FIFO一樣來(lái)順序寫(xiě)入數據,節省了每次寫(xiě)內部USB緩沖區時(shí)的“incdptr”指令。同時(shí)內核還提供一種快速模式(只用于對外部數據操作),此模式從外部讀數據“movx a,@dptr”時(shí),直接將外部數據總線(xiàn)和內部緩沖區連在一起,由于使用和SRAM構成的指紋高速緩沖區具有FIFO的性質(zhì),所以使用快速模式讀外部指紋數據時(shí)也節省了“incdptr”指令。將上述兩種方式結合起來(lái),讀外部數據到內部緩沖區程序就只需要一條指令:movx @dptr,A(dptR存放AUTODATA寄存器地址),此指令需要兩個(gè)8051機器周期(8個(gè)24MHz時(shí)鐘周期)。這樣,一個(gè)字節可以在333ns內讀入到USB端點(diǎn)緩沖區。

  在USB接口數據傳輸一側,當PC機要對一特定端點(diǎn)進(jìn)行讀數據并發(fā)送IN令牌,如果一個(gè)IN令牌到達時(shí)8051還沒(méi)有完成向USB端點(diǎn)緩沖區的數據裝載(讀外部數據),AN2131QC就發(fā)送一個(gè)NAK握手信號來(lái)響應IN令牌,表明PC機應該在稍后再發(fā)送一個(gè)IN令牌。為了解決這種等待從而達到最快的傳輸速度,可以使用雙緩沖技術(shù)(端點(diǎn)配對),使8051在前一個(gè)數據包在USB總線(xiàn)上傳輸的時(shí)候,裝載塊數據的下一個(gè)數據包。

  結 論

  利用數字圖像傳感器OV762M和USB控制器AN2131QC實(shí)現的指紋儀結構簡(jiǎn)單,體積小,使用方便。指紋識別系統中使用技術(shù)實(shí)現了高速緩沖,解決了速度時(shí)序匹配問(wèn)題;使用了快速批量USB傳輸技術(shù)實(shí)現了數據的快速傳輸,使指紋數據的傳輸達到最高速(每幀傳輸只用80Ms)。使用現論述的方法實(shí)現的指紋儀采集的指紋數據經(jīng)PC機重現后效果如圖6所示(左圖是未經(jīng)任何處理的重現,右圖是經(jīng)過(guò)平滑、細化等算法處理后的重現)。

  

 

  圖6 采集指紋重現效果(處理前后)

傳感器相關(guān)文章:傳感器工作原理


負離子發(fā)生器相關(guān)文章:負離子發(fā)生器原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
離子色譜儀相關(guān)文章:離子色譜儀原理

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

關(guān)鍵詞: CMOS USB CPLD

評論


相關(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>