新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MAX 7 0 0 0A與CYUSB3014的USB3.0數據采集系統

        基于MAX 7 0 0 0A與CYUSB3014的USB3.0數據采集系統

        作者: 時間:2016-09-12 來源:網絡 收藏

        0 引言

        本文引用地址:http://www.104case.com/article/201609/304017.htm

        目前高速技術越來越得到人們的重視,傳統的USB 2.0采集平臺理論帶寬只有480 Mbps,實際傳輸能力只有30 Mb/s左右,而USB 3.0采集平臺理論帶寬達到了5Gbps,能有效解決USB2.0采集系統的缺陷。目前一些采集系統采用單片機為主控芯片,則不能充分發揮USB3.0的帶寬,性能不佳。本文研究和設計了一套基于USB3.0總線的系統,此系統采用高速芯片MAX7000A作為主控芯片,作為USB3.0主機接口芯片,能實現超高速實時與傳輸。

        1 系統硬件設計

        系統的總體框架如圖1所示。被采集的信號通過相應的傳感器轉換為相應的模擬電壓,A/D芯片將其轉換為數字信號,再送到主控芯片MAX7000A,經處理后發送到USB 3.0主機接口芯片,該芯片工作在SLAVE FIFO模式,最后數據以5Gbps的速度送入到計算機。

        基于MAX 7 0 0 0A與CYUSB3014的USB3.0數據采集系統的設計

        美國的賽普拉斯(CYPRESS)公司開發的EZUSB FX系列芯片以其強大的功能,簡易的開發過程而深受開發者喜愛。EZ—USB FX3()芯片是其最新的USB接口芯片,不僅完全符合USB3.0標準,而且還可以與DSP、FPGA、和單片機等處理器方便地相連,從而簡化了系統的設計。EZ-USB FX3芯片內部邏輯結構如圖2所示。

        基于MAX 7 0 0 0A與CYUSB3014的USB3.0數據采集系統的設計

        CYUSB3014的內核為一個200MHz工作頻率的32位ARM926EJ處理器,其通過固件程序和內部DMA通道管理USB和GPIF II、I2S、SPI、UART接口之間的數據傳輸。CYUSB3014內部有一個能實現5Gbps傳輸速度的GPIF II接口,該接口可以方便地與MAX 7000A連接。GPIF II接口不僅工作頻率可達100MHz,而且其數據總線可以根據需要選擇8位、16位和32位中的任何一種。當然,只有選用了32位的數據總線,才能充分挖掘其帶寬。

        美國硅谷的Altera公司一直是創新定制邏輯解決方案的領先者,其開發了業界最先進的FPGA、CPLD和ASIC技術,其開發的MAX系列CPLD芯片深受開發者喜愛。只有采用高速的CPLD主控芯片才能充分發揮USB3.0的5Gbps超寬帶寬,為此Altera公司最新高速的MAX7000A系列CPLD為理想之選,我們采用了型號為MAX7128AETC100—4的主控芯片,該芯片的詳細資料見文獻。該芯片主要負責與GPIF II接口相連,實現GPIF II接口工作在SLAVEFIFO模式下向計算機寫入數據的邏輯時序控制。EZ—USB FX3的GPIF II接口有HOST主機和SLAV EFIFO兩種工作模式,本系統選用SLAVE FIFO工作模式,其與CPLD連接的原理圖如圖3所示。

        基于MAX 7 0 0 0A與CYUSB3014的USB3.0數據采集系統的設計

        系統工作原理如下:1)A[1:0]為地址選擇位,MAX7000A根據其值選擇對應的Socket;2)D[31:0]為32位的傳輸數據總線,MAX7000A將需要寫入的數據放置在此總線上;3)SLCS為片選芯片,工作時需為低電平來選中EZ-USB FX3芯片;4)PKTEND為包結束信號,當數據包寫滿時,該信號有效時,MAX7000A將其打包傳送至EZ—USB FX3芯片;5)FLAGA和FLAGB為EZ—USB FX3返回給MAX 7000A的狀態標志信號,MAX7000A據此決定是否對EZ—USB FX3進行數據讀寫;6)SLWR為寫使能信號,SLRD為讀使能信號,SLOE為輸出使能信號。

        系統硬件設計中還包含了電源電路、USB接口電路和時鐘復位電路等電路的設計,由于篇幅的關系,在此不作介紹。

        2 系統軟件設計

        系統軟件的開發包含了MAX 7000A CPLD和EZ—USB FX3的固件程序開發、EZ—USB FX3的Windows驅動程序開發和上位機應用程序的開發。我們利用CYPRESS公司提供的開發包,大大縮短了開發周期,提高了開發效率。

        固件程序是微控制器系統的核心,是幫助設備實現相應的功能。MAX 7000A CPLD固件程序主要完成對A/D芯片的控制和對EZ—USB FX3芯片的通信,其將A/D芯片采集的數據傳送給EZ—USB FX3。MAX 7000A CPLD的固件開發比較簡單,只需對相應的引腳和時序進行定義。為此我們采用了Verilog HDL語言編寫,開發環境為Quartos II 8.0。EZ—USBFX3固件程序的主要功能是讓其將MAX 7000A CPLD芯片傳來的數據傳輸到上位機,實現超高速數據傳輸。EZ—USB FX3的控制器是基于ARM926EJS的,固件程序采用ECLIPSE集成開發環境,開發人員需在CYPRESS公司官網上下載其SDK安裝包。EZ—USB FX3的固件程序流程圖如下:

        基于MAX 7 0 0 0A與CYUSB3014的USB3.0數據采集系統的設計

        S1FifoAppThread線程代表著EZ—USB FX3芯片的GPIF II接口工作在SLAVE FIFO模式。我們需在S1FifoAppThread線程中定義一個DMA傳輸通道,此DMA通道在外部MAX 7000A芯片的控制下,將數據送至指定的輸入端點,以供上位機應用程序獲取。

        在驅動程序開發方面,CYPRESS公司的SDK為EZ-USB FX3提供了通用設備驅動程序CYUSB3.SYS,其不僅完全符合WDF(Windows Driver Foundation)規范,還具有兼容USB2.0和USB3.0設備、支持即插即用和支持高帶寬數據傳輸等優點。我們只需根據固件程序中定義的USB設備的VID和PID對通用驅動程序相匹配的CYUSB3.INF文件進行相應的簡單修改即可。

        在上位機的應用程序的開發方面,CYPRESS公司同樣為用戶提供了一個個操作簡單、功能強大的C++編程接口:CyAPI.Lib庫函數。我們選用了Microsoft Visual Studio2008作為開發工具,通過CyAPI.Lib函數與CYUSB3.SYS設備驅動程序傳遞數據,進行實時采集。

        3 總結

        本文詳細介紹了采用EZ—USB FX3為接口USB3.0芯片,MAX 7000A為主控芯片,設計與開發了一套USB 3.0數據采集傳輸系統。CYPRESS公司為EZ-USB FX3提供了完整的SDK開發包,縮短了開發周期。當采樣數據為32位,采樣時鐘為40MHz時,系統理論傳輸帶寬可達1.28Gps。實際測試中我們采用了16位的A/D高速芯片,MAX 7000A芯片工作時鐘為40MHz,實驗測得系統傳輸速率約600Mbps,超過了USB2.0的480Mbps理論帶寬,這表明USB3.0總線能將采集的信號實時傳輸至計算機,充分發揮了USB3.0超高速傳輸帶寬的優勢。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凯里市| 额济纳旗| 梅河口市| 天全县| 雷波县| 应用必备| 淮南市| 句容市| 拉孜县| 宝应县| 阳朔县| 石嘴山市| 长阳| 景宁| 肇州县| 大宁县| 武宁县| 包头市| 阳新县| 延吉市| 宿松县| 和平区| 华坪县| 黄冈市| 农安县| 贵德县| 亳州市| 哈巴河县| 郁南县| 正蓝旗| 夹江县| 定襄县| 兴文县| 库车县| 瑞金市| 宜阳县| 自贡市| 湟中县| 玉田县| 河曲县| 南康市|