《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于EZ-USB FX2的實時數據傳輸的實現
基于EZ-USB FX2的實時數據傳輸的實現
來源:電子技術應用2010年第9期
惠 蘭, 裴東興
中北大學 儀器科學與動態測試教育部重點實驗室, 山西 太原030051
摘要: 設計了一個以FPGA作為數據處理模塊,以CY7C68013作為接口芯片的數據采集系統。接口芯片CY7C68013工作在GPIF模式下,在數據的傳輸中起主控作用,利用FPGA以保證數據的正確性和穩定性,使系統可以達到穩定、實時、高速的數據傳輸。
中圖分類號: TP274.2
文獻標識碼: A
文章編號: 0258-7998(2010)09-0112-03
Real-time data transmission based on EZ-USB FX2
HUI Lan, PEI Dong Xing
Key Laboratory of Instrumentation Science & Dynamic Measurement of the Ministry Education of China, North University of China, Taiyuan 030051,China
Abstract: The data acquisition system has been designed with FPGA as data processing modules, and CY7C68013 as interface chip of data acquisition system. The interface chip CY7C68013 works in GPIF mode. The data acquisition system ensures the correctness of FPGA, and the stability of the data system can achieve stability, real-time, high speed.
Key words : real-time transmission;data; CY7C68013A; GPIF

    實時數據的采集以及顯示等都會涉及到PC機和下位機間的數據傳輸,而傳輸數據中的丟點問題是實時數據采集中必須解決的問題。傳統的數據采集系統由于傳輸速度低或者安裝不方便等問題已不能滿足科研和生產過程的需求。輸入的實時數據是帶有幀頭的8位串行數據流,直接與CY7C68013AGPIF(General programmable interface)接口對接不能保證數據完整不丟失,并且無法在數據中加入幀識別信息。在這種情況下采用FPGA完成此部分邏輯功能。通過FPGA對實時數據進行相應的調整再交給CY7C68013A傳送到上位機中。
1 系統硬件電路設計
1.1  系統結構和數據流程

    本系統采用FPGA xc2s50-144完成整個系統的數據采集的處理,采用具有微處理器的USB接口CY7C68013A,通過USB接口將FPGA處理后的數據實時地傳輸到計算機上。當PC機發出數據采集、讀取數據等控制命令時,控制命令通過CY7C68013A傳送給FPGA,由FPGA啟動A/D芯片進行A/D轉換。A/D轉換后將串行數據流和時鐘發送到FPGA中,FPGA通過判斷幀頭截取有效數據并將數據轉換成8位的并行數據并緩存至FPGA內部設計的FIFO中,由上位機通過USB接口芯片CY7C68013A以GPIF主控模式將數據傳送至上位機中。系統總體設計圖如圖1所示。

1.2  USB接口芯片
    CY7C68013A是Cypress公司的FX2系列產品,可提供480 Mb/s的傳輸速率。CY7C68013A提供了一種獨特架構,使USB接口和應用環境直接共享FIFO,而且微控制器可以不參與數據傳輸,但允許它以FIFO或RAM的方式訪問這些共享FIFO,CY7C68013A的內部FIFO緩沖區中有四個端點,它們可以通過設置相應的EPxFIFOCFG(x是端點號)寄存器被配置為2倍、3倍或4倍緩沖區。雙緩沖區可以允許一個數據包在被8051訪問的同時,另一個進行USB數據傳輸。3或4緩沖區則允許在2個或3個緩沖區被訪問的同時,由另一個進行USB數據傳輸。這樣就可以把數據包可用的時間延遲減至最小,從而增加帶寬的吞吐量。CY7C68013A共有三種工作模式:分別為普通端口模式、GPIF模式和從屬FIFO模式。這三種工作模式由寄存器選擇決定。本設計中采用GPIF主控模式,GPIF在連接到外部邏輯設備時,可充當“內部”控制,可以作為CY7C68013A端點FIFO的內部主控制器。
1.3 硬件連接圖
 使用GPIF方式對FIFO芯片進行讀寫工作并使用PORTB雙向FIFO數據線,使外圍電路像普通FIFO一樣對FX2中端點2、4、6、8的數據緩沖區進行讀寫。當CY7C68013A工作在GPIF模式時,由PC機上發出控制命令給USB,CY7C68013A提供FPGA的片選、讀數據時鐘等信號。接口連線圖如圖2所示。

