新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一款基于CYPRESS的USB3.0總線設(shè)計

一款基于CYPRESS的USB3.0總線設(shè)計

作者: 時間:2014-03-19 來源:網(wǎng)絡(luò) 收藏

1.引言

本文引用地址:http://www.butianyuan.cn/article/234977.htm

USB(Universal Serial Bus,通用串行總線)以其無需配置、即插即用等特性獲得了廣泛的應(yīng)用。2004年提出的USB2.0標(biāo)準(zhǔn),傳輸速度最大能夠達(dá)到480Mbps.但在標(biāo)準(zhǔn)中,它的最大傳輸速度幾乎是傳統(tǒng)USB2.0傳輸速度的10倍,達(dá)到了5.0Gbps,被定義為“超高速U S B接口”.本文基于的FX3系列芯片,對總線進(jìn)行研究開發(fā)。

2.USB3.0接口芯片概述

賽普拉斯的EZ-USB FX3是新一代的USB3.0外設(shè)控制器,具有高度集成的靈活特性,允許系統(tǒng)設(shè)計者將USB3.0添加至任何系統(tǒng)。本文采用的是FX3系列USB3.0芯片CYUSB3014.

 

 

FX3是完全兼容USB3.0 V1.0和USB2.0規(guī)范的,集成的USB2.0 OTG控制器允許芯片作為主從設(shè)備使用。另外,它還支持一些常用的外設(shè)接口,如SPI,I2C,UART和I2S可以與外部設(shè)備進(jìn)行通信。

FX3具有一個可進(jìn)行完全配置的并行通用可編程接口GPIF II,它可以與任何處理器、ASIC或是FPGA連接。它可以輕松無縫地連接至多種常用接口,比如異步SRAM、異步和同步地址數(shù)據(jù)復(fù)用式接口、并行ATA等等。EZ-USB FX3集成了USB3.0和USB2.0物理層(PHY)以及32位ARM926EJ-S微處理器,具有強(qiáng)大的數(shù)據(jù)處理能力,并可用于構(gòu)建定制應(yīng)用。

3.系統(tǒng)整體設(shè)計

本系統(tǒng)設(shè)計主要由軟件部分和硬件部分組成。軟件部分主要包括三大部分:PC機(jī)應(yīng)用程序、FX3固件程序、FPGA程序。硬件部分主要由FPGA、USB3.0芯片和DDR2組成,硬件的系統(tǒng)框圖如圖2所示。本文主要完成了硬件、PC機(jī)應(yīng)用程序和FPGA程序的設(shè)計。

 

 

FX3固件程序使用的是Cypress的SDK開發(fā)包的固件程序。

3.1 DDR模塊設(shè)計

與FPGA相比,USB3.0接口是一個高速的接收單元。在不同工作速度的系統(tǒng)之間,數(shù)據(jù)緩存是不可或缺的部分,一般來說,使用FIFO基本可以使各系統(tǒng)工作在自己的時鐘頻率下,而不需要反復(fù)的互相握手信號就能進(jìn)行數(shù)據(jù)的交流。本文設(shè)計的數(shù)據(jù)是保存在計算機(jī)上,由于各計算機(jī)的硬件配置可能會不一樣,我們設(shè)計了DDR2虛擬FIFO模塊來進(jìn)行數(shù)據(jù)緩存,為批量傳輸時能夠提供足夠的緩存,不用擔(dān)心為緩存不夠電腦來不及存取數(shù)據(jù)造成數(shù)據(jù)丟失。

本系統(tǒng)選用兩片MT47H64M16HR,兩片DDR并聯(lián)控制總線和地址總線,總存儲容量達(dá)到2Gbit,讀寫寬度都為16bit,它具有豐富的資源,足夠滿足本系統(tǒng)的需要。

3.2 USB3.0接口設(shè)計

與USB2.0不同的是,USB3.0在與計算機(jī)通訊時,它有自己專用的數(shù)據(jù)通路,專用的數(shù)據(jù)發(fā)送線路和獨(dú)立的數(shù)據(jù)接收線路,即圖3中四線差分信號SSRX+/-和SSTX+/-,從而可以真正的實(shí)現(xiàn)全雙工。同時,USB3.0還兼容了USB2.0的D+/-信號接口,從而可以與USB2.0無縫連接。使用從器件FIFO接口與FPGA鏈接,傳輸速度能達(dá)到可達(dá)到320MBps.圖3為USB芯片與FPGA和PC機(jī)的電路連接。

 

 

3.3 FPGA邏輯設(shè)計

FPGA是整個系統(tǒng)的核心,它需要產(chǎn)生測試數(shù)據(jù)并將數(shù)據(jù)存儲到DDR2中,以及將DDR2中讀出的數(shù)據(jù)轉(zhuǎn)移到CYUSB3014大的內(nèi)部FIFO中,因此它主要由如圖2內(nèi)部所示模塊構(gòu)成。

3.3.1 USB接口模塊

USB接口模塊主要處理讀寫命令。讀寫命令需要計算機(jī)通過USB控制傳輸,傳遞到CYUSB3014中,再由CYUSB3014將具體的命令轉(zhuǎn)化為電平信號送到FPGA的IO口。USB接口模塊根據(jù)UART_RX上的電平信號,判斷出是讀命令還是寫命令,最終產(chǎn)生CYUSB3014的片選CS、使能OE、讀/寫控制等有效信號。

當(dāng)為寫命令時,CYUSB3014需要將從DDR2中讀取的數(shù)據(jù)發(fā)送出去;當(dāng)為讀命令,讀取CYUSB3014傳遞過來的數(shù)據(jù),流程圖如圖4所示。

 


上一頁 1 2 下一頁

關(guān)鍵詞: CYPRESS USB3.0

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