一種新型高速數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
一種新型高速數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
一種新型高速數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
一種新型高速數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、一種新型高速數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)摘要:實現(xiàn)了一種全集成可變帶寬中頻寬帶低通濾波器,討論分析了跨導放大器-電容(OTAC)連續(xù)時間型濾波器的結(jié)構(gòu)、設(shè)計和具體實現(xiàn),使用外部可編程電路對所設(shè)計濾波器帶寬進行控制,并利用ADS軟件進行電路設(shè)計和仿真驗證。仿真結(jié)果表明,該濾波器帶寬的可調(diào)范圍為126 MHz,阻帶抑制率大于35 dB,帶內(nèi)波紋小于05 dB,采用18 V電源,TSMC 018m CMOS工藝庫仿真,功耗小于21 mW,頻響曲線接近理想狀態(tài)。關(guān)鍵詞:Butte引言在雷達接收機的測試和維護中,經(jīng)常需要對數(shù)據(jù)進行采集,然后將采集到的數(shù)據(jù)送入計算機進行分析處理。鑒于對數(shù)據(jù)實時采集的需求,對采

2、集系統(tǒng)提出三方面的要求:第一,接口簡單靈活且有較高的數(shù)據(jù)傳輸率;第二,采集的數(shù)據(jù)能夠快速處理并能方便提取原始數(shù)據(jù);第三,數(shù)據(jù)采集裝置具備多路數(shù)據(jù)采集能力。對于一些特殊應(yīng)用,甚至需要整個數(shù)據(jù)采集系統(tǒng)能夠方便攜帶。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)大多通過PCI總線完成數(shù)據(jù)的傳輸,但PCI總線存在嚴重缺陷:受限于計算機插槽數(shù)量和中斷資源;不便于連接與安裝;易受機箱內(nèi)電磁環(huán)境的影響。這些問題遏制了基于PCI總線的數(shù)據(jù)采集系統(tǒng)的進一步開發(fā)和應(yīng)用。因此,需要一種更為簡便通用的方式來完成采集系統(tǒng)和計算機的數(shù)據(jù)的交互。考慮到現(xiàn)代計算機上大都配備了USB接口,且USB支持即插即用,安裝方便,易于擴展,USB2.0能夠達到48

3、0Mb/s的理論傳輸速度,非常適合在高速數(shù)據(jù)采集系統(tǒng)中應(yīng)用。因此,通過USB接口來完成數(shù)據(jù)傳輸是一個很好的替代方案。出于上述考慮,筆者設(shè)計了一個基于USB2.0接口的高速數(shù)據(jù)采集系統(tǒng),通過實際測試,該系統(tǒng)可以很好的完成數(shù)據(jù)采集的功能。數(shù)據(jù)采集系統(tǒng)電路設(shè)計高速數(shù)據(jù)采集系統(tǒng)框圖如圖1所示。系統(tǒng)整體的設(shè)計思路如下:計算機將采集指令(包括數(shù)據(jù)格式,數(shù)據(jù)長度,F(xiàn)PGA控制指令等)送給USB控制芯片,USB控制芯片通過固件程序?qū)χ噶钸M行簡單的格式判定,然后將判定后正確的指令送給FPGA,F(xiàn)PGA對指令進行譯碼,獲得需要采集的數(shù)據(jù)的長度,以及采集的地址和控制信號,控制RAM來完成數(shù)據(jù)的采集存儲。雷達接收機送

