《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 超高速數(shù)據(jù)采集系統(tǒng)設(shè)計與優(yōu)化策略研究
超高速數(shù)據(jù)采集系統(tǒng)設(shè)計與優(yōu)化策略研究
來源:電子技術(shù)應(yīng)用2010年第12期
張 華, 胡修林, 馬若飛
華中科技大學(xué) 電子與信息工程系, 湖北 武漢430074
摘要: 為滿足雷達(dá)信號高速采集實(shí)時存儲的需求,設(shè)計了一個12 bit、200 MS/s的高速采集存儲系統(tǒng)?;贑PCI總線解決高速數(shù)據(jù)傳輸?shù)男枨?,并利用雷達(dá)信號的特點(diǎn),提出了采樣時間窗的概念,有效降低了采集數(shù)據(jù)量和數(shù)據(jù)傳輸壓力。設(shè)計了一種二級緩存機(jī)制以提高DMA傳輸效率,并通過數(shù)據(jù)格式的組合來匹配總線寬度,提高CPCI總線帶寬利用率。采用千兆以太網(wǎng)磁盤陣列,解決了海量數(shù)據(jù)的高速存儲問題。系統(tǒng)最終實(shí)現(xiàn)的采樣速率是200 MS/s,量化精度12 bit,連續(xù)采集。
中圖分類號:TP391
文獻(xiàn)標(biāo)識碼:A
文章編號: 0258-7998(2010)12-0078-05
Design and optimization strategy of ultra-high speed data acquisition system
ZHANG Hua, HU Xiu Lin, MA Ruo Fei
Department of Electrionics and Information Engineering, Huazhong University of Science and Technology,Wuhan 430074, China
Abstract: A 200 MS/s data acquisition and real-time storage system is designed in this paper, which satisfies the needs of radar signal acquisition. To ensure high-speed data transmission, CPCI bus is adopted.The concept of sampling time window is proposed, effectively reducing the amount of data collection and data transfer pressure. A secondary cache mechanism is designed to improve the efficiency of DMA transfers,and the re-combination of data formats improves the CPCI bus bandwidth utilization. The high-speed mass data storage problem is solved by the using of Gigabit Ethernet disk arrays. This system finally realizes continuous acquisition and storage, with the sampling rate of 200 MS/s and 12 bit quantization precision.
Key words : high-speed data acquisition; CPCI bus; sampling time window; secondary cache

    隨著信號與處理技術(shù)的發(fā)展,在通信、雷達(dá)、工業(yè)控制、智能儀器等領(lǐng)域,對數(shù)據(jù)采集的速度、精度、實(shí)時處理與存儲等也提出了越來越高的要求[1]。對于高帶寬的信號,如圖像、雷達(dá)信號等,根據(jù)奈奎斯特采樣定理[2],為保證采樣信號的高精度,所需要的采樣速率也很高,往往需要達(dá)到上百兆赫茲以上。而隨著微電子技術(shù)、嵌入式系統(tǒng)技術(shù)以及計算機(jī)技術(shù)的發(fā)展,也為實(shí)現(xiàn)這樣的超高速信號采集與存儲系統(tǒng)提供了可能。
 目前,國內(nèi)外也有相關(guān)文獻(xiàn)對高速數(shù)據(jù)采集系統(tǒng)進(jìn)行了研究。如參考文獻(xiàn)[3]、[4]基于可編程邏輯器件實(shí)現(xiàn)對雷達(dá)信號的采集,參考文獻(xiàn)[5]則采用USB總線技術(shù)設(shè)計數(shù)據(jù)采集系統(tǒng)。但采集速率都不超過100 MS/s,且多數(shù)不需要實(shí)時存儲,不能滿足本系統(tǒng)200 MS/s采集與實(shí)時存儲的要求。
    Compact PCI是上世紀(jì)90年代后期提出的一種總線接口標(biāo)準(zhǔn),電氣方面采用PCI總線的電氣規(guī)范,理論傳輸速率最高可達(dá)1 Gb/s[6-7]。而在機(jī)械上采用了標(biāo)準(zhǔn)真空連接器以及歐卡規(guī)范,機(jī)械結(jié)構(gòu)堅固穩(wěn)定,可滿足機(jī)載條件下的環(huán)境需求。因此,本系統(tǒng)采用CPCI總線作為信號采集電路與計算機(jī)主機(jī)的接口,完成采集數(shù)據(jù)的傳輸。
    本文所設(shè)計和實(shí)現(xiàn)的超高速數(shù)據(jù)采集存儲系統(tǒng),采樣速率達(dá)到了200 MS/s,量化精度為12 bit,而且是實(shí)時連續(xù)采集、傳輸和存儲,最終滿足了對高帶寬雷達(dá)信號的高速高精度采集、實(shí)時存儲的需求。
