新聞中心

EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于磁盤陣列的全數(shù)字遙測(cè)記錄系統(tǒng)的設(shè)計(jì)

基于磁盤陣列的全數(shù)字遙測(cè)記錄系統(tǒng)的設(shè)計(jì)

——
作者:中國(guó)衛(wèi)星海上測(cè)控部 劉 洋,何晶,周承斌 時(shí)間:2007-07-13 來源:現(xiàn)代電子報(bào) 收藏
   引 言

  我國(guó)遙測(cè)記錄設(shè)備經(jīng)歷了倍密度磁帶機(jī)和旋轉(zhuǎn)頭磁帶機(jī)兩代產(chǎn)品,目前仍在使用。從記錄原理上說他們皆屬于模擬記錄設(shè)備,在長(zhǎng)期使用當(dāng)中,已暴露出諸多缺陷:

  (1)磁帶耗材依賴進(jìn)口,價(jià)格昂貴且記錄容量小、重復(fù)使用率低、數(shù)據(jù)保存時(shí)間短。

  (2)磁頭和機(jī)械運(yùn)帶機(jī)構(gòu)屬精密加工器件,調(diào)校過程相當(dāng)復(fù)雜,長(zhǎng)期使用磨損嚴(yán)重,記錄性能顯著惡化,給設(shè)備維護(hù)帶來極大不便。

  隨著計(jì)算機(jī)硬盤制造技術(shù)的飛速發(fā)展和數(shù)字存儲(chǔ)技術(shù)的問世及不斷應(yīng)用,采用大容量高速硬盤記錄模擬遙測(cè)信號(hào)的數(shù)字化記錄設(shè)備DRS(Digital Record System)[1]已經(jīng)出現(xiàn),并成為遙測(cè)記錄設(shè)備的換代產(chǎn)品,但設(shè)計(jì)上存在不足:

  (1)數(shù)字化程度低:記錄信號(hào)中心頻率只有2.1 MHz,不能對(duì)左右旋圓極化70 MHz檢前信號(hào)直接記錄,要依賴額外的模擬下變頻器作轉(zhuǎn)換處理,不適應(yīng)對(duì)全新的數(shù)字綜合基帶遙外測(cè)設(shè)備的記錄要求。

  (2)擴(kuò)展性差:由于采用專用的數(shù)據(jù)傳輸通道,帶寬有限(16 b)且固定,故一旦要增加記錄信號(hào)的路數(shù),只能靠增加硬件通道數(shù)來增加帶寬,相應(yīng)地要增加控制驅(qū)動(dòng)記錄的板卡數(shù)量,并導(dǎo)致輸入輸

出接口關(guān)系發(fā)生變化。

  (3)單硬盤工作模式可靠性難以保證,一旦硬盤損壞,整個(gè)系統(tǒng)癱瘓,已記錄數(shù)據(jù)無法恢復(fù)。 (4)未能利用國(guó)際通行的技術(shù)規(guī)范和標(biāo)準(zhǔn),不利于產(chǎn)品升級(jí)換代,從長(zhǎng)遠(yuǎn)看難以形成新的業(yè)內(nèi)標(biāo)準(zhǔn)。

  以上不足說明DRS在最初的體系結(jié)構(gòu)設(shè)計(jì)上存在根本性的缺陷,若想徹底克服,必須重新改進(jìn)體系結(jié)構(gòu)設(shè)計(jì),盡量采用當(dāng)前國(guó)內(nèi)外在數(shù)字存儲(chǔ)方面先進(jìn)、通行的技術(shù),因此RAID(廉價(jià)冗余)技術(shù)為我們提供了新的設(shè)計(jì)思路和理念。作者經(jīng)過深入研究論證和大量的前期試驗(yàn),終于設(shè)計(jì)并實(shí)現(xiàn)了以RAID陣列為核心的全記錄系統(tǒng)RDRS。

  2 系統(tǒng)設(shè)計(jì)

  2.1整機(jī)體系結(jié)構(gòu)設(shè)計(jì)

  RAID標(biāo)準(zhǔn)提供了數(shù)字存儲(chǔ)方面全方位的解決方案,其中RAID5采用具有分布式奇偶校驗(yàn)的磁盤物理?xiàng)l帶(stripings)來跨越單個(gè)磁盤平均分配數(shù)據(jù)和冗余校驗(yàn)信息[2],在保證數(shù)據(jù)安全的前提下,可獲得極高的數(shù)據(jù)吞吐率和磁盤利用率,尤其適合高速連續(xù)大塊數(shù)據(jù)的傳輸。綜合考慮遙測(cè)記錄的極高安全性、實(shí)時(shí)性、超大存儲(chǔ)空間和更多的記錄通道,陣列模組選用以5塊容量各為100 GB的SA TA硬盤組成RAlD5標(biāo)準(zhǔn),用高性能的ARECA-1120 SA-TA RAID控制卡作驅(qū)動(dòng),RAID卡采用OEM產(chǎn)品,可減少硬件開發(fā)工作量。之所以未選用更高性能的SCSI硬盤作模組是由于SCSI硬盤數(shù)據(jù)接口過于寬大(50芯),而SATA硬盤是目前市場(chǎng)上漸趨流行的串行ATA接口的新一代高性能硬盤,其外部數(shù)據(jù)傳輸率已達(dá)300 MB/s,接近SCSI硬盤(320 MB/s),但其接口電纜只有8芯,布線十分方便靈活,非常適合組成陣列模組,可節(jié)省機(jī)箱空間,便于快速更換。整機(jī)體系結(jié)構(gòu)如圖1所示。

