《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于CY7C68013的高速數據傳輸系統的設計
基于CY7C68013的高速數據傳輸系統的設計
來源:電子技術應用2010年第7期
熊俊俏,劉 崢
武漢工程大學 電氣信息學院,湖北 武漢430073
摘要: 采用Cypress公司的CY7C68013芯片設計了通用的USB接口,結合MAX7128的串/并/串轉換和光纖收發系統,實現數據的高速傳輸。介紹了系統的軟硬件結構, 詳細介紹了固件設計和WDM驅動程序的結構、特性、工作機制、軟件流程及與USB設備通信的方法。測試表明,該系統達到了預期的設計目標和實用要求。
中圖分類號: TP334.7
文獻標識碼: A
文章編號: 0258-7998(2010)07-0073-03
Design and realization of high-speed data transmission system based on CY7C68013
XIONG Jun Qiao,LIU Zheng
College of Electrical and Electronic Engineering, Wuhan Institute of Technology, Wuhan 430073,China
Abstract: A common USB interface was designed based on Cypress′s CY7C68013 chip, jointed with serial- parallel or parallel-serial conversion by MAX7128 and optical transceiver systems, the high-speed data transmission was achieved. The system hardware and software architecture was described. All were described in detail including firmware design, structure、characteristics and working mechanism of WDM driver software, software processes and methods to communicate with USB devices. The testing shows that the system can absolutely fulfill the design and practical requirements.
Key words : CY7C68013;USB2.0;MCU;WDM

    USB控制器是以USB串口引擎為主的專用集成電路,并可延伸至對其進行管理的MCU以及相應的軟硬件。目前市場上供應的USB控制器主要有2種:帶USB接口的單片機(MCU)或純粹的USB接口芯片。帶USB接口的單片機可分為2類:一類是從底層設計專用于USB控制的單片機,如Cypress公司的CY7C63513、CY7C64013等[1],由于開發工具的專用性,往往應用于各種專業應用場合,如微機主板等[2-4];另一類是增加了USB接口的普通單片機,如Intel公司的8X931、8X930以及Cypress公司的EZ-USB,由于均基于8051內核,因而得到了廣泛應用。
1 CY7C68013與系統結構簡介
    Cypress公司的CY7C68013芯片是集成USB2.0協議的微處理器,支持12 Mb/s的全速傳輸和480 Mb/s的高速傳輸,具有控制傳輸、中斷傳輸、塊傳輸和同步傳輸4種傳輸方式,內部包括一個增強型8051處理器內核、一個串行接口引擎(SIE)、一個USB收發器、8.5 KB片上RAM和4 KB FIFO存儲器以及一個通用可編程接口(GPIF)。8051可工作在48 MHz/24 MHz/12 MHz時鐘頻率,內部可自動產生480 MHz的頻率供USB2.0串行收發引擎使用。由于數據緩沖器與SIE相連接,數據進入收發器后,通過SIE可直接轉向FIFO,通過8 bit或16 bit數據接口與外設連接,存取數據。微控制器不參與數據傳輸,但允許以FIFO或RAM的方式訪問這些共享FIFO,從而實現低速控制、高速傳輸。CY7C68013有GPIF/SLAVE FIFO/GPIO 3種接口模式,本系統采用Slave FIFO接口模式,選用控制傳輸和塊傳輸2種方式,外部控制器可像普通FIFO一樣對FIFO進行讀寫。
    本數據傳輸系統分為3部分:發送端和接收端、CY7C68013控制器、具有并/串(或串并轉換)功能的CPLD芯片(MAX7128)以及光纖傳輸模塊。其中,CY7C68013和MAX7128之間采用并行連接方式,MAX7128與激光發送(接收)模塊間是串行連接,如圖1(a)所示。

    圖1(a)中,主機將數據發送到CY7C68013端點FIFO緩沖器中,然后CY7C68013將端點FIFO中的數據分字節放到一組I/O口上,并且使能讀信號,MAX7128讀取I/O上的邏輯值,當接收512 B后,MAX7128將這512 B的數據從低到高串行發送給激光發送模塊;數據經過光纖傳輸,進入激光接收模塊,輸出串行信號,通過MAX7128實現串并轉換,數據寬度為8 bit,通過CY7C68013的從屬FIFO的寫入時序即可將數據寫入CY7C68013的端點緩沖器中。
    USB數據傳輸接口開發分為4個層次,接口硬件、接口軟件、驅動和應用程序如圖1(b)所示。
