溫建飛,岳鳳英,李永紅(.中北大學計算機與控制學院,太原03005;.中北大學儀器與電子學院,太原03005)
大容量彈載數據記錄器的設計與實現
溫建飛1,岳鳳英2*,李永紅2
(1.中北大學計算機與控制學院,太原030051;2.中北大學儀器與電子學院,太原030051)
提出了一種大容量彈載數據記錄器的設計方案,該方案主要完成3路高速圖像數據的接收,每個通道的數據帶寬為每秒150Mbyte/s,存儲容量為128 Gbyte。設計選用Xilinx公司的FPGA作為主控制器,完成對高速數據的接收,緩存和存儲。接收單元采用FPGA內部集成的高速串行收發器RocketIOGTP,單個鏈路的數據接收速率為3.125Gbyte/s;緩存單元采用兩片DDR2 SDRAM芯片對接收到的高速數據進行乒乓緩存;存儲單元采用32片NAND FLASH構成存儲陣列,對緩存后的數據進行存儲。同時,該記錄器能夠對存儲的數據進行事后讀取并進行分析。
大容量;高速;RocketIOGTP;DDR2 SDRAM;乒乓緩存
數字化信息時代對高速信息的要求越來越高,尤其是在軍事航天領域。在航天領域為了了解飛行器艙內的情況,飛行器在飛行過程中需要對艙內環境進行檢測并記錄,事后通過分析記錄器中的數據,其結果可以為下次飛行做好準備工作。高速數據記錄器具有較好的發展前景,除了能夠滿足星載、彈載等軍事領域的數據記錄要求外,還可以擴展到其他工業和商業領域。然而,隨著需要記錄的數據信息量和數據帶寬不斷增大,需要設計一種具有接收帶寬高、容量大、體積小、實時緩存存儲的數據記錄器裝置。
近年來,隨著對低功耗、高密度和高可靠性的固態存儲器的需求,采用NAND FLASH存儲器的數據記錄器廣泛地應用于各個領域。NAND FLASH存儲器主要有以下特點:
(1)功耗低、成本低、存儲密度高。
(2)讀寫速度高、使用壽命長、數據存儲時間長。
(3)工作環境溫度范圍較大。
大容量彈載數據記錄器主要完成飛行器在飛行過程中對3路高速圖像數據信息進行實時接收、編碼和記錄的任務,飛行任務完成之后,用配套測試臺讀取記錄器中的數據,最后由上位機軟件對數據進行分析和處理。測試臺和計算機之間通過USB3.0接口進行通訊,上位機軟件完成下發指令、確認數據、讀取數據和分析數據的任務。記錄器與測試臺的系統整體組成框圖如圖1所示。

圖1 記錄器與測試臺系統整體組成框圖
該記錄器裝置主要記錄高速圖像數據,根據任務的要求實現記錄器的整體功能,記錄器的主要技術指標如下所示:
(1)飛行器系統為記錄器裝置提供+28 V的工作電壓,記錄器的功耗不超過28W。
(2)采集存儲三路高速圖像數據,LVDS接口,碼率為393.216Mbit/s,3路圖像的像素點均為640× 480,每行的像素點為640個,每列的像素點為480個,圖像速率每秒80副。
(3)記錄器容量要求不小于100Gbyte,支持連續存儲和超閾值存儲兩種模式。
從整體功能上可以把大容量高速數據記錄器分為4個部分:系統電源單元、高速數據接收單元、數據緩存單元和數據存儲單元,總體功能組成原理框圖如圖2所示。

圖2 功能原理框圖
2.1系統電源的設計
由于飛行器系統供電為28 V,而記錄器所需要的電源種類較多。主要有:DDR2SDRAM需要0.9V 和1.8V直流穩壓電源;FLASH需要3.3 V直流穩壓電源;主控芯片Virtex-5系列FPGA可兼容多種I/O電壓,內核和I/O單獨供電,內核供電電壓為1.0 V,RocketIOGTP高速串行收發器供電電壓2.5 V。因此需要電源單元對輸入電源進行專門的轉換和處理才能使用。通過測試,系統功耗為21W,滿足系統需求。電源電路設計原理圖如圖3所示。

