《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于CY7C68013A的USB2.0高速接口設(shè)計(jì)
基于CY7C68013A的USB2.0高速接口設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2014年第1期
趙 林, 孟令軍, 于 磊, 張 園
中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室 電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室, 山西 太原030051
摘要: 為了充分利用USB2.0的帶寬,解決數(shù)據(jù)傳輸時(shí)存在的速度瓶頸問(wèn)題,提出了一種基于CY7C68013A的USB2.0高速接口設(shè)計(jì)方法。采用CY7C68013A的SLAVE FIFO工作模式,芯片內(nèi)部CPU不參與數(shù)據(jù)傳輸,F(xiàn)PGA設(shè)計(jì)的外部控制電路直接讀寫芯片內(nèi)部FIFO,有效避免了內(nèi)部CPU參與數(shù)據(jù)傳輸時(shí)帶來(lái)的時(shí)間開(kāi)銷,從而提高了傳輸速度。
關(guān)鍵詞: FPGA USB2.0 CY7C68013A
中圖分類號(hào): TP303
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)01-0131-03
USB2.0 high speed interface design based on CY7C68013A
Zhao Lin, Meng Lingjun, Yu Lei, Zhang Yuan
National Key Laboratory For Electronic Measurement Technology, Key Laboratory of Instrumentation Science & Dynamic Measurement, North University of China, Taiyuan 030051, China
Abstract: In order to fully utilize the bandwidth of USB2.0 and solve the transmission bottleneck problem, a high-speed USB2.0 interface based on CY7C68013A is proposed in this paper. CY7C68013A runs at SLAVE FIFO mode,the chip’s CPU is not involved in the data transmission. The external control circuit is designed by FPGA which read and write the chip FIFO directly. The design effectively avoids wasting of time if the internal CPU participate in the data transmission, and increases the transmission speed.
Key words : USB 2.0; CY7C68013A; FPGA

    USB(Universal Serial Bus)是一種通用串行總線,主要用于USB主機(jī)和USB設(shè)備的通信。USB接口以其快速、即插即拔、接口規(guī)范統(tǒng)一及使用方便等優(yōu)點(diǎn)成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢(shì)[1-2]。雖然USB2.0接口最高可達(dá)到60 MB/s(480 Mb/s)的傳輸速度,但是目前多數(shù)USB2.0設(shè)備的傳輸速度通常低于30 MB/s,難以滿足某些系統(tǒng)對(duì)高速數(shù)據(jù)傳輸?shù)男枨螅绺咔鍒D像、高清視頻的實(shí)時(shí)采集。本文所設(shè)計(jì)的USB2.0傳輸速度可達(dá)約49 MB/s,滿足了高速數(shù)據(jù)傳輸?shù)囊蟆?br/>1 芯片介紹
    CY7C68013A芯片是賽普拉斯半導(dǎo)體公司USB2.0控制器中的旗艦產(chǎn)品,單片集成USB2.0收發(fā)器、智能串行接口引擎和增強(qiáng)型8051微處理器,16 kB代碼/數(shù)據(jù)RAM,4 kB FIFO,可配置為2倍、3倍和4倍緩沖區(qū),一個(gè)可編程GPIF接口,支持USB2.0協(xié)議規(guī)定的控制傳輸、同步傳輸、中斷傳輸以及批量傳輸。支持速率為12 Mb/s的全速傳輸和速率為480 Mb/s的高速傳輸[3-4]。
2 接口設(shè)計(jì)
2.1 硬件連接

 采用ALTERA公司CycloneIII系列的FPGA芯片作為主控器, CY7C68013A工作在SLAVE FIFO模式, 內(nèi)部的CPU不參與數(shù)據(jù)傳輸,F(xiàn)PGA直接對(duì)芯片內(nèi)部FIFO進(jìn)行讀取,硬件連接如圖1所示,各信號(hào)功能如表1所示。

