馬游春,姜 德,吳正洋
(中北大學電子測試國家重點實驗室,儀器科學與動態測試教育部重點實驗室,太原 030051)
一種用于水下測試的可擴展高速固態存儲系統設計
馬游春*,姜 德,吳正洋
(中北大學電子測試國家重點實驗室,儀器科學與動態測試教育部重點實驗室,太原 030051)
針對圖像數據采集的高速、可靠性等存儲要求,設計了一種可擴展高速固態存儲系統。系統固態存儲單元使用FPGA控制FLASH構建存儲陣列,同時結合DDR技術和流水線設計相結合的方法來提高其存儲速度。系統接口采用用于高速數據傳輸的FMC接口,其具有多對吉比特接口信號引腳,結合板間高速視頻數據的傳輸使用FPGA高速串行接口技術(Aurora協議),使系統能擴展多個存儲BANK。實驗結果表明該系統能可靠的提高系統的存儲速度和存儲容量并不丟失數據。
可擴展;高速;NAND FLASH;Aurora;FMC
隨著遙測數據、空中監測、視頻采集等各個領域的快速發展,高速數據的存儲對存儲系統的存儲容量、存儲速度和可靠性提出了更高的要求,目前大部分視頻采集系統設計都是采用DDR3等高速存儲器進行數據緩存,再通過高速接口將數據和上位機板卡進行傳輸、顯示處理[1],這種采集方式具備速度快、操作簡單的優勢,但由于DDR3、SDRAM掉電容易丟失數據,不利于遠距離這種惡劣環境下實驗數據的回收,如水下測試、多點爆破數據的采集等,此類實驗的高速數據的固態存儲顯得尤為重要。
本文針對水下視頻測試數據固態存儲系統的要求,以高速FLASH為存儲介質,對大容量的圖像數據存儲進行了研究。同時針對測試環境和測試要求的多樣化,設計了可擴展系統對存儲模塊進行了通用性的設計,根據具體實驗所需要采集數據的速度和大小對固態存儲模塊進行擴展。與以往的高速固態存儲系統[2-4]比較,該系統在FLASH控制和流水線管理上都有了進一步的優化,使其具有靈活性更高,速度更快的優勢。
本系統實驗對象為水下視頻測試數據的采集存儲,用于監測水下實驗目標的動態特征,其技術協議要求為:圖像分辨率:1 280 pixel×960 pixel,幀速率:大于等于200 frame/s,記錄時間大于10 s,由此可計算系統每秒的傳輸速率至少達到2.3 Gbit/s,存儲數據容量大于2.9 GByte。
如圖1為本文設計的固態存儲系統框圖,系統一共由三部分組成:數據采集單元:該單元選用acA2000-340Kc的CMOS工業相機作為視頻采集器件,相機的分辨率設置為1 280 pixel×960 pixel,傳輸速率為200 frame/s,像素點的位寬設置為12 bit,相機固定焦距為10 cm。數據處理單元:采用3片DS90CR288A芯片接收Camera Link數據,每片負責接收4路LVDS視頻信號和1路LVDS的CMOS相機時鐘,將其轉換成80位并行的TTL視頻數據和3路的TTL相機時鐘信號。FPGA作為主控芯片將數據進行分流、打包,通過GTX接口結合Aurora協議傳輸給存儲單元。可擴展存儲單元:用于存儲處理單元傳輸的視頻數據,通過高速FMC接口與處理單元連接(具體功能見1.3節)。

圖1 系統框圖
1.1 FMC接口
FMC(FPGA Mezzanine Card)用于連接FPGA引腳和FMC子板的I/O接口,其引腳分為電源信號引腳、吉比特接口信號引腳、普通用戶信號引腳、JTAG引腳及時鐘信號引腳等[5]。
系統采用400引腳的HPC(High Pin Connector)作為其FPGA的擴展I/O口,排列方式為40行10行,圖1中數據采集單元設計為帶高速擴展口FMC母座連接器的載卡,可擴展存儲單元為帶FMC工座的子板。因為信號傳輸及其時鐘信號引腳在FMC中都是按照差分對標準來定義的,設計中其對應的I/O都使用LVDS差分信號驅動。夾卡層與載卡之間的總帶寬最高能夠達到40 Gbit/s,適合作為高速的擴展口,用于保證信號傳輸的完整性,硬件電路的設計需要注意在FMC差分口收發端分別加入100歐的阻抗匹配。
如圖2 為FMC擴展連接模型,由于其支持多種電氣特性,能方便的進行板間的信號穩定傳輸,本系統擴展的主要通道為GTX接口,利用帶20對的吉比特收發器的FMC接口,結合Aurora IP協議,每個獨立存儲單元綁定2個GTX傳輸,則可擴展至10個獨立存儲單元,同時結合FPGA并行處理能力,可靈活的編寫出對應的擴展代碼,能快速開發出針對不同速度和容量的實驗產品。

