《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 高速大容量記錄儀的USB 3.0高速讀數接口設計
高速大容量記錄儀的USB 3.0高速讀數接口設計
2016年電子技術應用第12期
張志偉1,2,靳 鴻1,2,楊少博1,2
1.中北大學 電子測試技術國家重點實驗室,山西 太原030051; 2.中北大學 儀器科學與動態測試教育部重點實驗室,山西 太原030051
摘要: 針對當前USB 2.0已不能滿足對高速大容量數據記錄儀快速讀數的要求,設計了一種基于USB 3.0的高速讀數接口。系統以存儲陣列構建的某高速大容量機載雷達數據記錄儀為背景,USB 3.0采用Slave FIFO接口模式,以記錄儀的FPGA為外部主控制器,在FPGA內部構建一個高速FIFO實現對存儲數據的緩存與傳輸,最后通過USB 3.0接口高速傳輸至計算機。重點介紹了USB 3.0讀數接口硬件及其固件程序和FPGA控制程序的設計,并采用GPIF Designer II及Quartus II軟件進行仿真與驗證。實驗結果表明,該USB 3.0接口速率可達120 MB/s,滿足記錄儀高速讀取的要求。
中圖分類號: TP334
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.12.014
中文引用格式: 張志偉,靳鴻,楊少博. 高速大容量記錄儀的USB 3.0高速讀數接口設計[J].電子技術應用,2016,42(12):54-57,61.
英文引用格式: Zhang Zhiwei,Jin Hong,Yang Shaobo. Designer of USB 3.0 high speed read interface in high speed and large capacity data recorder[J].Application of Electronic Technique,2016,42(12):54-57,61.
Designer of USB 3.0 high speed read interface in high speed and large capacity data recorder
Zhang Zhiwei1,2,Jin Hong1,2,Yang Shaobo1,2
1.National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China; 2.Key Laboratory of Electronic Science &Dynamic Measurement of Ministry of Education,North University of China, Taiyuan 030051,China
Abstract: At present, USB 2.0 has been unable to meet fast reading of the high speed and large capacity data recorder. High speed read interface based on USB 3.0 is designed. The system takes a high speed and large capacity airborne recorder based on memory array, USB 3.0 is Slave FIFO interface mode,and FPGA of the recorder is as an external master controller. A FIFO is established in FPGA to realize cache and transmission of stored data. Finally, the data is uploaded to the host computer by the interfaces of USB 3.0. This paper introduces mainly the design of USB 3.0 reading interface hardware and its firmware program and FPGA control program,using GPIF Designer II and Quartus II software for simulation and verification. Test results show that the rate of USB 3.0 interface transmission speed is up to 120 MB/s,which meets the requirements of high speed read.
Key words : USB 3.0;high speed and large capacity;FPGA;Flash

0 引言

    遙測、遙感以及雷達圖像信號具有精度高、數據快、容量大的特點,在飛行器飛行過程中無法做到實時分析和處理,而必須將采集到的數據以適當的方式存儲起來,待飛行任務結束后進行回讀分析[1]。隨著其傳輸速度和數據量的不斷增加,記錄儀的存儲容量也隨之增大。目前計算機常用的外部接口RS232、USB 2.0及以太網接口等[3,4]已無法滿足記錄儀存儲數據的快速讀取,而USB 3.0[5]技術的出現無疑解決了這一問題。USB 3.0協議向下兼容其他版本,并提供了超速模式,其理論最高傳輸速率可達5 Gb/s。本文以某高速大容量機載雷達數據記錄儀為例[6],針對流水線技術構建的高速大容量存儲陣列,設計了一種基于USB3.0的高速讀數接口。

1 高速大容量存儲系統概述

    高速大容量數據記錄儀結構框圖如圖1所示,系統主要完成18 bit LVDS形式的數據(包括16 bit并行數據、1 bit時鐘信號和1 bit寫使能信號)的實時接收、FIFO緩存、Flash流水線存儲以及USB 3.0數據上傳。16 bit并行數據傳輸速率為120 MB/s,LVDS數據經LVDS接口電路轉換為TTL電平以及數字隔離處理后輸入到FPGA,在FPGA內部Flash控制器的控制下寫入Flash存儲整列中;記錄儀記錄完成后,若需要讀數時,可通過USB 3.0接口將存儲陣列中的數據快速上傳至計算機。

