馬游春,姜 德,吳正洋
(中北大學(xué)電子測(cè)試國(guó)家重點(diǎn)實(shí)驗(yàn)室,儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,太原 030051)
一種用于水下測(cè)試的可擴(kuò)展高速固態(tài)存儲(chǔ)系統(tǒng)設(shè)計(jì)
馬游春*,姜 德,吳正洋
(中北大學(xué)電子測(cè)試國(guó)家重點(diǎn)實(shí)驗(yàn)室,儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,太原 030051)
針對(duì)圖像數(shù)據(jù)采集的高速、可靠性等存儲(chǔ)要求,設(shè)計(jì)了一種可擴(kuò)展高速固態(tài)存儲(chǔ)系統(tǒng)。系統(tǒng)固態(tài)存儲(chǔ)單元使用FPGA控制FLASH構(gòu)建存儲(chǔ)陣列,同時(shí)結(jié)合DDR技術(shù)和流水線設(shè)計(jì)相結(jié)合的方法來(lái)提高其存儲(chǔ)速度。系統(tǒng)接口采用用于高速數(shù)據(jù)傳輸?shù)腇MC接口,其具有多對(duì)吉比特接口信號(hào)引腳,結(jié)合板間高速視頻數(shù)據(jù)的傳輸使用FPGA高速串行接口技術(shù)(Aurora協(xié)議),使系統(tǒng)能擴(kuò)展多個(gè)存儲(chǔ)BANK。實(shí)驗(yàn)結(jié)果表明該系統(tǒng)能可靠的提高系統(tǒng)的存儲(chǔ)速度和存儲(chǔ)容量并不丟失數(shù)據(jù)。
可擴(kuò)展;高速;NAND FLASH;Aurora;FMC
隨著遙測(cè)數(shù)據(jù)、空中監(jiān)測(cè)、視頻采集等各個(gè)領(lǐng)域的快速發(fā)展,高速數(shù)據(jù)的存儲(chǔ)對(duì)存儲(chǔ)系統(tǒng)的存儲(chǔ)容量、存儲(chǔ)速度和可靠性提出了更高的要求,目前大部分視頻采集系統(tǒng)設(shè)計(jì)都是采用DDR3等高速存儲(chǔ)器進(jìn)行數(shù)據(jù)緩存,再通過(guò)高速接口將數(shù)據(jù)和上位機(jī)板卡進(jìn)行傳輸、顯示處理[1],這種采集方式具備速度快、操作簡(jiǎn)單的優(yōu)勢(shì),但由于DDR3、SDRAM掉電容易丟失數(shù)據(jù),不利于遠(yuǎn)距離這種惡劣環(huán)境下實(shí)驗(yàn)數(shù)據(jù)的回收,如水下測(cè)試、多點(diǎn)爆破數(shù)據(jù)的采集等,此類(lèi)實(shí)驗(yàn)的高速數(shù)據(jù)的固態(tài)存儲(chǔ)顯得尤為重要。
本文針對(duì)水下視頻測(cè)試數(shù)據(jù)固態(tài)存儲(chǔ)系統(tǒng)的要求,以高速FLASH為存儲(chǔ)介質(zhì),對(duì)大容量的圖像數(shù)據(jù)存儲(chǔ)進(jìn)行了研究。同時(shí)針對(duì)測(cè)試環(huán)境和測(cè)試要求的多樣化,設(shè)計(jì)了可擴(kuò)展系統(tǒng)對(duì)存儲(chǔ)模塊進(jìn)行了通用性的設(shè)計(jì),根據(jù)具體實(shí)驗(yàn)所需要采集數(shù)據(jù)的速度和大小對(duì)固態(tài)存儲(chǔ)模塊進(jìn)行擴(kuò)展。與以往的高速固態(tài)存儲(chǔ)系統(tǒng)[2-4]比較,該系統(tǒng)在FLASH控制和流水線管理上都有了進(jìn)一步的優(yōu)化,使其具有靈活性更高,速度更快的優(yōu)勢(shì)。
本系統(tǒng)實(shí)驗(yàn)對(duì)象為水下視頻測(cè)試數(shù)據(jù)的采集存儲(chǔ),用于監(jiān)測(cè)水下實(shí)驗(yàn)?zāi)繕?biāo)的動(dòng)態(tài)特征,其技術(shù)協(xié)議要求為:圖像分辨率:1 280 pixel×960 pixel,幀速率:大于等于200 frame/s,記錄時(shí)間大于10 s,由此可計(jì)算系統(tǒng)每秒的傳輸速率至少達(dá)到2.3 Gbit/s,存儲(chǔ)數(shù)據(jù)容量大于2.9 GByte。
如圖1為本文設(shè)計(jì)的固態(tài)存儲(chǔ)系統(tǒng)框圖,系統(tǒng)一共由三部分組成:數(shù)據(jù)采集單元:該單元選用acA2000-340Kc的CMOS工業(yè)相機(jī)作為視頻采集器件,相機(jī)的分辨率設(shè)置為1 280 pixel×960 pixel,傳輸速率為200 frame/s,像素點(diǎn)的位寬設(shè)置為12 bit,相機(jī)固定焦距為10 cm。數(shù)據(jù)處理單元:采用3片DS90CR288A芯片接收Camera Link數(shù)據(jù),每片負(fù)責(zé)接收4路LVDS視頻信號(hào)和1路LVDS的CMOS相機(jī)時(shí)鐘,將其轉(zhuǎn)換成80位并行的TTL視頻數(shù)據(jù)和3路的TTL相機(jī)時(shí)鐘信號(hào)。FPGA作為主控芯片將數(shù)據(jù)進(jìn)行分流、打包,通過(guò)GTX接口結(jié)合Aurora協(xié)議傳輸給存儲(chǔ)單元??蓴U(kuò)展存儲(chǔ)單元:用于存儲(chǔ)處理單元傳輸?shù)囊曨l數(shù)據(jù),通過(guò)高速FMC接口與處理單元連接(具體功能見(jiàn)1.3節(jié))。
圖1 系統(tǒng)框圖
1.1 FMC接口
FMC(FPGA Mezzanine Card)用于連接FPGA引腳和FMC子板的I/O接口,其引腳分為電源信號(hào)引腳、吉比特接口信號(hào)引腳、普通用戶信號(hào)引腳、JTAG引腳及時(shí)鐘信號(hào)引腳等[5]。
系統(tǒng)采用400引腳的HPC(High Pin Connector)作為其FPGA的擴(kuò)展I/O口,排列方式為40行10行,圖1中數(shù)據(jù)采集單元設(shè)計(jì)為帶高速擴(kuò)展口FMC母座連接器的載卡,可擴(kuò)展存儲(chǔ)單元為帶FMC工座的子板。因?yàn)樾盘?hào)傳輸及其時(shí)鐘信號(hào)引腳在FMC中都是按照差分對(duì)標(biāo)準(zhǔn)來(lái)定義的,設(shè)計(jì)中其對(duì)應(yīng)的I/O都使用LVDS差分信號(hào)驅(qū)動(dòng)。夾卡層與載卡之間的總帶寬最高能夠達(dá)到40 Gbit/s,適合作為高速的擴(kuò)展口,用于保證信號(hào)傳輸?shù)耐暾?硬件電路的設(shè)計(jì)需要注意在FMC差分口收發(fā)端分別加入100歐的阻抗匹配。
如圖2 為FMC擴(kuò)展連接模型,由于其支持多種電氣特性,能方便的進(jìn)行板間的信號(hào)穩(wěn)定傳輸,本系統(tǒng)擴(kuò)展的主要通道為GTX接口,利用帶20對(duì)的吉比特收發(fā)器的FMC接口,結(jié)合Aurora IP協(xié)議,每個(gè)獨(dú)立存儲(chǔ)單元綁定2個(gè)GTX傳輸,則可擴(kuò)展至10個(gè)獨(dú)立存儲(chǔ)單元,同時(shí)結(jié)合FPGA并行處理能力,可靈活的編寫(xiě)出對(duì)應(yīng)的擴(kuò)展代碼,能快速開(kāi)發(fā)出針對(duì)不同速度和容量的實(shí)驗(yàn)產(chǎn)品。
圖2 FMC連接模型
1.2 Aurora協(xié)議
本系統(tǒng)的數(shù)據(jù)處理單元使用Virtex-6(XCVU190)FPGA作為主控芯片,其具有24個(gè)的高速串行GTX收發(fā)器,內(nèi)置高速串并轉(zhuǎn)換、時(shí)鐘數(shù)據(jù)恢復(fù)、線路編/解碼、時(shí)鐘修正和通道綁定等功能電路,是Aurora協(xié)議傳輸?shù)奈锢韺踊A(chǔ)[6-8],Aurora的板間數(shù)據(jù)交換的結(jié)構(gòu)如圖3所示。
圖3中的Aurora IP核在GTX的PCS子層內(nèi)部使用8B/10B對(duì)數(shù)據(jù)進(jìn)行硬件編碼,將8 bit位寬數(shù)據(jù)轉(zhuǎn)換為5個(gè)以上不連續(xù)的“1”或“0”的10位比特碼[9-12]。GTX外部輸入時(shí)鐘由100 MHz的差分晶振提供,因一個(gè)外部時(shí)鐘能驅(qū)動(dòng)3個(gè)通道(4個(gè)GTX組成一個(gè)通道),而一個(gè)通道也能由2個(gè)差分時(shí)鐘驅(qū)動(dòng),滿足系統(tǒng)的擴(kuò)展功能。Aurora數(shù)據(jù)采用幀傳輸模式,定義其傳輸一幀的長(zhǎng)度為圖像數(shù)據(jù)的一行,即一幀有1 280個(gè)像素點(diǎn),共需要960幀來(lái)完成一幅圖像的傳輸,同時(shí)在圖像數(shù)據(jù)添加了完整的幀標(biāo)志(EF A5 EF A5)和行計(jì)數(shù)(DC EF Fx xx)。
圖3 Aurora板間數(shù)據(jù)交換模型
系統(tǒng)所用的Aurora IP發(fā)送和接收的位寬設(shè)置為16 bit,在圖像數(shù)據(jù)傳輸過(guò)程中,Aurora數(shù)據(jù)鏈路層協(xié)議制定了相關(guān)的頂層UFC模式握手協(xié)議[13],來(lái)完成擴(kuò)展BANK自校驗(yàn),返回rdy_flag信號(hào),系統(tǒng)在檢測(cè)rdy_flag有效后,開(kāi)始進(jìn)行測(cè)試數(shù)據(jù)的傳輸。一組數(shù)據(jù)傳輸中,前960幀為視頻數(shù)據(jù)幀,第961行為信號(hào)幀,其中信號(hào)幀信息包括命令位域frame[0:15]和校驗(yàn)位域frame[32:63]:命令位域用來(lái)一幀數(shù)據(jù)傳輸結(jié)束的請(qǐng)求,保證其對(duì)應(yīng)的BANK正確進(jìn)行數(shù)據(jù)存儲(chǔ),準(zhǔn)確進(jìn)入時(shí)鐘補(bǔ)償?shù)挠?jì)數(shù)模塊;校驗(yàn)位域用于確定圖像數(shù)據(jù)按固定幀傳輸計(jì)數(shù),判斷是否出現(xiàn)丟幀的現(xiàn)象,完成后進(jìn)入計(jì)數(shù)延時(shí),準(zhǔn)備進(jìn)行下一幀存儲(chǔ)。
圖5 FLASH DDR存儲(chǔ)模式[15]
該系統(tǒng)在解決時(shí)鐘補(bǔ)償不定期引起中斷的問(wèn)題上,采用相機(jī)提供的84 MHz的時(shí)鐘驅(qū)動(dòng)計(jì)數(shù)模塊進(jìn)行延時(shí)補(bǔ)償,因?yàn)槊? 000個(gè)user_clk時(shí)鐘需要6個(gè)user_clk的時(shí)鐘補(bǔ)償,而本系統(tǒng)中一行圖像數(shù)據(jù)傳輸完成后,其相機(jī)本身會(huì)產(chǎn)生8個(gè)相機(jī)輸出時(shí)鐘周期的延遲,即完成1 280個(gè)周期后,會(huì)自動(dòng)調(diào)入8個(gè)周期的DO_CC,然后再進(jìn)行行切換。
1.3 可擴(kuò)展存儲(chǔ)單元
如圖4所示,為可擴(kuò)展存儲(chǔ)BANK的系統(tǒng)框圖,BANK內(nèi)FPGA選用資源相對(duì)少的Spartan6的 XC6SLX100,其通過(guò)自身的GTX硬核模塊和Aurora協(xié)議對(duì)數(shù)據(jù)采集模塊的高速的串行數(shù)據(jù)進(jìn)行解碼,轉(zhuǎn)換為32位低速的并行數(shù)據(jù),經(jīng)過(guò)FIFO后存儲(chǔ)到3片F(xiàn)LASH中。
圖4 單BANK系統(tǒng)框圖
NAND FLASH存儲(chǔ)芯片使用鎂光的MT29F128G08CECAB,其單片的存儲(chǔ)容量為16 Gbyte,具有DDR讀取和寫(xiě)入數(shù)據(jù)的高速傳輸特性如圖5所示,為該型號(hào)FLASH的同步DDR存儲(chǔ)模式,即在DQS信號(hào)的每個(gè)上升沿和下降沿都能傳輸數(shù)據(jù)[14],因此設(shè)計(jì)中保持CLK信號(hào)和DQS信號(hào)同步就能實(shí)現(xiàn)使用其同步的DDR存儲(chǔ)技術(shù)[14]。
根據(jù)FLASH芯片結(jié)構(gòu)的LUN單元和DDR存儲(chǔ)技術(shù),使用3片F(xiàn)LASH構(gòu)建32 bit位寬的流水線存儲(chǔ)模式,其邏輯結(jié)構(gòu)如圖6所示,FLASH 3為補(bǔ)充頁(yè)編程時(shí)間(230 μs)的空閑狀態(tài),使用其中的LUN 1(8 Gbyte)作為補(bǔ)償存儲(chǔ),主存儲(chǔ)模塊為FLASH 1和FLASH 2。其壞塊管理模式為實(shí)時(shí)存儲(chǔ)壞塊信息和自刷新技術(shù);即系統(tǒng)上電的初始化階段,對(duì)FLASH的存儲(chǔ)塊進(jìn)行檢測(cè),對(duì)3個(gè)FLASH的壞塊地址相與后[16],將壞塊信息存儲(chǔ)到FLASH 3的LUN 2的存儲(chǔ)單元中。在寫(xiě)入數(shù)據(jù)時(shí)按順序讀取LUN 2中的壞塊信息進(jìn)行仲裁,縮短獨(dú)立進(jìn)行壞塊檢測(cè)的時(shí)間,其速度在單個(gè)存儲(chǔ)單元測(cè)試中可提升到240 Mbit/s,即能完成1.87 Gbit/s連續(xù)數(shù)據(jù)的存儲(chǔ)。
圖6 FLASH流水線控制示意圖
圖7 圖像數(shù)據(jù)顯示
根據(jù)系統(tǒng)設(shè)計(jì)要求,對(duì)系統(tǒng)進(jìn)行地面自測(cè)環(huán)境搭建,主要由數(shù)據(jù)采集模塊、主控FPGA數(shù)據(jù)處理模塊和2個(gè)可擴(kuò)展存儲(chǔ)模塊組成,完成對(duì)CMOS相機(jī)高速視頻數(shù)據(jù)的存儲(chǔ)(參數(shù)配置按照技術(shù)協(xié)議規(guī)定)。系統(tǒng)需要實(shí)現(xiàn)大于2.3 Gbit/s的高速視頻數(shù)據(jù)的存儲(chǔ)帶寬,因此擴(kuò)展了2個(gè)BANK存儲(chǔ)單元,構(gòu)建成64 bit寬度的數(shù)據(jù)傳輸帶寬。
系統(tǒng)實(shí)驗(yàn)環(huán)境搭建的數(shù)據(jù)流傳輸?shù)倪^(guò)程為:系統(tǒng)對(duì)外部傳輸?shù)拇行盘?hào)在Aurora IP核中進(jìn)行解碼,通過(guò)跨時(shí)鐘域的FIFO存儲(chǔ)到FLASH中。最后,通過(guò)地面讀數(shù)板卡將圖像數(shù)據(jù)進(jìn)行顯示,圖7(左)為本次實(shí)驗(yàn)一幀圖像數(shù)據(jù)的結(jié)果,圖7(右)為其對(duì)應(yīng)圖像顯示,從數(shù)據(jù)標(biāo)志可以看出幀標(biāo)志為“EF A5 EF A5”一行計(jì)數(shù)為“DC EF F0 00”至第6行計(jì)數(shù)為“DC EF F0 05”計(jì)數(shù)連續(xù),沒(méi)有出現(xiàn)丟數(shù)的現(xiàn)象。
本文采用高性能Virtex-6系列FPGA和NAND Flash DDR存儲(chǔ)技術(shù)構(gòu)建高速數(shù)據(jù)可擴(kuò)展存儲(chǔ)系統(tǒng)。板間傳輸采用了Aurora協(xié)議結(jié)合FMC接口,保證了高速信號(hào)板間傳輸?shù)耐暾缘耐瑫r(shí),能靈活的實(shí)現(xiàn)系統(tǒng)的可擴(kuò)展性,可根據(jù)所需要采集的數(shù)據(jù)流的大小和速度選擇需要擴(kuò)展的存儲(chǔ)BANK數(shù)量。
實(shí)驗(yàn)結(jié)果表明,該高速固態(tài)存儲(chǔ)系統(tǒng)具有體積小、可靠性高的特點(diǎn),其可擴(kuò)展性強(qiáng)能滿足大量的高速數(shù)據(jù)存儲(chǔ)需求。
[1] 馬游春,王悅凱,丁寧. 基于DDR3-SDRAM的高速視頻傳輸系統(tǒng)[J]. 電子技術(shù)應(yīng) 用,2015(12):69-71.
[2] 吳凡. 基于FPGA的NAND FLASH的嵌入式存儲(chǔ)系統(tǒng)設(shè)計(jì)[J]. 電子科技,2016(3):97-101.
[3] 周仕成,殷科軍,舒汀,等. 基于NAND FLASH 的高速海量存儲(chǔ)系統(tǒng)設(shè)計(jì)[J]. 信息技術(shù),2015(12):117-120.
[4] 趙亞慧,金龍旭,等. 基于NAND Flash 的高速大容量存儲(chǔ)系統(tǒng)設(shè)計(jì)[J]. 電光與控制,2016(5):71-75.
[5] Xilinx. I/O Design Flexibility with the FPGA Mezzanine Card(FMC)[Z]. 2009.
[6] 李維明,陳建軍,陳星锜. 基于Aurora協(xié)議的高速通信技術(shù)的研究[J]. 電子技術(shù)應(yīng)用,2013(12):37-40.
[7] 胡謹(jǐn)賢,張英波,黎仁剛. 基于Aurora協(xié)議的光傳輸方案驗(yàn)證[J]. 科學(xué)技術(shù)與工程,2012(30):8038-8041.
[8] 岳振,呂波,張涌,等. 基于Aurora協(xié)議的高速圖像傳輸和通信平臺(tái)設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用,2014(8):7-9.
[9] 李林軍,王勇. 基于Virtex-5的串行傳輸系統(tǒng)設(shè)計(jì)與驗(yàn)證[J]. 電子設(shè)計(jì)應(yīng)用,2009(12):43-45.
[10] 武榮偉,蘇 濤,洪中英. RocketIO在高速數(shù)據(jù)通信中的應(yīng)用[J]. 通信技術(shù),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的高速數(shù)據(jù)轉(zhuǎn)存系統(tǒng)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2014(2):86-90.
[14] 姜德,馬游春,王悅凱,等. 高速數(shù)據(jù)同步存儲(chǔ)系統(tǒng)設(shè)計(jì)[J]. 電子器件,2016,40(6):1421-1424.
[15] Micron. MT29F128G08AUCBBNAND Flash Memory datasheet[Z]. 2015.
[16] 張勝勇,高世杰,吳志勇,等. 基于FPGA的NAND FLASH壞塊處理方法[J]. 計(jì)算機(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-),男,副教授,江蘇人,主要研究方向?yàn)闇y(cè)試計(jì)量技術(shù)與儀器,電子測(cè)試儀器與系統(tǒng),879406889@qq.com;
姜德(1992-),男,碩士研究生,山西人,主要研究方向?yàn)楦咚贁?shù)據(jù)采集與存儲(chǔ),電子測(cè)試儀器與系統(tǒng),397735504@qq.com。
項(xiàng)目來(lái)源:國(guó)家自然科學(xué)基金項(xiàng)目(61673129)