基于磁盤陣列的全數字遙測記錄系統(tǒng)的設計
我國遙測記錄設備經歷了倍密度磁帶機和旋轉頭磁帶機兩代產品,目前仍在使用。從記錄原理上說他們皆屬于模擬記錄設備,在長期使用當中,已暴露出諸多缺陷:
(1)磁帶耗材依賴進口,價格昂貴且記錄容量小、重復使用率低、數據保存時間短。
(2)磁頭和機械運帶機構屬精密加工器件,調校過程相當復雜,長期使用磨損嚴重,記錄性能顯著惡化,給設備維護帶來極大不便。
隨著計算機硬盤制造技術的飛速發(fā)展和數字存儲技術的問世及不斷應用,采用大容量高速硬盤記錄模擬遙測信號的數字化記錄設備DRS(Digital Record System)[1]已經出現,并成為遙測記錄設備的換代產品,但設計上存在不足:
(1)數字化程度低:記錄信號中心頻率只有2.1 MHz,不能對左右旋圓極化70 MHz檢前信號直接記錄,要依賴額外的模擬下變頻器作轉換處理,不適應對全新的數字綜合基帶遙外測設備的記錄要求。
(2)擴展性差:由于采用專用的數據傳輸通道,帶寬有限(16 b)且固定,故一旦要增加記錄信號的路數,只能靠增加硬件通道數來增加帶寬,相應地要增加控制驅動記錄的板卡數量,并導致輸入輸
(3)單硬盤工作模式可靠性難以保證,一旦硬盤損壞,整個系統(tǒng)癱瘓,已記錄數據無法恢復。 (4)未能利用國際通行的技術規(guī)范和標準,不利于產品升級換代,從長遠看難以形成新的業(yè)內標準。
以上不足說明DRS在最初的體系結構設計上存在根本性的缺陷,若想徹底克服,必須重新改進體系結構設計,盡量采用當前國內外在數字存儲方面先進、通行的技術,因此RAID(廉價冗余磁盤陣列)技術為我們提供了新的設計思路和理念。作者經過深入研究論證和大量的前期試驗,終于設計并實現了以RAID陣列為核心的全數字遙測記錄系統(tǒng)RDRS。
2 系統(tǒng)設計
2.1整機體系結構設計
RAID標準提供了數字存儲方面全方位的解決方案,其中RAID5采用具有分布式奇偶校驗的磁盤物理條帶(stripings)來跨越單個磁盤平均分配數據和冗余校驗信息[2],在保證數據安全的前提下,可獲得極高的數據吞吐率和磁盤利用率,尤其適合高速連續(xù)大塊數據的傳輸。綜合考慮遙測記錄的極高安全性、實時性、超大存儲空間和更多的記錄通道,陣列模組選用以5塊容量各為100 GB的SA TA硬盤組成RAlD5標準,用高性能的ARECA-1120 SA-TA RAID控制卡作驅動,RAID卡采用OEM產品,可減少硬件開發(fā)工作量。之所以未選用更高性能的SCSI硬盤作模組是由于SCSI硬盤數據接口過于寬大(50芯),而SATA硬盤是目前市場上漸趨流行的串行ATA接口的新一代高性能硬盤,其外部數據傳輸率已達300 MB/s,接近SCSI硬盤(320 MB/s),但其接口電纜只有8芯,布線十分方便靈活,非常適合組成陣列模組,可節(jié)省機箱空間,便于快速更換。整機體系結構如圖1所示。
他以64位擴展的PCI總線作為硬件開發(fā)平臺,可提供528 Mb/s的高數據傳輸帶寬,而CPU仍采用高性能的32位P4(2.4 GHz)處理器,通過主橋實現總線緩沖來直接映射到64位總線地址空間。硬件部分獨立開發(fā)了通用性和擴展性非常強的基于PCI總線的中頻和視頻采集卡。軟件環(huán)境采用基于RT-Linux 3.1實時操作系統(tǒng)內核,在RedHat 8.0(內核版本 Linux 2.4.18)系統(tǒng)平臺下開發(fā),采用標準C語言編制底層驅動及用戶應用程序。在 Kylix開發(fā)環(huán)境下,用C++編寫X-Windows下的用戶界面程序。由于系統(tǒng)規(guī)定的錄放速度高達500 Mb/s,PCI視頻采集卡對系統(tǒng)中斷響應時間的要求就非常高,為此專門選用了基于Linux的實時操作系統(tǒng)RT-Linux平臺,RT-Linux可在Linux內核源代碼的基礎上通過修改部分系統(tǒng)程序代碼來改善Linux的實時性,修改后的Linux(即RT-Linux)能快速響應硬件中斷(中斷響應時間小于15 μs)[3],滿足了系統(tǒng)的實時性要求,為高速采集而不丟數據提供保證。同時提供了一套標準接口函數,以實現RT-Linux進程與普通Linux進程間的數據傳輸及共享。由于系統(tǒng)記錄的數據文件有時高達幾十GB甚至上百GB的容量,用普通的文件系統(tǒng)在RT-Linux下已不能滿足容量要求,為此移植了XFS文件系統(tǒng)來管理采集的文件。XFS是Silicon Graphics公司開發(fā)的一種全新的高性能64位文件系統(tǒng),該文件系統(tǒng)既擴展了分區(qū)及文件容量的限制(最大為9 000 TB),又提高了文件存儲處理速度。
2.2系統(tǒng)硬件設計
硬件結構設計如圖2所示。其中主要設計部件為中頻和視頻采集卡,他分為記錄電路和回放電路兩部分,數據記錄時,70 MHz中頻信號首先經聲表面波濾波器濾除帶外信號,再經固定增益和AGC電路將信號強度控制在A/D采樣的理想電平范圍內,用高速ADC(40 MSPS)對70 MHz信號直接采樣后送人中頻采集卡的FPGA,經數字下變頻將中頻帶通信號頻譜向下搬移至基帶,形成I,Q兩路正交的基帶信號,并CIC濾波器進行抽樣率變換,得到多路合流的視頻數字群信號,通過LVDS高速接口送人視頻采集卡的FPGA,完成數據打包、緩沖和時序控制,當數據填滿一個數據塊大小,視頻采集卡向系統(tǒng)發(fā)中斷,請求數據傳輸,系統(tǒng)應答后,以DMA方式通過64位PCI總線發(fā)送到系統(tǒng)內存,內存中數據累積到一定數據量,通過PCI總線將數據塊寫入RAID卡并分發(fā)到磁盤陣列中?;胤胚^程是記錄的逆過程,電路上的主要差別是視頻數字群信號要分別通過數字移相網絡和數字群延遲網絡恢復I,Q兩路正交信號并經共同的DDS時鐘控制分頻的數字本振NCO進行數字上變頻,完成基帶頻譜向上搬移,后經高速DAC得到70 MHz中頻模擬信號完成回放過程。
2.3 系統(tǒng)軟件設計
系統(tǒng)軟件的主要作用就是與配套的硬件相互協(xié)調工作完成中頻檢前信號實時記錄和事后回放。他分成視頻采集卡驅動模塊、主控進程、記錄/回放進程和用
戶界面。其中視頻采集卡驅動模塊作為驅動程序以模塊的形式插入內核空間運行,由于用戶空間進程不能直接訪問底層硬件設備,所以驅動模塊是上層應用程序和設備物理層之間的橋梁,上層應用程序不必關心硬件設備的具體信息,即可通過RT-Linux的指令FIFO完成對視頻采集卡的控制。驅動模塊負責完成對視頻采集卡的設置、控制和狀態(tài)采集,以及定時讀取視頻采集卡內的B碼值和鎖定標志。上層應用程序也可通過指令FIFO來設置視頻采集卡內的B碼值。視頻數據采集卡模塊和上層應用之間通過RT-Linux的共享內存來共享系統(tǒng)的關鍵性狀態(tài)、控制數據,實現內核態(tài)和用戶態(tài)程序的數據共享。主控進程為用戶空間的普通Linux進程,他負責完成系統(tǒng)的初始化、維護和指令傳輸等任務。完成用戶空間程序到內核空間程序間的指令傳遞。他多處于等待狀態(tài),當接收到來自用戶(X-Window窗口界面或文本調試界面)的指令(通過信號量實現)時,經過FIFO發(fā)給內核進程,實現指令的傳遞。同時當他發(fā)送啟動采集/回放命令后,會負責創(chuàng)建獨立的讀/寫盤進程,來實現數據的硬盤記錄和回放。主控進程維護了一個初始的系統(tǒng)配置參數文件,系統(tǒng)停止運行后,他會保存系統(tǒng)的當前狀態(tài),在系統(tǒng)再次啟動時用于初始化系統(tǒng)參數,同時主控進程在每次啟動時會對盤陣上的任務文件進行修復,以保證因停電等意外故障導致的關機發(fā)生時,對沒有結束的任務文件進行修復。記錄/回放進程被主控進程創(chuàng)建后,便不斷地在硬盤和采集緩存間(MBUFF)傳輸數據,記錄時只要采集緩存(MBUFF)有數據,他就將數據寫入硬盤陣列中。而回放時他首先將回放的數據填滿采集緩存(MBUFF),然后當數據被DMA傳送完成后,再次讀取硬盤陣列中數據,將空出的采集緩存(MBUFF)填滿。當記錄/回放停止后,該進程自動結束。用戶界面是基于X-window的用戶進程。他以窗口的形式提供給用戶一可視的操控平臺,實時顯示系統(tǒng)狀態(tài)、任務內容信息和盤陣空間使用狀態(tài),接受用戶如下指令:B碼設置/顯示、開始記錄、盤陣上任務文件的回放、改名、轉儲、刪除及數據正確性校驗等管理性功能。當用戶啟動開始采集記錄時,控制命令發(fā)給主控進程,主控進程建立一個寫盤進程,同時將采集命令通過指令FIFO發(fā)給底層的視頻采集卡,使視頻采集設備開始采集數據。視頻采集設備會連續(xù)的采集輸入的中頻檢前信號流數據到的視頻采集卡內的乒乓緩存內,當乒乓緩存緩存滿時,他會切換到另一片乒乓緩存繼續(xù)采集數據,同時會產生一個數據就緒中斷,觸發(fā)系統(tǒng)的中斷服務程序。中斷服務程序啟動一次DMA傳輸將乒乓緩存內的數據依次傳輸到采集緩存(MBUFF)內,并調整下一次存儲數據的采集緩存(MBUFF)指針,使采集數據在這里暫存且不被覆蓋。而寫盤進程實時的檢測采集緩存(MBUFF)內是否有新采集的數據,如果有會馬上寫入的硬盤陣列中,512 MB的采集緩存(MBUFF),保證了采集數據未被覆蓋前既被寫入到盤陣。同樣的,當回放時,預先將盤上的回放數據讀到緩存內,再發(fā)送回放命令,這樣即使讀盤速度暫時降低,也可以保證緩存內有足夠的回放數據被輸出到視頻采集卡,保證了回放的連續(xù)性。
3 結 語
為了檢驗系統(tǒng)性能和工作可靠性,研制樣機進行了累計1 000 h的環(huán)境應力試驗(包括測試時間)和100 h的加速壽命試驗,表現均穩(wěn)定可靠,記錄數據滿足各項指標。同時還反復進行了記錄過程磁盤陣列單盤掉電數據恢復測試,結果令人滿意,充分驗證了RAID技術用于數字記錄的優(yōu)越性。
評論