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