針對(duì)雙天線干涉SAR 基線測(cè)量系統(tǒng)數(shù)據(jù)量大、實(shí)時(shí)性要求高和體積小的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA + PCI 的實(shí)時(shí)數(shù)據(jù)采集存儲(chǔ)系統(tǒng)。 系統(tǒng)基于PCI 總線技術(shù),采用FPGA 和大容量SDRAM 對(duì)采集數(shù)據(jù)進(jìn)行控制和緩存,利用多個(gè)硬盤組成的磁盤陣列進(jìn)行實(shí)時(shí)存儲(chǔ),實(shí)現(xiàn)了CCD 相機(jī)和激光測(cè)距儀與PCI 總線間的高速數(shù)據(jù)實(shí)時(shí)傳輸。 對(duì)系統(tǒng)進(jìn)行了功能和性能測(cè)試,測(cè)試結(jié)果表明,系統(tǒng)數(shù)據(jù)吞吐量大,實(shí)時(shí)性強(qiáng),性能穩(wěn)定,能夠有效地滿足基線測(cè)量系統(tǒng)的需求。雙天線干涉合成孔徑雷達(dá)系統(tǒng)可以獲取地面目標(biāo)的高程信息,具有全天候、全天時(shí)工作、測(cè)繪范圍廣、分辨率高等優(yōu)點(diǎn)。干涉測(cè)量一般采用單軌雙天線或重復(fù)軌道單天線系統(tǒng),對(duì)于單軌雙天線系統(tǒng),其交軌干涉基線越長(zhǎng)、越精確,獲取的高程精度越高。一般干涉基線長(zhǎng)度大于4 m 時(shí),基線呈柔性結(jié)構(gòu)而不能保持穩(wěn)定基線,由于柔性基線結(jié)構(gòu)出現(xiàn)的變形和抖動(dòng),會(huì)造成2 個(gè)天線的相對(duì)位置和姿態(tài)動(dòng)態(tài)變化,并最終嚴(yán)重影響高程精度。 采用CCD 相機(jī)和激光測(cè)距儀的組合基線測(cè)量系統(tǒng)能夠?qū)崿F(xiàn)對(duì)2 個(gè)天線的位置和姿態(tài)變化進(jìn)行精密動(dòng)態(tài)測(cè)量,CCD 相機(jī)對(duì)布設(shè)在天線上LED 標(biāo)志點(diǎn)進(jìn)行高速跟蹤拍攝,激光測(cè)距儀同步測(cè)量平臺(tái)與合作目標(biāo)之間的距離。 這使得柔性基線測(cè)量系統(tǒng)具有輸出數(shù)據(jù)量大、處理算法復(fù)雜、計(jì)算量大、處理實(shí)時(shí)性要求高等特點(diǎn),本文針對(duì)柔性基線測(cè)量系統(tǒng)的需求,提出一種基于FPGA +PCI 的數(shù)據(jù)實(shí)時(shí)采集與高速存儲(chǔ)的解決方案,進(jìn)行了硬件關(guān)鍵功能設(shè)計(jì)與實(shí)現(xiàn)。 系統(tǒng)采用FPGA進(jìn)行核心邏輯控制,對(duì)CCD 相機(jī)和激光測(cè)距儀的數(shù)據(jù)進(jìn)行同步采集控制,整理、利用外部大容量的SDRAM 組進(jìn)行緩存,采用專用的PCI 接口芯片PLX9656,實(shí)現(xiàn)了2 個(gè)傳感器數(shù)據(jù)與PCI 總線數(shù)據(jù)的高速傳輸,利用多個(gè)SATA 硬盤構(gòu)成的大容量的磁盤陣列進(jìn)行實(shí)時(shí)存儲(chǔ)。 并對(duì)該數(shù)據(jù)采集存儲(chǔ)系統(tǒng)進(jìn)行了功能和性能測(cè)試,實(shí)測(cè)數(shù)據(jù)表明本文設(shè)計(jì)的系統(tǒng)能夠有效解決柔性基線測(cè)量系統(tǒng)數(shù)據(jù)高速采集,大容量數(shù)據(jù)傳輸?shù)碾y題。
1 系統(tǒng)組成及工作原理
1. 1 主要功能和技術(shù)指標(biāo)
在柔性基線測(cè)量系統(tǒng)中,為了精確實(shí)時(shí)測(cè)量柔性基線的抖動(dòng)和2 個(gè)天線相對(duì)姿態(tài)的變化,需要選擇高幀頻、大面陣的CCD 相機(jī)和高精度的激光測(cè)距儀進(jìn)行組合測(cè)量,這樣會(huì)產(chǎn)生大量高速的圖像數(shù)據(jù)和激光測(cè)距儀輸出的距離數(shù)據(jù)。 因此本文設(shè)計(jì)的高速采集存儲(chǔ)系統(tǒng)主要功能是控制各測(cè)量傳感器之間的時(shí)間同步,完成各傳感器數(shù)據(jù)的實(shí)時(shí)采集,并對(duì)采集的數(shù)據(jù)進(jìn)行分流。 一路數(shù)據(jù)進(jìn)行高速存儲(chǔ); 另一路數(shù)據(jù)輸出至另外的實(shí)時(shí)處理系統(tǒng)中。根據(jù)柔性基線測(cè)量系統(tǒng)的要求,本文系統(tǒng)應(yīng)該能夠?qū)崟r(shí)采集和存儲(chǔ)2 個(gè)傳感器測(cè)量數(shù)據(jù),需要達(dá)到的技術(shù)指標(biāo)主要包括持續(xù)采集速度、持續(xù)存儲(chǔ)速度和最小存儲(chǔ)容量等。系統(tǒng)中CCD 相機(jī)采用SVS-VISTEK 公司生產(chǎn)的一款高分辨率、高幀頻的面陣數(shù)字相機(jī),圖像的分辨率為1608 列× 1208 行,相機(jī)幀頻最高為30 Hz. 該相機(jī)數(shù)據(jù)AD 采樣為10 位,數(shù)據(jù)采集只取高8 位,則CCD 相機(jī)每秒產(chǎn)生的數(shù)據(jù)量約為55. 57 MB. 激光測(cè)距儀采用的是德國(guó)公司生產(chǎn)的LRFS-0040-2 激光測(cè)距儀,測(cè)量速率最高可達(dá)50Hz,數(shù)據(jù)接口采用的是RS 422 接口,產(chǎn)生的數(shù)據(jù)量為9. 6 KB / s.2 個(gè)傳感器每秒的數(shù)據(jù)量約為56 MB / s,則采集系統(tǒng)的持續(xù)采集速度必須大于56 MB / s,才能對(duì)2 個(gè)傳感器數(shù)據(jù)進(jìn)行實(shí)時(shí)采集。只有當(dāng)持續(xù)存儲(chǔ)速率大于采集速度時(shí),才能夠把數(shù)據(jù)實(shí)時(shí)準(zhǔn)確的存儲(chǔ)數(shù)據(jù)。 所以持續(xù)存儲(chǔ)速度要大于56 MB / s,SATA 硬盤理論讀寫速度最大可達(dá)150 MB / s,利用多個(gè)SATA 硬盤組成RAID陣列,可以提供比單個(gè)硬盤更高的存儲(chǔ)性能。
根據(jù)柔性基線測(cè)量系統(tǒng)的需求,該采集存儲(chǔ)系統(tǒng)的持續(xù)工作時(shí)間最長(zhǎng)約為2 h,則需要的最小的存儲(chǔ)容量約為390. 76 GB.根據(jù)上述數(shù)據(jù)采集系統(tǒng)的需求分析,并考慮到系統(tǒng)的可擴(kuò)展性以及數(shù)據(jù)實(shí)際傳輸、終端處理的需要,要求數(shù)據(jù)采集記錄速度要達(dá)到70 MB / s,持續(xù)寫盤陣速度要達(dá)到120 MB / s,存儲(chǔ)容量要求達(dá)到2 TB.對(duì)于32 bit /33 MHz 的PCI 總線,實(shí)際使用中一般能達(dá)到80 MB / s,數(shù)據(jù)進(jìn)出系統(tǒng)內(nèi)存都要經(jīng)過PCI 總線,會(huì)導(dǎo)致總線的效率降低一半。 而系統(tǒng)的采集速度必須大于56 MB / s,所以選擇64 bit /66 MHz的PCI 總線,數(shù)據(jù)傳輸?shù)姆逯邓俣瓤梢赃_(dá)到528 MB / s,現(xiàn)有系統(tǒng)表明64 bit /66 MHz的PCI 總線實(shí)際傳輸?shù)乃俣饶苓_(dá)到200 MB / s 以上,所以該P(yáng)CI 總線的傳輸速度完全能滿足系統(tǒng)需求。
1. 2 系統(tǒng)組成和整體方案
整個(gè)系統(tǒng)主要由CCD 相機(jī)、激光測(cè)距儀,PCI數(shù)據(jù)采集卡,SATA 磁盤陣列和計(jì)算機(jī)組成。 其中PCI 圖像采集卡主要由傳感器數(shù)據(jù)接口、FPGA 邏輯控制芯片、高速緩存、PCI 接口芯片組成。 本文提出一種基于FPGA + PCI 的數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的解決方案,該方案的原理如下: 首先由主機(jī)端發(fā)送命令對(duì)CCD 相機(jī)和激光測(cè)距儀進(jìn)行配置,配置完成后啟動(dòng)采集,CCD 相機(jī)輸出的高速圖像數(shù)據(jù)、同步控制信號(hào)一起送到FPGA 中,在FPGA 中進(jìn)行緩存,激光測(cè)距儀的數(shù)據(jù)通過串口也送入到FPGA 的雙口RAM 中進(jìn)行緩存,F(xiàn)IFO 半滿后在FPGA 的控制下把CCD 相機(jī)和激光測(cè)距儀數(shù)據(jù)進(jìn)行分流,其中一路送到外部的SDRAM 組中進(jìn)行緩存,SDRAM 存儲(chǔ)到設(shè)定圖像幀數(shù)后給PCI 發(fā)送中斷,主機(jī)響應(yīng)中斷,從SDRAM 中把數(shù)據(jù)讀到內(nèi)存中進(jìn)行處理,并同時(shí)向硬盤中寫數(shù)據(jù)完成實(shí)時(shí)存儲(chǔ); 另一路送到相關(guān)的實(shí)時(shí)處理系統(tǒng)中進(jìn)行處理。整個(gè)設(shè)計(jì)方案的框圖如圖1 所示。
圖1 數(shù)據(jù)實(shí)時(shí)采集與存儲(chǔ)系統(tǒng)設(shè)計(jì)方案框圖
應(yīng)用于柔性基線測(cè)量系統(tǒng)的數(shù)據(jù)實(shí)時(shí),采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)包括以下幾個(gè)方面的關(guān)鍵技術(shù):
Camera Link 接口技術(shù)、多傳感器同步技術(shù)、多傳感器數(shù)據(jù)的實(shí)時(shí)采集與高速緩存和多傳感器數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)。
2 數(shù)據(jù)實(shí)時(shí)采集存儲(chǔ)系統(tǒng)關(guān)鍵設(shè)計(jì)與實(shí)現(xiàn)
下面對(duì)本系統(tǒng)中的幾個(gè)關(guān)鍵技術(shù)具體實(shí)現(xiàn)的設(shè)計(jì)方案進(jìn)行詳細(xì)闡述。
2. 1 數(shù)據(jù)采集接口設(shè)計(jì)
實(shí)驗(yàn)相機(jī)采用Camera Link 標(biāo)準(zhǔn)接口,基本配置采用標(biāo)準(zhǔn)的MDR26 連接器輸出。 本系統(tǒng)采用FPGA 作為采集卡的主控芯片,F(xiàn)PGA 支持的I /O 標(biāo)準(zhǔn)為L(zhǎng)VCMOS /LVTTL 信號(hào)。 因此本系統(tǒng)對(duì)于Camera Link 接口的設(shè)計(jì)方案為: 通過DS90CR288A 接收器將4 路相機(jī)數(shù)據(jù)LVDS 信號(hào)和1 路相機(jī)時(shí)鐘LVDS 信號(hào)轉(zhuǎn)換成28 位TTL 數(shù)據(jù),輸出24 位圖像信號(hào)、圖像同步信號(hào)和像素時(shí)鐘信號(hào)Strobe. DS90CR288A 的主要功能是完成LVDS 到TTL 電平信號(hào)的轉(zhuǎn)換和串行信號(hào)轉(zhuǎn)成并行信號(hào)。 為了對(duì)相機(jī)進(jìn)行參數(shù)設(shè)置和觸發(fā)控制,需要將FPGA 輸出的相機(jī)控制信號(hào)( CC1-CC4 )和信號(hào)SerTC( serial-to-camera) 通過電平轉(zhuǎn)換芯片DS90LV047 轉(zhuǎn)換成LVDS 信號(hào)送入接收器中。為了接收相機(jī)向采集卡發(fā)送的應(yīng)答信號(hào)SerTFG( serial-to-frame-grabber ) ,采用DS90LV048 把該LVDS 信號(hào)轉(zhuǎn)換成TTL 信號(hào)后送入FPGA 中,并送入主機(jī)端進(jìn)行顯示。
2. 2 PCI 接口設(shè)計(jì)
由1. 1 節(jié)指標(biāo)論證結(jié)果可知,本系統(tǒng)采用64bit /66 MHz 的PCI 總線來(lái)實(shí)現(xiàn)數(shù)據(jù)的高速傳輸。PCI 接口是PCI 總線與外部總線的通信接口,以實(shí)現(xiàn)二者的通信。 目前常用的PCI 接口的方案是采用專用的PCI 總線接口芯片,無(wú)需掌握復(fù)雜的PCI 總線協(xié)議,設(shè)計(jì)簡(jiǎn)單,能夠減少開發(fā)周期和成本。 本系統(tǒng)中采用PLX9656 來(lái)進(jìn)行高速PCI 卡的設(shè)計(jì),以實(shí)現(xiàn)設(shè)置相機(jī)參數(shù)、設(shè)置激光測(cè)距參數(shù)、設(shè)置采樣參數(shù)、讀取圖像數(shù)據(jù)等功能。 PLX9656是目前性能最高的PCI 接口控制器,具有PCI 端66 MHz、64 bits,LOCAL 端66 MHz、32 bits 的性能,符合PCI V2. 2 規(guī)范。 本系統(tǒng)中PCI 接口設(shè)計(jì)的重點(diǎn)是PLX9656 本地總線工作方式和數(shù)據(jù)傳輸模式的設(shè)置與實(shí)現(xiàn)。 PLX9656 的本地總線可以設(shè)置成3 種模式: M 模式、C 模式和J 模式。 根據(jù)本系統(tǒng)的特點(diǎn),選擇C 模式,可以通過把MODE1 和MODE0 引腳拉低來(lái)實(shí)現(xiàn)C 模式的工作方式。 在C 模式下,數(shù)據(jù)傳輸方式分為主模式操作、從模式操作和DMA 操作。 采用DMA 工作方式,能在不需要CPU 干預(yù)的條件下,實(shí)現(xiàn)高數(shù)外設(shè)和存儲(chǔ)器間的快速傳輸,因此比較適合CCD相機(jī)數(shù)據(jù)和激光測(cè)距儀數(shù)據(jù)的傳輸,DMA 傳輸方式的實(shí)現(xiàn)可以通過對(duì)PLX9656 的內(nèi)部寄存器的DMAMODE0 /1,PCICR置位來(lái)實(shí)現(xiàn)。
2. 3 FPGA 核心邏輯控制
基于FPGA 的時(shí)序邏輯控制模塊是本系統(tǒng)的核心設(shè)計(jì),能夠?qū)崿F(xiàn)對(duì)相機(jī)和激光測(cè)距儀的模式設(shè)置、相機(jī)和激光測(cè)距儀的數(shù)據(jù)同步控制、多個(gè)傳感器數(shù)據(jù)的緩存與整理,對(duì)外部高速緩存的控制以及與PLX9656 的通信。 系統(tǒng)采用Altera 公司的Stratix Ⅱ系列EP2S60F1020 器件,配置芯片選用EPC16.
1) 傳感器觸發(fā)設(shè)置
本設(shè)計(jì)中,2個(gè)傳感器的工作模式通過主機(jī)端進(jìn)行設(shè)置,通過PCI 總線將模式設(shè)置字符串傳到FPGA 中,通過串口控制器實(shí)現(xiàn)與相機(jī)和激光測(cè)距儀的通信,從而完成對(duì)相機(jī)和激光測(cè)距儀的配置。 且相機(jī)和激光測(cè)距儀收到配置命令后也通過串口控制器把應(yīng)答信息傳到FPGA 中,再通過PCI 總線傳到主機(jī)上。為了實(shí)現(xiàn)與激光測(cè)距儀的同步控制,相機(jī)選擇軟件外觸發(fā)模式,此模式下需要在FPGA 內(nèi)產(chǎn)生一個(gè)頻率為20 Hz 的EXSYNC 觸發(fā)信號(hào)送給CCD 相機(jī)進(jìn)行曝光讀取數(shù)據(jù),EXSYNC 的低電平寬度為10 μs,相機(jī)的曝光時(shí)間由主機(jī)端進(jìn)行參數(shù)設(shè)置。
2) 數(shù)據(jù)同步控制
把EXSYNC 觸發(fā)信號(hào)同時(shí)送給激光測(cè)距儀和相機(jī),來(lái)實(shí)現(xiàn)2 個(gè)傳感器的輸出同步。 因?yàn)?個(gè)傳感器的測(cè)量速度不同,相機(jī)的輸出幀頻為20 幀/ s,激光測(cè)距儀的輸出頻率為50 Hz,所以數(shù)據(jù)同步的設(shè)計(jì)關(guān)鍵在于如何記錄同時(shí)刻的單幀圖像數(shù)據(jù)和激光測(cè)距儀數(shù)據(jù),2 個(gè)傳感器同步采集的時(shí)序關(guān)系圖如圖2 ( a) 所示,CLK 100 Hz 是取2 個(gè)頻率的最小公倍數(shù),可以根據(jù)FPGA 的內(nèi)部資源使用情況來(lái)設(shè)定,Data_lrf_sel 為選擇的激光數(shù)據(jù),其中I 表示該時(shí)刻的數(shù)據(jù)無(wú)效,V 表示該時(shí)刻的數(shù)據(jù)有效。數(shù)據(jù)同步方案為相機(jī)數(shù)據(jù)進(jìn)入FPGA 后,在2 個(gè)雙口RAM 中進(jìn)行整理緩存,激光測(cè)距儀經(jīng)過串口接收器把數(shù)據(jù)傳入FPGA 內(nèi),本設(shè)計(jì)的串口接收器帶有FIFO 緩存,數(shù)據(jù)經(jīng)過緩存后接送入雙口RAM 中進(jìn)行進(jìn)一步緩存; 按照?qǐng)D2 ( a) 所示的時(shí)序關(guān)系圖生成雙口RAM 的寫使能WEN 信號(hào),WEN 信號(hào)有效時(shí)把此時(shí)刻的激光數(shù)據(jù)寫入雙口RAM 中; 當(dāng)讀使能信號(hào)有效時(shí),首先從雙口RAM 中的激光測(cè)距儀數(shù)據(jù)到FIFO 中,接著讀取相應(yīng)幀的圖像數(shù)據(jù)到FIFO 中; FIFO 半滿后,激光測(cè)距儀數(shù)據(jù)和相機(jī)數(shù)據(jù)一起送到外部的SDRAM中進(jìn)行進(jìn)一步緩存,仿真時(shí)序圖如圖2 ( b) 所示。由圖2 的仿真結(jié)果可知,本文同步設(shè)計(jì)方案能夠有效地減少2 個(gè)傳感器之間的延時(shí),采集2 個(gè)傳感器的相對(duì)同步數(shù)據(jù)。 雖然不是嚴(yán)格意義上的同步,但已能滿足柔性基線測(cè)量系統(tǒng)的需求。
圖2 CCD 相機(jī)和激光測(cè)距儀同步采集設(shè)計(jì)及仿真時(shí)序圖
3) 數(shù)據(jù)緩存與整理
本系統(tǒng)中采用的緩存方案為首先把圖像數(shù)據(jù)、控制信號(hào)進(jìn)行3 級(jí)鎖存,因?yàn)閷?shí)驗(yàn)相機(jī)輸出的圖像數(shù)據(jù)為2 個(gè)TAP 的數(shù)據(jù),分別把2 個(gè)TAP 的數(shù)據(jù)送入FPGA 內(nèi)部的2 個(gè)雙口RAM 中進(jìn)行緩存,左邊TAP 的數(shù)據(jù)按照順序地址存儲(chǔ),右邊TAP 的數(shù)據(jù)按照逆序地址存儲(chǔ),從而將2 個(gè)TAP的數(shù)據(jù)拼接成完整的圖像。 當(dāng)使能信號(hào)有效時(shí),把2 個(gè)雙口RAM 的數(shù)據(jù)送入到FIFO 中進(jìn)一步緩存,當(dāng)FIFO 數(shù)據(jù)半滿后,把FIFO 的數(shù)據(jù)通過SDRAM 接口控制器送入到外部的SDRAM 存儲(chǔ)器中去。
4) PCI 邏輯接口
本系統(tǒng)通過PCI 本地邏輯接口來(lái)完成FPGA與PLX9656 的通信。 系統(tǒng)加電啟動(dòng)后,PLX9656的內(nèi)部寄存器由PCI 總線的RST#信號(hào)復(fù)位; 同時(shí)PLX9656 輸出局部復(fù)位信號(hào)LRESET,并檢查EEPROM 是否存在。 如果采用本地端DMA 方式控制,則整個(gè)握手過程如下: 首先當(dāng)SDRAM 緩存中的數(shù)據(jù)達(dá)到設(shè)定值后,LINTI # 信號(hào)有效,PLX9656 向主機(jī)端發(fā)送中斷請(qǐng)求信號(hào); 若CPU 響應(yīng)中斷,則在中斷相應(yīng)程序內(nèi)發(fā)出DMA 讀命令、要讀的字節(jié)數(shù)和地址信息等。 PLX9656 申請(qǐng)本地總線,使LHOLD 信號(hào)有效。 FPGA 驅(qū)動(dòng)LHOLDA信號(hào)有效來(lái)響應(yīng)PLX9656 的請(qǐng)求,PLX9656 將PCI 地址空間映射到本地地址空間。 接著通過設(shè)置寄存器來(lái)啟動(dòng)DMA 傳輸,PLX9656 有效ADS#( 地址選通信號(hào)) 、訪問地址出現(xiàn)在LA 地址總線上。 再次FPGA 有效READY # 信號(hào),同時(shí)使能SDRAM 控制接口的讀使能有效信號(hào),數(shù)據(jù)開始出現(xiàn)在LD 數(shù)據(jù)總線上。 當(dāng)數(shù)據(jù)的最后一個(gè)字節(jié)開始傳輸時(shí),PLX9656 驅(qū)動(dòng)BLAST#信號(hào)有效,同時(shí)FPGA 無(wú)效READY #信號(hào)。 最后使SDRAM 的讀使能是信號(hào)無(wú)效,PLX9656 驅(qū)動(dòng)LHOLD 無(wú)效,釋放本地總線,接著FPGA 也驅(qū)動(dòng)LHOLDA 無(wú)效,結(jié)束一次數(shù)據(jù)的傳輸。 DMA 傳輸?shù)臅r(shí)序仿真圖如圖3 所示。
圖3 本地總線到PCI 總線的DMA 傳輸時(shí)序仿真圖
2. 4 高速緩存設(shè)計(jì)
由于PCI 接口芯片內(nèi)部緩存容量太小,所以在實(shí)時(shí)采集過程中必須采用高速緩存器將數(shù)據(jù)進(jìn)行緩存,然后再通過PCI 總線送到主機(jī),以提高系統(tǒng)的傳輸速度和性能。 大容量高速的SDRAM 容易買到且價(jià)格適中,本系統(tǒng)采用SDRAM 進(jìn)行緩存。 Windows 是多線程、搶先任務(wù)的操作系統(tǒng),為了減少線程由于CPU 占用時(shí)間結(jié)束而中斷,中斷間隔應(yīng)大于線程的最大執(zhí)行時(shí)間20 ms,所以緩存的容量至少應(yīng)為: 20 ms × 70 MB / s × 2 = 2. 8MB. 本系統(tǒng)中采用Micron 的MT48LC32M16A2芯片,該芯片為512 MB 存儲(chǔ)大小,16 bit 位寬,133 MHz 的讀寫速度,能夠滿足系統(tǒng)數(shù)據(jù)采集和存儲(chǔ)帶寬的要求。本系統(tǒng)采用緩存方案為在FPGA 外接2 組32M* 32 位的SDRAM,由4 片SDRAM 配置而成,用于相機(jī)到PCI 的數(shù)據(jù)緩沖。 且SDRAM 通過控制器的封裝做成FIFO 的接口,相機(jī)的數(shù)據(jù)寫入FIFO,按照設(shè)定的圖像數(shù)量給PCI 發(fā)送中斷,然后由PCI 讀取相機(jī)數(shù)據(jù),從而克服了SDRAM結(jié)構(gòu)復(fù)雜,切換控制電路難操作的缺點(diǎn)。
2. 5 實(shí)時(shí)存儲(chǔ)設(shè)計(jì)
實(shí)時(shí)流盤一直是高速數(shù)據(jù)采集技術(shù)的最大瓶頸,直接制約了采集存儲(chǔ)設(shè)備的實(shí)時(shí)存儲(chǔ)能力。 本系統(tǒng)中采用支持66 MHz、100 MHz、133 MHz /64 bit的PCI-X 總線的主板,由8 塊容量為1TB 的高速SATA 硬盤,通過3WARE 公司的RAID 卡配置成RAID0 方式,以獲得最大化的磁盤訪問速率,組成高速大容量的存儲(chǔ)設(shè)備,整個(gè)數(shù)字相機(jī)數(shù)據(jù)采集存儲(chǔ)設(shè)備的設(shè)計(jì)框圖如圖4 所示。
圖4 實(shí)時(shí)高速存儲(chǔ)方案設(shè)計(jì)
本系統(tǒng)把實(shí)時(shí)采集模塊輸出的數(shù)據(jù),利用接口芯片PLX9656,通過PCI 總線把數(shù)據(jù)送進(jìn)系統(tǒng)內(nèi)存,然后在RAID 卡的控制下,將內(nèi)存中的數(shù)據(jù)通過PCI 總線寫入SATA 硬盤陣列中,理論持續(xù)寫盤速度可達(dá)400 MB / s 以上。
3 實(shí)驗(yàn)及系統(tǒng)測(cè)試結(jié)果
雙天線干涉SAR 柔性基線測(cè)量系統(tǒng)的模擬實(shí)驗(yàn)平臺(tái)由傳感器測(cè)量平臺(tái)、合作目標(biāo)和運(yùn)動(dòng)平臺(tái)組成,如圖5( a) 和圖5( b) 所示。 本文設(shè)計(jì)實(shí)現(xiàn)的數(shù)據(jù)采集存儲(chǔ)系統(tǒng)實(shí)物如圖5( c) 所示。
圖5 柔性基線測(cè)量系統(tǒng)原理樣機(jī)
實(shí)驗(yàn)中,對(duì)系統(tǒng)分別進(jìn)行了功能測(cè)試和性能測(cè)試。 性能測(cè)試主要包括實(shí)時(shí)采集記錄速度測(cè)試、持續(xù)寫盤陣速度測(cè)試和穩(wěn)定性測(cè)試。對(duì)于系統(tǒng)的功能測(cè)試,分別進(jìn)行模擬圖像和實(shí)際圖像數(shù)據(jù)采集測(cè)試。 模擬圖像為在FPGA 內(nèi)產(chǎn)生循環(huán)有規(guī)律的數(shù)據(jù),對(duì)應(yīng)的圖像為條紋圖像,根據(jù)采集的數(shù)據(jù)是否正確來(lái)驗(yàn)證采集系統(tǒng)的功能; 然后切換到實(shí)際數(shù)據(jù)源,采集合作目標(biāo)的運(yùn)動(dòng)圖像。 模擬和實(shí)測(cè)的圖像和數(shù)據(jù)文件分別如圖6所示。
圖6 數(shù)據(jù)采集系統(tǒng)采集的數(shù)據(jù)文件與圖像
由圖6( a) 和圖6( b) 可知,對(duì)于模擬數(shù)據(jù)源,本文系統(tǒng)采集圖像為黑白相間的條紋,且圖像數(shù)據(jù)中像素的灰度值與設(shè)定值是一致的,不存在丟數(shù)問題。 由圖6( c) 和圖6( d) 可知,本文系統(tǒng)采集的合作目標(biāo)的圖像和實(shí)際物體是一致的。 模擬和實(shí)測(cè)圖像數(shù)據(jù)的測(cè)試結(jié)果均表明,本文系統(tǒng)可以正確地進(jìn)行數(shù)據(jù)采集和存儲(chǔ),沒有圖像錯(cuò)位現(xiàn)象,這驗(yàn)證了系統(tǒng)功能的正確性。系統(tǒng)實(shí)時(shí)采集記錄速度的測(cè)試方法為: 由于本系統(tǒng)中傳感器的輸出頻率有限,無(wú)法反映系統(tǒng)的最大采集記錄速度。 采用在FPGA 內(nèi)部生成不同頻率的模擬圖像,通過本系統(tǒng)進(jìn)行實(shí)時(shí)采集和寫盤,利用上位機(jī)軟件對(duì)圖像進(jìn)行回放,查看有無(wú)丟幀和錯(cuò)位現(xiàn)象。 實(shí)測(cè)結(jié)果表明,當(dāng)輸出頻率超過50 Hz 時(shí),如果只采集不存盤,圖像采集正確,但是選擇同時(shí)存盤時(shí),開始出現(xiàn)圖像錯(cuò)位和丟幀現(xiàn)象。 原因主要有2 個(gè): 一個(gè)是當(dāng)頻率大于50 Hz時(shí),數(shù)據(jù)量大于100 MB / s,本系統(tǒng)外接的高速緩存,其讀寫速度理論值為133 MHz,因?yàn)樽龀蒄IFO 接口,是邊寫邊讀,造成傳輸速度減半,可能導(dǎo)致緩存數(shù)據(jù)沒有及時(shí)讀走,造成圖像錯(cuò)位和丟失; 另一個(gè)是系統(tǒng)在主機(jī)內(nèi)存中讀和寫是一個(gè)線程,邊讀邊寫數(shù)據(jù)導(dǎo)致速率跟不上。 綜上所述,本系統(tǒng)的采集記錄速度可以達(dá)到100 MB / s,滿足系統(tǒng)70 MB / s 的指標(biāo)要求。持續(xù)寫盤陣速度測(cè)試方法為采用專用的硬盤讀寫速度測(cè)試軟件,從主機(jī)內(nèi)存往磁盤陣列寫入不同容量數(shù)據(jù),對(duì)軟件統(tǒng)計(jì)的速度作平均。 實(shí)測(cè)結(jié)果表明,在不同的采集時(shí)間內(nèi),系統(tǒng)的實(shí)時(shí)存儲(chǔ)速度都能達(dá)到240 MB / s 以上,滿足系統(tǒng)指標(biāo)120 MB / s的要求。 另外,系統(tǒng)采用8 塊1TB 的SATA 硬盤,總的記錄容量為8 TB,滿足系統(tǒng)最小記錄容量2 TB 的指標(biāo)要求。對(duì)于系統(tǒng)的穩(wěn)定性測(cè)試的方法為: 在不同工作模式下,多次采集2 個(gè)傳感器數(shù)據(jù),通過校驗(yàn)程序?qū)?shù)據(jù)包頭計(jì)數(shù)器進(jìn)行校驗(yàn),統(tǒng)計(jì)數(shù)據(jù)的丟失幀數(shù)。 從而計(jì)算系統(tǒng)的丟幀率。 在系統(tǒng)要求的工作時(shí)間內(nèi),系統(tǒng)在不同模式下都沒有出現(xiàn)丟幀情況,性能非常穩(wěn)定,既使工作時(shí)間為要求的3 倍,本系統(tǒng)的丟幀率最高只有0. 03% ,能夠滿足基線測(cè)量系統(tǒng)的要求。
綜上所述,本系統(tǒng)的實(shí)測(cè)性能指標(biāo)均高于基線測(cè)量系統(tǒng)的指標(biāo)要求,能夠?qū)崟r(shí)地對(duì)基線測(cè)量系統(tǒng)輸出數(shù)據(jù)進(jìn)行高速采集和實(shí)時(shí)存儲(chǔ)。 為了進(jìn)一步提高系統(tǒng)的性能,可以通過采用性能更高的磁盤陣列控制卡和高速磁盤陣列,如速率更高的SAS 接口硬盤,增大外部高速緩存容量,把SDRAM 做成乒乓模式提高傳輸速率,對(duì)主機(jī)端控制程序進(jìn)行對(duì)線程優(yōu)化等來(lái)實(shí)現(xiàn)提高采集記錄速度。
4 結(jié)論
基于FPGA + PCI 數(shù)據(jù)采集存儲(chǔ)硬件設(shè)計(jì),采用了高性能FPGA 邏輯器件與多個(gè)磁盤陣列構(gòu)成的高速存儲(chǔ)系統(tǒng),實(shí)現(xiàn)了對(duì)柔性基線測(cè)量系統(tǒng)輸出的高速采集與實(shí)時(shí)存儲(chǔ)。 本文詳細(xì)介紹了該設(shè)計(jì)的工作原理和關(guān)鍵模塊設(shè)計(jì),重點(diǎn)描述了利用FPGA 對(duì)CCD 相機(jī)和激光測(cè)距儀進(jìn)行設(shè)置、同步采集與數(shù)據(jù)高速緩存,通過PCI 專門接口芯片,和PCI 總線進(jìn)行高速實(shí)時(shí)傳輸?shù)牧鞒獭?實(shí)際系統(tǒng)測(cè)試結(jié)果表明,該系統(tǒng)通過PCI 總線傳輸速度達(dá)200 MB / s以上,持續(xù)寫盤陣速度達(dá)到240 MB / s,實(shí)時(shí)采集記錄速度達(dá)100 MB / s. 該系統(tǒng)具有實(shí)時(shí)性強(qiáng)、性能穩(wěn)定、設(shè)計(jì)靈活等特點(diǎn)。
評(píng)論
查看更多