2.2 固件設(shè)計(jì)
    為了縮短開(kāi)發(fā)周期,賽普拉斯半導(dǎo)體公司為用戶提供了固件框架,用戶只需在此固件的基礎(chǔ)上進(jìn)行修改即可實(shí)現(xiàn)二次開(kāi)發(fā)。固件的工作流程為:上電復(fù)位后,首先初始化全局變量,然后調(diào)用TD_Init()函數(shù)來(lái)配置傳輸所用到的端點(diǎn)和FIFO,初始化用戶自定義變量。使能中斷后,CPU進(jìn)入循環(huán)中,每次循環(huán)都調(diào)用一次TD_Poll()函數(shù),用戶程序放在此函數(shù)中。需要用戶修改的函數(shù)是TD_Init()和TD_Poll()。
    CY7C68013A內(nèi)部集成8個(gè)512 B緩沖區(qū),有12種配置方法。為了實(shí)現(xiàn)高速傳輸,本設(shè)計(jì)用到所有緩沖區(qū),設(shè)置成2個(gè)端點(diǎn):端點(diǎn)2為輸出端點(diǎn),端點(diǎn)深度4×512 B;端點(diǎn)6為輸入端點(diǎn),端點(diǎn)深度4×512 B。具體代碼如下:
void TD_Init( void )
{
    CPUCS=0x12;                //CPU工作時(shí)鐘為48 MHz
    IFCONFIG=0x43;        //同步SLAVE FIFO工作模式,
                        同步時(shí)鐘由FPGA提供,頻率為
                        48 MHz
    SYNCDELAY;
    EP2CFG=0xA0;        //端點(diǎn)2方向?yàn)镺UT,4倍緩沖,
                        每個(gè)緩沖區(qū)大小為512 B
    SYNCDELAY;
    EP6CFG=0xE0;        //端點(diǎn)6方向?yàn)镮N,4倍緩沖,每
                        個(gè)緩沖區(qū)大小為512 B
    SYNCDELAY;
    FIFORESET=0x80;                   //激活A(yù)K-ALL
    SYNCDELAY;
    FIFORESET=0x02;                         //復(fù)位端點(diǎn)2
    SYNCDELAY;
    FIFORESET=0x06;                      //復(fù)位端點(diǎn)6
    SYNCDELAY
    FIFORESET=0x00;                              //關(guān)閉AK-ALL
    SYNCDELAY;
    PINFLAGSAB=0xE6;             //FLAGB為端點(diǎn)6滿標(biāo)志
    SYNCDELAY;
    PINFLAGSCD=0xF8;              //FLAGC為端點(diǎn)2空標(biāo)志
    SYNCDELAY;
    FIFOPINPOLAR=0x00;               //所有控制信號(hào)低有效
    SYNCDELAY;
    EP2FIFOCFG=0x11;        //端點(diǎn)2為自動(dòng)模式,寬度
                            為16 bit
    SYNCDELAY;
    EP6FIFOCFG=0x09;        //端點(diǎn)6為自動(dòng)模式,寬度
                            為16 bit
}
void TD_Poll( void )
{
                 //為了實(shí)現(xiàn)高速傳輸,內(nèi)部低速CPU不參
                      //與數(shù)據(jù)傳輸,讀寫FIFO由FPGA來(lái)完成,
                      //此處不需代碼
}
3 工作過(guò)程
3.1 寫入數(shù)據(jù)

    FPGA不斷檢測(cè)FLAGB(端點(diǎn)6滿信號(hào)),當(dāng)FLAGB為高時(shí),端點(diǎn)6非滿,F(xiàn)PGA拉低SLWR信號(hào),在每個(gè)IFCLK上升沿寫入一個(gè)16 bit數(shù)據(jù);當(dāng)FLAGB為低時(shí),端點(diǎn)6滿,F(xiàn)PGA拉高SLWR信號(hào),停止寫數(shù)。工作流程如圖2所示。

4 調(diào)試結(jié)果
    實(shí)驗(yàn)用Quartus II自帶邏輯分析儀Signal Tap II對(duì)讀寫數(shù)據(jù)進(jìn)行實(shí)時(shí)采樣。
