新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 高速USB接口設計

高速USB接口設計

作者: 時間:2009-04-27 來源:網(wǎng)絡 收藏
1 引言
傳統(tǒng)的通信方式傳輸速度慢、抗干擾能力弱、安裝麻煩等原因嚴重阻礙了數(shù)據(jù)采集設備的發(fā)展,隨著電子信息技術的迅猛發(fā)展。計算機和外圍設備得到飛速發(fā)展和應用。新一代通用串行總線,簡稱。具有傳輸線少、速度快、支持熱插拔以及易于擴展等優(yōu)點,很好解決了以上問題,因此串行總線技術在計算機系統(tǒng)及通信設備中得到廣泛的應用,為了滿足數(shù)據(jù)采集傳輸速度的要求.所以提出了高速接口的設計與實施。
系統(tǒng)硬件實現(xiàn)數(shù)據(jù)采集功能,并將采集的數(shù)據(jù)送至控制器,再通過USB接口將數(shù)據(jù)傳送給PC機。硬件設計主要包括USB2.O主控制器(CY7C68013)外圍電路設計、CY7C68013與FPGA連接等。系統(tǒng)軟件包括USB固件程序、設備的驅(qū)動程序和用戶界面程序。USB固件程序在keilC中完成,實現(xiàn)對CY7C68013初始化,設備驅(qū)動程序為用戶界面程序提供軟件和硬件平臺連接的通道,由DriverStudiO開發(fā);用戶界面程序采用VB語言完成,在VB中調(diào)用驅(qū)動函數(shù)中的句柄對硬件設備進行操作,實現(xiàn)數(shù)據(jù)的接收、保存、顯示和打印功能。

2 USB控制器件CY7C68013內(nèi)部結構
CY7C68013是Cypres公司生產(chǎn)EZ―USB FX2系列的一種。其內(nèi)部結構如圖1所示。EZ-USB FX2系列的典型應用是無線局域網(wǎng)、移動硬盤、DSL調(diào)制解調(diào)器等接口類設備。為滿足不同用戶的需要,Cypress公司為FX2提供了4種封裝形式:128引腳TQFP;100引腳QFN;56引腳QFN;56引腳SSOP。這些同種類不同封裝的其內(nèi)部結構相同,不同的封裝形式引出的外部引腳數(shù)量有所不同。EZ―USB FX2擁有獨特的結構,其串行接口引擎(SIE)負責完成諸如數(shù)據(jù)的編解碼、差錯控制、位填充等與USB協(xié)議有關的功能,將嵌入式MCU(增強型8051)解放出來,簡化固件代碼的開發(fā)。FX2中還包含一個通用可編程接口(GPIF),它支持所有通用的總線標準,并可與外部ASIC、DSP等直接相連,對于EZ―USB FX系列需要微處理器(增強型8051)參與端點FIFO與外圍電路之間的數(shù)據(jù)傳輸,由于增強型8051本身的工作頻率較低,限制了傳輸速率的進一步提高。雖然這種限制在12Mb/s的全速模式下并不明顯,但當速率提升至480 Mb/s的高速模式時,微處理器必將成為整個系統(tǒng)的帶寬瓶頸。為此,在EZ―USBFX2中,USB接口和外圍電路直接共享FIFO存儲器。增強型8051可不參與數(shù)據(jù)傳輸,但通過FIFO或RAM的方式訪問所傳輸?shù)臄?shù)據(jù),這些FIF0與USB之間的傳輸以數(shù)據(jù)包的形式實現(xiàn),此處理被稱為“量子FIF0”,它很好的解決了USB高速傳輸模式下的帶寬問題。

本文引用地址:http://2s4d.com/article/188948.htm

EZ-USBFX2內(nèi)部包含3個固定的64字節(jié)端點緩沖區(qū)(0xE740~0x7FF)和4KB的可配置端點緩沖區(qū)空間(OxF000~OxFFFF)。3個64字節(jié)的緩沖區(qū)分別用于EPO,EPIIN和EPIOUT,4KB的可配置緩沖區(qū)用于EP2、EP4、EP6和EP8。其中,端點0默認為控制端點,其0UT和IN數(shù)據(jù)共享一塊存儲空間(OxE740~OxE77F),端點1支持塊傳輸、中斷傳輸和同步傳輸,其OUT數(shù)據(jù)占用緩沖區(qū)OxE780~0xE7BF,IN數(shù)據(jù)占用緩沖區(qū)OxE7C0~0xE7FFa端點。端點l僅能由EZ-USB FX2的固件訪問端點2、端點4,端點6和端點8是大容量高帶寬的數(shù)據(jù)傳輸端點,其無需8051固件干涉便可同外圍電路完成高速數(shù)據(jù)傳輸。這4個端點具有非常靈活的配置方式,適應不同場合下的帶寬要求。其中雙重緩沖意味著USB讀寫一個緩沖區(qū)的同時,另一緩沖區(qū)可以與外圍電路進行數(shù)據(jù)通信;三重緩沖增加了第3個數(shù)據(jù)緩沖區(qū),可供USB端或外圍電路端使用;四重緩沖增加了第4個緩沖區(qū)。多重緩沖結構可在數(shù)據(jù)讀寫雙方速度相似時,有效提高USB帶寬的性能,平滑帶寬抖動,并減少雙方的互相等待時間。

3 硬件設計
USB控制器及其外圍電路組成系統(tǒng)的數(shù)據(jù)讀取和傳輸模塊,主要負責讀取數(shù)據(jù)及與PC機通信,從而完成系統(tǒng)功能。EZ―USBFX2和FPGA的從SlaveFIF0硬件連接如圖2所示。

EZ-USBFX2和FPGA之間的通信模式既可選擇從屬FIFO接口模式,也可選擇GPIF接口模式。通過配置IF―CONFIG[l:0]來選擇。當為11時,選擇從屬FIFO接口模式;當為10時,選擇GPIF接口模式。
當EZ―USBFX2被設置為SlaveFIFO接口模式時,USB數(shù)據(jù)在PC機和FPGA中傳輸,不需EZ-USBFX2的CPU參與,而經(jīng)EZ-USBFX2的內(nèi)部端點FIFO傳輸。對FPGA端點FIFO提供了FPGA經(jīng)16位數(shù)據(jù)總線FD連接EZ―USBFX2 FIFO,其數(shù)據(jù)總線是雙向,通過SLOE引腳控制輸出。FIFOADR[1:O]引腳選擇4個FIFO中的一個與FD總線連接。異步方式下,SLRD和SLWR是讀/寫選通信號。同步方式下,SLRD和SLWER作為IFCLIK時鐘引腳使能信號。這里采用異步方式。

4 USB固件程序的設計
為了簡化固件編程,Cypress提供了固件編程框架,在此基礎上只需要修改少量代碼即完成固件編程。固件編程框架完成了USB標準設備請求和USB電源管理,并提供了任務調(diào)度函數(shù),在任務調(diào)度函數(shù)中編寫少量代碼就可完成編程。只需要提供USB設備描述符表和外圍操作程序就可實現(xiàn)一
個功能完整的USB設備。
4.1 函數(shù)介紹
Void TD_Init(void):此函數(shù)主要完成EZ-USBFX2的初始化,在EZ―USBFX2再次枚舉和開始任務分配前被調(diào)用,其目的是初始化各個端口以及各端口的先入先出緩沖區(qū)。


上一頁 1 2 下一頁

關鍵詞: USB 接口設計

評論


相關推薦

技術專區(qū)

關閉