整機(jī)體系結(jié)構(gòu)

  他以64位擴(kuò)展的PCI總線作為硬件開發(fā)平臺(tái),可提供528 Mb/s的高數(shù)據(jù)傳輸帶寬,而CPU仍采用高性能的32位P4(2.4 GHz)處理器,通過主橋?qū)崿F(xiàn)總線緩沖來直接映射到64位總線地址空間。硬件部分獨(dú)立開發(fā)了通用性和擴(kuò)展性非常強(qiáng)的基于PCI總線的中頻和視頻采集卡。軟件環(huán)境采用基于RT-Linux 3.1實(shí)時(shí)操作系統(tǒng)內(nèi)核,在RedHat 8.0(內(nèi)核版本 Linux 2.4.18)系統(tǒng)平臺(tái)下開發(fā),采用標(biāo)準(zhǔn)C語言編制底層驅(qū)動(dòng)及用戶應(yīng)用程序。在 Kylix開發(fā)環(huán)境下,用C++編寫X-Windows下的用戶界面程序。由于系統(tǒng)規(guī)定的錄放速度高達(dá)500 Mb/s,PCI視頻采集卡對(duì)系統(tǒng)中斷響應(yīng)時(shí)間的要求就非常高,為此專門選用了基于Linux的實(shí)時(shí)操作系統(tǒng)RT-Linux平臺(tái),RT-Linux可在Linux內(nèi)核源代碼的基礎(chǔ)上通過修改部分系統(tǒng)程序代碼來改善Linux的實(shí)時(shí)性,修改后的Linux(即RT-Linux)能快速響應(yīng)硬件中斷(中斷響應(yīng)時(shí)間小于15 μs)[3],滿足了系統(tǒng)的實(shí)時(shí)性要求,為高速采集而不丟數(shù)據(jù)提供保證。同時(shí)提供了一套標(biāo)準(zhǔn)接口函數(shù),以實(shí)現(xiàn)RT-Linux進(jìn)程與普通Linux進(jìn)程間的數(shù)據(jù)傳輸及共享。由于系統(tǒng)記錄的數(shù)據(jù)文件有時(shí)高達(dá)幾十GB甚至上百GB的容量,用普通的文件系統(tǒng)在RT-Linux下已不能滿足容量要求,為此移植了XFS文件系統(tǒng)來管理采集的文件。XFS是Silicon Graphics公司開發(fā)的一種全新的高性能64位文件系統(tǒng),該文件系統(tǒng)既擴(kuò)展了分區(qū)及文件容量的限制(最大為9 000 TB),又提高了文件存儲(chǔ)處理速度。

    2.2系統(tǒng)硬件設(shè)計(jì)

  硬件結(jié)構(gòu)設(shè)計(jì)如圖2所示。其中主要設(shè)計(jì)部件為中頻和視頻采集卡,他分為記錄電路和回放電路兩部分,數(shù)據(jù)記錄時(shí),70 MHz中頻信號(hào)首先經(jīng)聲表面波濾波器濾除帶外信號(hào),再經(jīng)固定增益和AGC電路將信號(hào)強(qiáng)度控制在A/D采樣的理想電平范圍內(nèi),用高速ADC(40 MSPS)對(duì)70 MHz信號(hào)直接采樣后送人中頻采集卡的FPGA,經(jīng)數(shù)字下變頻將中頻帶通信號(hào)頻譜向下搬移至基帶,形成I,Q兩路正交的基帶信號(hào),并CIC濾波器進(jìn)行抽樣率變換,得到多路合流的視頻數(shù)字群信號(hào),通過LVDS高速接口送人視頻采集卡的FPGA,完成數(shù)據(jù)打包、緩沖和時(shí)序控制,當(dāng)數(shù)據(jù)填滿一個(gè)數(shù)據(jù)塊大小,視頻采集卡向系統(tǒng)發(fā)中斷,請(qǐng)求數(shù)據(jù)傳輸,系統(tǒng)應(yīng)答后,以DMA方式通過64位PCI總線發(fā)送到系統(tǒng)內(nèi)存,內(nèi)存中數(shù)據(jù)累積到一定數(shù)據(jù)量,通過PCI總線將數(shù)據(jù)塊寫入RAID卡并分發(fā)到中?;胤胚^程是記錄的逆過程,電路上的主要差別是視頻數(shù)字群信號(hào)要分別通過數(shù)字移相網(wǎng)絡(luò)和數(shù)字群延遲網(wǎng)絡(luò)恢復(fù)I,Q兩路正交信號(hào)并經(jīng)共同的DDS時(shí)鐘控制分頻的數(shù)字本振NCO進(jìn)行數(shù)字上變頻,完成基帶頻譜向上搬移,后經(jīng)高速DAC得到70 MHz中頻模擬信號(hào)完成回放過程。

