亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA和USB2.0協(xié)議的通用數(shù)據(jù)傳輸設計

        2016-11-09 02:25:22王永綱
        網絡安全與數(shù)據(jù)管理 2016年16期
        關鍵詞:系統(tǒng)設計

        徐 超,劉 沖,王永綱

        (中國科學技術大學 近代物理系,安徽 合肥 230026)

        ?

        基于FPGA和USB2.0協(xié)議的通用數(shù)據(jù)傳輸設計

        徐超,劉沖,王永綱

        (中國科學技術大學 近代物理系,安徽 合肥 230026)

        FPGA因其具有高度的靈活性與強大的數(shù)據(jù)處理能力而被廣泛應用于數(shù)據(jù)采集與處理系統(tǒng)中。USB2.0因其數(shù)據(jù)傳輸速率快和接口的多樣化而廣泛使用。以USB2.0控制器CY7C68013A為接口設計和實現(xiàn)了上位機與FPGA中FIFO與寄存器之間的讀寫。經測試表明,該設計達到了47 MB/s的數(shù)據(jù)傳輸速率,接近USB2.0控制芯片的最高速率48 MB/s。

        FPGA;USB2.0;CY7C68013A;數(shù)據(jù)傳輸

        引用格式:徐超,劉沖,王永綱. 基于FPGA和USB2.0協(xié)議的通用數(shù)據(jù)傳輸設計[J].微型機與應用,2016,35(16):41-43.

        0 引言

        目前,系統(tǒng)設備不斷向高速化、集成化、低功耗的方向飛速發(fā)展。而現(xiàn)場可編程門陣列FPGA經過這些年的發(fā)展,已經成為實現(xiàn)數(shù)字系統(tǒng)的主流平臺之一。FPGA具有高度的靈活性和強大的數(shù)據(jù)處理能力,常被用來定制外設的控制器以及前端處理模塊。但FPGA并沒有提供和上位機之間直接通信的接口,為了更方便地對數(shù)據(jù)進行后續(xù)的分析和保存,就需要解決FPGA和上位機之間的數(shù)據(jù)傳輸?shù)慕涌趩栴}。

        USB2.0已經廣泛使用于個人電腦中,USB2.0相比于以前的USB版本在速度上有兩個很大的提升。USB2.0協(xié)議具有以下優(yōu)點:(1)速度快,在高速塊傳輸,最大數(shù)據(jù)字段的模式下,最高可以達到60 MB/s[1],本文設計的塊傳輸,512 B數(shù)據(jù)字段的模式下,可達53.2 MB/s; (2)連接簡單,可即插即用;(3)可支持多設備采用“級聯(lián)”方式連接外設。

        本文通過USB2.0 的外設控制器CY7C68013A,實現(xiàn)了FPGA 和上位機之間數(shù)據(jù)傳輸接口的設計[2-4],經測試,該設計能夠接近理論上的傳輸速度。

        1 系統(tǒng)結構

        USB系統(tǒng)是一個主從系統(tǒng),所有的命令是由主設備(上位機)發(fā)出,從設備接收到命令后,執(zhí)行所要求的操作。在主設備要求讀數(shù)據(jù)時,從設備才會向主設備發(fā)送數(shù)據(jù)。圖1給出了整個設計的系統(tǒng)結構圖。

        圖1 系統(tǒng)結構圖

        系統(tǒng)讀寫時,由上位機的應用程序發(fā)起請求,通過驅動程序接口(API)調用驅動程序。驅動程序控制USB控制器向CY7C68013A發(fā)送數(shù)據(jù),CY7C68013A的SIE模塊對數(shù)據(jù)進行解析,然后根據(jù)內部的固件程序通過GPIF模塊向FPGA發(fā)送時序波形并讀寫數(shù)據(jù)。在對FPGA進行讀寫FIFO或者Register時,F(xiàn)PGA與USB芯片之間的控制信號由內部的GPIF決定。

        2 系統(tǒng)軟硬件組成

        2.1USB2.0接口

        USB2.0[5]的接口芯片采用CY7C68013A。該芯片包含了USB2.0的集成微控制器,內部集成了一個增強型的8051CPU,該芯片負責配置芯片的工作方式、數(shù)據(jù)流的控制等,一個串行接口引擎SIE,解析USB協(xié)議,實現(xiàn)對上位機的收發(fā),以及可編程的其他外圍接口。該芯片還提供了一種獨特的架構,是USB接口和應用環(huán)境共享Slave FIFOs,微控制器不需要參與數(shù)據(jù)的傳輸,這樣就大大提高了整個系統(tǒng)的數(shù)據(jù)傳輸速率。本文采用GPIF的模式,通過對GPIF的編程實現(xiàn)數(shù)據(jù)的傳輸。EZ-USB FX2的內部結構圖如圖2所示。

        圖2 FX2內部結構圖

        2.2FPGA的接口設計

        FPGA不僅需要和內部其他邏輯模塊連接,還需要對USB的GPIF進行數(shù)據(jù)的收發(fā)。因此,為通用起見,設計FPGA接口實現(xiàn)對寄存器的讀、寫和FIFO的讀、寫操作。

        GPIF對FPGA的控制信號CTL只有三位,能區(qū)分8種不同的狀態(tài)。為了讓FPGA能區(qū)分寄存器讀、寫(包括地址和數(shù)據(jù))以及FIFO的讀、寫、空閑等7種不同的狀態(tài),CTL控制線的每種編碼決定了唯一的操作狀態(tài)。

        2.3芯片固件程序設計

        固件設計的核心是GPIF的設計[6-7],GPIF設計不當以及上位機調用不合理會導致系統(tǒng)的整體速度不高。

        GPIF電路工作在48 MHz時鐘下,數(shù)據(jù)線有16位,兩個周期實現(xiàn)一次FIFO的讀寫,故理論上能夠達到48 MB/s的傳輸速率。

        本文采用了“量子FIFO”的處理結構,很好地解決了USB高速模式的帶寬問題。

        在GPIF高速數(shù)據(jù)傳輸中,GPIF波形的描述符決定了整個數(shù)據(jù)傳輸過程的時序。通常用Cypress公司的GPIF工具進行配置,在GPIF方式下,所有的讀寫和控制邏輯都可以通過軟件編程的形式實現(xiàn),具有很大的靈活性。

        由于GPIF的狀態(tài)機只能由一個狀態(tài)跳轉到兩個不同的狀態(tài),而在FIFO讀寫過程中需要檢測的變量和跳轉的狀態(tài)比較多,有時就需要進行多級跳轉,這樣嚴重限制了數(shù)據(jù)的傳輸速度。為解決這個問題,本文在分析了所有的跳轉情況后,將正常讀寫FIFO的跳轉次數(shù)減少,而將特殊情況跳轉次數(shù)增加,使得兩個時鐘周期內進行一次讀寫操作,這樣保證了功能的實現(xiàn),且保證了48 MB/s的讀寫速度。

        圖3給出了FIFO讀操作模式下設計的GPIF的狀態(tài)轉換示意圖。當USB控制線設置為FIFO讀模式時,系統(tǒng)進入狀態(tài)S1,此時,申請FIFO數(shù)據(jù)線驅動USB數(shù)據(jù)總線,此時如果GPIF內部的FIFO沒有問題且FPGA給出以準備好的信號,進入S2狀態(tài), S2申請讀FIFO,F(xiàn)IFO可讀,則進入狀態(tài)S3,向USB總線發(fā)送數(shù)據(jù),如果GPIF的FIFO沒有問題且未讀完,則回到狀態(tài)S2,如此循環(huán),直到數(shù)據(jù)讀完。讀完數(shù)據(jù)后,最終會回到空閑狀態(tài),表明本次數(shù)據(jù)傳輸完成。

        圖3 FIFO讀的狀態(tài)圖

        從上面的過程中可以看出,在兩個時鐘周期內完成了一個16 bit數(shù)據(jù)的傳輸,充分利用了USB2.0的數(shù)據(jù)帶寬,提高了數(shù)據(jù)傳輸速率。

        圖4給出了FIFO寫操作模式下的GPIF的轉換圖,與上面的分析類似,兩個周期內就能夠完成一次數(shù)據(jù)傳輸。

        圖4 FIFO寫的狀態(tài)圖

        2.4驅動和應用程序設計

        Cypress 提供了Windows系統(tǒng)下的驅動,并以C++靜態(tài)鏈接庫的形式提供了調用驅動的函數(shù)庫。設計中在此基礎上封裝了讀寄存器、寫寄存器、讀FIFO、寫FIFO四個函數(shù),并以DLL形式提供給用戶。上層使用的是MATLAB平臺,需要在該平臺上配置MEX編譯器,并使用loadlibrary函數(shù)以加載動態(tài)鏈接庫,加載后便可以調用DLL里提供的讀寫函數(shù)了。DLL也能被其他平臺調用。

        3 性能測試

        為了驗證該設計方案,本文在帶有CY7C68013A和XILINX ARTIX-7 的電路板上對數(shù)據(jù)傳輸?shù)恼_性和傳輸速度進行了測試。

        3.1測試方法

        對寄存器的讀寫驗證比較簡單,只需先通過DLL中的讀寫寄存器函數(shù)對不同地址的寄存器進行寫操作,然后讀出來進行比對即可。

        而對FIFO讀操作驗證,需要在FPGA的內部例化一個FIFO和一個計數(shù)器,并將計數(shù)器輸出的數(shù)據(jù)從0到65 535依次寫入到FIFO中,然后上層MATLAB中讀到的FIFO的值就應該是從0到65 535依次遞增的序列。而通過測量讀取一定數(shù)目的數(shù)據(jù)的時間就可以計算出USB的讀出速度。FIFO寫操作的驗證與FIFO讀類似,不過在將數(shù)據(jù)寫進FIFO后,需要由FPGA將FIFO中的數(shù)據(jù)與期望的數(shù)列比較。

        3.2測試結果

        本文在MATLAB平臺上進行了驗證,對寄存器和FIFO的讀寫操作完整正確,對FIFO進行讀寫的實測速度達到了47 MB/s,接近于理論上的48 MB/s。

        4 結論

        本文在USB2.0協(xié)議的基礎上,設計并實現(xiàn)了FPGA與上位機之間的高速數(shù)據(jù)傳輸系統(tǒng),驗證了該方案傳輸數(shù)據(jù)的正確性并且實測速度能夠達到47 MB/s,接近于理論上的48 MB/s傳輸速度。該方案具有穩(wěn)定、高速以及調用方便的優(yōu)點,目前已經應用于多個實驗裝置中。

        [1] 王成儒, 李英偉. USB2.0 原理與工程開發(fā)[M]. 北京: 國防工業(yè)出版社,2004.

        [2] 譚安菊,龔彬. USB2.0控制器CY7C68013與FPGA接口的Verilog HDL實現(xiàn)[J]. 電子工程師,2007,33(7):52-55.

        [3] 吳振宇,常玉保,馮林. 基于FPGA和USB2.0的高速數(shù)據(jù)采集系統(tǒng)[J]. 儀器儀表學報,2006,27(S1):125-126.

        [4] 安榮,任勇峰,李圣昆. 基于FPGA和USB2.0的數(shù)據(jù)采集系統(tǒng)[J]. 儀表技術與傳感器,2009(3):49-51.

        [5] 錢峰. EZ-USB FX2 單片機原理、編程及應用[M].北京: 北京航空航天大學出版社,2006.

        [6] EZ-USB?Technical Reference Manual[EB/OL]. (2014-05-02)[2016-03-30]http://www.cypress.com/?rID=38232.

        [7] Cypress CyAPI Programmer's Reference[EB/OL]. (2011-xx-xx)[2016-03-30]http://www.cypress.com/?docID=41365.

        Design of general data transmission based on FPGA and USB2.0 protocol

        Xu Chao, Liu Chong, Wang Yonggang

        (Department of Modern Physics, University of Science and Technology of China, Hefei 230026, China)

        FPGA is widely applied in the data collecting systems and data processing systems due to its high flexibility and strong ability of processing data. USB2.0 is widely used because of its high rate of data transmission and diverse interfaces. This paper designs and implements data transmission between the PC and the FIFO and registers in the FPGA which is based on the peripheral chips CY7C68013A of USB2.0. And the test shows that the data transmission rate can be up to 47 MB/s, which is very close to 48 MB/s, the highest rate of the controlling chip of USB2.0.

        FPGA; USB2.0; CY7C68013A; data transmission

        TP334

        A

        10.19358/j.issn.1674- 7720.2016.16.012

        2016-03-30)

        徐超(1990-),通信作者,男,碩士研究生,主要研究方向:數(shù)字電路。E-mail:xuhaimin@mail.ustc.edu.cn。

        劉沖(1989-),男,博士,主要研究方向:數(shù)字電路。

        王永綱(1965-),男,教授,主要研究方向:醫(yī)學成像。

        猜你喜歡
        系統(tǒng)設計
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        瞞天過?!律O計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        精品久久有码中文字幕| 91孕妇精品一区二区三区| 夜夜高潮夜夜爽国产伦精品| 国产精品免费看久久久8| 欧美激情五月| 日日骚一区二区三区中文字幕| 大屁股流白浆一区二区三区| 欧美激情在线播放| 欧美成人看片黄a免费看| 亚洲色四在线视频观看| 激情亚洲不卡一区二区| 无码aⅴ精品一区二区三区浪潮 | 女同久久精品国产99国产精品| 精品欧洲AV无码一区二区免费| 成在线人免费无码高潮喷水| 国产麻豆成人精品av| 日韩一区在线精品视频| 最新精品国偷自产在线| 91av视频在线| 人妻无码中文专区久久AV| 情av一区二区三区在线观看| av免费网址在线观看| 老太脱裤让老头玩ⅹxxxx| Y111111国产精品久久久| 人妻av中文字幕精品久久| 久久综合国产精品一区二区| 国产女人好紧好爽| 国产午夜手机精彩视频| 亚洲熟妇色xxxxx欧美老妇y| 激情五月婷婷久久综合| 网址视频在线成人亚洲| 亚洲国产丝袜久久久精品一区二区 | 精品亚洲一区二区三洲| av影院在线免费观看不卡| 亚洲av一二三四区四色婷婷 | 国产女主播强伦视频网站| 亚洲国产精品av麻豆一区| 未发育成型小奶头毛片av| 欧美日韩精品| 精品一区二区三区免费爱 | 久久亚洲私人国产精品va|