色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

基于CYUSB3014 USB3.0總線開(kāi)發(fā)技術(shù)

發(fā)布時(shí)間:2014-12-17 15:42    發(fā)布者:designapp
關(guān)鍵詞: CYUSB3014 , USB3.0 , 總線開(kāi)發(fā) , FPGA

        1.引言

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

2.USB3.0接口芯片概述

賽普拉斯的EZ-USB FX3是新一代的USB3.0外設(shè)控制器,具有高度集成的靈活特性,允許系統(tǒng)設(shè)計(jì)者將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具有一個(gè)可進(jìn)行完全配置的并行通用可編程接口GPIF II,它可以與任何處理器、ASIC或是FPGA連接。它可以輕松無(wú)縫地連接至多種常用接口,比如異步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è)計(jì)

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




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

3.1 DDR模塊設(shè)計(jì)

與FPGA相比,USB3.0接口是一個(gè)高速的接收單元。在不同工作速度的系統(tǒng)之間,數(shù)據(jù)緩存是不可或缺的部分,一般來(lái)說(shuō),使用FIFO基本可以使各系統(tǒng)工作在自己的時(shí)鐘頻率下,而不需要反復(fù)的互相握手信號(hào)就能進(jìn)行數(shù)據(jù)的交流。本文設(shè)計(jì)的數(shù)據(jù)是保存在計(jì)算機(jī)上,由于各計(jì)算機(jī)的硬件配置可能會(huì)不一樣, 我們?cè)O(shè)計(jì)了DDR2虛擬FIFO模塊來(lái)進(jìn)行數(shù)據(jù)緩存,為批量傳輸時(shí)能夠提供足夠的緩存,不用擔(dān)心為緩存不夠電腦來(lái)不及存取數(shù)據(jù)造成數(shù)據(jù)丟失。
本系統(tǒng)選用兩片MT47H64M16HR,兩片DDR并聯(lián)控制總線和地址總線,總存儲(chǔ)容量達(dá)到2Gbit,讀寫寬度都為16bit,它具有豐富的資源,足夠滿足本系統(tǒng)的需要。

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

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



  




       

3.3 FPGA邏輯設(shè)計(jì)

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

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

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


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


 




         

3.3.2 測(cè)試數(shù)據(jù)模塊

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

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

產(chǎn)生測(cè)試數(shù)據(jù)后,數(shù)據(jù)傳輸流程為DATA->DDR2->FIFO->CYUSB3014->PC機(jī),實(shí)現(xiàn)了將測(cè)試數(shù)據(jù)上傳到PC機(jī)的功能。

3.3.3 DDR2接口模塊

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

3.4 應(yīng)用程序的設(shè)計(jì)

應(yīng)用程序由VC++編寫,利用與設(shè)備驅(qū)動(dòng)關(guān)聯(lián)的API與設(shè)備聯(lián)系。CYPRESS公司提供了完整的API庫(kù),配合使用其提供的通用驅(qū)動(dòng)程序,可以便利地調(diào)用控制USB設(shè)備。應(yīng)用程序的主要功能是發(fā)送命令,并將USB輸入數(shù)據(jù)保存下來(lái),程序主要界面如圖6所示。


 




         
  
4.測(cè)試結(jié)果及分析

4.1 寫入數(shù)據(jù)測(cè)試

當(dāng)應(yīng)用程序向USB發(fā)出寫命令時(shí),F(xiàn)PGA產(chǎn)生測(cè)試數(shù)據(jù)并傳給FX3以便上傳給PC機(jī)。

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

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


  
  
4.2 讀出數(shù)據(jù)測(cè)試

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


  
5.結(jié)束語(yǔ)

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


本文地址:http://www.54549.cn/thread-135912-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表