圖3 電源轉換模塊原理圖
電源單元主要由EMI(Electromagnetic Interference)濾波模塊、DC-DC(電源轉換)模塊以及電壓轉換模塊構成。EMI濾波模塊主要完成對電壓進行低通濾波,DC-DC模塊主要實現對輸入電壓進行隔離,可以避免外系統對電源的干擾,電壓轉換模塊主要實現各個系統單元的供電需求(這里選用的是TI公司的TPS54386 PWP芯片,最大可以提供6A的電流,滿足系統工作需求)。
2.2高速數據接收單元
高速數據接收單元由FPGA內部集成的高速串行收發器RocketIO GTP接收數據,由于RocketIO GTP對參考時鐘以及供電要求較為苛刻,因此設計中分別使用ADI公司的AD9520專用時鐘芯片提供時鐘和TI公司的TPS54810單獨提供電源。
2.3數據緩存單元
數據緩存單元使用的是流水線設計,這樣可以充分利用電路之間的等待時間,使電路運行的更快更穩定。
2.4數據存儲單元
存儲單元由32片K9WBG08U1M組成存儲陣列,分為4組,每組由8片組成。實現對數據的大容量存儲。
3.1高速收發器的設計
Xilinx公司針對高速數據傳輸的需求,提出了以RocketIO GTP(高速數據收發模塊)為核心的解決方案,在其旗下的部分Virtex-5系列及更高級版本的FPGA內部集成了高速數據收發模塊,RocketIO GTP采用了CML、CDR、8B/10 B線路編碼和預加重等技術,最大限度的減小信號的衰減、時鐘扭曲,進一步提高了數據傳輸速率,最高可達3.125 Gbit/s。由于 LVDS圖像數據的速率為 393.216 Mbit/s,實際速率于此基本吻合(實測速率為389 Mbit/s~395Mbit/s)。因此,接收器完全能夠滿足此圖像數據的接收,基于以上優點,本設計數據接收單元采用RocketIOGTP收發器。
3.2DDR2 SDRAM乒乓緩存單元設計與仿真
圖4為乒乓緩存的結構圖,其具體工作流程如下:數據邏輯控制器完成對整個緩存數據的接收和合理化分配,系統上電后,DDR2 SDRAM控制器對DDR2 SDRAM進行初始化,初始化完成后DDR2SDRAM處于空閑狀態,當數據邏輯控制器接收到數據時,片選DDR2SDRAM1的同時發送寫請求,并將數據寫入輸入數據FIFO中,等待DDR2 SDRAM1寫應答,DDR2 SDRAM1控制器收到寫應答后使能讀寫地址發生器1,發送DDR2SDRAM1的寫地址命令,同時開始計數,控制1讀取輸入FIFO中的數據,將輸入數據寫入到DDR2 SDRAM1中,當達到設定的存儲容量時給出DDR2SDRAM1滿信號。數據邏輯控制器判斷DDR2 SDRAM1滿標志有效時使能DDR2SDRAM1讀請求,同時使能DDR2SDRAM2寫請求,DDR2SDRAM1控制器寫地址計數器1清零,等待DDR2SDRAM1讀應答,收到應答后使能讀寫地址發生器1,讀取DDR2 SDRAM1中的數據送入到存儲單元進行存儲。當DDR2 SDRAM1讀取完成后等待DDR2 SDRAM2寫滿,當DDR2SDRAM2寫滿后將接收到的數據寫入到DDR2SDRAM1中,同時讀出DDR2SDRAM2中的數據送入到存儲單元中進行存儲。從外部看輸入輸出的數據是連續的,能夠避免數據丟失,實現數據的無縫緩沖。
圖5為乒乓緩存模塊在modelsim中的仿真結果。

圖4 DDR2 SDRAM乒乓緩存結構圖

圖5 DDR2_M odule讀寫時序仿真圖
3.3存儲單元模塊的設計
由于K9WBG08U1M的最小讀寫時鐘周期是25 ns,單片的數據端口位寬為8 bit,所以極限讀寫速度為40Mbyte/s,加上寫入命令和地址也需要時間,實際的讀寫速度在30Mbyte/s。由于接收端接收到的數據平均速度為 150 Mbyte/s,所以單片K9WBG08U1M不能實現對數據的實時存儲,需要對8片K9WBG08U1M進行并行操作才能滿足要求,存儲單元的平均讀寫速度大約是240Mbyte/s,完全滿足存儲要求。接收到的數據要經過緩存單元進行緩存,存儲單元需要從緩存單元中讀出數據進行存儲。緩存單元和存儲單元的工作時鐘是相互獨立的,這就需要進行跨時域處理,利用FPGA內部的FIFO是一種常用的處理跨時域方法。文中的跨時域處理就采用此方法。圖6和圖7分別是K9WBG08U1M芯片的內部結構圖以及交叉雙平面編程的讀寫時序圖。

圖6 K 9WBG08U1M內部結構圖

圖7 交叉雙平面編程時序圖
當 plane0寫入數據后進入編程時,此時不用等待 plane0編程結束,就可以對 plane1、plane2和plane3進行編程操作。由于使用交叉雙平面編程方法省去了大量的頁編程等待時間,從而提高了寫入速度。經實際反復測試單片 K9WBG08U1M的最高寫入速度為30 Mbyte/ s。存儲單元存儲數據時是對8片K9WBG08U1M進行同樣的寫操作,整體寫入速度約為240 Mbyte/s。交叉雙平面編程方式能夠滿足設計的要求。
測試臺USB3.0接口芯片選用的是賽普拉斯半導體公司的型號為CYUSB3014-BZX的芯片。CYUSB3014-BZX集成了USB3.0物理層和32 bit ARM926EJ-S微處理器,采用一種巧妙的架構,使CYUSB3014-BZX芯片和計算機的平均數據傳輸速度最高可達320Mbyte/s。選用CYUSB3014-BZX作為USB3.0接口芯片完全能夠勝任測試工作。
下發數據的速度約為180Mbyte/s,滿足測試要求,上位機軟件下發數據和上傳數據的界面如圖8所示。
上位機軟件下送數據的幀格式為:前2個字節為幀頭“14 6F”,中間為數據體,從“01~FF”共255個字節,在數據體后有4個字節的幀計數,最后是2個字節的幀尾“EB 90”。每幀數據共263個字節,部分數據以及分析結果如圖9所示。