硬件結(jié)構(gòu)設(shè)計(jì)

  2.3 系統(tǒng)軟件設(shè)計(jì)

  系統(tǒng)軟件的主要作用就是與配套的硬件相互協(xié)調(diào)工作完成中頻檢前信號(hào)實(shí)時(shí)記錄和事后回放。他分成視頻采集卡驅(qū)動(dòng)模塊、主控進(jìn)程、記錄/回放進(jìn)程和用

戶界面。其中視頻采集卡驅(qū)動(dòng)模塊作為驅(qū)動(dòng)程序以模塊的形式插入內(nèi)核空間運(yùn)行,由于用戶空間進(jìn)程不能直接訪問底層硬件設(shè)備,所以驅(qū)動(dòng)模塊是上層應(yīng)用程序和設(shè)備物理層之間的橋梁,上層應(yīng)用程序不必關(guān)心硬件設(shè)備的具體信息,即可通過RT-Linux的指令FIFO完成對(duì)視頻采集卡的控制。驅(qū)動(dòng)模塊負(fù)責(zé)完成對(duì)視頻采集卡的設(shè)置、控制和狀態(tài)采集,以及定時(shí)讀取視頻采集卡內(nèi)的B碼值和鎖定標(biāo)志。上層應(yīng)用程序也可通過指令FIFO來設(shè)置視頻采集卡內(nèi)的B碼值。視頻數(shù)據(jù)采集卡模塊和上層應(yīng)用之間通過RT-Linux的共享內(nèi)存來共享系統(tǒng)的關(guān)鍵性狀態(tài)、控制數(shù)據(jù),實(shí)現(xiàn)內(nèi)核態(tài)和用戶態(tài)程序的數(shù)據(jù)共享。主控進(jìn)程為用戶空間的普通Linux進(jìn)程,他負(fù)責(zé)完成系統(tǒng)的初始化、維護(hù)和指令傳輸?shù)热蝿?wù)。完成用戶空間程序到內(nèi)核空間程序間的指令傳遞。他多處于等待狀態(tài),當(dāng)接收到來自用戶(X-Window窗口界面或文本調(diào)試界面)的指令(通過信號(hào)量實(shí)現(xiàn))時(shí),經(jīng)過FIFO發(fā)給內(nèi)核進(jìn)程,實(shí)現(xiàn)指令的傳遞。同時(shí)當(dāng)他發(fā)送啟動(dòng)采集/回放命令后,會(huì)負(fù)責(zé)創(chuàng)建獨(dú)立的讀/寫盤進(jìn)程,來實(shí)現(xiàn)數(shù)據(jù)的硬盤記錄和回放。主控進(jìn)程維護(hù)了一個(gè)初始的系統(tǒng)配置參數(shù)文件,系統(tǒng)停止運(yùn)行后,他會(huì)保存系統(tǒng)的當(dāng)前狀態(tài),在系統(tǒng)再次啟動(dòng)時(shí)用于初始化系統(tǒng)參數(shù),同時(shí)主控進(jìn)程在每次啟動(dòng)時(shí)會(huì)對(duì)盤陣上的任務(wù)文件進(jìn)行修復(fù),以保證因停電等意外故障導(dǎo)致的關(guān)機(jī)發(fā)生時(shí),對(duì)沒有結(jié)束的任務(wù)文件進(jìn)行修復(fù)。記錄/回放進(jìn)程被主控進(jìn)程創(chuàng)建后,便不斷地在硬盤和采集緩存間(MBUFF)傳輸數(shù)據(jù),記錄時(shí)只要采集緩存(MBUFF)有數(shù)據(jù),他就將數(shù)據(jù)寫入硬盤陣列中。而回放時(shí)他首先將回放的數(shù)據(jù)填滿采集緩存(MBUFF),然后當(dāng)數(shù)據(jù)被DMA傳送完成后,再次讀取硬盤陣列中數(shù)據(jù),將空出的采集緩存(MBUFF)填滿。當(dāng)記錄/回放停止后,該進(jìn)程自動(dòng)結(jié)束。用戶界面是基于X-window的用戶進(jìn)程。他以窗口的形式提供給用戶一可視的操控平臺(tái),實(shí)時(shí)顯示系統(tǒng)狀態(tài)、任務(wù)內(nèi)容信息和盤陣空間使用狀態(tài),接受用戶如下指令:B碼設(shè)置/顯示、開始記錄、盤陣上任務(wù)文件的回放、改名、轉(zhuǎn)儲(chǔ)、刪除及數(shù)據(jù)正確性校驗(yàn)等管理性功能。當(dāng)用戶啟動(dòng)開始采集記錄時(shí),控制命令發(fā)給主控進(jìn)程,主控進(jìn)程建立一個(gè)寫盤進(jìn)程,同時(shí)將采集命令通過指令FIFO發(fā)給底層的視頻采集卡,使視頻采集設(shè)備開始采集數(shù)據(jù)。視頻采集設(shè)備會(huì)連續(xù)的采集輸入的中頻檢前信號(hào)流數(shù)據(jù)到的視頻采集卡內(nèi)的乒乓緩存內(nèi),當(dāng)乒乓緩存緩存滿時(shí),他會(huì)切換到另一片乒乓緩存繼續(xù)采集數(shù)據(jù),同時(shí)會(huì)產(chǎn)生一個(gè)數(shù)據(jù)就緒中斷,觸發(fā)系統(tǒng)的中斷服務(wù)程序。中斷服務(wù)程序啟動(dòng)一次DMA傳輸將乒乓緩存內(nèi)的數(shù)據(jù)依次傳輸?shù)讲杉彺?MBUFF)內(nèi),并調(diào)整下一次存儲(chǔ)數(shù)據(jù)的采集緩存(MBUFF)指針,使采集數(shù)據(jù)在這里暫存且不被覆蓋。而寫盤進(jìn)程實(shí)時(shí)的檢測(cè)采集緩存(MBUFF)內(nèi)是否有新采集的數(shù)據(jù),如果有會(huì)馬上寫入的硬盤陣列中,512 MB的采集緩存(MBUFF),保證了采集數(shù)據(jù)未被覆蓋前既被寫入到盤陣。同樣的,當(dāng)回放時(shí),預(yù)先將盤上的回放數(shù)據(jù)讀到緩存內(nèi),再發(fā)送回放命令,這樣即使讀盤速度暫時(shí)降低,也可以保證緩存內(nèi)有足夠的回放數(shù)據(jù)被輸出到視頻采集卡,保證了回放的連續(xù)性。

系統(tǒng)軟件設(shè)計(jì)


  3 結(jié) 語

  為了檢驗(yàn)系統(tǒng)性能和工作可靠性,研制樣機(jī)進(jìn)行了累計(jì)1 000 h的環(huán)境應(yīng)力試驗(yàn)(包括時(shí)間)和100 h的加速壽命試驗(yàn),表現(xiàn)均穩(wěn)定可靠,記錄數(shù)據(jù)滿足各項(xiàng)指標(biāo)。同時(shí)還反復(fù)進(jìn)行了記錄過程單盤掉電數(shù)據(jù)恢復(fù),結(jié)果令人滿意,充分驗(yàn)證了RAID技術(shù)用于數(shù)字記錄的優(yōu)越性。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