黃剛



摘 要:為滿足無線通信設備回放工作過程數據文件的要求,設計了一種實時高速的數據回放系統。系統采用固態硬盤作為存儲介質,將Aurora高速串行總線和以太網作為數據傳輸接口,實現海量數據的高速實時存儲和回放。系統已經在工程中進行應用驗證,性能良好。
關鍵詞:數據回放;固態硬盤;SATA 3.0;高速總線;Aurora;以太網
中圖分類號:TP39;TN91文獻標識碼:A文章編號:2095-1302(2019)06-00-03
0 引 言
在過去的幾十年里伴隨著信息化的推進與無線通信技術的飛速發展,很多新的算法不斷被提出。但采用新算法的無線通信設備通常需要消耗大量資源進行外場調試和驗證,如果可以獲得大量原始數據,那么在實驗室環境就可以通過原理樣機對算法進行較好的驗證和優化。數據回放系統是獲取真實環境中不易得到的信號的重要手段,根據文獻[1-3]可知,回放系統已經在雷達、醫療、電力等領域被大量運用。一般情況下,設備將采集的數據存儲于數據回放系統中,然后利用數據回放系統中的數據進行數據分析、算法驗證和優化等。為了使無線通信系統的算法能夠方便驗證和優化,本文設計了一種大容量高速數據回放系統,首先分析了系統的整體架構和工作原理,然后對數據回放系統的硬件和軟件進行設計,最后對系統做出性能評估。
1 系統總體方案
回放系統整機設備示意如圖1所示。整機設備主要由信號處理系統和數據回放系統組成。數據回放系統和信號處理系統通過Aurora高速串行總線和I2C總線連接,同時數據回放系統預留以太網接口用于與計算機通信。數據存儲和回放指令通過I2C總線或者以太網下發給數據回放系統,信號處理系統和計算機分別通過Aurora總線和以太網與數據回放系統進行數據傳輸。
本文設計的數據回放系統硬件架構如圖2所示,主要由FPGA單元、存儲單元、高速緩存單元、以太網單元等組成。項目選擇XC7K325T-2FFG900型號的FPGA芯片作為數據回放系統的核心主控單元,其他高速總線、第三代雙倍數據速率同步動態隨機存儲器(DDR3)和固態硬盤(SSD)等器件外掛在FPGA芯片上。對于數據存儲過程,外部數據通過Aurora總線傳輸到數據回放系統,數據進入接收緩存FIFO,然后被搬移至DDR3,最后通過SATA控制器將數據存入SSD中。數據回放過程:SATA控制器從SSD中取數據,將數據緩存到DDR3,再將數據存入發送緩存FIFO中,最后通過Aurora總線回放至信號處理系統或通過以太網回放至本地計算機。
2 數據回放系統設計
2.1 硬件設計
2.1.1 Aurora接口電路設計
Aurora總線是Xilinx公司開發的一種輕量級點對點鏈路層協議[4],與SRIO和PCle高速串行總線相比,它具有簡潔、開銷小、鏈路數量和速率選擇靈活等特點。因此,本文采用一路雙向Aurora X4總線實現數據回放系統和信號處理系統之間的數據傳輸。對于系統內部,Aurora總線掛接在FPGA的GTX口上;對于系統外部,VPX連接器很好地支持Aurora高速串行總線。XC7K325T型號的FPGA的GTX接口支持最大速率達12.5 Gbps,VPX連接器傳輸速率高達6.25 Gbps,單lane的Aurora總線速率配置為5 Gbps,因此系統可以適應高速數據的傳輸。
Rocket I/O是一種內嵌在FPGA內部的高速串行收發器,可以支持Aurora,PCIe等多種通信協議[5]。本文采用基于高速串行收發器Rocket I/O的Aurora IP核實現Aurora通信。Aurora傳輸數據過程如圖3所示,其中IP核配置為流模式傳輸,通信模式為全雙工,單通道速率為5 Gb/s,輸入系統的參考時鐘為125 MHz,用戶時鐘為250 MHz,發送和接收數據位寬為64 bit。物理層進行了8 B/10 B編碼,因此單通道速率可達4 Gbps。
2.1.2 以太網接口電路設計
數據回放系統要求通過計算機實現數據導入、導出以及發送控制命令。采用以太網技術的設備可通過TCP/IP協議進行數據傳輸,無需進行傳輸協議轉換,使用和維護設備簡單[6]。系統采用FPGA外掛千兆以太網的方案實現計算機和數據回放系統之間的通信。千兆以太網采用全雙工模式,傳輸速率可選10 Mbps/100 Mbps/1 000 Mbps,接口電氣特性遵循IEEE802.3標準。
通常,網絡傳輸協議包含TCP和UDP兩種[7]。為保證數據的高可靠性,系統采用TCP協議傳輸數據。以太網實現框圖如圖4所示,其中網絡PHY芯片選用MARVELL的88E1111芯片,TCP/IP IP核通過Verilog硬件描述語言實現TCP/IP協議棧。
2.1.3 高速緩存電路設計
為防止接收的數據丟失,采用DDR3對接收的數據進行緩存。本文選用的DDR3芯片型號為MT41K256M16HA-125IT:E。兩片DDR3數據位拼接成32位用于數據緩存,拼接的DDR3接到FPGA的高性能I/O口HP上,最高帶寬可達6 400 MB/s。
FPGA和DDR3的通信通過Xilinx公司的MIG IP實現。DDR3的MIG IP核包含用戶接口模塊、存儲控制模塊和物理層模塊[8]。MIG IP核通過物理層接口與DDR3連接,用戶接口與FPGA用戶邏輯連接,從而實現用戶邏輯與DDR3的橋接功能。
2.1.4 存儲電路設計
SSD是以FLASH代替傳統硬盤盤片作為存儲介質,使用SATA系列類型接口的新型存儲設備[9]。SSD在訪問速度、功耗和可靠性等方面相比傳統硬盤有著明顯優勢,因此文本采用SSD作為數據存儲介質。存儲單元采用4個標稱容量為1 TB的mini-SATA(mSATA)接口的固態硬盤來存儲信號處理系統采集的數據。mSATA SSD全部外掛在FPGA的GTX高速接口上,且mSATA SSD與FPGA之間的通信采用標準的SATA3.0通信協議[10]。
本文采用圖5所示的基于SATA的存儲方案,方案的核心是實現SATA 3.0協議。SATA協議由應用層、傳輸層、鏈路層和物理層組成[11]。應用層主要完成命令的設置;傳輸層將命令層數據封裝成FIS幀格式的數據幀;鏈路層主要完成數據的CRC校驗和加解擾處理;物理層負責將上層并行數據轉換成串行碼流并傳輸出去。本項目首先通過硬核GTX構建物理層高速串行收發器和OOB信號的檢測來實現物理層,然后利用Verilog硬件描述語言實現SATA 3.0協議的鏈路層和傳輸層,最后將上述三層協議封裝成SATA IP核。項目利用Xilinx的Vivado軟件內建一個MicroBlaze軟核,將SATA IP核作為MicroBlaze的外設。系統利用Xilinx公司提供的EDK開發環境將SATA IP核掛載到AXI總線上,通過這種方式EDK便可以靈活定制MicroBlaze的外設。
2.2 軟件設計
上位PC機軟件主要包含顯示控制程序和通信管理程序。顯示控制程序實現人機交互界面,而通信管理程序則負責完成與數據回放系統之間的TCP/IP協議通信。本文設計的上位PC機軟件界面如圖6所示。
3 性能評估
在實驗室環境下,回放系統設備上電后實測結果如下:
(1)數據回放系統最大存儲速度為1 200 MB/s,最大回放速度達1 800 MB/s。根據信號處理系統的A/D采樣速率和后續基帶信號處理的時鐘速率,數據回放系統可以自適應降速存儲和回放。
(2)千兆以太網最大導入數據速度約為98 MB/s,最大導出數據速度約為70 MB/s。
(3)如果按照600 MB/s的速率存儲數據,數據回放系統可以連續存儲2 h以上。
4 結 語
本文設計了一種大容量高速率的數據回放系統。采用mSATA SSD盤作為存儲介質,Aurora總線作為數據傳輸總線,千兆以太網作為數據導入、導出接口。該回放系統體積小、存儲容量大、存儲和回放速度高、穩定性好。經工程驗證,該系統可以較好地滿足整機設備對數據回放的要求。
參 考 文 獻
[1]黃俊,陳春輝,陳亞駿.高速雷達數據回放系統的實現[J].信息技術,2007(2):91-94.
[2]張寧,王言章.便攜式動態心電記錄儀及數據回放系統設計[J].長春理工大學學報,2006,29(4):16-18.
[3]梁言,郎兵.超高壓可控并聯電抗器錄波回放系統設計[J].工業儀表與自動化裝置,2012(4):53-56.
[4]李維明,陳建軍,陳星锜.基于Aurora協議的高速通信技術的研究[J].電子技術應用,2013,39(12):37-40.
[5]陳長林,邱兆坤.Rocket I/O及其在高速數據傳輸中的應用[J].單片機與嵌入式系統應用,2010(11):25-28.
[6]韋宏,付友濤,孔凡鵬,等.基于FPGA的千兆以太網設計[J].現代電子技術,2012,35(18):56-59.
[7]徐俊. 基于FPGA的嵌入式TCP/IP協議棧的實現[D].上海:華東師范大學,2008.
[8]王紅兵,強景,周珍龍.Xilinx MIG IP核的研究及大容量數據緩沖區的實現[J]. 電子產品世界,2016(8):43-46.
[9]楊宇光.SSD技術及應用[J].信息技術與標準化,2010(4):17-20.
[10]吳從中,但德東,劉盛中.SATA3.0協議物理層握手模塊設計與驗證[J].合肥工業大學學報(自然科學版),2014,37(5):6041-608.
[11]楊亞濤,張松濤,李子臣,等.SATA 3.0物理層設計與FPGA實現[J].計算機工程與應用,2017,53(20):38-42.