ck2-t1.gif

    系統存儲模塊采用16片NAND型Flash芯片K9WBG08U1[7,8]構建成4×4存儲陣列,每組4片Flash,采用了8級流水線操作進行字擴展,最快存儲速率可達39.96 MB/s。4組Flash進行位擴展組成數據寬度為32 bit、存儲容量共64 GB的存儲陣列,Flash存儲陣列存儲速度最高可達39.96×4=159.85 MB/s。存儲陣列結構原理如圖2所示。

ck2-t2.gif

2 USB 3.0讀數接口設計

    系統采用基于CYUSB3014的USB 3.0接口實現與計算機之間的數據通信。CYUSB3014是新一代USB 3.0外設控制器[9],其有32個物理端點,支持USB 3.0和USB 2.0設備以及2.0版的高速移動(HS-OTG)主機和外設。CYUSB3014有3種接口模式,即通用I/O口模式、從設備(Slave FIFO)接口模式和GPIF主設備接口模式。高速數據傳輸采用后兩種模式。本設計采用同步Slave FIFO接口模式[7,8],FPGA作為邏輯控制器,CYUSB3014作為從設備。FPGA與CYUSB3014的連接如圖3所示。

ck2-t3.gif

    圖3中SLCS為片選信號,低電平有效;SLWR為從設備寫入選通,低電平有效(寫操作:由FPGA至CYUSB3014);SLRD為從設備讀取選通,低電平有效(讀操作:由CYUSB3014至FPGA);SLOE為從設備輸出使能,低電平有效,激活該信號則CYUSB3014數據總線被驅動。A1和A0兩位地址線用來選擇從設備CYUSB3014上的線程,FPGA主控先驅動這兩位地址線,然后激活讀選通或寫選通,由于USB 3.0讀數接口將數據記錄儀的數據回傳至計算機,需用到CYUSB3014的讀FIFO和寫FIFO兩個過程,所以必須創建兩個線程;當A1:A0=0時,選擇線程0,用于寫過程;當A1:A0=1時,選擇線程1,用于讀過程。FLAGA和FLAGB為CYUSB3014端點緩沖器狀態標志位,可以配置為空、滿、局部空或局部滿狀態;FLAGA專用于線程0,而FLAGB專用于線程1。PKTEND是數據包結束信號,低電平有效,可將短數據包或零長度數據包寫入從設備FIFO內。PCLK是FPGA提供給CYUSB3014的FIFO接口時鐘,D[32:0]為32 bit數據線。

    同步Slave FIFO寫序列如圖4所示,單次寫操作步驟如下:

ck2-t4.gif

    (1)主設備先驅動FIFO地址“An”,然后激活SLCS信號,主設備將它的數據驅動到數據總線上。

    (2)激活SLCS后,主設備將在下一個時鐘周期內激活SLWR。

    (3)激活SLWR時,主設備會將數據寫入到FIFO內,并且FIFO指針會在PCLK的上升沿上遞增。從時鐘的上升沿算起,經過3個時鐘周期以及tCFLG的延時,FIFO標志將被更新。

    對于連續寫入模式,主設備在整個寫入過程中持續激活SLWR和SLCS。主設備激活SLWR后,每當PCLK的上升沿到來時,數據總線上的數值都被寫入到FIFO中。通過PKTEND信號,可主動將某個短數據包發送給USB主機。如果激活PKTEND但不激活SLWR脈沖,就生成ZLP(零長度的數據包);同時激活PKTEND和SLWR時,CYUSB3014的GPIF II狀態機會將數據包作為一個短數據包,并將其發送到USB接口。

3 USB3.0接口主要程序設計

