鄭駿 徐海納
摘要:數(shù)據(jù)存儲模塊廣泛地用于雷達(dá)、醫(yī)療、通信等行業(yè)。隨著雷達(dá)系統(tǒng)高數(shù)據(jù)率、小型化的要求,對數(shù)據(jù)存儲模塊帶來了更大的挑戰(zhàn)。針對相關(guān)要求,設(shè)計了一款基于Zynq-7100的數(shù)據(jù)存儲模塊。該數(shù)據(jù)存儲模塊一方面采用Zynq-7100內(nèi)的PL實現(xiàn)raid0方式完成對多路mSATA盤的控制,以及高速采集數(shù)據(jù)的收發(fā);另一方面采用Zynq的PS實現(xiàn)自定義文件,完成了對mSATA盤的管理。模塊測試結(jié)果表明,設(shè)計的數(shù)據(jù)儲存模塊速度高,性能穩(wěn)定,并有效地減少了設(shè)備的體積。
關(guān)鍵詞:Zynq-7100;raid0;mSATA;文件系統(tǒng)
中圖分類號:TP311? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)23-0045-02
數(shù)據(jù)存儲模塊是用來對系統(tǒng)運行、系統(tǒng)測試或科學(xué)試驗等過程中產(chǎn)生的數(shù)據(jù)流或信號進(jìn)行記錄,后期向用戶提供獲得的原始數(shù)據(jù)的設(shè)備。其廣泛應(yīng)用于軍工、安全、控制、航天航空等領(lǐng)域。隨著雷達(dá)系統(tǒng)的發(fā)展,高速多通道采集技術(shù)的成熟,對相應(yīng)的數(shù)據(jù)存儲模塊提出了更大的要求:1)高存儲速率,可以實時連續(xù)記錄高速的原始數(shù)據(jù);2)大存儲容量,滿足采集設(shè)備下發(fā)的海量數(shù)據(jù)的存儲;3)存儲可靠性,保證存儲設(shè)備穩(wěn)定的工作,以及存儲數(shù)據(jù)的正確性;4)小型化設(shè)計,在保證存儲容量的同時,需要減少系統(tǒng)的體積,有一定的擴(kuò)展性。
Xilinx公司的全可編程Zynq-7100系列芯片成功將高大1GHz的Cortex-A9 MPCore雙核處理器與低功耗可編程邏輯緊密集成在一起;并在ARM處理器與FPGA之間采用AXI4通信總線,在器件內(nèi)部提供了高可靠性,高帶寬的通道。結(jié)合該器件的優(yōu)勢,設(shè)計實現(xiàn)的數(shù)據(jù)存儲模塊相對于其他架構(gòu)的存儲模塊具有存儲速率高,存儲空間靈活的特點。
1 數(shù)據(jù)存儲模塊總體設(shè)計
基于Zynq-7100數(shù)據(jù)存儲模塊由數(shù)據(jù)處理單元和數(shù)據(jù)存儲單元兩部分組成,數(shù)據(jù)存儲模塊總體框圖如圖1所示。
數(shù)據(jù)處理單元完成高速數(shù)據(jù)的接收,存儲自定系統(tǒng)的數(shù)據(jù)打包,數(shù)據(jù)寫入讀取,以及外部通信、調(diào)試的工作。
數(shù)據(jù)存儲單元由mSATA固態(tài)硬盤陣列構(gòu)成,提供1TB~8TB的存儲空間的擴(kuò)展,以及410MB/s~3.2GB/s的數(shù)據(jù)讀寫速率。
2 硬件構(gòu)成與設(shè)計
基于Zynq-7100數(shù)據(jù)存儲模塊硬件設(shè)計框圖如圖2所示。模塊為標(biāo)準(zhǔn)的6U VPX結(jié)構(gòu),其主要由Zynq-7100處理平臺,數(shù)據(jù)存儲單元DDR3、FlASH,文件存儲單元,以及通信外設(shè)組成。
2.1 Zynq-7100處理平臺
Zynq-7100處理平臺主要實現(xiàn)高速數(shù)據(jù)的接收,存儲文件的生成,存儲,轉(zhuǎn)儲,以及系統(tǒng)狀態(tài)檢測的功能。
XC7Z100芯片為Xilinx公司Zynq-7000系列的全可編程Soc,PL單元提供1組X4的SRIO接口;提供8組SATA接口;提供多個交互接口。PS單元則提供以太網(wǎng)接口,以及串行接口。
借助AXI(高級擴(kuò)展總線)互聯(lián)技術(shù),實現(xiàn)芯片內(nèi)部PL與PS之間的高性能的數(shù)據(jù)交換。為自定義文件系統(tǒng)的生成,文件數(shù)據(jù)管理方面提供了片內(nèi)高速可靠的途徑。
2.2 數(shù)據(jù)存儲單元
數(shù)據(jù)存儲單元分為3個部分:數(shù)據(jù)緩存、內(nèi)存以及配置存儲部分。
數(shù)據(jù)緩存單元采用兩組MT29F系列芯片,構(gòu)建容量為4GB存儲數(shù)據(jù)的緩存。
內(nèi)存單元采用2片MT41K系列芯片以及1GB的數(shù)據(jù)空間,完成系統(tǒng)的運行。
配置存儲單元采用256Mb的QSPI FLASH芯片,用于系統(tǒng)的上電配置以及引導(dǎo)。
2.3 外部通信單元
外部通信單元主要有以太網(wǎng)通信單元,串口通信單元,以及GPIO接口單元。
以太網(wǎng)通信單元,選用100/1000M傳輸速率自適應(yīng)功能的以太網(wǎng)物理層芯片88E1116。配合XC7Z100芯片PS單元的MAC層控制器,實現(xiàn)以太網(wǎng)通信功能。
串口通信單元,選用電平轉(zhuǎn)換芯片MAX3232。配合XC7Z100芯片PS單元的串口控制器,實現(xiàn)串口通信功能。
GPIO接口單元,由XC7Z100芯片PL單元直接提供,采用電平轉(zhuǎn)換芯片進(jìn)行信號的保護(hù)。
2.4 文件存儲單元
文件存儲單元由mSATA固態(tài)硬盤構(gòu)成。其讀寫速率可達(dá)到410MB/s,物理接口為mSATA接口。
設(shè)計中固態(tài)硬盤通過接插件安裝在電路板上??蓪崿F(xiàn)多達(dá)8塊固態(tài)硬盤的安裝??梢愿鶕?jù)需要安裝靈活安裝所需的固態(tài)硬盤。
3軟件系統(tǒng)架構(gòu)與設(shè)計
本設(shè)計采用Vivado2017.4設(shè)計套件完成軟件系統(tǒng)的架構(gòu)與調(diào)試工作。按照存儲的功能,將整個系統(tǒng)分為五個功能模塊,分別為高速數(shù)據(jù)接口管理模塊、數(shù)據(jù)緩存管理模塊、文件系統(tǒng)管理模塊、RAID控制管理模塊,狀態(tài)顯示模塊。
3.1 高速數(shù)據(jù)接口管理模塊設(shè)計
高速數(shù)據(jù)接口管理模塊主要通過Zynq-7100的高速串行數(shù)據(jù)收發(fā)控制器實現(xiàn)的控制功能,提供存儲系統(tǒng)對外的數(shù)據(jù)交互控制。
接收數(shù)據(jù)經(jīng)過高速數(shù)據(jù)接口管理模塊。如果是模塊的控制指令,將被分發(fā)到文件系統(tǒng)管理模塊;反之將分發(fā)到數(shù)據(jù)緩存管理模塊。
發(fā)送數(shù)據(jù)經(jīng)過高速數(shù)據(jù)接口管理模塊,區(qū)分模塊的狀態(tài)數(shù)據(jù)、轉(zhuǎn)儲數(shù)據(jù),供外部系統(tǒng)使用。
3.2 數(shù)據(jù)緩存管理模塊設(shè)計
由于數(shù)據(jù)存儲單元(mSATA)在數(shù)據(jù)存儲時會有短暫性的帶寬下滑,以及數(shù)據(jù)偶發(fā)的數(shù)據(jù)傳輸錯誤出現(xiàn),采用DDR3存儲芯片實現(xiàn)輸入數(shù)據(jù)的緩存。
數(shù)據(jù)存儲模塊對外的數(shù)據(jù)輸入接口為X4 SRIO,最大數(shù)據(jù)速率為5Gb/s×4×0.8=2GB/s(即每秒有2GB的數(shù)據(jù)需要寫入)。而模塊的數(shù)據(jù)存儲單元最大為8個固態(tài)硬盤,最大數(shù)據(jù)速率為410MB/s×8=3.2GB/s(即出現(xiàn)最壞的帶寬下滑情況,抑或數(shù)據(jù)傳輸錯誤情況下的數(shù)據(jù)量為3.2GB)。
此外數(shù)據(jù)存儲模塊可實現(xiàn)對DDR3芯片組的控制,其讀寫最大數(shù)據(jù)速率為1600Mb/s×16×1/8=3.125GB/s(即每秒可滿足3.125GB的數(shù)據(jù)要求)??梢栽跀?shù)據(jù)緩存的容量以及數(shù)據(jù)率的兩個方面滿足系統(tǒng)需求。
3.3 文件系統(tǒng)管理模塊設(shè)計
文件系統(tǒng)管理模塊實現(xiàn)在Zynq-7100的PS端。使用自定義的文件系統(tǒng),該系統(tǒng)支持文件的建立、命名、信息備注等功能。對每個文件的扇區(qū)地址進(jìn)行了管理,用戶只需指定文件ID號。當(dāng)需要對存儲數(shù)據(jù)進(jìn)行讀寫操作時,文件系統(tǒng)管理模塊將獲取文件對應(yīng)的扇區(qū)地址,并完成相關(guān)操作。
3.4 RAID控制管理模塊設(shè)計
設(shè)計中通過Zynq-7100 PL端的數(shù)字邏輯實現(xiàn)mSATA盤的控制和管理。SATA控制管理模塊遵循SATA協(xié)議。使用Zynq-7100集成的高速串行數(shù)據(jù)收發(fā)控制器實現(xiàn)SATA數(shù)據(jù)的解碼、同步以及RAID工作。
3.5 狀態(tài)顯示模塊設(shè)計
本板指示燈顯示模塊主要將本模塊中各個電源軌的反饋信號,mSATA盤在位信號,工作狀態(tài)等信息,通過板載的LED燈反饋工作狀態(tài)。
狀態(tài)信息上報模塊將mSATA盤的工作狀態(tài),電源軌工作狀態(tài),系統(tǒng)周期自檢信息等通過以太網(wǎng)形式進(jìn)行發(fā)送給上位機(jī),實時觀測。
4模塊測試與分析
對數(shù)據(jù)存儲模塊性能進(jìn)行測試,將模塊通過母板與數(shù)據(jù)產(chǎn)生板相連接。模塊采用8個mSATA盤(容量1TB)做為存儲介質(zhì),內(nèi)部的緩存區(qū)設(shè)置為1Mb。對連續(xù)的數(shù)據(jù)進(jìn)行寫入操作,每個mSATA盤的測試結(jié)果如圖3所示。在高溫60℃,低溫-40℃的環(huán)境中進(jìn)行相同測試。每個mSATA盤測試結(jié)果如圖4所示。
滿足對于模塊具有1TB~8TB的存儲空間的擴(kuò)展,以及410MB/s~3.2GB/s的數(shù)據(jù)讀寫速率的設(shè)計要求。
5 結(jié)論
基于Zynq-7100數(shù)據(jù)存儲模塊軟硬件相結(jié)合的設(shè)計,以及相關(guān)的測試結(jié)果表明,使用該平臺進(jìn)行存儲模塊的設(shè)計方法,為高速存儲模塊的設(shè)計提供了可行的設(shè)計方案?;赯ynq-7100處理平臺的設(shè)計,即具備了FPGA硬件可編程的優(yōu)勢,又將文件系統(tǒng)有效的移植到Cortex-A9處理器上完成,滿足了高速率、大容量以及小型化的需求。
參考文獻(xiàn):
[1] 楊佳朋.SATA控制器的設(shè)計與FPGA驗證[D].太原:太原理工大學(xué),2013.
[2] 李曄.基于FPGA的嵌入式高速SATA接口主機(jī)控制系統(tǒng)研究與設(shè)計[D].北京:北京郵電大學(xué),2011.
[3] 劉文國,李廣軍,林水生.基于FPGA的SATA硬盤加解密控制器設(shè)計[J].電子與封裝,2009,9(6):25-28.
[4] 朱琛,崔鐳,邵春偉,等.基于FPGA的高速光纖傳輸卡[J].電子與封裝,2018,18(3):22-25.
[5] 范國浩,張艷兵,李新娥.基于FPGA抗高沖擊機(jī)載雷達(dá)回波存儲系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2016,42(4):78-80,84.
【通聯(lián)編輯:李雅琪】