2 軟件設計
2.1  固件程序的設計

 固件的作用是輔助硬件來完成預期的設備功能,固件主要工作如下:
   (1)寄存器初始化工作,按照需要設置特殊功能寄存器的初值;
   (2)輔助硬件完成設備的枚舉過程,對主機的設備請求作出適當的響應;
   (3)完成中斷處理、數據接收和發送以及對外圍電路的控制。
   在固件程序中,按照FIFO的時序圖完成GPIF波形設計,并生成波形描述符文件GPIF.c供設備功能程序main.c調用。生成的GPIF.c會初始化波形設計用到的寄存器,包括配置接口的設計,在TD_Init()中初始化函數,配置好使用的端點類型,傳輸數據包的大小。在TD_Poll()中設置好GPIF的讀數據傳輸,通過main.c中對TD_Poll()的重復調用,完成USB的大數據量傳輸。
2.2 GPIF波形圖
 根據FPGA編寫的時序,利用Cypress公司配置的GPIF Designer畫出相應的時序圖,如圖3所示。

    在數據讀時序狀態設計中,在S3狀態,讓讀使能REN低電平有效。在S4中判斷FPGA內FIFO 的空標志是否有效,有效后開始進行FIFO的讀傳輸,OE用來控制數據出現在數據總線上的時間。數據總線在S5時拉高是數據有效(activate),GPIF按字節將數據讀到FIFO中,同時TC計數器會減一。在狀態6時,以計數器的值來判斷一幀數據是否完成傳輸。如果沒有完成,則不斷循環,讀完所有數據為止;如果讀完了所有數據后,則不再經過中間其他任何狀態,直接跳到狀態7(IDLE),表示完成一幀數據的傳輸。設計中在S4、S6設定決策點。
2.3 USB驅動設計
    USB功能驅動程序采用Cypress公司的通用驅動程序ezusb.sys,ezusb.sys驅動的開發工具為DDK,驅動程序開發工作包括:開發環境設置(VC編譯環境)、驅動程序設計、安裝文件(INF文件)設計。驅動程序減少了USB設備硬件處理數據的細節,為應用程序訪問USB硬件設備提供相應接口。
   用戶編寫應用程序只要調用它提供的接口函數及其所需要傳遞的參數來實現所需的功能。應用程序用CreateFile()函數打開設備并且創建與設備的連接,然后用DeviceIoControl()函數或ReadFile()與WriteFile()函數從驅動程序中讀寫數據和向驅動程序寫入數據。當應用程序退出時,用CloseHandle()函數關閉設備。這一過程將產生對應于此設備對象的IRP與驅動程序設備類成員函數,如表1所示。

2.4 應用程序設計
    應用程序是系統與用戶的接口,它通過動態鏈接庫調用通用驅動程序完成對外設的控制和通信。本系統的應用程序開發使用的是Visual Basic6.0中文版本。本系統的工作過程為:首先是查找設備打開設備句柄,然后調用動態鏈接庫發送控制命令啟動系統,當檢測到設備后進行數據的讀取命令,調用動態鏈接庫的函數關閉設備句柄。系統的應用程序界面如圖4所示。

3 系統整體檢測
3.1 FPGA邏輯正確性檢測

    利用FPGA內部累加器模擬ADC轉換后的串行數據以及相應的時鐘,利用Cypress公司提供的Control Panel 發出控制命令直接給接口芯片,并讀取FPGA內部產生的數據,觀察其中的數據與設定的FPGA中發出的數據是否相同,以驗證FPGA內部邏輯的正確性。相應地利用示波器監測FPGA內部的時鐘信號,驗證其正確性。
3.2 數據傳輸數據檢測
    數據傳輸檢測中增加FPGA內部累加器產生的數據包的數量,采用Bus Hound 記錄總線狀態變化,在得到的結果中觀察Bus Hound中的數據形式并查看VB讀數軟件中的數據文件,觀察得到的數據文件數據總量以及大小都正確,再打開應用程序中的數據文件所示的波形,從而驗證了數據傳輸的正確性。
