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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于FPGA的USB接口IP核設(shè)計

          基于FPGA的USB接口IP核設(shè)計

          作者: 時間:2010-03-11 來源:網(wǎng)絡(luò) 收藏

          1.2 事務(wù)處理
          事務(wù)處理(Transaction)是指總線上數(shù)據(jù)信息的一次接收或發(fā)送的處理過程。事務(wù)處理的類型包括輸入事務(wù)、輸出事務(wù)、設(shè)置(Setup)事務(wù),幀開始(SOF),幀結(jié)束(EOF)等類型,下面以輸入事務(wù)處理為例加以介紹。
          如圖2顯示了輸入事務(wù)處理中無差錯事務(wù)情況,首先由主機向總線發(fā)出輸入令牌包通知某個設(shè)備向主機發(fā)送數(shù)據(jù);當所指定的設(shè)備接收到此令牌包并檢驗身份后,將準備好的數(shù)據(jù)組裝成數(shù)據(jù)包向主機傳送出去;接著當主機接收到的數(shù)據(jù)經(jīng)校驗無差錯后,創(chuàng)建一個ACK的握手包返回給設(shè)備通知主機已正確接收到數(shù)據(jù),然后進行新的事務(wù)處理過程。若主機接收數(shù)據(jù)包錯誤,則不發(fā)送ACK握手包,表示處理過程沒有成功;若設(shè)備未準備好數(shù)據(jù),設(shè)備會向主機發(fā)送NAK握手包,提醒主機暫時不能發(fā)送數(shù)據(jù);若設(shè)備出錯,則返回主機STALL握手包通知設(shè)備出錯。

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


          1.3 總線傳輸
          為了滿足不同外設(shè)和用戶的要求,提供了4種傳輸方式:控制傳輸、實時傳輸、中斷傳輸、批量傳輸。它們在數(shù)據(jù)格式傳輸方向數(shù)據(jù)包容量限制和總線訪問限制等方面有著各自不同的特征。
          控制傳輸用來對設(shè)備進行初始化和配置管理,所有設(shè)備必須直接控制傳輸,是總線傳輸中最復雜的傳輸方式;實時傳輸用來傳送音頻或視頻的數(shù)據(jù);中斷傳輸用來傳輸類似PCI或ISA總線上中斷信號的數(shù)據(jù);批量傳輸用于打印機或掃描儀等傳輸大塊數(shù)據(jù)的設(shè)備。
          控制傳輸一般包括2或3個事務(wù)處理階段,即設(shè)置階段,數(shù)據(jù)階段(可選)和狀態(tài)階段。圖3給出了設(shè)置階段的細節(jié)。如果數(shù)據(jù)沒有正確接收設(shè)備就會忽略它,而且不返回應(yīng)答包。


          2 USB IP模塊設(shè)計和代碼編寫
          USB主要有UTM(USB Transceiver Macrocell)、SIE(SefiM Interface Engine)和設(shè)備功能總線組成。電路結(jié)構(gòu),如圖4所示,時鐘域分為:Transceiver時鐘域,SIE時鐘域和Wish- bone總線時鐘域。


          2.1 UTM模塊
          USB總線數(shù)據(jù)線由DP和DN組成,是I/O端口。并行通過對DP和DN的上拉、下拉來區(qū)別低速USB設(shè)備和高速USB設(shè)備。



          關(guān)鍵詞: FPGA USB IP核 接口

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();