3.1 CYUSB3014固件程序設計

    為了實現數據雙向傳輸,創建2個DMA通道作為生產者的套接字和作為消費者的套接字,并分別分配4倍緩沖區大小。由于USB 3.0模式下單個緩沖區大小為1 024 B,故套接字緩沖區大小為4×1 024 B,可實現高吞吐量性能。通過外部邏輯控制器控制每次傳輸數據量,可避免使用局部FLAG。

    按照圖3定義好的FPGA與CYUSB3014的連接,利用GPIF Designer II軟件進行接口設置,GPIF II接口定義如圖5所示。圖中CLK即為FPGA提供給CYUSB3014的時鐘,Databus為16 bit數據總線,Addressbus為用于線程選擇的2 bit地址線,FLAGA專用于線程0,而FLAGB專用于線程1。

ck2-t5.gif

    GPIF II提供256種固件可編程狀態,可在狀態機設計界面進行狀態機設計。本應用中狀態機如圖6所示,共有6個狀態,分別為RESET(初始態)、READ(讀FIFO)、WRITE(寫FIFO)、ZLP(零長度數據包)、SHORT_PKT(短數據包)、IDLE(空閑態)。對于來自初始態的所有轉換,轉換公式被固定為LOGIC_ONE。

ck2-t6.gif

    寫FIFO過程如下:每當FLAGA=1,外部邏輯控制器可向CYUSB3014寫入數據,CYUSB3014進入WRITE狀態需滿足SLCS=0、SLWR=0、PKTEND=1、SLRD=1。在WRITE狀態CYUSB3014完成IN_ADDR和IN_DATA兩個操作。通過IN_ADDR操作,GPIF硬件采樣來自地址總線的值,并使用它選擇DMA線程。通過IN_DATA操作對來自數據總線的數據進行采樣,然后將其轉移到所指定的位置(DMA通道或固件應用)。在ZLP狀態和SHORT_PKT狀態,通過COMMIT操作可強制緩沖器/數據包結束。寫FIFO過程仿真時序如圖7所示。

ck2-t7.gif

3.2 FPGA程序設計

    記錄儀采集到的數據以8級流水線方式寫入到Flash存儲陣列,即在寫入過程中同時對4組Flash執行頁編程操作,故Flash陣列數據讀寫的基本單位的容量為4×4 KB=16 KB,數據寬度為4×8 bit=32 bit。為了保證讀出數據與寫入數據完全一致,同樣采用流水線的方式對Flash存儲陣列中4組存儲單元執行讀數操作。在FPGA內部建立一個容量為4 096×32 bit=128 Kbit的FIFO,FIFO數據端設置為32 bit,32 bit輸出,深度為4 096。K9WBG08U1M的單個字節的讀取速度最快為25 ns。當記錄儀執行讀數操作時,數據寫入FIFO,一旦FIFO滿后,FIFO滿標志位有效,同時使FIFO寫使能無效以及Flash存儲陣列停止讀操作,當CYUSB3014的SLWR位檢測到FIFO的滿標志位后,使FIFO讀使能有效,開始將FIFO中的數據寫入CYUSB3014中。本設計中Flash的讀寫時鐘設置為30 MHz,GPIF接口時鐘設置為80 MHz。

    使用ModelSim軟件對讀數過程進行功能仿真,結果如圖8所示。讀數過程通過A1:A0=0選擇線程0,FLAGA用于監視當前線程的狀態,當FLAGA為1時表示非滿。SLCS一直為低電平有效狀態,當SLWR為低電平時,FPGA可向CYUSB3014寫入數據。數據在時鐘上升沿寫入CYUSB3014套接字緩沖區,緊接著CYUSB3014啟動DMA通道,當緩沖區寫滿數據后,FLAGA下拉至低電平,相應的DMA回調函數被調用,數據從U端口上傳至計算機。

ck2-t8.gif

4 分析與測試

    將記錄儀連接至計算機,打開Cypress公司提供的速率測試工具C++ Streamer,并按照CYUSB3014固件程序進行配置,利用該軟件對USB3.0接口讀數過程速率進行測試,測試結果如圖9所示,平均速率達到123 200 KB/s(約120 MB/s)。按照此速率,此高速大容量記錄儀存儲的海量數據能夠快速回傳至上位機。

ck2-t9.gif

