實(shí)時(shí)高速高分辨率信號采集存儲與回放系統
隨著(zhù)信息科學(xué)的飛速發(fā)展,數據采集和存儲技術(shù)已經(jīng)是數字信號處理中非常重要的環(huán)節,它廣泛應用于雷達、通信、遙測遙感、生物醫療、環(huán)境檢測等領(lǐng)域。它已經(jīng)成為人們獲取不容易得到信號的重要手段,實(shí)現半實(shí)物仿真與算法分析,回放現場(chǎng)采集的真實(shí)信號,對系統性能進(jìn)行研究,節省了大量的外場(chǎng)實(shí)驗時(shí)間和科研經(jīng)費。
但是當A/D分辨率與采樣率提高時(shí),數據傳輸率相應也變得越高,保持高速數據存儲過(guò)程的可靠性、實(shí)時(shí)性將會(huì )成為一個(gè)比較棘手的問(wèn)題。春秋視訊研發(fā)了實(shí)時(shí)高速高分辨率信號采集存儲與回訪(fǎng)系統,最終實(shí)現了高速(80 MB/s)持續的數據連續采集存儲與回放。系統主要性能指標如下:
●采樣率:?jiǎn)瓮ǖ?0MS/s,雙通道20MS/s,四通道10MS/s;
●分辨率:12 bit A/D,12 bit D/A;
●具有模擬,數字及軟件等多種觸發(fā)模式;
●外時(shí)鐘,內時(shí)鐘輸入;
●D/A回放模擬信號。
2 系統結構設計
整個(gè)系統由計算機、采集卡、實(shí)時(shí)記錄系統和連續采集存儲回放軟件四大部分組成(如圖1所示)。實(shí)時(shí)記錄系統由UltraSCSI-320實(shí)時(shí)記錄控制器和UltraSCSI-320盤(pán)陣兩大部分組成,可以根據用戶(hù)不同的存儲時(shí)間決定存儲容量的大小。信號回放時(shí),根據用戶(hù)不同的要求可以任意選擇回放數據的起始位置和結束位置。
一般IDE硬盤(pán)的數據傳輸率比較低,為了實(shí)現實(shí)時(shí)高速的數據存儲,選用希捷轉速為10 Krpm的SCSI硬盤(pán);相應的SCSI硬盤(pán)控制器選用Adapetec公司的Ultra320-SCSI硬盤(pán)控制器,用以上硬件組建RAIDO磁盤(pán)陣列結構實(shí)現80 MB/s連續采集存儲速度。
在要求高速、實(shí)時(shí)、連續采集和存儲的情況下,一方面要求系統不間斷的進(jìn)行信號采集,同時(shí)還要進(jìn)行數據的實(shí)時(shí)存儲,否則將會(huì )丟失數據,造成數據不完整。我們在系統結構設計中中通過(guò)采集卡驅動(dòng)提供的事件通知回調模式,完成數據采集和數據存儲工作。采用雙緩沖區模式,當采集到的數據寫(xiě)入第一緩沖區開(kāi)始時(shí),在事件回調函數中把第二緩沖區的數據存入SCSI硬盤(pán);當數據寫(xiě)入第二緩沖區時(shí),在事件回調函數中把第一緩沖區的數據存入SCSI硬盤(pán),如此循環(huán)。另外通過(guò)實(shí)際實(shí)驗測試Ultra320-SCSI硬盤(pán)控制器配合希捷公司出品的ST3146707LC SCSI硬盤(pán)組成的RAIDO磁盤(pán)陣列,持續寫(xiě)入速率能達到200MB/s。遠大于80 MB/s的采集速率。因此當數據采集線(xiàn)程寫(xiě)滿(mǎn)其中一個(gè)緩沖區之前,數據存儲線(xiàn)程已經(jīng)把另一個(gè)緩沖區里的數據存儲入SC-SI硬盤(pán)。所以這種方法能保證數據的實(shí)時(shí)性、完整性和連續性。
在測試中發(fā)現:數據穩定傳輸的速率與緩沖區設置大小及SCSI磁盤(pán)的個(gè)數有密切關(guān)系。同時(shí)內存申請方式采用虛擬分配,使內存頁(yè)面對齊,提高傳輸速率。
3 軟件結構設計
3.1 軟件功能模塊設計
系統由采集卡控制模塊、顯示模塊、連續采集控制模塊以及回放控制模塊組成,如圖2所示。
CAcqCard類(lèi):實(shí)現對采集卡的控制。包括采集卡參數配置、單次采集、連續采集、連續存儲、連續回放等功能。
CCurveShow類(lèi):實(shí)現信號的時(shí)域顯示、幅度軸縮放、時(shí)間軸縮放、信號大小標定、信號色彩選擇等。
CStreamDisk類(lèi):實(shí)現連續采集存儲的參數設定。
CShowStream類(lèi):實(shí)現連續回放的參數設定。
3.2 控制界面
基于VC平臺開(kāi)發(fā)的高速高分辨率信號采集存儲回放系統具有良好的人機界面,易于用戶(hù)操作,如圖3所示。
3.3 軟件核心模塊設計原理
我們按照雙緩沖區的原理,開(kāi)發(fā)了基于PCI總線(xiàn)的驅動(dòng)軟件包及專(zhuān)門(mén)用于高速信號采集的API函數,實(shí)現對數據的實(shí)時(shí)、高速、連續的采集存儲與回放。
雙緩沖區模式在工程上稱(chēng)為“乒乓”緩沖區模式。工作原理是:在內存里開(kāi)辟兩塊容量相等的緩沖區作為連續數據輸入的緩沖區。開(kāi)始采集時(shí),信號采集卡首先將數據寫(xiě)入第一緩沖區中,當信號采集卡開(kāi)始把數據寫(xiě)入第二緩沖區的同時(shí),用戶(hù)程序可以根據自身需要取出第一緩沖區中的數據做特定的處理。當第二緩沖區被寫(xiě)滿(mǎn)后,信號采集卡回到第一緩沖區的起始處,以覆蓋舊數據的方式,把新數據寫(xiě)入第一緩沖區中;與此同時(shí)用和程序取出第二緩沖區的數據。整個(gè)數據采集處理過(guò)程可以如此不斷的循環(huán)進(jìn)行下去。
雙緩沖區模式的優(yōu)點(diǎn)是,它可以使用較小容量的內存,不間斷的緩沖幾乎無(wú)限量的數據(輸入與輸出端需協(xié)同工作)。軟件核心模塊流程如圖4所示。
3.4 軟件核心模塊代碼
(1)連續采集控制部分
4 性能評估及未來(lái)展望
為了驗證該系統的性能,我們對其所能達到的采集和存儲速率及數據正確率進(jìn)行了測試和分析。在測試中使用加拿大著(zhù)名GAGE公司生產(chǎn)的CG4300高速信號產(chǎn)生卡設計特殊信號源(如圖5所示)。同時(shí)設計了查看信號完整性的程序。
經(jīng)過(guò)測試發(fā)現:當內存緩沖區設置合適的時(shí)候,可以穩定持續地以80 MB/s的速度連續采集存儲;當緩沖區設置過(guò)小時(shí),連續采集存儲會(huì )發(fā)生中斷。
由于數據采集和存儲過(guò)程雙向占用PCI總線(xiàn)帶寬,在32位/33 MHz PCI總線(xiàn)上,實(shí)現了48 MB/s的連續采集存儲回放速度;64位/66 MHz PCI總線(xiàn)帶寬典型的輸出數據吞吐量為528 MB/s,80 MB/s(100%正確率)的采集和存儲速度相當于占用160MB的總線(xiàn)帶寬,同時(shí)磁盤(pán)陣列寫(xiě)入速度穩定在200 MB/s,遠高于數據采集的速度,因此在數據采集方面還有很大的提高空間,目前我們正在研究開(kāi)發(fā)200 MB/s的高速高分辨率信號連續采集存儲與回放系統。
評論