2 固件程序設計
    由于高速數據傳輸不需要固件程序參與,固件程序僅僅處理主機的發送請求。在發送端,固件將數據放置到I/O口上供MAX7128讀??;在接收端,MAX7128完成串并轉換后,將數據用特定時序寫入CY7C68013。此時只需設定寄存器,固件程序相對簡單,圖2為發送和接收固件程序流程。

    CY7C68013芯片固件程序負責處理主(從)機發送來的各種請求,以完成與外圍電路間的各種數據傳輸。本系統固件一共包含九個程序文件,其中的頭文件分別定義了CY7C68013中的寄存器名和特殊功能寄存器、通用的CY7C68013常量、數據類型和宏、特殊功能寄存器所需要的同步延遲宏、用來描述CY7C68013狀態的各種USB描述符、INT2和INT4中斷跳轉表等。主函數負責處理標準USB請求和自定義請求,控制整個硬件系統的運行。接收端固件主循環不用做任何操作,與發送端程序流程圖完全相同。其固件運行的主程序清單如下,負責處理主機發出的各種USB請求。
……
    TD_Init();//初始化用戶設備
    EZUSB_IRQ_ENABLE();//使能USB中斷(INT2)
    EZUSB_ENABLE_RSMIRQ();//使能喚醒中斷
    INTSETUP |=(bmAV2EN | bmAV4EN);//使能INT2
//和INT4中斷跳轉向量
    USBIE |=bmSUDAV | bmSUTOK | bmSUSP | bmURES |
bmHSGRANT;//使能所選擇的中斷
    EA=1;//打開8051中斷
    UsbDisconnect();
    CKCON=(CKCON&(~bmSTRETCH)) | FW_STRETCH_
VALUE;//設為0值
    Sleep=FALSE;//清除sleep標志
    while(TRUE)//主循環
    {
        if(GotSUD)//等待SETUP令牌數據的到來
        {
            ParseControlTransfer();//處理SETUP令牌數據
            GotSUD=FALSE;//清除SUDAV標志
        }
        if (Sleep)
        {
            Sleep=FALSE;//清除sleep標志
            do
            {
            EZUSB_Susp();//置8051為空閑
            }
            while(!Rwuen&&EZUSB_EXTWAKEUP());
            EZUSB_Resume();//從空閑狀態恢復
        }
        TD_Poll();//完成用戶任務
    }
……
    需要強調的是:固件程序設計完成后需要進行調試,確保系統硬件正常工作。
    (1)工作時鐘頻率的確定:晶振兩引腳對地電壓均為1.6 V左右,此時CLKOUT引腳默認輸出為24 MHz,當輸出48 MHz時,電壓為2.5 V。
    (2)電平觸發中斷方式:中斷后一定要讀上次傳輸狀態寄存器(命令40 H~45 H),以清除中斷寄存器中的中斷標志,這樣中斷輸出才能變回高電平。
    (3)使能端口:接收到Setup包后,必須用ACKsetup命令重新使能端口為低電平。
    (4)緩沖區數據標志:在向IN端點寫完數據后,必須設置EP2BCH:L,指明緩沖區中的數據有效,示意可以發送到主機。當IN端點的數據被外設讀走后,一定要調用OUTPKTEND來清除緩沖區數據,否則無法向IN端點寫入數據。
    在USB設備枚舉的過程中,可采用USB調試工具BusHound軟件來抓取它和主機的通信數據進行分析,以檢查硬件和固件程序的工作是否正確。
3 驅動程序設計
    為了配合CY7C68013的工作,需要有驅動程序[6,7]以使上位機程序能正常訪問USB芯片。以Cypress公司提供的參考程序為基礎[1],增加自定義控制請求即可。
    由于驅動程序必須和系統的總線驅動進行通信,系統總線驅動為WDM(Win32 Driver Model)驅動。因此,USB驅動程序采用WDM設備驅動程序[8]。由于USB總線驅動程序(USBD)一般由操作系統提供,負責與實際的硬件打交道,因此,重點是開發USB設備驅動程序(USB Device Driver)。USB設備的WDM驅動程序是通過創建URB(USB請求塊),并向USB總線驅動程序發送包含URB的IRP來實現對USB設備信息的發送和接收。此外,USB設備驅動程序除負責處理應用程序的I/O請求外,還要處理PnP請求。
    CY7C68013的驅動程序包括2部分:usbfft.sys,專用于下載芯片的固件程序;loaderfft.sys,上位機和CY7-
