新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于USB 2.0的同步數據采集系統的設計

        基于USB 2.0的同步數據采集系統的設計

        作者: 時間:2013-10-26 來源:網絡 收藏

        l 引 言

          通用串行總線(Univeisal Serial Bus,USB)憑借其即插即用、熱插拔以及較高的傳輸速率等優點,成為PC機與外設連接的普遍標準。迄今為止,常用的USB總線標準有1998年發布的USB 1.1版本和2000年發布的版本。其中1.1版本支持兩種傳輸速率:1.5 Mb/s和12 Mb/s,主要應用在低速傳輸要求的場合。而[1]版本在1.1版本的基礎上擴展了以下特點:

          最高480.Mb/s傳輸速率,比USB 1.1提高了40倍;全面兼容USB 1.1設備;新的HUB結構成倍地提高USB1.1設備的數據流速度。

          對于一個基于USB的實時數據采集系統,無論USB芯片還是D/A,都有多種不同的選擇方案。考慮到系統的精度、速率等諸元素,筆者在設計時選擇了EZ-USB FX2系列中功能較強的CY7C68013A TQFP 128腳封裝芯片作為核心控制器,結合模數轉化器AD7658,開發了,一套基于USB 2.O的高速

        2 CY7C68013A芯片介紹

          設計系統中的接口芯片選用Cypress公司的EZ-USB FX2系列中的CY7C68013A[2](128腳),他包括1個8051處理器,1個串行接口引擎(SIE),1個USB收發器,8.5 kB片上RAM,4 kB FIFO存儲器和1個通用可編程接口(GPIF)。

          (1)內部集成了一個增強型的51內核,其指令集與標準的8051兼容,并且在多方面有所改進。例如:最高工作頻率可達48 MHz,一個指令周期為4個時鐘周期,2個UART接口,3個定時計數器,1個1。C接口引擎等。

          (2)提供了一個串行接、口引擎(SIE),負責完成大部分USB 2.0協議的處理工作,從而大大減輕了USB協議處理的工作量,并且提供了4 kB的FIFO保證數據高速傳輸的需要。和以往的USB傳輸引擎不同的是,68013的內核部分不直接參與FIFO以及傳輸工作,傳輸與控制部分脫離,大大提高了總線傳輸的速度,這也是本系統的特點之一。

          (3)為實現與各種不同外設的互連,芯片中集成了一個GPIF模塊,使用戶可按照外設的時序進行波形編輯,而不需要復雜的程序描述,就可以保證GPIF與內部FIFO的協調工作,實現芯片與高速外圍設備之間的邏輯連接和高速數據傳輸。這對于開發者來說是相當友好的。筆者就是利用這一特性,實現數據的高速同步采集及傳輸。

        3 同步高速數據采集芯片AD7658

        3.1 AD7658 [3]的結構

          AD7658是AD公司推出的高速、6通道、低功耗、雙極性12位的A/D轉換芯片,其內部結構如圖2所示,其主要特點是:6個獨立的快速ADC模塊(允許同時采樣和轉換6路信號);正確的雙極模擬輸入;最高的速度:250 KSPS;低功率:5 V的電源以250 KSPS速度運行下,功率是400 mW;串行和并行接口;高速串行接口;兼容SPI/QSPI/DSP接口;節電模式時最大消耗5μA;64LQF、P封裝。

        3.2 AD7658的控制時序

          前面已經提到AD7658可以采用并行接口或者高速的串行接口,在本文中,我們采用并平行接口。在USB2.0同步高速數據采集器中他的控制時序,是利用GPIF實現圖3所示的時序控制。

          其中CONVST 是轉換開始啟動信號,下降沿觸發3路.ADC開始裝換;BUSY信號在CONVST信號觸發后;變成并保持為高電平狀態,直到3路ADC轉換完畢,才又回到低電平;CS信號和RD信號分別是芯片使能信號以及讀允許信號。兩者第一次同為低電平時,讀出第一組ADC轉換的數據;在第二次為高電平時,讀出第二組ADC轉換的數據。

        4 USB高速數據采集的硬件設計

          實際信號經過傳感器,轉轉成電信號,而后進行信號調理,達到AD7658可以輸入的信號范圍,之后在GPIF模塊的控制下,由AD7658對其進行等間隔采樣,然后將采樣結果通過GPIF 傳送到CY7C68013A的內部FIFO中緩存;當采集一定量的數據CY7C68013A自動將數據打包(不需要8051的介入),通過USB總線傳輸到PC機中進行數據處理。

        5 USB高速數據采集軟件設計

          該系統的軟件設計主要包括兩部分,一部分是固件設計,另一部分是驅動和應用程序。

        5.1 固件設計

          固件是運行在CY7C68013A上的程序,本系統采用C51語言來編程設計,其主要功能是控制CY7C68013接收并處理USB驅動程序的請求(如請求設備描述符、請求或設置設備狀態,請求或設置設備接口等USB 2.0標準請求)、控制CY7C68013A接收應用程序的控制指令、通過cY7C6801 3A存放數據并實時上傳至PC等。

          本方案中的固件設計思路是:在Cypress公司自己提供的固件開發軟件平臺上,結合該固件工程所提供的FW.C,BULK.C,DSCR.A51,FX2.H,FX2REGS.H等文件,運用高級語言C51進行編程。固件程序的載入方式為:使用CY7(268013A特有的軟配置功能。將固件程序存儲到計算機中,當沒備接入USB電纜時,通過Cypress公司提供的開發軟件Usb Control Pariel的Download項,將固件載入到控制芯片中。

        5.2驅動程序設計

          USB需要通用驅動和下載固件驅動兩個程序。通用驅動用于完成外設與用戶程序的通信,可使用Cypress公司開發包所提供的已經編好的通用驅動程序ezusb.sys,一般不需要重新編寫;下載固件驅動則負責在外設連接USB總線后把特定的固件程序下載到CY7C68013A的RAM中使C2PU重啟,同時模擬斷開與USB總線的連接,以完成對外設的重新設置,使主機能夠根據新的設置來安裝通用驅動程序,重新列舉外設為一個新的USB設備。他可以由Cypress公司已經編好的驅動部分和固件程序由DDK編譯后生成。在本設計方案中,采用的就是在配置好的輔助開發環境中修改這個通用驅動程序的方式。

        5.3應用程序設計

          主機應用程序是主要實現從高速數據采集處理板讀取處理后的數據、存儲、顯示處理結果以及向數據采集處理板發送控制命令。本系統開發使用Windows XP作為開發平臺,以VC++6.0為開發工具,設計中考慮到工程要求,主要兼顧了以下功能:采集傳輸控制功能(連接設備,設定采集參數,啟動和停止采集,下載程序,塊傳輸測試的開始、結束、設置、計數編輯、持續時間編輯);描述符的讀取功能(設備、配置、接口、端點、字符串的描述符讀取);系統功能(數據圖形結果,文件數據的生成)。

        6 結 語

          隨著現在實際要求的多樣化、復雜化,對數據采集的精度、速度要求也越來越高,USB 2.0已經成為必然的趨勢。本系統是一個簡單的USB接口設計,通過最簡單的連接,達到高速實時數據采集的目的。該系統電路簡單、工作穩定、傳輸速率高,還具有USB設備的體積小,使用方便等特點,可以滿足了很多工程中數據采集的要求。

        參考文獻:

        [1].AD7658datasheethttp://www.dzsc.com/datasheet/AD7658_1131529.html.
        [2].CY7C68013datasheethttp://www.dzsc.com/datasheet/CY7C68013_.html.
        [3].BULKdatasheethttp://www.dzsc.com/datasheet/BULK_2523104.html.
        [4].A51datasheethttp://www.dzsc.com/datasheet/A51_1823359.html.



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 秦皇岛市| 永顺县| 额尔古纳市| 嘉荫县| 嘉祥县| 沧源| 溧阳市| 双江| 沛县| 滨海县| 原阳县| 海南省| 孟村| 临漳县| 密山市| 原平市| 阿城市| 肇源县| 塔河县| 邯郸市| 昭苏县| 大竹县| 偃师市| 建瓯市| 寿阳县| 姚安县| 栖霞市| 金秀| 云梦县| 阳高县| 大关县| 南陵县| 昌吉市| 扬州市| 柳州市| 洱源县| 昌江| 深水埗区| 政和县| 余干县| 四会市|