1 系統(tǒng)總體架構(gòu)
1.1  總體結(jié)構(gòu)設(shè)計

 數(shù)據(jù)采集系統(tǒng)的總體結(jié)構(gòu)如圖1所示,主要由計算機(jī)主機(jī)、自主研制的CPCI數(shù)據(jù)采集卡和磁盤陣列組成。
   采用標(biāo)準(zhǔn)工控機(jī)作為主機(jī)平臺,主要硬件配置為:(1)Intel Core2 處理器T7500,主頻2.2 GHz;(2)2 GB DDR-667內(nèi)存,組成雙通道;(3)Intel GME965主板芯片組。在工控機(jī)主板上插入自行研制的基于CPCI總線的回波數(shù)據(jù)采集卡。采集卡將模擬回波信號通過ADC轉(zhuǎn)換為數(shù)字信號,與系統(tǒng)其他數(shù)據(jù)一起打包,通過CPCI總線以DMA方式傳輸?shù)街鳈C(jī)內(nèi)開辟的內(nèi)存緩沖區(qū)中。

    為保證對采集數(shù)據(jù)的實(shí)時存儲,采用磁盤陣列作為存儲介質(zhì)。并且用千兆以太網(wǎng)接口連接磁盤陣列與計算機(jī)主機(jī)。
 在主機(jī)平臺上運(yùn)行自行開發(fā)的采集系統(tǒng)軟件,包括驅(qū)動程序和應(yīng)用程序,將內(nèi)存緩沖區(qū)中的回波數(shù)據(jù)以文件方式寫入磁盤陣列,最終完成對雷達(dá)信號的采集。
1.2 CPCI回波數(shù)據(jù)采集卡
    采集卡插入到主機(jī)的Compact PCI插槽中,完成的主要功能有:(1)根據(jù)前端雷達(dá)系統(tǒng)提供的同步信號,采集并緩存雷達(dá)回波信號以及五路參數(shù)電壓信號。(2)完成CPCI總線接口邏輯,將采集到的波形數(shù)據(jù)按照一定的數(shù)據(jù)格式從背板CPCI總線傳輸?shù)接嬎銠C(jī)主機(jī)內(nèi)存,供應(yīng)用程序讀取和存儲。(3)完成雷達(dá)系統(tǒng)與主機(jī)之間的串口電平和速率轉(zhuǎn)換,采集和存儲雷達(dá)系統(tǒng)串口輸出的數(shù)據(jù)。采集卡的總體框圖如圖2所示。

    模擬信號調(diào)理電路完成對輸入信號的濾波和電平調(diào)整,以滿足ADC轉(zhuǎn)換的需求。同時,該電路模塊對外具有很高的輸入阻抗,可以起到信號隔離的作用。兩路A/D轉(zhuǎn)換器分別完成視頻回波信號和模擬參數(shù)電壓的采樣,轉(zhuǎn)換為數(shù)字信號。采樣數(shù)據(jù)送入FPGA進(jìn)行緩存和后續(xù)處理。FPGA完成主要的邏輯時序控制,包括模擬回波信號采樣時序控制、多路參數(shù)電壓信號的選通和采樣時序控制、采樣數(shù)據(jù)的暫存、PCI總線接口邏輯時序、數(shù)據(jù)幀的組合以提高傳輸效率、串口速率的匹配等。
2 優(yōu)化策略研究
    本系統(tǒng)的采集速率要求達(dá)到200 MS/s,A/D轉(zhuǎn)換的量化位寬要求達(dá)到12 bit。這樣的ADC并不難找到,但由于對應(yīng)的傳輸速率要求達(dá)到2.4 Gb/s,這樣的數(shù)據(jù)傳輸速率對于總線傳輸速率和存儲速率來說是非常高的。而且,高速采集對應(yīng)的也是海量的存儲數(shù)據(jù)量。為此,本文提出了三個優(yōu)化策略,以解決高速傳輸和存儲的瓶頸問題。
    優(yōu)化策略包括:(1)設(shè)置采集時間窗,在保證信號質(zhì)量的情況下盡量降低平均傳輸速率和采集數(shù)據(jù)量;(2)數(shù)據(jù)傳輸采用二級緩存機(jī)制,提高DMA傳輸?shù)男剩?3)數(shù)據(jù)格式組合,提高CPCI總線帶寬利用率。
