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