圖8 上位機下發和上傳數據界面

圖9 下發數據幀格式以及數據分析結果
發送結束之后點擊上位機軟件上的“讀取數據”按鈕,設備接收到讀取命令之后開始讀出NAND FLASH存儲陣列中的數據并發送給CYUSB3014-BZX并進行上傳,同時將數據保存至計算機的硬盤里。
數據讀取結束之后點擊上位機軟件上的“數據分析”按鈕即可對數據進行檢測和分析。
共讀取了2 048Mbyte數據,總幀數為十六進制的7C97D9。經檢測沒有出誤碼和數據丟失情況,數據完全正確。
本設計創新點在于,針對高速數據接收要求,使用Virtex-5系列FPGA內部集成的高速串行收發器RocketIOGTP作為高速數據接收單元,內部MIG控制器操作2片DDR2 SDRAM構成的乒乓緩存為緩存單元,32片NAND FLASH構成的存儲陣列為存儲單元來接收存儲高速數據的總體方案設計。文中對大容量高速數據記錄器的3個主要單元的工作原理做了詳細的介紹,對接口復雜的RocketIOGTP收發器和MIG控制器進行封裝,簡化了操作的復雜性,對封裝的模塊進行仿真,驗證其正確性。高速數據的存儲因受到NAND FLASH工作頻率的限制,因此本設計對存儲陣列的操作采用并行處理的方法,通過增加數據總線位寬的方法來提高存儲速度。
[1] 劉波.基于閉環自檢和雙備份的數據存儲器設計與實現[D].太原:中北大學,2011.
[2] 儲成群.基于LVDS接口的高速數據記錄器的設計[D].太原:中北大學,2011
[3] 姚宗.某型固態數據記錄器的研制[D].太原:中北大學,2010.
[4] 胡惠.多通道超高速數據采集與記錄系統的設計與實現[D].南京:南京理工大學.2010.
[5] 孫航,胡靈博,,等.Xilinx可編程邏輯器件應用與系統設計[M].北京:電子工業出版社,2008.
[6] 田耘,徐文波.Xilinx FPGA開發使用教程[M].北京:清華大學出版社,2008.
[7] 須文波,胡丹.DDR2 SDRAM控制器的FPGA實現[J].江南大學學報(自然科學版),2006.
[8] 胡振良.某導彈遙測數據記錄器系統的設計與實現[D].太原:中北大學,2008.
[9] 李圣昆.高速數據采集記錄裝置的研究[D].太原:中北大學,2006.
[10]The DatasheetofMT47H256M8[R].
[11]李永麗.多通道數據采集及大容量存儲系統設計[D].西安:西安電子科技大學,2009.

溫建飛(1991-),男,碩士研究生,主要研究方向為動態測試與智能儀器,734285851@qq.com;

岳鳳英(1977-),男,碩士生導師,副教授,主要研究方向為導航與制導,303979057@qq.com。
Design and Implementation of Large Capacity Missile Borne Data Recorder
WEN Jianfei1,YUE Fengying2*,LI Yonghong2
(1.School of Computer Scienceand Control Engineering,North Uniυersity of China,Taiyuan 030051,China;2.Schoolof Instrumentand Electronics,North Uniυersity ofChina,Taiyuan 030051,China)
A high capacity of the onboard data logger design has been presented,The scheme ismainly completed 3 high-speed image data receiving,each channel's data bandwidth is 150Mbyte/s,the storage capacity is 128 Gbyte. Xilinx's FPGA design selected as themain controller,the completion of high-speed data reception,caching and storage.The receiving unitadopts GTPRocketIO,which is integrated with FPGA,the data receiving rate ofa single link is 3.125 Gbyte/s;High-speed data buffer unit two DDR2 SDRAM chips
ping-pong cache;Thememory cell is composed of 32 pieces of FLASH NAND,which is stored in thememory array.Meanwhile,the recording device is capable of reading the stored data and analyzed afterwards.
large-capacity;high-speed;rocketio gtp;ddr2 sdram;ping-pong
TP431.2
A
1005-9490(2016)04-0951-06
2015-08-02修改日期:2015-12-03
EEACC:791010.3969/j.issn.1005-9490.2016.04.038