一種用于飛行器下傳數(shù)據(jù)處理的高速數(shù)據(jù)采集存儲系
0 引言
隨著遙感技術(shù)的發(fā)展,遙感圖像的分辨率也越來越高。飛行器上搭載的遙感成像設(shè)備也從過去的低分辨率向現(xiàn)在的高分辨率在轉(zhuǎn)變。遙感成像設(shè)備分辨率提高的同時,也對飛行器的數(shù)據(jù)下傳鏈路提出了更高的帶寬要求。而相應(yīng)的地面數(shù)據(jù)接受設(shè)備,也需要具備對高速實時數(shù)據(jù)的存儲和處理能力。同樣在測試設(shè)備方面,為了對大容量存儲設(shè)備進行高速數(shù)據(jù)的傳輸測試,相應(yīng)的地面檢測設(shè)備也應(yīng)該具備高速數(shù)據(jù)的輸出功能。因此,急需開發(fā)出具備高速實時數(shù)據(jù)接收和高速數(shù)據(jù)輸出功能的高速數(shù)據(jù)采集存儲系統(tǒng)。
從目前此類系統(tǒng)的技術(shù)指標來看,往往只能達到100Mbps到150Mbps的數(shù)據(jù)接收和數(shù)據(jù)輸出功能。而根據(jù)目前的應(yīng)用需求來看,高速數(shù)據(jù)流的數(shù)據(jù)傳輸速率往往在200Mbps以上甚至達到300Mbps。對于這種高速數(shù)據(jù)流,目前的系統(tǒng)就難以連續(xù)無錯的進行存儲和處理,往往會因為數(shù)據(jù)傳輸速率超過系統(tǒng)能處理的極限,導致出現(xiàn)丟失數(shù)據(jù)或者系統(tǒng)功能不正常,狀態(tài)不穩(wěn)定等問題。
本文中介紹的高速數(shù)據(jù)采集存儲系統(tǒng)的設(shè)計目標就是對傳輸速率最高為300Mbps的數(shù)據(jù)流進行無錯接收存儲,并能實現(xiàn)最高為300Mbps的高速數(shù)據(jù)流輸出,以便于對大容量存儲設(shè)備進行檢測。
1 系統(tǒng)總體介紹
高速數(shù)據(jù)采集存儲系統(tǒng)是在32位的計算機系統(tǒng)上實現(xiàn)的,數(shù)據(jù)傳輸也是利用32位,33MHz的PCI總線來完成。數(shù)據(jù)存儲是利用兩塊SATA接口的硬盤組成的RAID0磁盤陣列來實現(xiàn)的。整個系統(tǒng)的核心是數(shù)據(jù)傳輸接口卡,它完成外部數(shù)據(jù)到計算機內(nèi)存的傳輸。然后運行的驅(qū)動程序再將內(nèi)存中的數(shù)據(jù)存儲到硬盤上。因此,整個系統(tǒng)的設(shè)計也就分為數(shù)據(jù)傳輸接口卡的設(shè)計和驅(qū)動及應(yīng)用程序設(shè)計兩大部分。
2 數(shù)據(jù)傳輸接口卡設(shè)計
數(shù)據(jù)傳輸接口卡從功能上分為PCI總線接口,存儲緩沖區(qū),中斷模塊,傳輸控制模塊,緩沖區(qū)控制以及DMA控制六個模塊,如圖2-1中所示。當工作于數(shù)據(jù)輸入時,傳輸控制模塊根據(jù)緩沖區(qū)情況啟動傳輸,傳輸過程中緩沖區(qū)控制模塊將數(shù)據(jù)讀出送到PCI總線上,DMA控制模塊控制著PCI總線上數(shù)據(jù)傳輸?shù)倪M行。傳輸結(jié)束以后,中斷模塊發(fā)出中斷信號提示驅(qū)動程序?qū)鬏數(shù)絻?nèi)存中的數(shù)據(jù)進行處理。下面主要介紹PCI總線接口模塊,DMA控制模塊,存儲緩沖區(qū)模塊以及傳輸控制模塊幾個核心模塊的設(shè)計。
2.1 PCI總線接口模塊的設(shè)計
PCI總線接口模塊完成的工作主要是PCI總線命令的解碼,地址以及數(shù)據(jù)的鎖存。實現(xiàn)PCI接口常用的方法是采用現(xiàn)成的PCI總線接口協(xié)議芯片(PLX905X系列等),如文獻[2]中數(shù)據(jù)采集板的設(shè)計就是采用的這種方法。但是由于這些協(xié)議芯片往往不是針對空間應(yīng)用而專門開發(fā)的,從可靠性方面考慮,不能采用這種設(shè)計方案。在本方案中,整個接口的設(shè)計是在使用Xilinx公司提供的LogiCORE PCI v3.0的IP核(IP Core)的基礎(chǔ)上實現(xiàn)的。LogiCORE PCI v3.0是Xilinx公司提供的用于PCI總線接口設(shè)計的IP 核,在它的基礎(chǔ)上可以根據(jù)實際應(yīng)用的需要很方便的定制和實現(xiàn)PCI總線接口。由于IP 核本身實現(xiàn)了配置空間以及總線命令的解碼和地址的鎖存,所以設(shè)計者只需要專注于PCI傳輸狀態(tài)機和本地控制信號的設(shè)計。采用這種實現(xiàn)方式雖然比直接使用PCI接口專用芯片更為復雜,但是整個設(shè)計可以集成于一片高可靠性的FPGA之中,從而有效的提高了整個設(shè)計的可靠性。
2.2 DMA控制模塊的設(shè)計
為了滿足高速率數(shù)據(jù)傳輸?shù)男枰⑶以跀?shù)據(jù)傳輸?shù)耐瑫r不占用CPU,所以必須采用DMA的方式來傳輸數(shù)據(jù)。由于PCI總線上的DMA傳輸是通過PCI設(shè)備本身的DMA控制功能來完成的,而不是依靠總線上單獨的DMA控制設(shè)備來實現(xiàn),所以在設(shè)計時必須實現(xiàn)DMA控制模塊。DMA控制模塊在數(shù)據(jù)傳輸周期發(fā)出控制命令以及更新地址。其中傳輸?shù)刂房刂瓶梢砸蕾囈唤M傳輸?shù)刂芳拇嫫鱽韺崿F(xiàn),而傳輸?shù)目刂瓶梢酝ㄟ^PCI傳輸狀態(tài)機給出的信號來產(chǎn)生控制信號。
2.3 存儲緩沖區(qū)模塊的設(shè)計
為了保證數(shù)據(jù)的連續(xù)不間斷傳輸,每次傳輸只傳輸半個緩沖區(qū)的數(shù)據(jù),而外部數(shù)據(jù)總是在兩個半?yún)^(qū)之間切換儲存,因此不會造成數(shù)據(jù)的丟失和不連續(xù)。
評論