4.1 寫入數(shù)據(jù)
 圖4為寫入數(shù)據(jù)的波形, FIFOADDR指向端點(diǎn)6,F(xiàn)PGA檢測(cè)到端點(diǎn)6非滿時(shí),拉低SLWR信號(hào),在SLWR低電平期間每個(gè)IFCLK上升沿寫入一個(gè)16 bit數(shù)據(jù)。為了便于看清整體傳輸過(guò)程,將寫入波形縮小,如圖5所示。

    圖5顯示了一次性將512 B數(shù)據(jù)寫入端點(diǎn)6所用的時(shí)間,約為5.3 ?滋s,突發(fā)數(shù)據(jù)傳輸速率為96 MB/s。在每次寫入512 B數(shù)據(jù)后會(huì)有一段約為4.9 μs的空閑時(shí)間,空閑時(shí)間是主機(jī)用來(lái)處理數(shù)據(jù)的時(shí)間,即是主機(jī)而不是CY7C68013A限制著傳輸速度。由突發(fā)傳輸階段和空閑階段可以算出平均寫入數(shù)據(jù)的速率約為49.8 MB/s。
4.2 讀出數(shù)據(jù)
    圖6為讀出數(shù)據(jù)的波形,F(xiàn)IFOADDR指向端點(diǎn)2,F(xiàn)PGA檢測(cè)到端點(diǎn)2非空時(shí),拉低SLRD和SLOE信號(hào),在SLRD低電平期間每個(gè)IFCLK上升沿讀出一個(gè)16 bit數(shù)據(jù)。為了便于看清整體傳輸過(guò)程,將寫入波形縮小,如圖7所示。
    圖7顯示了從端點(diǎn)2一次性讀出512 B數(shù)據(jù)所用的時(shí)間,約為5.3 ?滋s,突發(fā)數(shù)據(jù)傳輸速率為96 MB/s。在每次讀出512 B數(shù)據(jù)后會(huì)有一段約為5.1 ?滋s的空閑時(shí)間,空閑時(shí)間是主機(jī)用來(lái)處理數(shù)據(jù)的時(shí)間,即是主機(jī)而不是CY7C68013A限制著傳輸速度。由突發(fā)傳輸階段和空閑階段可以算出平均讀出數(shù)據(jù)的速率約為48.9 MB/s。

 

    本文闡述了一種高速USB2.0接口的整體設(shè)計(jì)過(guò)程,充分利用了USB2.0帶寬,讀寫速度可達(dá)49 MB/s。實(shí)踐表明,該接口可應(yīng)用于高清圖像、高清視頻的實(shí)時(shí)采集系統(tǒng)中。
參考文獻(xiàn)
[1] Cypress Semiconductor Corporation. EZ-USB[R]. FX2LP  Datasheet.USA,2012.
[2] Cypress Semiconductor Corporation. EZ-USB[R]. Technical Reference Manual. USA, 2011.
[3] 胡曉軍.USB接口開(kāi)發(fā)技術(shù)[M]. 西安:西安電子科技大學(xué)出版社, 2005.
[4] 戴小俊.基于USB和DSP的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用,2007,33(1):84-86.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 国产欧美日韩一区| 打开双腿让老乞丐玩| 免费A级毛片无码视频| 黄色一级片在线播放| 在线观看av片| 中日韩中文字幕| 欧美一级在线看| 偷窥无罪之诱人犯罪| 蜜桃成熟时3d国语| 国产精品白浆在线播放| 一二三四视频日本高清| 日本精品少妇一区二区三区| 亚洲成a人v欧美综合天堂麻豆 | 无人区免费高清在线观看| 亚洲成AV人片在线观看无码不卡| 精品国产青草久久久久福利 | 波多野结衣大片| 四虎影视永久免费观看地址| 黄色91香蕉视频| 国产超碰人人模人人爽人人喊| 一区二区精品久久| 日本免费成人网| 亚洲av无码成人精品区狼人影院| 沉伦柳淑云漫画3d| 免费高清在线观看a网站| 花季传媒app下载免费观看大全 | 亚洲午夜国产精品无码老牛影视| 男人j进女人p一进一出视频 | a级毛片高清免费视频| 探花www视频在线观看高清| 久久青青草原国产精品免费| 欧美日产国产亚洲综合图区一| 你是我的女人中文字幕高清| 精品视频一区二区三区四区| 国产在线观看午夜不卡| 三级网站免费观看| 国内精品九九久久久精品| tube8最近日本护士| 成人动漫h在线观看| 久久久久久AV无码免费网站下载| 最新精品亚洲成a人在线观看|