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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于Blackfin532和Netchip2272的USB接口設計

          基于Blackfin532和Netchip2272的USB接口設計

          作者: 時間:2010-11-08 來源:網絡 收藏

          Bushound5.0只捕獲到了設備枚舉過程中主機發(fā)出獲取配置描述符請求及之后的數(shù)據(jù),圖中的數(shù)據(jù)是主機發(fā)出獲取配置描述符請求到主機發(fā)出設置配置請求之間的數(shù)據(jù)。
          USB設備和主機之間的數(shù)據(jù)交換。當接收到主機發(fā)送的數(shù)據(jù)包之后,就會產生一個中斷信號給在中斷服務程序中查詢相應的寄存器得知接收到數(shù)據(jù)包之后,直接將接收到的數(shù)據(jù)包讀到中。USB設備需要向主機發(fā)送數(shù)據(jù)時,先將需要發(fā)送的數(shù)據(jù)放到輸入端點的Buffer中,當主機向相應的輸入端點發(fā)送In Token時,Buffe中的數(shù)據(jù)包就返回給了主機,數(shù)據(jù)包發(fā)送成功后Netehip會產生一個中斷信號給Blackfin532,在中斷處理函數(shù)中將全局變量Tx_data_flag的相應位置1,數(shù)據(jù)包發(fā)送成功。
          2.2 驅動程序
          驅動程序編寫是復雜的,選用Jungo的WindowsDriver,在Windows Driver檢測到枚舉成功的設備之后,輸入設備的廠商ID(VID)和產品ID(PID),即可生成一個inf文件,將設備的PID和VID與設備的驅動程序綁定在一起,當設備通過設備描述符將VID,PID傳送給主機之后,主機就可以據(jù)此找到設備的驅動程序了。

          3 實驗結果及分析
          設備枚舉成功之后,利用BusView觀察到的設備的配置情況如圖5所示。

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


          USB設備一共有6個端點,這里僅列出其中兩個端點的描述符,其他的和這兩個類似。BusView顯示的設備配置情況和固件程序中對設備的配置情況完全一致,這表明設備的枚舉過程是正確的。


          通過使USB設備循環(huán)的向主機發(fā)送數(shù)據(jù)來檢驗USB輸入到主機方向的數(shù)據(jù)傳輸,利用Bushound5.0捕獲的部分數(shù)據(jù)如圖6所示。圖中的數(shù)據(jù)顯示USB設備循環(huán)發(fā)送的數(shù)據(jù)是00 01 02 03 04 05 06 07 08 09,在Windows Driver中對相應的管道進行監(jiān)聽,收到的數(shù)據(jù)如圖7所示。實驗結果顯示數(shù)據(jù)傳輸完全正確。對于主機輸出到USB設備方向的數(shù)據(jù)傳輸,進行了檢驗,數(shù)據(jù)傳輸也完全正確。這表明基于Blackfin532和Netc-hip的USB接口電路的方案是可行的。

          4 結束語
          基于Blackfin532和2272的USB接口電路具有數(shù)據(jù)傳輸快速、可靠、接口電路簡單、固件程序的可移植性強等優(yōu)點,具有良好的實用價值和應用前景。


          上一頁 1 2 3 下一頁

          關鍵詞: Blackfin Netchip 2272 532

          評論


          相關推薦

          技術專區(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); })();