- 相關(guān)推薦
基于FPGA的USB2.0控制器設(shè)計
摘要:介紹了一種用VHDL設(shè)計USB2.0功能控制器的方法,詳術(shù)了其原理和設(shè)計思想,并在FPGA上予以實現(xiàn)。關(guān)鍵詞:USB VHDL FPGA
在視頻存儲和圖像寬帶領(lǐng)域中,經(jīng)常遇到實時高速數(shù)據(jù)傳輸?shù)囊蟆?000年4月,由Intel、Microsoft、NEC、Compaq、Lucent、Phillips等公司共同制訂的USB2.0(Universal Serial Bus)傳輸協(xié)議,其速度遠遠超過了目前使用IEEE1394接口進行視頻傳輸?shù)?00Mbps,達到了480Mbps;而且具有即插即用的PnP(Plug And Play)、可進行菊花鏈式的級聯(lián)(通過USB HUB進行外圍擴展)、可串連多達127個USB設(shè)備等優(yōu)點。應(yīng)用該協(xié)議可支持實時語音、音頻和視頻數(shù)據(jù)的傳輸。
本文針對高速數(shù)據(jù)傳輸需求,根據(jù)USB2.0的協(xié)議規(guī)范,利用VHDL語言實現(xiàn)符合該協(xié)議的功能控制器,在視頻壓解系統(tǒng)中使數(shù)據(jù)在PC與外設(shè)之間高速傳輸。如圖1所示由視頻A/D采集的原始視頻數(shù)據(jù),在Philips公司生產(chǎn)的TM1300專用視頻處理器中壓縮后,通過USB控制器送至PC機。PC機的整個通過USB控制器傳輸?shù)絋M1300,解壓后發(fā)送至視頻D/A。
1 控制器結(jié)構(gòu)原理
USB2.0控制器結(jié)構(gòu)框圖如圖2所示?刂破髦饕蓛蓚部分組成,其一為與外設(shè)的接口,另一個是內(nèi)部協(xié)議層邏輯PL(Protocol Layer)。內(nèi)部存儲器仲裁器實現(xiàn)對內(nèi)部DMA和外部總線對存儲器訪問之間的仲裁。PL則實現(xiàn)USB的數(shù)據(jù)I/O和控制。
接口有三種:一種是與微控制器之間的功能接口;一種是與單口同步靜態(tài)存儲器(SSRAM)之間的接口;另外一種是與物理層之間的接口。這里符合UTMI(USB Transceiver Macrocell Interface)規(guī)范定義。
2 控制器實現(xiàn)
控制器接口的信號框圖如圖3所示。存儲器采用標準的單口SRAM,其信號接口由32位數(shù)據(jù)線SRAM_DATA、15位地址線SRAM_ADDR及讀寫信號(SRAM_WE和SRAM_RD)組成,系統(tǒng)所需SRAM的容量為2 15×32bit=128KB。
而與微控制器之間的接口信號包括32位數(shù)據(jù)線DATA、18位地址線ADDR以及DMA請求和響應(yīng)信號(DMA_REQ和DMA_ACK)。由于要支持到128KB,需要17位地址線,另外還需要一根地址線來選通SSRAM和USB控制器內(nèi)部的寄存器,總共需要18根地址線addr[17:0]。定義如下:
USB_RF_SEL <= !addr[17];
USB_MEM_SEL <=addr[17];
第18位地址addr[17]為高時選擇緩沖存儲器,否則選擇內(nèi)部寄存器。地址addr[16:2]直接用于存儲器SSRAM的地址。
2.1 UTMI接口
UTMI接口信號包括:與發(fā)送數(shù)據(jù)相關(guān)的信號(TxValid、TxReady等),與接收數(shù)據(jù)相關(guān)的信號(RxActive、RxValid、RxError等)以及16位雙向數(shù)據(jù)線。
&nbs
[1] [2] [3] [4] [5]
【基于FPGA的USB2.0控制器設(shè)計】相關(guān)文章:
基于FPGA的DDS設(shè)計方法05-02
基于FPGA的數(shù)字系統(tǒng)設(shè)計04-27
基于FPGA的TSoverlP的設(shè)計和實現(xiàn)論文04-29
基于FPGA的DDS信號源設(shè)計04-27
基于FPGA技術(shù)的位置反饋系統(tǒng)設(shè)計05-01
基于FPGA的嵌入式系統(tǒng)FLASH接口設(shè)計與實現(xiàn)05-02
基于DSP和FPGA的筆劃字符發(fā)生器設(shè)計04-26