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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > USB IP核的設(shè)計及FPGA驗證

          USB IP核的設(shè)計及FPGA驗證

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

          4

          核已經(jīng)應(yīng)用于一款數(shù)據(jù)采集單芯片系統(tǒng)中。因此在進(jìn)行時,是將此核嵌入于此單芯片系統(tǒng)中進(jìn)行的。此單芯片系統(tǒng)中嵌入UART模塊可與PC機的串口進(jìn)行通信,此系統(tǒng)中的增強型8051MCU核對整個 核進(jìn)行相應(yīng)的控制。采用了Xilinx公司的ISE集成開發(fā)環(huán)境,在調(diào)試的過程中用了ChipSeope Pro軟邏輯分析儀。硬件平臺用Xilinx公司的Virtex4系列中XC4VLX60器件。

          整個過程如下:

          (1)從設(shè)備與PC機的USB接口連接,此時USB從設(shè)備要完成設(shè)備枚舉的過程。

          (2)設(shè)備枚舉完成PC機會提示驅(qū)動程序還沒有裝,要求加載驅(qū)動程序在PC機上加驅(qū)動程序,USB的驅(qū)動程序直接與PC機的操作系統(tǒng)聯(lián)系,項目中的USB接口是在Windows XP操作系統(tǒng)中調(diào)試的。

          (3)在驅(qū)動程序加載完成后,PC機會提示“現(xiàn)在可以正常通訊”,表明現(xiàn)在可以利用USB的應(yīng)用層軟件進(jìn)行通信了。

          (4)將數(shù)據(jù)從PC機的應(yīng)用層輸入,通過USB接口發(fā)給嵌入USB IP核的數(shù)據(jù)采集SoC芯片,然后通過其中的SoC中UART將數(shù)據(jù)返回給PC機,經(jīng)過比較兩者數(shù)據(jù)完全相同,驗證表明了此IP核的正確。

          圖5是在進(jìn)行IP核FPGA驗證時,設(shè)備枚舉階段PC的USB主機發(fā)送給USB IP核的幀開始(SOF)包。

          fs_clk為從PC機發(fā)過來的比特流恢復(fù)過來的12 MHz的時鐘信號。rx_data表示收到的數(shù)據(jù),如圖5所示在rx_valid高電平時,表明收到的rx_data是有效的,從圖中可以看出收到了十六進(jìn)制數(shù)“A5—43—85”,此包正是PC機發(fā)給USB IP核的SOF包。rxdp和rx_dn是串口接口引擎模塊中的信號,他經(jīng)過一個三態(tài)門與圖1所示的D+和D一相連接。由圖中可以看出,在“85”收到時,rxdp和rx_dn的波形表明收到了PC機發(fā)過來的兩個fS_clk時鐘周期的SE0”表示包結(jié)束的信號。

          5 結(jié) 語

          本USB IP核在時,充分考慮到可重用性,其USB端點可進(jìn)行相應(yīng)的配置和擴展。同時針對目前SoC中常用的WishBone總線和AMBA ASB總線結(jié)構(gòu)了總線適配器,在綜合前進(jìn)行相關(guān)的宏定義就可以無縫接入SoC中。本USB IP核在實際項目中,與MCU核以及其他的IP核集成于一款數(shù)據(jù)采集SoC芯片中,該數(shù)據(jù)采集SoC已經(jīng)處于版圖后仿真階段,即將流片。


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: 驗證 FPGA 設(shè)計 IP USB

          評論


          相關(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); })();