遙感衛(wèi)星快視設(shè)備的設(shè)計與實現(xiàn)
1 系統(tǒng)設(shè)計
高速數(shù)據(jù)實時存儲功能的實現(xiàn),是本設(shè)備研制的核心。由于記錄數(shù)據(jù)最終要送到計算機進行后續(xù)處理,同時考慮設(shè)備實現(xiàn)成本的要求,采用基于計算機控制的存儲體系結(jié)構(gòu)是比較理想的選擇?;谟嬎銠C插卡結(jié)構(gòu)的多通道高速數(shù)據(jù)采集和存儲設(shè)備在已有的文獻中有大量介紹[1-2],這些方案的數(shù)據(jù)采集和記錄大都采用如圖1所示的結(jié)構(gòu)原理。在這種處理模式下,外部輸入的高速數(shù)據(jù)流經(jīng)過接口采集和數(shù)據(jù)緩沖處理后,數(shù)據(jù)通過PCI總線被傳送到計算機內(nèi)存,再由計算機CPU控制硬盤進行數(shù)據(jù)存儲。
通過分析該處理模式下數(shù)據(jù)的處理流向,可以找出該模式下的數(shù)據(jù)處理速率瓶頸所在。其一般處理流程是:數(shù)據(jù)采集卡通過中斷向計算機申請中斷,由CPU響應(yīng)中斷后,將計算機插卡上的緩沖數(shù)據(jù)接收到計算機(實質(zhì)是送往計算機內(nèi)存);然后,在CPU的干預下,將需要存盤的數(shù)據(jù)送往硬盤存儲,將需要顯示的數(shù)據(jù)送往顯存進行顯示。需要特別指出的是,所有這些操作,都由CPU在特定的操作系統(tǒng)(如Windows/UNIX)下運行。由于操作系統(tǒng)在進行數(shù)據(jù)采集處理的同時需要進行整個計算機運行的管理,使得在這種處理模式下,存儲數(shù)據(jù)流的速率不可能很高。因此該處理模式多見于速率在30Mbps以下的數(shù)據(jù)流進行的存儲和處理,難以滿足對更高速率的數(shù)據(jù)進行存儲和處理的要求。
同時,上述處理模式的可擴展性也比較差。對于33M/32bit的PCI總線,其最大傳輸速率是132Mbps,而且由于計算機控制硬盤存儲能力的限制,即使選用高性能的計算機或者加大板上數(shù)據(jù)緩沖深度,都不能從根本上解決速率瓶頸的問題。
而使用計算機插板直接控制磁盤陣列進行數(shù)據(jù)存儲的工作模式,則可以從根本上解決前述數(shù)據(jù)存儲速率的瓶頸問題。這種處理模式的數(shù)據(jù)流向及工作原理如圖2所示。外部輸入的高速數(shù)據(jù)流在數(shù)據(jù)采集處理板上被分成兩個分支流向,其中一路數(shù)據(jù)直接通過硬盤控制器存入磁盤陣列,而另一路數(shù)據(jù)則經(jīng)過抽取后通過PCI總線送入計算機。這里的硬盤控制器是一個專用的CPU,它實時地控制硬盤進行數(shù)據(jù)存取操作。計算機可對輸入數(shù)據(jù)進行灰度顯示,以監(jiān)控采集數(shù)據(jù)流的運行狀態(tài)。監(jiān)控數(shù)據(jù)可以進行高倍數(shù)據(jù)抽取,只要滿足高于25幀/秒這一要求,就可以達到很好的實時監(jiān)控效果。這種處理模式的系統(tǒng)可擴展性相對較強。因為該模式的存盤操作不是由計算機CPU直接控制,而是使用專用硬盤控制器插卡控制硬盤進行數(shù)據(jù)存儲。通過擴展硬盤控制器及其附帶的硬盤數(shù)量,就可以達到提高系統(tǒng)數(shù)據(jù)記錄吞吐速率的目的。
2 系統(tǒng)設(shè)計實現(xiàn)
2.1 系統(tǒng)硬件結(jié)構(gòu)
系統(tǒng)的硬件主要包括:一臺工業(yè)控制計算機、LVDS信號轉(zhuǎn)接板,四塊插入到工控機箱內(nèi)的高速數(shù)據(jù)接收處理板和由八個SCSI硬盤組成的硬盤陣列。每塊高速數(shù)據(jù)接收處理板連接兩個SCSI磁盤,控制一個通道的數(shù)據(jù)存儲。
LVDS信號轉(zhuǎn)接板主要完成輸入信號的物理連接、電平轉(zhuǎn)換和與數(shù)據(jù)處理板的時序邏輯適配等工作。LVDS信號轉(zhuǎn)接板輸出的信號通過存儲設(shè)備內(nèi)部的高速通信電纜送到高速數(shù)據(jù)接收處理板中完成數(shù)據(jù)實時接收與緩沖,同時將輸入的數(shù)據(jù)流分成兩路,一路數(shù)據(jù)通過數(shù)據(jù)處理板上的SCSI硬盤控制器實時存入硬盤陣列中,另一路數(shù)據(jù)則經(jīng)抽取后通過PCI總線實時送到工控機中進行實時圖像顯示。這里使用Qlogic公司的FAS566[3] SCSI硬盤控制器來完成SCSI硬盤陣列的數(shù)據(jù)存取操作控制。FAS566可以支持最高160Mbps的數(shù)據(jù)傳輸速度,并可以控制SCSI硬盤陣列以RAID0[4]方式存取數(shù)據(jù)。高速數(shù)據(jù)接收處理板還包括微處理器、數(shù)據(jù)緩存器、PCI橋接器等硬件模塊和相應(yīng)的軟件控制模塊,其組成原理如圖3所示。
與傳統(tǒng)的IDE硬盤相比,SCSI硬盤在傳輸控制和存取速度上有很多優(yōu)勢。以10 000轉(zhuǎn)/秒的硬盤為例,SCSI硬盤可以達到約35Mbps的持續(xù)存儲速度,而IDE硬盤僅能達到約15Mbps。SCSI硬盤的傳輸速度也遠遠高于IDE硬盤的傳輸速度,目前Ultra320 SCSI總線數(shù)據(jù)傳輸速率可達320Mbps。本方案中選擇了總線傳輸速率為160Mbps的Ultra160 SCSI控制器。采用SCSI總線和SCSI硬盤不僅數(shù)據(jù)傳輸速率高,而且在需要時可以通過簡單地增加系統(tǒng)中的硬盤數(shù)量來擴展存儲空間,一個SCSI硬盤控制器可以最多外掛和控制15個SCSI硬盤。
2.2 系統(tǒng)軟件組成
本系統(tǒng)的軟件主要由驅(qū)動程序、板載處理器實時控制模塊、SCSI硬盤陣列數(shù)據(jù)存儲管理模塊和上層用戶應(yīng)用程序等部分組成,系統(tǒng)軟件組成框圖如圖4所示。使用Windows 2000作為系統(tǒng)控制計算機的操作系統(tǒng)。
實時數(shù)據(jù)接收與預處理模塊運行在數(shù)據(jù)處理板上,實時接收由LVDS信號轉(zhuǎn)接板輸出的待測數(shù)據(jù)。數(shù)據(jù)存儲單元控制SCSI硬盤陣列進行數(shù)據(jù)存儲,主要包括SCSI硬盤陣列上數(shù)據(jù)文件的管理(建立、刪除、修改、檢索及維護等)和在圖像回放時圖像數(shù)據(jù)的讀取和傳輸?shù)炔僮鳌?br /> 實時送往計算機的數(shù)據(jù),主要用于監(jiān)控測試信源的運行狀態(tài),因而可以對接收數(shù)據(jù)進行高倍抽取,以降低實時傳輸?shù)臄?shù)據(jù)率。抽取后數(shù)據(jù)通過PCI總線傳送到工控計算機中進行圖像顯示。
3 系統(tǒng)性能測試
首先對系統(tǒng)單通道數(shù)據(jù)記錄能力進行測試。測試使用的硬盤型號為ST318404LW[5],記錄數(shù)據(jù)采用無文件格式,每次寫緩沖數(shù)據(jù)為2MB。測試結(jié)果表明,硬盤的最高記錄速度是變化的,即SCSI硬盤的存儲速度隨著記錄數(shù)據(jù)的不斷增加而下降。硬盤記錄速度隨記錄時間的變化如表1所示。
通過基于計算機的SCSI硬盤控制器控制磁盤陣列進行數(shù)據(jù)記錄,實現(xiàn)了對260Mbps的高速數(shù)據(jù)流進行持續(xù)記錄的設(shè)計,持續(xù)記錄時間超過900秒。計算機可以實時地完成被測數(shù)據(jù)流的灰度顯示,達到了對記錄數(shù)據(jù)實時監(jiān)控的目的。該設(shè)備已經(jīng)成功應(yīng)用于衛(wèi)星的信源測試,系統(tǒng)運行穩(wěn)定可靠,可廣泛應(yīng)用于需要對高速信號進行持續(xù)記錄的領(lǐng)域。