4 本系統中對傳輸速度改進方面的分析
 本系統中主要需要體現數據的實時性傳輸,在數據的處理部分與USB部分提高數據傳輸速度。主要通過以下方面使速度得到提高:
    (1)在數據處理部分利用FPGA截取數據的有效部分,并將串行數據變成并行數據,以利于數據更快、更準確的傳輸。
    (2)為了保證數據不丟失,在FPGA內部增加內部FIFO,使數據在提交的同時也可以傳輸。
    (3)在USB的固件部分,使用AUTO傳輸方式,數據直接經過USB2.0核、FIFO、GPIF Master以及NandFlash這條高速路徑傳輸,而不經過低速的8051核,從而可以達到較高數據傳輸速度。
    (4)在固件的端點設置中,使用多緩沖機制,通過改變EPxCFG配置寄存器中的BUF0、BUF1位的值,就可以設置緩沖數。
    (5)使用GPIF方式進行傳輸,在GPIF波形的延時,提高GPIF波形的執行頻率,也可以提升讀取速度。
    在進行系統整體性能的測試中,發現如果加快FPGA的數據輸出速度,則在讀出的波形中會有部分丟包的現象,經過分步重新測試,發現在FPGA的內部FIFO中,如果寫時鐘與讀時鐘的差距太大,就會造成丟點或者錯點的現象,所以USB的GPIF產生的讀波形應該與FPGA的寫入速度相平衡,整體重新進行調試后,滿足了實時顯示并且穩定的條件。
    本文利用FPGA和USB接口芯片CY7C68013實現了采樣數據的高速傳輸。特別是在調試過程中為了保證數據的正確性,提出了適合于通用驅動程序的塊傳輸同步控制信號。在上下位機的協調控制下數據能夠高速有效地傳輸。多次試驗證明,此系統運行穩定,能夠滿足工作環境復雜、傳輸速度要求高的場合。
