<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è) > 電源與新能源 > 設計應用 > 基于CYPRESS的USB3.0總線(xiàn)技術(shù)的開(kāi)發(fā)應用

基于CYPRESS的USB3.0總線(xiàn)技術(shù)的開(kāi)發(fā)應用

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

1.引言

本文引用地址:http://dyxdggzs.com/article/201612/328519.htm

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

2.USB3.0接口芯片概述

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

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

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

3.系統整體設計

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

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

3.1 DDR模塊設計

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

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

3.2 USB3.0接口設計

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

3.3 FPGA邏輯設計

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

3.3.1 USB接口模塊

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

當為寫(xiě)命令時(shí),CYUSB3014需要將從DDR2中讀取的數據發(fā)送出去;當為讀命令,讀取CYUSB3014傳遞過(guò)來(lái)的數據,流程圖如圖4所示。

圖5、圖6分別為同步寫(xiě)入和讀出數據的時(shí)序圖。由于讀寫(xiě)最大包為1024字節,所以實(shí)際每一包傳輸需要256個(gè)周期。圖中的輸入/出DQ數據為測試數據模塊和PC機產(chǎn)生的測試數據,RX即UART_RX信號。

3.3.2 測試數據模塊

當計算機向FPGA發(fā)出讀命令時(shí),FPGA產(chǎn)生測試數據。32位數據,高16位為0,低16位循環(huán)計數,發(fā)送一個(gè)周期后,自動(dòng)清零。

批量(bulk)傳輸時(shí)的最大包大小為1024字節,因此測試數據在0~255之間循環(huán)變化。

產(chǎn)生測試數據后,數據傳輸流程為DATA->

DDR2->FIFO->CYUSB3014->PC機,實(shí)現了將測試數據上傳到PC機的功能。

3.3.3 DDR2接口模塊

該部分直接負責外圍DDR2接口,利用FPGA的DDRII SDRAM IP核實(shí)現,按照DDR2芯片MT47H64M16HR來(lái)設定控制器的時(shí)序參數,控制器根據這些參數值生成滿(mǎn)足MT47H64M16HR時(shí)序的接口,再由DDR2模塊進(jìn)行讀寫(xiě)控制。

4.測試結果及分析

4.1 寫(xiě)入數據測試

當應用程序向USB發(fā)出寫(xiě)命令時(shí),FPGA產(chǎn)生測試數據并傳給FX3以便上傳給PC機。

采集1000MB的數據進(jìn)行記錄,以便在MATLAB中進(jìn)行分析。

CYPRESS官方開(kāi)發(fā)包中自帶了streamer軟件進(jìn)行速度測試。在Endpoint選項中選擇Bulk in endpoint端點(diǎn)(Bulk Out對應的是PC機向FPGA寫(xiě)數據)。由于批量傳輸時(shí)的最大包為1024字節,因此需要將Packets perXfer設置為256或以下,Xfers to Queue置為4.不同的USB3.0控制器,速度的測試結果會(huì )有所不同。如圖7所示是在64位WIN7系統下的測試及分析結果。如圖7(a)中所示,經(jīng)過(guò)一段時(shí)間的速度測試,23704個(gè)成功包,0失敗,往P C中寫(xiě)入數據的速度能夠達到178800KB/S,即1.43Gbps.為了驗證數據的正確性,在MATLAB中對采集的8.0Gb數據進(jìn)行分析。由于測試數據是0~255之間循環(huán)變化,因此可以根據每一包數據的數據差是否為1來(lái)判斷數據的正確性,當不為1時(shí)報錯。

如圖7(b)所示,讀取的數據是正確的,沒(méi)有發(fā)生丟數或錯數的情況。

4.2 讀出數據測試

類(lèi)似的,當應用程序向USB發(fā)出讀命令時(shí),同時(shí)會(huì )產(chǎn)生一組有規律的測試數據,并傳送給CYUSB3014,FPGA直接讀取數據。如下圖8(a)所示是讀入速度測試結果,18252個(gè)成功包,0失敗,往USB中寫(xiě)入數據的速度能夠達到179000KB/S,即1.432Gbps.在FPGA中記錄下隨機采集的32k數據并進(jìn)行分析,同樣的可以根據數據間的差來(lái)判斷數據的正確性,如圖8(b)所示,寫(xiě)入的數據時(shí)正確的,沒(méi)有發(fā)生丟數錯數的情況。

5.結束語(yǔ)

本文在FPGA和CYUSB3014的基礎上,對USB3.0進(jìn)行了開(kāi)發(fā)應用。鑒于本文的系統架構,雖然測試數據都是FPGA內部產(chǎn)生,但是對于實(shí)際使用高采樣率AD的數據采集系統具有很大的借鑒意義。



關(guān)鍵詞: CYPRESSUSB3.0總線(xià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>