一種新型高速數據采集系統的設計與實(shí)現
摘要: 介紹了一種基于USB2.0接口的高速數據采集系統的設計。該采集系統能夠將雷達接收機送來(lái)的信號進(jìn)行高速的采集,然后通過(guò)USB接口,將采集到的數據送到計算機,經(jīng)由上層軟件對數據進(jìn)行處理分析。
關(guān)鍵詞: USB2.0;FPGA;高速數據采集;雷達接收機
引言
在雷達接收機的測試和維護中,經(jīng)常需要對數據進(jìn)行采集,然后將采集到的數據送入計算機進(jìn)行分析處理。鑒于對數據實(shí)時(shí)采集的需求,對采集系統提出三方面的要求:第一,接口簡(jiǎn)單靈活且有較高的數據傳輸率;第二,采集的數據能夠快速處理并能方便提取原始數據;第三,數據采集裝置具備多路數據采集能力。對于一些特殊應用,甚至需要整個(gè)數據采集系統能夠方便攜帶。
傳統的數據采集系統大多通過(guò)PCI總線(xiàn)完成數據的傳輸,但PCI總線(xiàn)存在嚴重缺陷:受限于計算機插槽數量和中斷資源;不便于連接與安裝;易受機箱內電磁環(huán)境的影響。這些問(wèn)題遏制了基于PCI總線(xiàn)的數據采集系統的進(jìn)一步開(kāi)發(fā)和應用。因此,需要一種更為簡(jiǎn)便通用的方式來(lái)完成采集系統和計算機的數據的交互。
考慮到現代計算機上大都配備了USB接口,且USB支持即插即用,安裝方便,易于擴展,USB2.0能夠達到480Mb/s的理論傳輸速度,非常適合在高速數據采集系統中應用。因此,通過(guò)USB接口來(lái)完成數據傳輸是一個(gè)很好的替代方案。出于上述考慮,筆者設計了一個(gè)基于USB2.0接口的高速數據采集系統,通過(guò)實(shí)際測試,該系統可以很好的完成數據采集的功能。
數據采集系統電路設計
高速數據采集系統框圖如圖1所示。系統整體的設計思路如下:計算機將采集指令(包括數據格式,數據長(cháng)度,FPGA控制指令等)送給USB控制芯片,USB控制芯片通過(guò)固件程序對指令進(jìn)行簡(jiǎn)單的格式判定,然后將判定后正確的指令送給FPGA,FPGA對指令進(jìn)行譯碼,獲得需要采集的數據的長(cháng)度,以及采集的地址和控制信號,控制RAM來(lái)完成數據的采集存儲。雷達接收機送過(guò)來(lái)的數據和時(shí)鐘信號經(jīng)過(guò)長(cháng)線(xiàn)接收器組以后,由差分信號變?yōu)槠胀ǖ臄底中盘?,時(shí)鐘信號送入FPGA,經(jīng)過(guò)處理后,用來(lái)控制數據的采集時(shí)刻,數據先存入RAM,待完成所需數目的采集以后,再通過(guò)USB控制芯片送給計算機,完成數據的后期處理和顯示。
圖1 高速數據采集系統框圖
圖2為FPGA與USB控制芯片的連接圖,電路中FPGA選用EP1C3T144C8,USB控制芯片選用Cypress 公司的CY7C68013。USB_Ready 為USB芯片狀態(tài)標志,低電平有效;FPGA_Ready為FPGA芯片狀態(tài)標志,低電平有效;USB_Clk為USB向FPGA傳送指令的指令時(shí)鐘,USB_Data 為USB傳送給FPGA的控制指令;FD[15:0]為USB 與FPGA交互的數據。
圖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ā)送時(shí)鐘信號,同時(shí)由Send_DATA發(fā)送控制指令給FPGA,控制指令在時(shí)鐘信號上升沿有效;
4、FPGA收到控制指令,執行相應動(dòng)作。FPGA發(fā)送各種控制時(shí)序信號和RAM地址,把I路、Q路數據存在RAM里,而后將數據讀到FPGA,再通過(guò)FD[15:0]以字的形式傳給USB控制芯片的從屬FIFO端點(diǎn)EP8緩沖區,由PC機讀取。
數據采集系統軟件設計
系統軟件主要分為FPGA 模塊設計程序,USB 固件程序,以及上層應用軟件程序。
FPGA模塊編程
系統采用Altera 公司的Cyclone系列的FPGA芯片,采用Verilog HDL 作為開(kāi)發(fā)語(yǔ)言,開(kāi)發(fā)環(huán)境采用Quartus II 5.0。
在系統的FPGA軟件設計過(guò)程中,根據功能的需要,將整個(gè)系統分為了三個(gè)大的模塊來(lái)設計,分別為:時(shí)鐘、控制指令輸出模塊,數據采集、存儲模塊,USB數據傳輸模塊。時(shí)鐘、控制指令輸出模塊對輸入的時(shí)鐘進(jìn)行整形,形成數據采集時(shí)鐘,同時(shí),輸出22位控制電平信號;數據采集、存儲模塊對輸入的數據進(jìn)行采集并存儲在存儲器里;USB數據傳輸模塊讀取存儲器里的數據并把數據輸出至USB的FIFO里。
評論