<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于FPGA和USB 2.0的數(shù)字圖像采集系統(tǒng)設計

          基于FPGA和USB 2.0的數(shù)字圖像采集系統(tǒng)設計

          作者: 時間:2012-02-08 來源:網(wǎng)絡 收藏

          程序中使用順序的方式,將要發(fā)送的數(shù)據(jù)逐位發(fā)送的方式來進行設置,其狀態(tài)機如圖4所示。

          本文引用地址:http://www.ex-cimer.com/article/161153.htm

          c.jpg


          將要初始化的寄存器地址以及所要設置的值直接存放于parameter定義的參數(shù)中;在上電時,通過I2C程序?qū)⑦@些寫到OV7620當中,實現(xiàn)傳感器的初始化工作。

          3 CY7C68013A芯片SLAVE FIFO模式固件編寫
          由于用于,具有數(shù)據(jù)量大,實時性要求高的特點,因此采用 2.0接口,以便能滿足實時,高速的數(shù)據(jù)傳輸。為了達到最快的傳輸速率,使用SLAVE FIFO模式,在該模式下,芯片的數(shù)據(jù)傳輸不需要8051的參與,便于大量連續(xù)的數(shù)據(jù)傳輸,在這種模式下需要有一個外部的控制時序,而恰能提供相關的時序,同時為了能夠與數(shù)據(jù)同步,采用外部輸入時鐘,同步傳輸方式,采用8位數(shù)據(jù)傳輸。在該應用中,寄存器EP2CFG配置了端點2作為IN端點傳輸來的數(shù)據(jù)至上位機,寄存器EP2FIFOCFG使能自動傳輸;寄存器EP6CFG配置端點6為OUT端點,寄存器EP6FIFOCFG使能自動傳輸;并在寄存器FIFOPINPOLAR中設置了端點的滿標志為高電平有效,這是由于在剛上電下載完程序后,F(xiàn)PGA即對圖像進行并存儲至SRAM當中,而上電時FPGA的引腳默認為高電平,如果沒有設置高電平為EP2的滿有效,則在下載固件之前FPGA會誤認為是USB的端點一直處于非滿狀態(tài)而一直傳送數(shù)據(jù),這樣,在下載完USB固件后,主機端所得到的圖像就不能保證它是從一幀圖像的第一個數(shù)據(jù)開始傳輸而是與下一幀的圖像有一定的錯位。在設置EZ-USB FX2LP為SLAVE FIFO模式的過程大致是:配置IFCONFIG[1:0]=11,先把SLAVE FIFO模式;復位相應端點,即使用FIFOREST寄存器;配置所要用的端點大小,類型,以及傳輸方向,使用EPxCFG,式中x代表2,4,6,8;設置各端點的空標志,滿標志和可編程標志值,使用PINFLAGAB和PINFLAGCD寄存器;配置是否使能自動傳輸以及傳輸?shù)奈粚挘褂肊PxFIFOCFG,式中x代表2,4,6,8;本應用中的USB固件程序的部分代碼如下:
          d.jpg

          4 FPGA對圖像數(shù)據(jù)的、存儲及對USB的傳輸控制
          4.1 FPGA對圖像的采集控制
          FPGA對圖像的采集控制是通過OV7620的VSYNC,HREF,PCLK三個源同步時序信號來對圖像進行采集。首先是在1個狀態(tài)機中檢測VSYNC信號,當VSYNC的高電平來臨時,初始化所有的內(nèi)部寄存器,包括SRAM的地址寄存器,SRAM的寫控制信號,數(shù)據(jù)總線讀寫方向的選擇信號,USB的寫使能信號,內(nèi)部計數(shù)寄存器等;等VSYNC來臨之后,表示新的一幀開始了,接下來等待圖像的行信號使能來臨,當HREF到來之后,就可以將圖像的數(shù)據(jù)寫進SRAM當中了,這個寫過程需要兩個CLK,在第一個時鐘周期中更改SRAM的寫地址,第2個CLK周期將連接在數(shù)據(jù)總線上的圖像數(shù)據(jù)寫進SRAM中,同時對內(nèi)部的圖像計數(shù)器進行計數(shù),這個過程中要在HREF為高電平的時候進行存儲;當計數(shù)達到一幀,也就是153 600 B的時候結束采集的過程,并更改相應的控制信號,準備USB的操作信號,進行FPGA對USB芯片的控制,將SRAM當中的一幅完整的圖像能過USB傳至USB當中,整個采集與傳送的狀態(tài)流程如圖5所示。

          e.jpg


          4.2 FPGA對USB芯片的控制
          在FPGA完成了一幅圖像的采集并將圖像的數(shù)據(jù)存儲在片外的SRAM當中以后,接下來要做的事情就是將所存儲的圖像傳給USB芯片,這個過程當中,F(xiàn)PGA要控制SRAM的寫信號,同時使能數(shù)據(jù)總線的方向為輸出方向。FPGA對USB的寫首先是花費一個CLK的時間從SRAM當中取出一個數(shù)據(jù),之后在第2個CLK時間內(nèi)判斷它的端點滿標志,如果USB端點已經(jīng)滿了,則等待,如果非滿,則拉低寫信號使能信號同時地址計數(shù)器加1,返回上一個取數(shù)據(jù)的狀態(tài)繼續(xù)取下一個數(shù)據(jù),直到傳完一幅圖片,之后返回初始的狀態(tài)重新等新的一幀開始信號的到來。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();