圖2 FMC連接模型
1.2 Aurora協議
本系統的數據處理單元使用Virtex-6(XCVU190)FPGA作為主控芯片,其具有24個的高速串行GTX收發器,內置高速串并轉換、時鐘數據恢復、線路編/解碼、時鐘修正和通道綁定等功能電路,是Aurora協議傳輸的物理層基礎[6-8],Aurora的板間數據交換的結構如圖3所示。
圖3中的Aurora IP核在GTX的PCS子層內部使用8B/10B對數據進行硬件編碼,將8 bit位寬數據轉換為5個以上不連續的“1”或“0”的10位比特碼[9-12]。GTX外部輸入時鐘由100 MHz的差分晶振提供,因一個外部時鐘能驅動3個通道(4個GTX組成一個通道),而一個通道也能由2個差分時鐘驅動,滿足系統的擴展功能。Aurora數據采用幀傳輸模式,定義其傳輸一幀的長度為圖像數據的一行,即一幀有1 280個像素點,共需要960幀來完成一幅圖像的傳輸,同時在圖像數據添加了完整的幀標志(EF A5 EF A5)和行計數(DC EF Fx xx)。

圖3 Aurora板間數據交換模型
系統所用的Aurora IP發送和接收的位寬設置為16 bit,在圖像數據傳輸過程中,Aurora數據鏈路層協議制定了相關的頂層UFC模式握手協議[13],來完成擴展BANK自校驗,返回rdy_flag信號,系統在檢測rdy_flag有效后,開始進行測試數據的傳輸。一組數據傳輸中,前960幀為視頻數據幀,第961行為信號幀,其中信號幀信息包括命令位域frame[0:15]和校驗位域frame[32:63]:命令位域用來一幀數據傳輸結束的請求,保證其對應的BANK正確進行數據存儲,準確進入時鐘補償的計數模塊;校驗位域用于確定圖像數據按固定幀傳輸計數,判斷是否出現丟幀的現象,完成后進入計數延時,準備進行下一幀存儲。

圖5 FLASH DDR存儲模式[15]
該系統在解決時鐘補償不定期引起中斷的問題上,采用相機提供的84 MHz的時鐘驅動計數模塊進行延時補償,因為每5 000個user_clk時鐘需要6個user_clk的時鐘補償,而本系統中一行圖像數據傳輸完成后,其相機本身會產生8個相機輸出時鐘周期的延遲,即完成1 280個周期后,會自動調入8個周期的DO_CC,然后再進行行切換。
1.3 可擴展存儲單元
如圖4所示,為可擴展存儲BANK的系統框圖,BANK內FPGA選用資源相對少的Spartan6的 XC6SLX100,其通過自身的GTX硬核模塊和Aurora協議對數據采集模塊的高速的串行數據進行解碼,轉換為32位低速的并行數據,經過FIFO后存儲到3片FLASH中。

圖4 單BANK系統框圖
NAND FLASH存儲芯片使用鎂光的MT29F128G08CECAB,其單片的存儲容量為16 Gbyte,具有DDR讀取和寫入數據的高速傳輸特性如圖5所示,為該型號FLASH的同步DDR存儲模式,即在DQS信號的每個上升沿和下降沿都能傳輸數據[14],因此設計中保持CLK信號和DQS信號同步就能實現使用其同步的DDR存儲技術[14]。
根據FLASH芯片結構的LUN單元和DDR存儲技術,使用3片FLASH構建32 bit位寬的流水線存儲模式,其邏輯結構如圖6所示,FLASH 3為補充頁編程時間(230 μs)的空閑狀態,使用其中的LUN 1(8 Gbyte)作為補償存儲,主存儲模塊為FLASH 1和FLASH 2。其壞塊管理模式為實時存儲壞塊信息和自刷新技術;即系統上電的初始化階段,對FLASH的存儲塊進行檢測,對3個FLASH的壞塊地址相與后[16],將壞塊信息存儲到FLASH 3的LUN 2的存儲單元中。在寫入數據時按順序讀取LUN 2中的壞塊信息進行仲裁,縮短獨立進行壞塊檢測的時間,其速度在單個存儲單元測試中可提升到240 Mbit/s,即能完成1.87 Gbit/s連續數據的存儲。

圖6 FLASH流水線控制示意圖

