新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于USB 2.0的同步數(shù)據(jù)采集系統(tǒng)的設計

基于USB 2.0的同步數(shù)據(jù)采集系統(tǒng)的設計

作者: 時間:2013-10-26 來源:網(wǎng)絡 收藏

l 引 言

  通用串行總線(Univeisal Serial Bus,USB)憑借其即插即用、熱插拔以及較高的傳輸速率等優(yōu)點,成為PC機與外設連接的普遍標準。迄今為止,常用的USB總線標準有1998年發(fā)布的USB 1.1版本和2000年發(fā)布的版本。其中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設備的數(shù)據(jù)流速度。

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

2 CY7C68013A芯片介紹

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

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

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

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

3 同步高速數(shù)據(jù)采集芯片AD7658

3.1 AD7658 [3]的結構

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

3.2 AD7658的控制時序

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

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

4 USB高速數(shù)據(jù)采集的硬件設計

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

5 USB高速數(shù)據(jù)采集軟件設計

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

5.1 固件設計

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

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

5.2驅(qū)動程序設計

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

5.3應用程序設計

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

6 結 語

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

參考文獻:

[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.



評論


相關推薦

技術專區(qū)

關閉