<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于CY7C68013的USB2.0數據傳輸模塊設計

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

  3 系統軟件設計

  3.1GPIF接口模式

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

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

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

  

  3.2固件程序設計

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

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

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

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

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

 ?、僬{用用戶(hù)函數TD_Poll()。

 ?、谂袛鄻藴试O備請求是否決定。如果已決定,它將解析所收到的命令請求并加以響應。

 ?、叟袛郩SB核心是否己經(jīng)報告了USB中止(suspend)事件。

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



關(guān)鍵詞: USB Cypress

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>