參考文獻
[1]  EZ-USB FX2 technical reference manual version 2.0 [M/CD].Cypress Semionductor Corp data book,2001.
[2]  錢峰.EZ-USB FX2 單片機原理、編程及應用[M].北京:北京航空航天大學出版社,2005.
[3]  時向衛.Win2000/XP USB 設備驅動程序研究與設計[J]. 計算機工程與設計,2008,29(21):5563-5564.
[4]  趙卉.基于USB接口的無線數據傳輸系統設計[J].微計算機信息,2008,24(8-2):107-108.
[5]  王偉.基于USB2.0 的高速數據采集與傳輸系統的研究[D].長春:吉林大學,2007.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美亚洲日本一区| 亚洲一区二区网站| 亚洲无限av看| 亚洲乱码国产乱码精品精98午夜| 国产主播精品| 国产午夜精品全部视频播放| 欧美午夜视频一区二区| 欧美精品亚洲二区| 欧美久久久久久| 亚洲二区视频在线| 国产欧美日韩综合一区在线播放| 欧美网站在线| 欧美视频在线免费看| 欧美日韩精品免费观看视一区二区 | 性一交一乱一区二区洋洋av| 午夜精品美女自拍福到在线| 亚洲女人天堂av| 性久久久久久| 欧美一区二区三区视频免费| 欧美一区二区三区在线播放| 午夜日韩福利| 欧美在线黄色| 久久久久国色av免费观看性色| 久久爱另类一区二区小说| 久久精品视频免费| 六月婷婷久久| 欧美激情第8页| 欧美日韩裸体免费视频| 欧美午夜宅男影院在线观看| 国产精品久久久对白| 国产欧美在线| 樱花yy私人影院亚洲| 亚洲黄色免费电影| 99精品99| 亚洲欧洲av一区二区| 久久精品视频在线播放| 亚洲九九精品| 亚洲影院污污.| 欧美在线一二三区| 美女图片一区二区| 欧美日韩免费观看中文| 国产伦精品一区二区三区高清版| 国产深夜精品| 亚洲国产欧美久久| av成人激情| 午夜在线a亚洲v天堂网2018| 亚洲欧洲精品天堂一级| 一区二区三区久久久| 亚洲欧美综合精品久久成人| 久久久久久久成人| 欧美激情免费观看| 国产精品一区二区欧美| 黄色一区三区| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲欧美国产另类| 亚洲欧洲精品一区二区三区不卡| 一区二区激情| 久久人人爽人人爽| 欧美日韩妖精视频| 国产综合色精品一区二区三区| 亚洲国产精品精华液2区45| 亚洲小说区图片区| 久久精品免费看| 欧美福利在线| 国产精品美女久久久久久2018| 海角社区69精品视频| 99精品欧美一区二区三区综合在线| 亚洲欧美日韩精品在线| 91久久精品国产| 亚洲欧美日韩综合一区| 欧美大片免费| 国产精品制服诱惑| 亚洲国产视频直播| 欧美一区二区三区播放老司机| 日韩午夜在线电影| 欧美综合国产| 欧美日韩亚洲三区| 在线观看欧美亚洲| 亚洲欧美另类在线观看| 亚洲经典在线看| 欧美呦呦网站| 欧美日韩精品| 极品少妇一区二区三区| 亚洲一区免费| 99在线精品视频| 麻豆精品视频在线观看| 国产精品日韩在线播放| 亚洲精品少妇网址| 亚洲国产精品va| 欧美与欧洲交xxxx免费观看| 欧美日韩一区二区免费视频| 亚洲高清自拍| 久久国产精品网站| 欧美一区激情| 欧美日韩播放| 亚洲国产精品欧美一二99| 午夜在线电影亚洲一区| 亚洲婷婷在线| 欧美区在线播放| 在线观看一区欧美| 欧美一区二区在线免费观看| 亚洲欧美中日韩| 欧美午夜寂寞影院| 亚洲乱码国产乱码精品精98午夜| 亚洲国产欧美不卡在线观看| 久久精品72免费观看| 国产精品狼人久久影院观看方式| 亚洲毛片视频| 日韩视频精品在线| 欧美激情乱人伦| 91久久极品少妇xxxxⅹ软件| 91久久精品国产91性色tv| 久久亚洲春色中文字幕久久久| 国产欧美一区二区视频| 亚洲尤物视频在线| 亚洲欧美日韩精品一区二区| 欧美性视频网站| 一本色道久久加勒比精品| 在线视频中文亚洲| 欧美人与性动交cc0o| 最新国产成人av网站网址麻豆 | 午夜一区二区三视频在线观看| 欧美午夜大胆人体| 日韩视频精品| 亚洲视频在线观看一区| 欧美日韩在线播放| 99视频一区| 亚洲资源在线观看| 久久免费视频网| 亚洲国产高清自拍| 久久米奇亚洲| 国产一区二区三区免费不卡| 亚洲女爱视频在线| 午夜日韩电影| 国产亚洲精品v| 欧美一区永久视频免费观看| 久久国产免费| 一区二区三区中文在线观看| 亚洲激情啪啪| 欧美精品久久久久久久免费观看| 亚洲精品在线观看视频| 亚洲午夜久久久久久尤物 | 一本色道久久综合亚洲91| 亚洲午夜激情| 国产精品少妇自拍| 欧美一进一出视频| 久久综合九色综合欧美就去吻| 激情小说亚洲一区| 亚洲精品欧洲精品| 欧美乱大交xxxxx| 亚洲视频你懂的| 久久精品99无色码中文字幕| 黄色成人在线网站| 亚洲精品乱码久久久久久按摩观| 欧美精品一区二区在线播放| 一区二区三区视频在线看| 午夜一区在线| 在线观看久久av| 亚洲一二三区精品| 国产亚洲激情在线| 亚洲乱码精品一二三四区日韩在线| 欧美日韩一区自拍| 欧美一区二区视频97| 欧美69视频| 亚洲小说欧美另类社区| 久久视频国产精品免费视频在线| 亚洲激情网站免费观看| 亚洲免费在线播放| 尤物yw午夜国产精品视频| 一区二区三区欧美日韩| 国产日韩综合| 日韩视频在线免费观看| 国产精品网站在线| 亚洲激情成人在线| 欧美午夜精彩| 亚洲高清资源| 国产精品成人久久久久| 久久成人国产| 欧美日韩综合网| 久久www成人_看片免费不卡| 欧美日韩国产影片| 欧美夜福利tv在线| 欧美日韩国产黄| 久久精品女人的天堂av| 欧美特黄一级| 亚洲国产专区校园欧美| 国产精品一级在线| 亚洲精品偷拍| 国产欧美日韩伦理| 制服丝袜亚洲播放| 在线高清一区| 午夜精品久久久久久久99热浪潮| 亚洲国产合集| 久久精品国产亚洲精品| 日韩一区二区久久| 免费观看成人| 性欧美xxxx大乳国产app| 欧美日韩一区自拍| 亚洲国产天堂久久综合| 国产美女精品|