5 結束語

    本文主要介紹了一種高速大容量機載雷達數據記錄儀,針對流水線技術構建的高速大容量存儲陣列,設計了一種基于USB 3.0的高速讀數接口。USB 3.0采用Slave FIFO接口模式,詳細介紹了GPIF II狀態機設計,利用數據記錄儀FPGA作為外部主控制器。在該應用中,USB 3.0接口速率可達120 MB/s,系統工作穩定,實現了對系統存儲數據的快速讀取,為高速大容量存儲系統的快速讀數提供了一種全新的手段,且具有一定的通用性,可以擴展到所有類似Flash存儲系統中,具有一定的使用價值。

參考文獻

[1] 祖靜,申湘南,張文棟.存儲測試技術[J].兵工學報,1994(4):30-34.

[2] 安海磊.高速數據采集存儲系統設計[D].西安:西安電子科技大學,2012.

[3] 張誠,羅豐.基于千兆以太網的高速數據傳輸系統設計[J].電子科技,2011(1):44-46.

[4] 王輝,陳愛生.基于FT2232H的USB2.0數據采集系統設計[J].電子器件,2015(1):144-147.

[5] 岳孝忠,裴東興,王健.基于USB3.0接口高速數據采集系統的設計[J].電子器件,2015(1):140-143.

[6] 任敏,張艷兵,王歡,等.基于硬件控制的雙通道機載數據記錄儀[J].探測與控制學報,2014,36(3):82-85.

[7] 劉東海,任勇峰,儲成君.基于FPGA控制的NAND Flash存儲設計[J].科學技術與工程,2013,13(34):10349-10353.

[8] 梁永剛,崔永俊,郇弢.基于NAND型FLASH的雙備份固態存儲系統[J].科學技術與工程,2013,13(26):7675-7682.

[9] Cypress Semiconductor Corporation.EZ-USB FX3 super speed USB controller[EB/OL].(2011)[2016].http:www.cypress.com.

[10] Rama Sai Krishna V.Designing a GPIF II master interface[EB/OL].(2013)[2016].http:www.cypress.com.

