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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 高速USB接口設(shè)計(jì)

          高速USB接口設(shè)計(jì)

          作者: 時(shí)間:2009-04-27 來源:網(wǎng)絡(luò) 收藏

          Void TD_PoLL(void):此函數(shù)在設(shè)備運(yùn)行時(shí)被重復(fù)的調(diào)用,應(yīng)包括完成特別任務(wù)的代碼。在該函數(shù)返回前,優(yōu)先級(jí)高的任務(wù)可能己完成。若它返回值為假,EZ―FX2將不會(huì)影響設(shè)備請(qǐng)求和總線設(shè)備掛起事件。若需要大量的處理時(shí)間,EZ-FX2會(huì)通過多次調(diào)用TD_PoLL函數(shù)將時(shí)間分段。
          BooL TD_suspend(void):此函數(shù)是在設(shè)備進(jìn)入掛起狀態(tài)前調(diào)用,在其中加入適當(dāng)?shù)拇a,配置設(shè)備的工作狀態(tài),可使設(shè)備處于低功耗狀態(tài)并返回真值。可以改動(dòng)TD_Suspend的程序代碼,使其返回為假,可使EZ-USBFX2不進(jìn)入掛起狀態(tài)。
          Void TD_Resume (void):當(dāng)外部要求重新啟動(dòng)時(shí),設(shè)備會(huì)通過調(diào)用此函數(shù)對(duì)處理器重啟,即TD_SUspendO函數(shù)的逆操作。此時(shí),設(shè)備在正常電源下重新啟動(dòng)。設(shè)備請(qǐng)求函數(shù)主要完成對(duì)來自主機(jī)的命令和請(qǐng)求的處理工作。
          4.2 固件主程序
          fw.c是固件程序的主程序文件,負(fù)責(zé)處理主機(jī)發(fā)出的各種USB設(shè)備請(qǐng)求。該程序首先初始化所有的內(nèi)部狀態(tài)變量,然后調(diào)用TD_InitO函數(shù)初始化,并打開中斷。然后,固件程序開始列舉USB設(shè)備,直至在端點(diǎn)0上接收到SETUP包為止。一旦接受到令牌包,框架將開始交互的任務(wù)調(diào)度。
          整個(gè)系統(tǒng)實(shí)現(xiàn)過程中,設(shè)置一些重要寄存器。表1列出EZ―USBFX2為異步從屬FIFO自動(dòng)模式時(shí),需要配置的相關(guān)寄存器。

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

          5 FPGA程序的設(shè)計(jì)
          編程思路:由于CY7C68013設(shè)置為異步SlaveFIFO模式,根據(jù)異步FIFO讀寫狀態(tài)圖,選擇狀態(tài)機(jī)來編寫進(jìn)程。其狀態(tài)圖如圖3所示。

          6 結(jié)語
          以CY7C68013和FPGA接口為例描述了USB芯片的SlaveFIFO固件程序流程和設(shè)計(jì)思想,并且在項(xiàng)目中得到了實(shí)際應(yīng)用,并且數(shù)據(jù)連續(xù)傳輸無誤碼,無丟失。


          上一頁 1 2 下一頁

          關(guān)鍵詞: USB 接口設(shè)計(jì)

          評(píng)論


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