久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于USB傳輸及CMOS圖像傳感器的指紋識別儀的實現

基于USB傳輸及CMOS圖像傳感器的指紋識別儀的實現

作者: 時間:2015-01-17 來源:網絡 收藏

  由圖3中邏輯知道,當允許對SRAM寫(latch_f=1)且采集的數據有效(href=1)時,pclk脈沖通過地址發生器產生地址(sync單個正脈沖將SRAM地址復位到0),將采集的數據Y[7∶M]寫入SRAM中,當寫滿(寫完一幀的32M像素×288像素)時,irq信號有效,通過中斷將latch_f置低允許將SRAM數據讀出(cpu_rds單個正脈沖將SRAM地址復位到0),此后cpu_rD通過地址發生器產生地址將SRAM中數據讀出到緩沖區。上述邏輯仿真波形如圖4所示(由于數據線和地址線較多,故只取其中部分信號時序,cpu_datA為X表示其值根據SRAM數據總線上具體值而定),由圖4可知,CPLD實現了對SRAM的控制,與SRAM一起組成了高速數據緩沖區。

本文引用地址:http://cqxgywz.com/article/268273.htm

  快速批量傳輸的實現

  控制接口芯片AN2131QC特性簡介AN2131QC是基于USB1.1協議設計的,支持高速12Mb/s的傳輸速率,內嵌有增強型8051微控制器、8kB的RAM和一個智能USB內核的收發器,它包含一個I2C總線控制器和3個8位多功能I/O口,有8位數據總線和16位地址總線用于外部RAM擴展。其結構如圖5所示。

  

 

  圖5 AN2131QC結構簡圖

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

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

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

  movx a,@dptr;讀外部數據到acc寄存器incdptr;外部地址加1 incdps;切換DPTR指針(內核有雙DPTR指針,用dps進行切換)

  movx @dptr,a;將acc內容放入USB緩沖區incdptr;USB緩沖區地址加1 incdps;切換DPTR指針

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

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

  結論

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

  

 

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


上一頁 1 2 下一頁

關鍵詞: USB CMOS

評論


相關推薦

技術專區

關閉