C68013進行通訊的部分,用于實現數據收發功能。這2個部分都存放在上位機上,當系統上電或USB連接時,固件部分將自動下載到芯片的RAM中供8051執行。
4 應用程序設計
    上位機是人機交互的平臺,需要良好的操作界面。本系統通過VB6.0開發了上位機應用程序,運行界面如圖3所示。

    應用程序是完成數據發送與接收并且對系統進行有效控制的平臺,不僅需要向CY7C68013發送數據,還需要將接收的數據顯示出來并保存。此外為了系統測試的方便,增加了誤碼率和速率測試模塊,以測試系統的整體性能。
    本系統上位機的主要功能有:(1)文件的發送;(2)文件的接收;(3)速率測試;(4)誤碼率測試;(5)系統控制,用來獲取CY7C68013描述符以及其內部寄存器的情況,并對整個系統進行控制,如使能CY7C68013的數據輸出功能及片內數據轉移功能等。
    系統中定義了6個時間控件來完成數據的發送與接收,timer1、timer3和timer4分別完成文件、誤碼率及速率測試的發送,Timer2、timer6和timer8分別完成文件、誤碼率及速率測試的接收。另外定義了一個時間控件來控制開啟哪一個接收數據時間控件。為了保證有效判斷所接收到的數據是文件、速率測試還是誤碼率測試數據,在timer1、timer3和timer4發送前都先發送一個512 B的前導包。全為1時表示下一個數據包包含著速率測試數據,全為2時表示下一個數據包包含著誤碼率測試數據,全為3時表示下一個數據包包含著文件數據。這樣就能判斷出應該開啟哪一個接收時鐘。
    具體的文件數據處理方法是:文件打開后,先將文件緩沖,定義一個二維數組:行512 B,列由文件大小決定。數組的第一個512 B前20 B記錄所發送文件的大小,并且在最開始的5 B以0xAA填充,表明這個數據包是全部文件的開始,當文件大小不足填滿最后的512 B時,數據補0,但數組結尾為0xAA。
    采用CY7C68013設計的高速數據傳輸系統,經過測試,達到了設計要求,實現了數據的高速傳輸,為下一步開展數據編碼/譯碼、調制/解調研究打下了良好的基礎。