2.1 采集時間窗的設(shè)計
    為降低平均數(shù)據(jù)傳輸速率和采集數(shù)據(jù)量,考慮雷達(dá)回波信號的特點(diǎn)。雷達(dá)工作時幾個主要的波形示意圖如圖3所示。

 從圖3可以看到,有效的雷達(dá)回波信號在每個周期內(nèi)只占據(jù)一段時間,其與預(yù)同步脈沖的時間距離τ取決于飛行高度。而T的最大可能值τmax取決于飛行器的最高飛行高度。又設(shè)雷達(dá)回波脈沖的最大寬度為Tp,則可設(shè)置采集時間窗,時間窗的長度T0滿足:

時間窗的起始時刻為預(yù)同步脈沖的上升沿。在每個周期內(nèi),對時間窗內(nèi)的雷達(dá)檢波信號進(jìn)行采集和存儲,即可滿足系統(tǒng)要求。由于T0<<T,因此時間窗的設(shè)置可以達(dá)到降低采集數(shù)據(jù)量,降低平均傳輸速率的目的。
2.2 數(shù)據(jù)傳輸機(jī)制
  如前所述,采集系統(tǒng)在每個周期的時間窗內(nèi)完成對信號的采集,得到一組回波數(shù)據(jù)。若每個周期內(nèi)采集時間窗為30 &mu;s,則對應(yīng)的回波數(shù)據(jù)量為2 250&times;32 bit。
  由于發(fā)起一次DMA傳輸包括產(chǎn)生DMA中斷請求、在中斷服務(wù)程序中設(shè)置DMA相關(guān)參數(shù)、啟動DMA傳輸、DMA結(jié)束后再次產(chǎn)生中斷、在中斷服務(wù)程序中做相關(guān)處理等。由此可見,頻繁地發(fā)起DMA傳輸,主機(jī)頻繁響應(yīng)DMA請求會消耗大量的系統(tǒng)資源,大大降低CPCI總線的總線帶寬利用效率。
  因此,可將每個周期采集的數(shù)據(jù)在采集卡上暫存,采集若干個周期之后再發(fā)起DMA傳輸,由此可以減少DMA中斷次數(shù),提高總線帶寬利用率。
  根據(jù)上述分析,采集卡采用兩級數(shù)據(jù)緩存機(jī)制,具體如下:
  (1)一級緩存FIFO
    該級FIFO的作用是暫存一次采集的回波數(shù)據(jù),將其降低速率之后輸出,寫入二級緩存。
 為了保證較高的寫入速率,同時由于該級緩存容量并不大,所以由FPGA內(nèi)部的存儲器資源實(shí)現(xiàn)。
 回波采集與一級FIFO寫入時序如圖4。

 讀取操作在每個周期的采集時間窗結(jié)束之后即可啟動,由于數(shù)據(jù)突發(fā)寫入速率遠(yuǎn)大于讀取速率,所以一級FIFO在讀取期間不會被清空。
 (2)二級緩存FIFO 

    一級FIFO輸出的數(shù)據(jù)經(jīng)過格式轉(zhuǎn)換并添加控制信息和參數(shù)電壓數(shù)據(jù),位寬變?yōu)?2 bit,速率變?yōu)?0 MHz。
 二級緩存FIFO寫入流程如圖5。

    根據(jù)分析,二級緩存的寫入和讀取時鐘頻率都不高,但是容量要求較大,以存儲20次的采樣數(shù)據(jù)計算,要求至少為45 000&times;32 bit,F(xiàn)PGA內(nèi)部實(shí)現(xiàn)如此大的存儲器比較困難,因此采用片外FIFO實(shí)現(xiàn),由FPGA產(chǎn)生讀寫控制信號。            
  每次采集流程都由預(yù)同步信號觸發(fā),一級FIFO寫入第一個數(shù)據(jù)之后,啟動一級FIFO讀取流程和二級FIFO寫入流程。
  當(dāng)二級FIFO中的數(shù)據(jù)量達(dá)到45 000&times;32 bit時,啟動DMA傳輸,將數(shù)據(jù)發(fā)送到計算機(jī)內(nèi)存中的指定區(qū)域。
