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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CY7C68013的USB2.0數(shù)據(jù)傳輸模塊設(shè)計

          基于CY7C68013的USB2.0數(shù)據(jù)傳輸模塊設(shè)計

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

            3 系統(tǒng)軟件設(shè)計

            3.1GPIF接口模式

            FX支持3種接口方式:端口、Slave FIFOs和可編程接口GPIF。

            在“端口”模式下,所有I/O引腳都可作為8051的通用I/O口。在“從FIFO”模式下,外部邏輯或外部處理器直接與FX2端點FIFO相連。在這種模式下,GPIF 不被激活,這種模式下,外部主控端既可以是異步方式,也可以是同步方式,并可以為FX2 接口提供自己的獨立時鐘?!癎PIF主控”接口模式使用PORTB 和PORTD構(gòu)成通向四個FX2端點FIFO(EP2、EP4、EP6和EP8)的16位數(shù)據(jù)接口。GPIF 作為內(nèi)部的主控制器與FIFO直接相連, 并產(chǎn)生用戶可編程的控制信號與外部接口進行通信。GPIF使用內(nèi)部時鐘。用戶將波形文件程序存在內(nèi)部RAM的程序存儲區(qū)中。

            根據(jù)系統(tǒng)需要,設(shè)計中采用GPIF接口模式將CY7C68013設(shè)為FIFO READ和SINGLE READ兩種模式, 讓GPIF中的端點FIFO與通信中端點緩沖直接建立連接, 數(shù)據(jù)的傳送不再需要CPU 的參與。 根據(jù)外部測試電路的要求,適用于不同測試環(huán)境預(yù)設(shè)電路的CPLD編程信號,根據(jù)實際的測試信號的頻率采用不同的采樣頻率,設(shè)定不同的觸發(fā)電平,使用單次寫模式可以完成編程數(shù)據(jù)的輸出。針對的測試數(shù)據(jù)采用FIFO多次讀模式,實現(xiàn)數(shù)據(jù)的批量傳輸。設(shè)計中采用48M晶振,由于靜態(tài)存儲器的在使能信號(OE)的上升沿后推地址(Adr),而數(shù)據(jù)在總線上的保持時間至少需要85ns,因此在波形設(shè)計中數(shù)據(jù)有效時間應(yīng)該為4個時鐘周期,才能夠滿足地址有效的要求。靜態(tài)存儲器讀操作時序圖如圖2所示。

            

            3.2固件程序設(shè)計

            固件是指存儲在接口芯片或微控器中的代碼,用于控制硬件系統(tǒng)運行,各種標(biāo)準請求的處理,以及USB閑置模式的電源管理服務(wù),實現(xiàn)主機與外設(shè)之間的通信和數(shù)據(jù)傳輸。主要是根據(jù)系統(tǒng)需求設(shè)計相應(yīng)的程序框架圖。 公司為FX2 固件開發(fā)提供了一個固件庫和固件框架,都是在KeilC51集成開發(fā)環(huán)境下開發(fā)的,固件庫提供了一些常量、數(shù)據(jù)結(jié)構(gòu)、函數(shù)來簡化用戶對芯片的使用。C 語言環(huán)境, 同時保留了匯編代碼高效、快速的特點,將代碼在KeilC51環(huán)境中進行編譯。編譯通過后,將固件代碼下載到USB單片機中,就可以實現(xiàn)GPIF多字節(jié)讀等操作。在程序起始時,固件架構(gòu)會執(zhí)行下列步驟:

            (1)首先,設(shè)置所有的內(nèi)部狀態(tài)變量。

            (2)然后,調(diào)用用戶的初始設(shè)置函數(shù)TD_Init()。待返回后固件架構(gòu)就會設(shè)置USB接口成為未配置的狀態(tài),并且使能中斷。

            (3)接下來,在1秒的間隔內(nèi)開始重新設(shè)備列舉(ReNumerate)設(shè)備,并直到設(shè)置(SETUP)封包收到端點0為止。

            (4)一旦SETUP封包被檢測到,固件架構(gòu)就會啟動與PC主機合作的工作分配器。而這個工作分配器就會順序重復(fù)執(zhí)行下列的工作:

           ?、僬{(diào)用用戶函數(shù)TD_Poll()。

           ?、谂袛鄻?biāo)準設(shè)備請求是否決定。如果已決定,它將解析所收到的命令請求并加以響應(yīng)。

            ③判斷USB核心是否己經(jīng)報告了USB中止(suspend)事件。

            用戶需要編寫TD_Poll()中的代碼完成特定的功能,判斷USB設(shè)備枚舉的狀態(tài)決定每次出發(fā)FIFO波形文件的次數(shù),數(shù)據(jù)短包的處理方式等,實現(xiàn)數(shù)據(jù)的讀取。



          關(guān)鍵詞: USB Cypress

          評論


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