參考文獻
[1] www.cypress.com.EZ-USB FX2 Technical Reference Manual.
[2] 戴紅梅,胡仁杰.USB(通用串行總線)及USB外設的開發[J].電測與儀表,2000(12):53-56.
[3] 陳明智,李鋒,尚淮.USB通信協議分析和系統設計[J].自動化與儀器儀表,2006(6):46-49.
[4] 鄒建彬,高凱,張爾揚.基于USB 2.0協議的高速圖像傳輸系統[J].現代電子技術,2009(22):195-197.
[5] 李鑒,黃大勇.基于CY7C68013的USB數據采集系統[J].微計算機信息.測控自動化,2009,25(1-1):97-98+154.
[6] 陸原,魏杰,孟瑋.Windows XP環境下USB設備驅動程序的開發[J].國外電子元器件,2007(7):28-30.
[7] 陳新忠.USB設備驅動程序設計[J].電子產品世界,2009(5):48-51.
[8] 王躍鋼 ,韓心中.基于WDM模式的USB設備驅動程序開發[J].微計算機信息(管控一體化),2006,22(8-3):
305-307.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美激情中文字幕在线| 在线视频中文亚洲| 亚洲第一免费播放区| 午夜精品久久久久久久久久久久| 麻豆精品一区二区av白丝在线| 亚洲婷婷国产精品电影人久久| 日韩一级精品视频在线观看| 国产一区二区日韩精品欧美精品| 亚洲午夜羞羞片| 亚洲人成网站精品片在线观看| 国产精品午夜av在线| 亚洲国产精品久久久久婷婷老年| 欧美三级欧美一级| 99视频在线观看一区三区| 亚洲第一久久影院| 国产精品ⅴa在线观看h| 亚洲伊人第一页| 亚洲影院免费观看| 18成人免费观看视频| 国产欧美在线观看一区| 黄色成人片子| 久久精品视频在线看| 好看的日韩视频| 国产精品对白刺激久久久| 亚洲午夜激情在线| 国产精品视频免费| 国产精品99久久久久久白浆小说| 亚洲国产黄色片| 亚洲免费在线播放| 91久久精品久久国产性色也91| 亚洲国产精品久久久| 亚洲国产精品va在线看黑人动漫| 亚洲色图综合久久| 在线欧美不卡| 久久一区二区视频| 国产精品男人爽免费视频1| 国产视频精品xxxx| 欧美福利电影在线观看| 韩国av一区二区三区在线观看| 国产视频一区免费看| 欧美成人一二三| 亚洲成人原创| 国产精品国产三级国产aⅴ9色| 国产精品久久亚洲7777| 国产日产亚洲精品| 久久精品欧美日韩精品| 午夜伦理片一区| 麻豆精品精华液| 久久久免费精品视频| 一区二区三区www| 亚洲第一页在线| 久久久福利视频| 久久久视频精品| 国产精品天美传媒入口| 久久国产主播| 国产伊人精品| 亚洲人成人99网站| 亚洲毛片在线免费观看| 乱中年女人伦av一区二区| 亚洲第一精品久久忘忧草社区| 欧美另类在线观看| 亚洲黄一区二区| 国产日韩在线看片| 欧美午夜无遮挡| 国产欧美精品一区二区三区介绍| 在线 亚洲欧美在线综合一区| 欧美特黄a级高清免费大片a级| 国内久久精品| 好男人免费精品视频| 久久狠狠久久综合桃花| 国产视频精品xxxx| 好看的av在线不卡观看| 亚洲综合色丁香婷婷六月图片| 欧美系列电影免费观看| 久久免费99精品久久久久久| 欧美精品自拍| 国产精品美女诱惑| 久久久亚洲午夜电影| 久久免费视频这里只有精品| 亚洲欧美日韩国产成人精品影院| 国内外成人免费视频| 午夜视频在线观看一区二区| 国产精品自拍网站| 国产一区二区三区丝袜| 免费在线看成人av| 欧美高清在线播放| 亚洲国产91| 亚洲在线视频网站| 亚洲精品欧美| 国产欧美va欧美不卡在线| 9l国产精品久久久久麻豆| 国产精品久久久久久久第一福利| 国产精品日韩一区二区三区| 欧美在线综合视频| 亚洲欧美日韩精品久久亚洲区| 欧美午夜激情视频| 在线看无码的免费网站| 一本色道久久综合狠狠躁篇怎么玩| 欧美福利小视频| 久久综合伊人77777尤物| 99re国产精品| 国产精品日韩在线一区| 国产精品xxxxx| 亚洲欧美欧美一区二区三区| 狠狠干综合网| 国产精品网站在线观看| 欧美精品久久久久久久久老牛影院| 亚洲一区日本| 红桃视频国产一区| 亚洲欧美国产va在线影院| 亚洲成人在线视频网站| 欧美人成在线| 亚洲大片精品永久免费| 亚洲视频在线观看三级| 亚洲美女在线国产| 国产欧美日韩在线播放| 亚洲精品乱码久久久久久久久| 久热综合在线亚洲精品| 久久成人免费网| 另类综合日韩欧美亚洲| 99视频一区二区三区| 国产精品三上| 亚洲精品欧洲| 亚洲国内高清视频| 今天的高清视频免费播放成人| 亚洲日本va在线观看| 午夜伦理片一区| 99香蕉国产精品偷在线观看| 影音先锋日韩有码| 国产农村妇女毛片精品久久莱园子| 1204国产成人精品视频| 国产精品成人av性教育| 一区二区三区四区国产精品| 国产精品久久久久久影院8一贰佰| 亚洲在线视频观看| 中文一区字幕| 麻豆成人在线播放| 一区二区三区三区在线| 欧美精品一区二区三区很污很色的| 亚洲欧洲一区二区天堂久久| 精品成人在线观看| 国产区在线观看成人精品| 国产视频一区三区| 国产精品一区毛片| 欧美凹凸一区二区三区视频| 在线播放日韩专区| 欧美日韩99| 国产亚洲人成a一在线v站| 这里是久久伊人| 国产综合香蕉五月婷在线| 麻豆精品精华液| 亚洲欧美综合| 欧美福利电影在线观看| 亚洲精品视频免费在线观看| 国产精品二区在线| 国产精品theporn| 亚洲欧美日韩区| 亚洲精选成人| 国产日韩1区| 国产精品白丝av嫩草影院| 欧美日韩在线大尺度| 欧美日韩在线亚洲一区蜜芽| 狠狠色狠狠色综合日日91app| 国产老女人精品毛片久久| 久久免费偷拍视频| 影音先锋在线一区| 欧美一区二区免费观在线| 国产麻豆精品在线观看| 久久久在线视频| 国产有码在线一区二区视频| 亚洲成人资源| 亚洲愉拍自拍另类高清精品| 亚洲欧美另类久久久精品2019| 欧美在线免费观看| 国产麻豆9l精品三级站| 国产在线观看精品一区二区三区| 国产精品一区一区三区| 久久精品一区二区三区四区| 亚洲在线视频一区| 一区二区三区精密机械公司| 亚洲最新合集| 国产欧美日韩免费看aⅴ视频| 欧美aaaaaaaa牛牛影院| 国产麻豆一精品一av一免费| 99国产欧美久久久精品| 亚洲人成高清| 国产精品久久99| 欧美劲爆第一页| 国产亚洲欧美色| 欧美一进一出视频| 亚洲尤物视频网| 日韩午夜精品视频| 在线看欧美视频| 国产精品一区二区在线观看网站| 一本色道久久综合一区| 国产欧美日本一区二区三区| 欧美成人伊人久久综合网| 亚洲动漫精品| 欧美日本网站| 欧美日韩日日夜夜| 国产精品自在线| 国产精品一页| 亚洲成色777777在线观看影院| 国产一区二区三区不卡在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日本不卡视频| 久久久精品国产一区二区三区| 欧美久久99| 国产精品成av人在线视午夜片| 亚洲欧洲精品成人久久奇米网| 国产精品s色| 久久女同互慰一区二区三区| 欧美精品一区二区精品网| 黄色成人91| 国产精品久久久久影院亚瑟| 9久re热视频在线精品| 亚洲午夜精品久久| 久久成人久久爱| 欧美日韩一二三区| 欧美国产精品日韩| 久久福利一区| 这里只有精品电影| 国产人成一区二区三区影院| 性欧美xxxx大乳国产app| 一区二区三区欧美激情| 国产日韩欧美亚洲| 欧美成va人片在线观看| 亚洲国产精品成人综合| 日韩视频免费在线| 欧美精品一区二区视频| 久久精品国产视频| 在线国产精品播放| 亚洲人被黑人高潮完整版| 久久夜色撩人精品| 欧美久久久久久久久| 国产精品国产三级国产专区53| 欧美特黄一区| 欧美极品一区| 午夜视频一区在线观看| 午夜天堂精品久久久久| 亚洲第一伊人| 亚洲午夜羞羞片| 欧美日韩国产精品自在自线| 国产一区在线观看视频| 亚洲视频在线看| 亚洲伦理网站| 六十路精品视频| 一区二区欧美日韩视频| 亚洲区欧美区| 国产欧美日韩视频在线观看| 国产在线拍揄自揄视频不卡99| 国产精品二区影院| 久久精品人人做人人综合| 欧美成人国产va精品日本一级| 欧美国产精品一区| 国产精品美女诱惑| 国产精品日日做人人爱| 欧美精品色一区二区三区| 午夜精品视频| 国产伦精品一区二区三区视频孕妇| 国产在线一区二区三区四区| 欧美日韩一区二区三区四区在线观看| 欧美成人精品高清在线播放| 欧美人成在线| 99精品国产99久久久久久福利| 久久久久久9| 亚洲国产精品免费| 在线视频欧美精品| 鲁鲁狠狠狠7777一区二区| 欧美一区二区国产| 在线观看欧美成人| 久久午夜羞羞影院免费观看| 99国产精品99久久久久久粉嫩| 国产精品久久波多野结衣| 午夜亚洲影视| 99国产精品国产精品久久| 韩国女主播一区| 亚洲欧洲免费视频| 久久久亚洲精品一区二区三区| 中文在线资源观看视频网站免费不卡| 久久久久久久一区| 亚洲香蕉成视频在线观看| 午夜精品一区二区三区四区| 午夜精品福利电影| 欧美视频在线视频| 久久久久久久一区| 牛牛精品成人免费视频| 午夜精品电影| 中文久久精品| 91久久精品国产91性色| 91久久精品久久国产性色也91| 欧美高清在线视频| 亚洲视频中文字幕| 亚洲人成在线观看一区二区| 黑人巨大精品欧美一区二区| 午夜亚洲性色福利视频| 国产精品毛片大码女人| 久久精品日产第一区二区| 久久激情综合网| 一区二区国产在线观看| 亚洲天堂男人| 国产精品成人一区二区网站软件| 黑人巨大精品欧美一区二区小视频| 国产一区在线视频| 亚洲人成人77777线观看| 亚洲香蕉成视频在线观看| 国产精品女主播一区二区三区| 亚洲国产日韩欧美一区二区三区| 亚洲精品中文字幕有码专区| 欧美在线视屏| 欧美日韩国产va另类| 欧美大片在线看免费观看| 亚洲免费久久| 午夜精品国产精品大乳美女| 欧美成人在线网站| 国产精品午夜久久| 亚洲免费观看高清完整版在线观看| 亚洲片在线观看| 欧美一区二区三区视频免费| 亚洲免费观看在线观看| 欧美ed2k| 国内精品免费午夜毛片| 伊人精品在线| 一区二区三区鲁丝不卡| 欧美片第1页综合| 亚洲免费在线观看| 亚洲人午夜精品免费| 国产精品极品美女粉嫩高清在线|