文獻標識碼: A
文章編號: 0258-7998(2014)09-0072-03
相控陣雷達是一種多功能、高性能的雷達,,具有多功能,、多目標、遠距離,、高數(shù)據(jù)率,、高可靠性及自適應能力強等優(yōu)點[1]。隨著計算機和集成電路等相關技術的發(fā)展,,相控陣雷達在地基,、?;⒖栈约疤旎玫搅藦V泛的應用,。隨之而來的是,,數(shù)據(jù)記錄的速率和容量也需要相應提升。
而近年來存儲技術發(fā)展得很快,,自2001年SATA1.0標準提出,,如今SATA接口協(xié)議第三代已經達到了6.0 Gb/s[2]。新一代的SSD(Solid State Disk)基于Nand Flash存儲技術提供了超過了200 MB/s傳輸帶寬以及更低的功耗[3],。這些都為相控陣雷達的數(shù)據(jù)高速大容量存儲提供了支持,。本文針對傳統(tǒng)記錄回放系統(tǒng)的兩種架構,設計并實現(xiàn)了一種通用的記錄回放系統(tǒng),,由FPGA控制SATA IP核實現(xiàn)相控陣雷達天線陣面數(shù)據(jù)的高速存儲,。
1 問題的提出
傳統(tǒng)典型的高速數(shù)據(jù)記錄回放系統(tǒng)一般采用兩種架構,即PCIE總線和自定義Flash存儲陣列架構,。PCIE總線架構框圖如圖1所示,。
CPU模塊通過PCIE總線接收采集模塊的數(shù)據(jù)放入內存,然后再經由PCIE總線將內存中的數(shù)據(jù)送給RAID控制模塊,,完成一次記錄操作,。在操作過程中,數(shù)據(jù)流兩次經過內存,,采集模塊和RAID控制模塊共享PCIE總線,,兩個模塊分時通過PCIE總線傳輸數(shù)據(jù)。這種架構的記錄回放系統(tǒng)有以下缺陷:(1)PCIE對于系統(tǒng)來說,,只用到了50%效率,;(2)系統(tǒng)記錄回放速度受限于PCIE總線的傳輸速度。
自定義Flash存儲陣列架構框圖如圖2所示,。該系統(tǒng)為一個獨立模塊,,把Flash芯片分成多個組,通過擴展Flash的位寬,、深度提高記錄速度和存儲容量,。FPGA將數(shù)據(jù)通過Flash的數(shù)據(jù)線、地址線存到Flash陣列里,。這種架構的記錄回放系統(tǒng)有以下缺陷:(1)存儲接口不是基于標準的傳輸存儲協(xié)議,,而且受限于Flash芯片類型,使得系統(tǒng)的通用性與擴展性受限,;(2)一般自定義接口規(guī)范用于滿足某種特定雷達的指標,,一旦指標發(fā)生變化,或者不能滿足雷達系統(tǒng)性能提升的要求,,硬件就需要重新設計,,造成一定的資源浪費,。
2 問題的解決思路
根據(jù)以上的對比,可以將兩者優(yōu)點結合起來,,提出一種新的記錄回放系統(tǒng)結構,。最直接的方式就是在自定義Flash存儲陣列系統(tǒng)中,選用標準的存儲協(xié)議接口代替自定義接口,。目前,,主流的存儲協(xié)議有IDE、SCSI,、SATA等,。IDE和SCSI屬于并行接口,在高速的數(shù)據(jù)傳輸存儲中,,并行傳輸?shù)拇a間串擾等問題會使誤碼率大大提高,,而串行接口協(xié)議就很好地解決了這些問題,該協(xié)議已經相對成熟,;SATA二代支持3 Gb/s的傳輸帶寬,,并且其結構簡單,易于開發(fā)[2],。圖3為SATA陣列記錄回放系統(tǒng)框圖,。
本設計中,在FPGA內部實現(xiàn)SATA硬盤的讀寫操作,。為了提高記錄回放速度,,在FPGA里還實現(xiàn)了RAID0功能,對多個硬盤并行讀寫,。系統(tǒng)的存儲容量和記錄速度可根據(jù)配置硬盤的數(shù)量靈活調整,,大大增強了通用性和可擴展性。
3 實現(xiàn)
FPGA內部的SATA硬盤控制設計是記錄回放系統(tǒng)的核心,。系統(tǒng)選用Xilinx公司的Viretx-5的FPGA芯片,芯片型號為XC5VSX50T,。芯片內部集成的GTP可以滿足SATA2.0協(xié)議中要求的3.0 Gb/s的數(shù)據(jù)傳輸速率,。本系統(tǒng)實現(xiàn)了兩路SATA硬盤的并行讀寫,下面對該設計進行詳細闡述,。
3.1 SATA硬盤控制
使用SATA IP核實現(xiàn)硬盤的讀寫操作,。IP符合SATA協(xié)議要求,采用3層設計,,即物理層,、鏈路層和傳輸層。應用層邏輯開發(fā)基于傳輸層,。傳輸層包含兩個接口,,控制接口和數(shù)據(jù)接口,。控制接口實現(xiàn)對IP內部的寄存器操作,;數(shù)據(jù)接口采用FIFO技術,,為用戶提供讀寫數(shù)據(jù)通道。應用層對IP核的寄存器進行控制,,實現(xiàn)對硬盤的DMA數(shù)據(jù)傳輸,,表1列出了寄存器的詳細信息。
系統(tǒng)采用DMA傳輸對硬盤進行數(shù)據(jù)讀寫,。圖4給出了應用層中一次DMA操作的流程圖,。圖5和圖6分別為在DMA操作過程中寄存器讀寫和數(shù)據(jù)傳輸時序圖。
3.2 RAID0控制
為了提高記錄回放速度,,需要使用多個硬盤組成陣列,。本系統(tǒng)在FPGA內部開發(fā)了兩個硬盤并行讀寫的RAID0控制功能模塊,設計原理如圖7所示,。通過擴展位寬的方式實現(xiàn)兩個硬盤的同步讀寫,。
3.3 數(shù)據(jù)管理
傳統(tǒng)的數(shù)據(jù)記錄回放系統(tǒng)直接以文件形式記錄數(shù)據(jù),文件形式的數(shù)據(jù)可以在操作系統(tǒng)下方便靈活地訪問,,但受到文件系統(tǒng)對文件的管理約束,,記錄過程中的數(shù)據(jù)不一定連續(xù)存儲在硬盤的連續(xù)邏輯塊地址上[7]。在該記錄系統(tǒng)中,,數(shù)據(jù)是順序存儲到硬盤中的,,可以在一定程度上提高記錄系統(tǒng)的帶寬。因此采用了自定義的文件系統(tǒng),,將磁盤的存儲空間分為管理區(qū),、標識區(qū)和數(shù)據(jù)區(qū)。數(shù)據(jù)區(qū)存放實際的數(shù)據(jù),;管理區(qū)存放的是記錄的文件的信息,,一般包括數(shù)據(jù)的存儲位置信息、長度信息及數(shù)據(jù)到文件的映射信息,;標識區(qū)是標記磁盤的空間使用情況,。圖8為自定義文件系統(tǒng)結構示意圖。
該記錄回放系統(tǒng)的數(shù)據(jù)管理可以分為三個步驟,,首先要劃分好硬盤中管理區(qū),、標識區(qū)和數(shù)據(jù)區(qū)的容量,構建好文件系統(tǒng)的框架,;然后把經過記錄的數(shù)據(jù)順序地存放在數(shù)據(jù)區(qū),;最后在一個文件記錄結束后,把文件的位置、大小,、文件的標識符等相關信息添加到管理區(qū)和標識區(qū),。
在每次記錄開始前要先遍歷管理區(qū)中的標識區(qū),根據(jù)標識區(qū)的值來獲得記錄的起始地址,。根據(jù)系統(tǒng)的設計,,記錄的數(shù)據(jù)都是放在數(shù)據(jù)區(qū)的,如果標識區(qū)表明數(shù)據(jù)區(qū)為空,,那這次記錄的起始地址就是數(shù)據(jù)區(qū)的起始地址,,一般情況下是要緊接著上一個文件的結束地址來存儲。如果數(shù)據(jù)區(qū)被寫滿,,會提示是否要清空磁盤的數(shù)據(jù),,包括數(shù)據(jù)區(qū)中存儲的數(shù)據(jù)和管理區(qū)中存儲的文件的相關信息。記錄時,,數(shù)據(jù)被順序存放到數(shù)據(jù)區(qū),。記錄結束時,要將文件的信息寫到管理區(qū)相應的位置,,當然管理區(qū)也是順序讀寫的,,同時要更新標識區(qū)的標識,以便下次記錄時計算數(shù)據(jù)記錄的起始地址,。
4 系統(tǒng)性能測試
在對該記錄回放系統(tǒng)進行測試時,,選用兩塊Intel 公司的固態(tài)硬盤作為存儲介質,型號為SSDSA2SH064G1GC,,單盤標稱的讀速率為250 MB/s,,寫速率為170 MB/s,容量為64 GB,,在Xilinx ISE 14.6中的Chip Scope來觀察波形,。在實際測試中,每個盤一次讀寫256個扇區(qū),,最后測得平均記錄速率為292 MB/s,,回放速率為340 MB/s。同時經過數(shù)據(jù)比對,,記錄回放的數(shù)據(jù)沒有出現(xiàn)錯誤,。圖9和圖10分別為讀寫硬盤時的波形圖。
針對相控陣雷達天線陣面?zhèn)鹘y(tǒng)記錄回放系統(tǒng)的不足,,實現(xiàn)了一種通用性好、集成度高的SATA陣列記錄回放系統(tǒng),。系統(tǒng)基于FPGA實現(xiàn)對SATA硬盤的讀寫,,既滿足了對數(shù)據(jù)存儲速率帶寬的要求,而且不用重新繪制電路板,就可以應用在不同型號的雷達上,。本系統(tǒng)實現(xiàn)了RAID0功能,,兩個硬盤并行讀寫,平均記錄速率為292 MB/s,,回放速率為340 MB/s,。同時,采用自定義的文件管理系統(tǒng),,結構簡單,,便于管理。為了實現(xiàn)更高的速率,,可以在目前實現(xiàn)的兩路硬盤并行讀寫擴展為8路硬盤同時讀寫,,這也是本文的下一步工作。
參考文獻
[1] 胡善清,,劉峰,,龍騰.相控陣雷達光纖傳輸系統(tǒng)的設計與實現(xiàn)[J].光通信技術,2006(5):27-30.
[2] 唐純杰.SATA協(xié)議分析及其FPGA實現(xiàn)[D].長沙:湖南大學,,2009.
[3] 王超,,劉偉,張德聰.基于SATA的嵌入式直接存儲系統(tǒng)[J].計算機工程,,2012,,38(12):232-235.
[4] 王超,劉偉.基于文件系統(tǒng)的高速數(shù)據(jù)記錄系統(tǒng)[J].北京理工大學學報,,2010,,30(5):543-547.
[5] 張樂峰,徐安林,,胡衛(wèi)東.一種通用的雷達回波記錄系統(tǒng)設計方法[J].數(shù)據(jù)采集與處理,,2009(24):272-276.
[6] Xilinx,Inc..Virtex-5 FPGA serial ATA generation 2 protocol standard[Z].2007.
[7] 張昆帆.高速數(shù)據(jù)采集和存儲[J].現(xiàn)代雷達,,2004,,26(4):14-16.
[8] 周雙喜.基于FPGA的高速數(shù)據(jù)記錄系統(tǒng)的研究[D].成都電子科技大學,2010.