圖7 圖像數據顯示
根據系統設計要求,對系統進行地面自測環境搭建,主要由數據采集模塊、主控FPGA數據處理模塊和2個可擴展存儲模塊組成,完成對CMOS相機高速視頻數據的存儲(參數配置按照技術協議規定)。系統需要實現大于2.3 Gbit/s的高速視頻數據的存儲帶寬,因此擴展了2個BANK存儲單元,構建成64 bit寬度的數據傳輸帶寬。
系統實驗環境搭建的數據流傳輸的過程為:系統對外部傳輸的串行信號在Aurora IP核中進行解碼,通過跨時鐘域的FIFO存儲到FLASH中。最后,通過地面讀數板卡將圖像數據進行顯示,圖7(左)為本次實驗一幀圖像數據的結果,圖7(右)為其對應圖像顯示,從數據標志可以看出幀標志為“EF A5 EF A5”一行計數為“DC EF F0 00”至第6行計數為“DC EF F0 05”計數連續,沒有出現丟數的現象。
本文采用高性能Virtex-6系列FPGA和NAND Flash DDR存儲技術構建高速數據可擴展存儲系統。板間傳輸采用了Aurora協議結合FMC接口,保證了高速信號板間傳輸的完整性的同時,能靈活的實現系統的可擴展性,可根據所需要采集的數據流的大小和速度選擇需要擴展的存儲BANK數量。
實驗結果表明,該高速固態存儲系統具有體積小、可靠性高的特點,其可擴展性強能滿足大量的高速數據存儲需求。
[1] 馬游春,王悅凱,丁寧. 基于DDR3-SDRAM的高速視頻傳輸系統[J]. 電子技術應 用,2015(12):69-71.
[2] 吳凡. 基于FPGA的NAND FLASH的嵌入式存儲系統設計[J]. 電子科技,2016(3):97-101.
[3] 周仕成,殷科軍,舒汀,等. 基于NAND FLASH 的高速海量存儲系統設計[J]. 信息技術,2015(12):117-120.
[4] 趙亞慧,金龍旭,等. 基于NAND Flash 的高速大容量存儲系統設計[J]. 電光與控制,2016(5):71-75.
[5] Xilinx. I/O Design Flexibility with the FPGA Mezzanine Card(FMC)[Z]. 2009.
[6] 李維明,陳建軍,陳星锜. 基于Aurora協議的高速通信技術的研究[J]. 電子技術應用,2013(12):37-40.
[7] 胡謹賢,張英波,黎仁剛. 基于Aurora協議的光傳輸方案驗證[J]. 科學技術與工程,2012(30):8038-8041.
[8] 岳振,呂波,張涌,等. 基于Aurora協議的高速圖像傳輸和通信平臺設計[J]. 電子技術應用,2014(8):7-9.
[9] 李林軍,王勇. 基于Virtex-5的串行傳輸系統設計與驗證[J]. 電子設計應用,2009(12):43-45.
[10] 武榮偉,蘇 濤,洪中英. RocketIO在高速數據通信中的應用[J]. 通信技術,2010(11):9-11.
[11] Xilinx. Aurora protocol specification[Z]. 2007.
[12] Xilinx. Virtex_6 FPGA GTX transceivers user guide UG306[Z]. 2011.
[13] 張鵬飛,杜雨洺. 基于FPGA的高速數據轉存系統[J]. 計算機系統應用,2014(2):86-90.
[14] 姜德,馬游春,王悅凱,等. 高速數據同步存儲系統設計[J]. 電子器件,2016,40(6):1421-1424.
[15] Micron. MT29F128G08AUCBBNAND Flash Memory datasheet[Z]. 2015.
[16] 張勝勇,高世杰,吳志勇,等. 基于FPGA的NAND FLASH壞塊處理方法[J]. 計算機工程,2010(6):239-240.
AScalableHigh-SpeedSolidStorageSystemforDataCollectionUnderwater
MAYouchun*,JIANGDe,WUZhengyang
(National Key laboratory for Electronic Measure,Ement Technology,Key Laboratory of Instrumentation Science and Dynamic Measurement of Ministry of Education,North University of China,Taiyuan 030051,China)
A scalable high-speed solid-state storage system is designed for high-speed,reliability and other storage requirements of image data acquisition. The system solid-state storage unit uses the FPGA control FLASH to construct the storage array,simultaneously unifies the DDR technology combined with the pipeline design method to enhance its storage speed. The system interface adopts FMC interface for high-speed data transmission. It has many pairs of gigabit interface signal pins,and transfers high-speed video data between boards using FPGA high-speed serial interface technology(Aurora protocol),so that the system can expand multiple storage BANK. Experimental results show that the system can enhancing the system’s storage speed and capacity stably without dropping date.
scalability;high-speed;NAND FLASH;aurora;FMC
10.3969/j.issn.1005-9490.2017.05.031
2016-09-03修改日期2017-03-09
TP274
A
1005-9490(2017)05-1214-05

馬游春(1977-),男,副教授,江蘇人,主要研究方向為測試計量技術與儀器,電子測試儀器與系統,879406889@qq.com;

姜德(1992-),男,碩士研究生,山西人,主要研究方向為高速數據采集與存儲,電子測試儀器與系統,397735504@qq.com。
項目來源:國家自然科學基金項目(61673129)