[11] Rama Sai Krishna V.Designing with the EZ-USB FX3 slave FIFO interface[EB/OL].(2014)[2016].http:www.cypress.com.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久影视精品| 国产精品不卡在线| 亚洲欧美日韩网| 在线综合+亚洲+欧美中文字幕| 亚洲人成77777在线观看网| 欧美一区二区三区免费在线看 | 久久都是精品| 欧美一区二区在线播放| 欧美在线亚洲一区| 久久精品国产成人| 久久成人免费视频| 亚洲国产日韩欧美一区二区三区| 亚洲高清免费视频| 亚洲国产中文字幕在线观看| 亚洲黄色三级| 亚洲卡通欧美制服中文| 亚洲精品在线观| 亚洲视频 欧洲视频| 亚洲欧美第一页| 欧美在线一级va免费观看| 欧美在线综合视频| 久久婷婷亚洲| 欧美激情综合五月色丁香小说| 欧美日韩亚洲一区二区三区在线 | 久久超碰97人人做人人爱| 久久狠狠亚洲综合| 亚洲精品免费在线播放| 一本一道久久综合狠狠老精东影业| 亚洲无线一线二线三线区别av| 亚洲综合不卡| 久久久国产一区二区三区| 免费在线一区二区| 欧美日韩系列| 国产欧美在线视频| 在线播放视频一区| 99国产精品私拍| 午夜国产精品视频免费体验区| 久久国产精品毛片| 99国内精品久久| 性久久久久久久| 免费日韩av电影| 欧美视频观看一区| 国产综合一区二区| 亚洲日产国产精品| 亚洲综合日韩| 最新亚洲激情| 亚洲欧美另类在线观看| 久久蜜桃av一区精品变态类天堂| 欧美第一黄色网| 国产精品日韩精品欧美在线| 国产一区99| 亚洲巨乳在线| 欧美在线不卡视频| 亚洲特级片在线| 久久看片网站| 国产精品国色综合久久| 国产综合视频在线观看| 亚洲美女黄网| 久久激情网站| 亚洲女人天堂av| 欧美r片在线| 国产精品日本一区二区| 亚洲第一成人在线| 亚洲午夜视频| 亚洲免费精品| 久久激情网站| 欧美日韩美女在线观看| 国内一区二区在线视频观看| 日韩午夜在线| 久久精品一二三| 亚洲专区在线视频| 免费日本视频一区| 国产欧美亚洲视频| 一本到高清视频免费精品| 亚洲国产精品va在线观看黑人| 亚洲综合精品一区二区| 欧美粗暴jizz性欧美20| 国产精自产拍久久久久久| 亚洲免费av观看| 亚洲国产精品女人久久久| 欧美亚洲一级| 欧美视频一区二区三区四区| 在线观看欧美亚洲| 欧美一区二区啪啪| 午夜精品理论片| 欧美日韩国产小视频在线观看| 激情av一区| 午夜亚洲精品| 午夜精品久久久久99热蜜桃导演| 欧美精品午夜视频| 亚洲第一伊人| 亚洲第一色在线| 久久精品国产99国产精品| 国产精品久久久久久av福利软件| 亚洲伦理精品| 亚洲乱亚洲高清| 免费在线一区二区| 伊人春色精品| 久久精品国产96久久久香蕉| 午夜免费日韩视频| 欧美午夜不卡| 一区二区三区四区国产精品| 一本色道久久综合亚洲精品按摩| 欧美国产日韩xxxxx| 亚洲成色最大综合在线| 久久精品盗摄| 玖玖精品视频| 曰韩精品一区二区| 亚洲国产99精品国自产| 久久久久久夜| 国产午夜精品福利| 欧美一区二区网站| 久久久噜噜噜久噜久久| 韩国三级在线一区| 欧美综合二区| 久久中文在线| 亚洲国产精品欧美一二99| 亚洲精品一区中文| 欧美女人交a| 亚洲毛片在线看| 亚洲午夜精品在线| 国产精品爱久久久久久久| 一本久久青青| 午夜精品久久久久久久男人的天堂| 国产精品久久久久久久久借妻 | 欧美精品一区二区三区蜜臀| 亚洲国内精品| 99精品视频免费观看视频| 欧美—级高清免费播放| 亚洲欧洲日韩综合二区| 99在线观看免费视频精品观看| 欧美日韩另类国产亚洲欧美一级| av成人免费| 欧美一级片一区| 国产一区二区三区久久悠悠色av| 久久精品国产免费看久久精品| 乱中年女人伦av一区二区| 亚洲二区在线| 在线亚洲免费| 国产乱码精品一区二区三区忘忧草 | 欧美二区乱c少妇| 亚洲精品乱码久久久久久久久 | 老司机午夜免费精品视频| 亚洲大片在线| 亚洲一级免费视频| 国产日韩欧美不卡| 久久精品视频免费播放| 欧美国产日韩一二三区| 99精品欧美一区| 欧美在线视频全部完| 在线观看一区| 国产综合欧美在线看| 亚洲欧美在线观看| 欧美亚洲在线播放| 国产精品欧美激情| 亚洲视频一区二区在线观看 | 国产精品免费观看视频| 亚洲一线二线三线久久久| 性欧美大战久久久久久久免费观看| 国产伦精品一区二区| 欧美一站二站| 欧美激情精品久久久六区热门 | 亚洲一区二区三区免费观看| 国产精品视频久久一区| 亚洲国产黄色片| 国产精品mm| 亚洲大片免费看| 欧美日韩一区二区视频在线| 亚洲一区二区网站| 六月婷婷久久| 一区二区免费在线播放| 久久精品国产欧美激情| 亚洲精品日本| 久久久久久穴| 一本色道久久88精品综合| 久久久噜噜噜久久久| 亚洲免费观看高清完整版在线观看熊| 性做久久久久久久久| 亚洲大片精品永久免费| 午夜精品久久久久久久久久久| 极品尤物久久久av免费看| 亚洲视频自拍偷拍| 国产在线不卡精品| 亚洲午夜视频在线| 永久免费毛片在线播放不卡| 亚洲免费视频一区二区| 亚洲大胆人体视频| 欧美在线观看视频一区二区| 亚洲区第一页| 久久免费的精品国产v∧| 一本综合久久| 久久人人爽人人爽| 亚洲香蕉成视频在线观看| 欧美高清在线视频观看不卡| 欧美一区二区视频免费观看| 国产精品高潮久久| 日韩午夜精品| 尤物在线精品| 久久亚洲私人国产精品va媚药| 中文一区二区|