2.3 數(shù)據(jù)格式組合
  由于傳輸總線協(xié)議和ADC采集數(shù)據(jù)的字長不一致,往往需要對數(shù)據(jù)進(jìn)行拆分組合,以提高傳輸帶寬利用率。
    在本文的采集系統(tǒng)中,CPCI總線的數(shù)據(jù)寬度是32 bit,文件系統(tǒng)的數(shù)據(jù)字長可能是32 bit或者64 bit,而ADC輸出的數(shù)據(jù)寬度為12 bit。如果以ADC輸出的數(shù)據(jù)寬度進(jìn)行DMA傳輸,對總線帶寬的浪費(fèi)是顯而易見的。
    因此,針對上述問題,在本設(shè)計中采取了對數(shù)據(jù)進(jìn)行重組的方法,以提高總線I/O的利用率。具體算法如下描述。
  設(shè)采集器模數(shù)轉(zhuǎn)換有效數(shù)據(jù)長度為n,總線帶寬為L。在傳輸條件較好,信號完整性很好的情況下,一般認(rèn)為誤碼率極低,這樣的情況下可以取n與L的公倍數(shù)。例如CPCI總線數(shù)據(jù)字長為32 bit,模數(shù)轉(zhuǎn)換字長為12 bit。則在數(shù)據(jù)組合模塊中將數(shù)據(jù)位拼合成96 bit。實(shí)質(zhì)上即是8個采樣周期的數(shù)據(jù)被串行連接后分割成3個字長為32 bit的數(shù)據(jù)傳輸,這種傳輸方式的總線帶寬利用率為100%。數(shù)據(jù)組合示意圖如圖6所示。

3 各部分設(shè)計和實(shí)現(xiàn)
3.1模擬前端設(shè)計和失真度控制

  外圍模擬電路主要用于處理輸入的回波信號,主要部分包括高阻輸入隔離電路和模擬差分放大器。輸入級采用高速精密運(yùn)算放大器AD8057構(gòu)成電壓跟隨器,對外提供30 k&Omega;的輸入阻抗。
  模擬差分放大器采用增益帶寬積高達(dá)320 MHz的AD8138,將輸入的單端模擬信號轉(zhuǎn)換為差分信號,并調(diào)整到合適的幅度和直流偏置,供后續(xù)A/D轉(zhuǎn)換,電路原理圖如圖7。

    模擬信號的失真主要由兩方面因素導(dǎo)致:信號處理電路的非線性和噪聲。
  模擬電路的非線性會對信號造成非線性失真。非線性失真的程度可以用放大器的二次和三次諧波成分與基波的幅度比值衡量。AD8138在輸入信號20 MHz時的二次和三次諧波比分別為-87 dB和-85 dB,按照該參數(shù)計算,放大器造成的總諧波失真為5.15&times;10-9&times;100%,基本可以忽略。
  本系統(tǒng)中對信號造成的非線性失真全部由前端調(diào)理電路造成,經(jīng)實(shí)際測試,前端調(diào)理電路造成的實(shí)際非線性失真小于0.2%,完全滿足系統(tǒng)指標(biāo)0.5%的要求。
3.2高速ADC電路設(shè)計
    為實(shí)現(xiàn)高的分辨率,本系統(tǒng)采用12 bit高速A/D轉(zhuǎn)換器AD9430完成視頻回波的A/D轉(zhuǎn)換。AD9430要求采樣時鐘為差分輸入,而且內(nèi)部自帶直流電平穩(wěn)定電路,本設(shè)計使用FPGA內(nèi)置鎖相環(huán)將晶體振蕩器產(chǎn)生的時鐘倍頻至200 MHz,然后以差分方式輸出到ADC。
3.3 FPGA邏輯設(shè)計
  FPGA采用Xilinx的Virtex II Pro高性能FPGA系列中的XC2VP30型號,內(nèi)部邏輯模塊功能劃分如圖8所示。其中采集卡和計算機(jī)內(nèi)存之間的DMA數(shù)據(jù)傳輸采用PCI接口IP核自帶的DMA控制器完成,該模塊提供了本地邏輯與PCI總線接口IP核之間的接口。

  DMA控制器內(nèi)部采用512&times;32 bit發(fā)送FIFO,在發(fā)送數(shù)據(jù)時,將數(shù)據(jù)用PCI總線時鐘送入發(fā)送FIFO,完成總線的申請和數(shù)據(jù)的發(fā)送工作。DMA控制器采用的時鐘頻率為33 MHz,與CPCI總線同步。
  發(fā)送FIFO的寫入時序如圖9所示。

