引 言
在過去的放系幾十年里伴隨著信息化的推進與無線通信技術的飛速發展,很多新的統設算法不斷被提出。但采用新算法的計實無線通信設備通常需要消耗大量資源進行外場調試和驗證,如果可以獲得大量原始數據,大容那么在實驗室環境就可以通過原理樣機對算法進行較好的量高驗證和優化。數據回放系統是放系獲取真實環境中不易得到的信號的重要手段,根據文獻[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 數據回放系統設計
2.1 硬件設計
2.1.1 Aurora接口電路設計
Aurora 總線是 Xilinx 公司開發的一種輕量級點對點鏈路層協議 [4],與 SRIO和 PCle高速串行總線相比,它具有簡潔、開銷小、鏈路數量和速率選擇靈活等特點。因此,本文采用一路雙向 AuroraX4 總線實現數據回放系統和信號處理系統之間的數據傳輸。對于系統內部,Aurora總線掛接在FPGA 的 GTX口上 ;對于系統外部,VPX 連接器很好地支持 Aurora 高速串行總線。XC7K325T 型號的 FPGA 的 GTX 接口支持最大速率達 12.5Gbps,VPX 連接器傳輸速率高達6.25Gbps,單 lane的 Aurora總線速率配置為 5Gbps,因此系統可以適應高速數據的傳輸。
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 的外設。
圖 5 基于 SATA 的存儲方案圖
2.2 軟件設計
上位 PC 機軟件主要包含顯示控制程序和通信管理程序。顯示控制程序實現人機交互界面,而通信管理程序則負責完成與數據回放系統之間的 TCP/IP 協議通信。本文設計的上位 PC 機軟件界面如圖 6 所示。
圖 6 上位 PC 機軟件界面
用戶通過上位機軟件完成對數據回放系統的管理,具體功能實現如下 :
(1) 顯示數據回放系統的硬件狀態 ;
(2) 顯示實時存儲和回放數據的信息狀態 ;
(3) 下發存儲、回放等指令給數據回放系統 ;
(4) 下發導出、導入數據操作。
3 性能評估
在實驗室環境下,回放系統設備上電后實測結果如下 :
(1) 數據回放系統最大存儲速度為 1200MB/s,最大回放速度達 1 800 MB/s。根據信號處理系統的 A/D 采樣速率和后續基帶信號處理的時鐘速率,數據回放系統可以自適應降速存儲和回放。
(2) 千兆以太網最大導入數據速度約為 98MB/s,最大導出數據速度約為 70 MB/s。
(3) 如果按照 600MB/s的速率存儲數據,數據回放系統可以連續存儲 2 h 以上。
4 結 語
本文設計了一種大容量高速率的數據回放系統。采用mSATA SSD 盤作為存儲介質,Aurora 總線作為數據傳輸總線,千兆以太網作為數據導入、導出接口。該回放系統體積小、存儲容量大、存儲和回放速度高、穩定性好。經工程驗證, 該系統可以較好地滿足整機設備對數據回放的要求。