4、過來的數(shù)據(jù)和時鐘信號經(jīng)過長線接收器組以后,由差分信號變?yōu)槠胀ǖ臄?shù)字信號,時鐘信號送入FPGA,經(jīng)過處理后,用來控制數(shù)據(jù)的采集時刻,數(shù)據(jù)先存入RAM,待完成所需數(shù)目的采集以后,再通過USB控制芯片送給計算機,完成數(shù)據(jù)的后期處理和顯示。圖1 高速數(shù)據(jù)采集系統(tǒng)框圖圖2為FPGA與USB控制芯片的連接圖,電路中FPGA選用EP1C3T144C8,USB控制芯片選用Cypress 公司的CY7C68013。USB_Ready 為USB芯片狀態(tài)標志,低電平有效;FPGA_Ready為FPGA芯片狀態(tài)標志,低電平有效;USB_Clk為USB向FPGA傳送指令的指令時鐘,USB_Data 為USB傳送給FPG

5、A的控制指令;FD15:0為USB 與FPGA交互的數(shù)據(jù)。圖2 FPGA與USB控制芯片的電路連接圖FPGA與USB芯片之間的通信流程如下:1、FPGA發(fā)送FPGA_Ready信號給USB控制芯片,表示FPGA準備好;2、USB控制芯片發(fā)送USB_Ready信號給FPGA,表示在USB_Ready為低電平期間將有控制指令傳送;3、USB控制芯片由Send_CLK發(fā)送時鐘信號,同時由Send_DATA發(fā)送控制指令給FPGA,控制指令在時鐘信號上升沿有效;4、FPGA收到控制指令,執(zhí)行相應(yīng)動作。FPGA發(fā)送各種控制時序信號和RAM地址,把I路、Q路數(shù)據(jù)存在RAM里,而后將數(shù)據(jù)讀到FPGA,再通過F

6、D15:0以字的形式傳給USB控制芯片的從屬FIFO端點EP8緩沖區(qū),由PC機讀取。數(shù)據(jù)采集系統(tǒng)軟件設(shè)計系統(tǒng)軟件主要分為FPGA 模塊設(shè)計程序,USB 固件程序,以及上層應(yīng)用軟件程序。FPGA模塊編程系統(tǒng)采用Altera 公司的Cyclone系列的FPGA芯片,采用Verilog HDL 作為開發(fā)語言,開發(fā)環(huán)境采用Quartus II 5.0。在系統(tǒng)的FPGA軟件設(shè)計過程中,根據(jù)功能的需要,將整個系統(tǒng)分為了三個大的模塊來設(shè)計,分別為:時鐘、控制指令輸出模塊,數(shù)據(jù)采集、存儲模塊,USB數(shù)據(jù)傳輸模塊。時鐘、控制指令輸出模塊對輸入的時鐘進行整形,形成數(shù)據(jù)采集時鐘,同時,輸出22位控制電平信號;數(shù)據(jù)采

7、集、存儲模塊對輸入的數(shù)據(jù)進行采集并存儲在存儲器里;USB數(shù)據(jù)傳輸模塊讀取存儲器里的數(shù)據(jù)并把數(shù)據(jù)輸出至USB的FIFO里。 USB 固件程序固件程序即為寫入USB單片機中的程序,它是設(shè)備運行的控制中樞Cypress公司提供了固件架構(gòu),用戶可以利用這一架構(gòu)簡化固件開發(fā)。固件設(shè)計架構(gòu)是由Keil C51編譯器與其整合開發(fā)工具編寫和構(gòu)建的在程序開始時,固件架構(gòu)會執(zhí)行下列步驟:1) 設(shè)置所有內(nèi)部狀態(tài)變量的初始值。2) 調(diào)用用戶的初始設(shè)置函數(shù)TD_Init( ),待返回后,固件架構(gòu)就會將USB接口設(shè)置為未配置的狀態(tài)。3) 在1s的時間間隔內(nèi),開始重新進行設(shè)備列舉,直到設(shè)置封包收到端點0為止。4) 當SET