3.4 磁盤陣列
  在高速數(shù)據(jù)采集系統(tǒng)中,大容量高速存儲系統(tǒng)往往是限制系統(tǒng)性能提高的最大瓶頸。由于單個硬盤無法達(dá)到本系統(tǒng)要求的存儲速率,因此需要采用獨(dú)立磁盤冗余陣列RAID(Redundant Array of Independent Disks)技術(shù)。RAID把多塊獨(dú)立的物理硬盤按不同的方式組合起來,形成一個邏輯硬盤,從而提供比單個硬盤更高的存儲性能[8]。
  如圖10所示,RAID0把連續(xù)的數(shù)據(jù)按照數(shù)據(jù)塊(512字節(jié)到數(shù)兆字節(jié))分散到多個磁盤上存取,系統(tǒng)的數(shù)據(jù)請求被多個磁盤并行執(zhí)行,每個磁盤執(zhí)行屬于它自己的那部分?jǐn)?shù)據(jù)請求。這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。

  本系統(tǒng)選用RAID0以獲得最佳存儲性能,使用了4個硬盤組成RAID0。
    磁盤陣列機(jī)箱通過千兆以太網(wǎng)線連接至采集器主機(jī),實(shí)際測試持續(xù)寫入速度大于90 MB/s,完全滿足本系統(tǒng)的需求。
4 實(shí)驗(yàn)結(jié)果
    目前該系統(tǒng)已完成研制及與雷達(dá)系統(tǒng)的聯(lián)試。圖11為采集的雷達(dá)回波信號波形,只截取了回波對應(yīng)的部分。橫軸為時間,單位&mu;s;縱軸為幅度,單位為V。受到圖片篇幅的限制,只顯示了一個周期內(nèi)的單個回波信號。


    本文根據(jù)雷達(dá)回波信號的特點(diǎn),基于虛擬儀器的技術(shù)完成了采集系統(tǒng)的設(shè)計與開發(fā)。在硬件平臺上采用CPCI總線接口和千兆以太網(wǎng)磁盤陣列,在系統(tǒng)設(shè)計上提出了有效的優(yōu)化策略,完成了對雷達(dá)信號的高速采集與實(shí)時存儲。該系統(tǒng)在通信、自動控制等領(lǐng)域也有廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] 張樂峰,吳建輝,郁文賢,等.一種通用雷達(dá)數(shù)據(jù)采集卡設(shè)計方法[J].系統(tǒng)工程與電子技術(shù),2005,27(4):623-626.
[2] 沈蘭蓀.高速數(shù)據(jù)采集系統(tǒng)的原理與應(yīng)用[M].北京:人民郵電出版社,1995:10-12.
[3] 張俊杰,章鳳麟,葉家駿.高速數(shù)據(jù)采集系統(tǒng)設(shè)計[J].計算機(jī)工程,2009,35(1):207-212.
[4] 唐林波,趙保軍,韓月秋.超高速數(shù)據(jù)采集與處理系統(tǒng)的設(shè)計及應(yīng)用[J].系統(tǒng)工程與電子技術(shù),2005,27(7):1203-1206.
[5] 宋杰,鐘建軍,何友,等.通用雷達(dá)數(shù)據(jù)采集系統(tǒng)研制與實(shí)驗(yàn)數(shù)據(jù)分析[J].數(shù)據(jù)采集與處理,2008,23(6):761-765.
[6] LI Bo, LIU Da Tong, PENG Yu. A high speed DMA transaction method for PCI devices[J]. Journal of Electronic  Measurement and Instrument, 2008,22(1):705-710.
[7] 張強(qiáng),耿愛輝,曹立華,等.CompactPCI板卡硬件設(shè)計與傳輸速率測試[J].光學(xué)精密工程,2009,17(8):2047-2052.
[8] 洪瀑,王巖飛.基于磁盤陣列的超高速SAR原始回波數(shù)據(jù)記錄技術(shù)研究[J].電子與信息學(xué)報,2009(3):749-751.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。