《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 超高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與優(yōu)化策略研究
超高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與優(yōu)化策略研究
來(lái)源:電子技術(shù)應(yīng)用2010年第12期
張 華, 胡修林, 馬若飛
華中科技大學(xué) 電子與信息工程系, 湖北 武漢430074
摘要: 為滿足雷達(dá)信號(hào)高速采集實(shí)時(shí)存儲(chǔ)的需求,設(shè)計(jì)了一個(gè)12 bit、200 MS/s的高速采集存儲(chǔ)系統(tǒng)?;贑PCI總線解決高速數(shù)據(jù)傳輸?shù)男枨?,并利用雷達(dá)信號(hào)的特點(diǎn),提出了采樣時(shí)間窗的概念,有效降低了采集數(shù)據(jù)量和數(shù)據(jù)傳輸壓力。設(shè)計(jì)了一種二級(jí)緩存機(jī)制以提高DMA傳輸效率,并通過(guò)數(shù)據(jù)格式的組合來(lái)匹配總線寬度,提高CPCI總線帶寬利用率。采用千兆以太網(wǎng)磁盤(pán)陣列,解決了海量數(shù)據(jù)的高速存儲(chǔ)問(wèn)題。系統(tǒng)最終實(shí)現(xiàn)的采樣速率是200 MS/s,量化精度12 bit,連續(xù)采集。
中圖分類號(hào):TP391
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào): 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


    本文根據(jù)雷達(dá)回波信號(hào)的特點(diǎn),基于虛擬儀器的技術(shù)完成了采集系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)。在硬件平臺(tái)上采用CPCI總線接口和千兆以太網(wǎng)磁盤(pán)陣列,在系統(tǒng)設(shè)計(jì)上提出了有效的優(yōu)化策略,完成了對(duì)雷達(dá)信號(hào)的高速采集與實(shí)時(shí)存儲(chǔ)。該系統(tǒng)在通信、自動(dòng)控制等領(lǐng)域也有廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] 張樂(lè)峰,吳建輝,郁文賢,等.一種通用雷達(dá)數(shù)據(jù)采集卡設(shè)計(jì)方法[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].計(jì)算機(jī)工程,2009,35(1):207-212.
[4] 唐林波,趙保軍,韓月秋.超高速數(shù)據(jù)采集與處理系統(tǒng)的設(shè)計(jì)及應(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),耿愛(ài)輝,曹立華,等.CompactPCI板卡硬件設(shè)計(jì)與傳輸速率測(cè)試[J].光學(xué)精密工程,2009,17(8):2047-2052.
[8] 洪瀑,王巖飛.基于磁盤(pán)陣列的超高速SAR原始回波數(shù)據(jù)記錄技術(shù)研究[J].電子與信息學(xué)報(bào),2009(3):749-751.
 

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