8、UP封包被檢測到后,固件架構(gòu)就會啟動工作分配器,而這個工作分配器就會按順序重復地執(zhí)行下面的工作:A: 調(diào)用用戶函數(shù)TD_Poll( )。B: 是否決定標準設(shè)備請求是未定(或等待決定)的。如果已決定,它將會分析所收到的命令請求,并且加以響應(yīng)。C: 是否決定USB核心已經(jīng)報告了USB中止(Suspend)事件。如果已決定,它會調(diào)用用戶函數(shù)TD_Suspend()。若取得成功的返回,則測試回復(Resume)事件。反之,如果未檢測到,將會把微處理器放人中止模式中。當回復事件被檢測到時,將調(diào)用用戶函數(shù)TD_Resume( ),并且連續(xù)地跳回至步驟C。D: 若從TD_Suspend()函數(shù)中未收到成功的

9、返回,再連續(xù)地跳至步驟C。實際上Cypress公司提供的這個固件框架已經(jīng)能夠使USB芯片正常的工作,但是,它并不能滿足本系統(tǒng)的需要。需要添加自己的控制代碼來控制USB芯片,使之能夠完成需要的工作。框架程序中為提供了兩個函數(shù)TD_Init( ),TD_Poll( ),根據(jù)上面的分析發(fā)現(xiàn),這兩個函數(shù)分別完成了系統(tǒng)的初始化工作和系統(tǒng)的用戶期望工作。在此采集系統(tǒng)中,只需要修改這兩個函數(shù),添加自己的功能函數(shù),即可完成系統(tǒng)需要的功能。在TD_Init( )中,需要添加自己的代碼來完成系統(tǒng)的初始化,因為系統(tǒng)采用了2端點和6端點的批量讀寫功能,所以,將2端點配置單緩沖區(qū)512字節(jié),兩倍緩沖區(qū),作為In端點,將

10、6端點配置為單緩沖區(qū)512字節(jié),兩倍緩沖區(qū),作為Out端點,配置系統(tǒng)為異步Slave FIFO 模式。在TD_Poll( )中,通過檢測2端點和6端點緩沖區(qū)數(shù)據(jù)的狀態(tài),來及時的讀取這兩個緩沖區(qū)中的數(shù)據(jù),然后調(diào)用自己定義的函數(shù)DecodeInst( ), ImplementInst( )來完成對于控制指令的譯碼和執(zhí)行工作。驅(qū)動程序基于EZ-USB FX2的二次枚舉的特性,需要編制兩個驅(qū)動程序:一個驅(qū)動程序loader.sys,它將在主機上編寫好的固件程序在主機系統(tǒng)啟動時下載至FX2的RAM中;另一個驅(qū)動程序USBBULK.sys為實際安裝的驅(qū)動程序。另外,為實現(xiàn)在系統(tǒng)啟動時,自動安裝兩次驅(qū)動程序

11、,還需編寫自己的ezloader.inf文件實現(xiàn)。loader.sys需要自己編寫生成,USBBULK.sys可使用CYPRESS公司的通用驅(qū)動程序。用戶程序用戶程序是系統(tǒng)與用戶的接口,它通過通用驅(qū)動程序完成對外設(shè)的控制和通信。在編寫用戶程序時,首先要建立與外設(shè)的連接,然后才能實施數(shù)據(jù)的傳輸。啟動采樣后,為了保證不丟失數(shù)據(jù),用戶程序應(yīng)建立一個新的工作線程專門獲取外設(shè)傳來的數(shù)據(jù)。程序中主要用到兩個API函數(shù):CreateFile()和DeviceIoControl()。CreateFile()取得設(shè)備句后,DeviceIoControl()根據(jù)該句柄完成數(shù)據(jù)傳輸。系統(tǒng)通過DeviceIoControl()完成的工作如下:數(shù)據(jù)批量讀,數(shù)據(jù)批量寫。結(jié)語為了驗證本系統(tǒng)采集數(shù)據(jù)的準確性,利用信號源產(chǎn)生的正弦波信號對系統(tǒng)進行驗證。測試結(jié)果如圖3所示。圖3 測試結(jié)果通過實際測量,該系統(tǒng)測

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論