新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MAX 7 0 0 0A與CYUSB3014的USB3.0數(shù)據(jù)采集系統(tǒng)

基于MAX 7 0 0 0A與CYUSB3014的USB3.0數(shù)據(jù)采集系統(tǒng)

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

0 引言

本文引用地址:http://m.butianyuan.cn/article/201609/304017.htm

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

1 系統(tǒng)硬件設(shè)計

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

基于MAX 7 0 0 0A與CYUSB3014的USB3.0數(shù)據(jù)采集系統(tǒng)的設(shè)計

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

基于MAX 7 0 0 0A與CYUSB3014的USB3.0數(shù)據(jù)采集系統(tǒng)的設(shè)計

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

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

基于MAX 7 0 0 0A與CYUSB3014的USB3.0數(shù)據(jù)采集系統(tǒng)的設(shè)計

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

系統(tǒng)硬件設(shè)計中還包含了電源電路、USB接口電路和時鐘復位電路等電路的設(shè)計,由于篇幅的關(guān)系,在此不作介紹。

2 系統(tǒng)軟件設(shè)計

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

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

基于MAX 7 0 0 0A與CYUSB3014的USB3.0數(shù)據(jù)采集系統(tǒng)的設(shè)計

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

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

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

3 總結(jié)

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


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