《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的高速數據存儲系統優化設計
基于FPGA的高速數據存儲系統優化設計
2014年電子技術應用第9期
張凱華,任勇峰,賈興中
中北大學 電子測試技術國家重點實驗室,山西 太原030051
摘要: 針對遙測系統數據記錄裝置中數據傳輸速率與存儲速率不匹配的問題,提出Flash的并行存儲方案,采用交替雙平面的編程方式可以使得存儲器的存儲速率達到單片Flash最高存儲速率的2倍,即60 MB/s;對控制單元FPGA內部雙端口RAM的邏輯設計進行改進,解決了數據存儲異常的現象。在數據回收方面,提出了多備份的設計思想和備用讀數接口的設計方案,已在工程應用中得到成功實踐,驗證了該數據記錄裝置的可靠性。
中圖分類號: TP302
文獻標識碼: A
文章編號: 0258-7998(2014)09-0037-04
中文引用格式:張凱華,任勇峰,賈興中.基于FPGA的高速數據存儲系統優化設計[J].電子技術應用,2014,40(09):37-40.
Optimized design of the high-speed storage system based on FPGA
Zhang Kaihua,Ren Yongfeng,Jia Xingzhong
National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China
Abstract: For the data recording device of telemetry system, it′s a problem that the transmission rate of data can not match the rate of storage. The paper puts forward the parallel storage scheme of Flash. With the interleave two-plane page program mode, the storage rate reaches double of the highest speed of monolithic Flash, namely 60 MB/s. The design of logic control of dual port RAM is improved to solve the problem of the data storage anomaly. In the aspect of data recovery, this paper puts forward the idea of double design and spare reading interface, which has been successful practiced in engineering application,and verified the reliability of the data recording device.
Key words : the parallel storage scheme;FPGA;dual port RAM;logic control;double design

    遙測系統數據記錄裝置是飛行器運作的重要組成部分,其功能是負責接收采編器采集數據并實時存儲,保證數據的完整和準確,也稱為存儲器。在地面測試階段,存儲器主要通過測試電纜和采編器完成數據上傳操作,由工作人員通過上位機軟件進行分析處理;而在飛行測試階段,存儲器在飛行狀態下記錄數據,落地后通常會遭受沖擊和拉力破壞,對數據的回收工作帶來困難。存儲器數據的高速存儲和工作可靠性問題由此產生。

1 方案設計

    根據實際工程應用,LVDS有效數據傳送速率不高于59 MB/s,設計要求存儲器能夠實現LVDS有效數據的可靠存儲及數據回讀功能,存儲容量不小于3 GB。

    作為存儲器的核心組成部分,存儲模塊設計由接口電路、中心邏輯控制芯片FPGA、配置芯片PROM、LVDS均衡器、LVDS解碼器、存儲芯片Flash、電源模塊以及60 MHz晶振等構成。LVDS數據經解碼器轉換為并行數據后傳送給FPGA,FPGA對其進行分組,緩存處理,寫入Flash芯片;接口電路則實現存儲器數據的回收;由電源模塊為整個電路提供電源,60 MHz晶振提供工作時鐘。原理框圖如圖1所示。

jcdl4-t1.gif

2 關鍵技術設計

2.1 存儲速率優化設計

    根據設計要求,存儲模塊接收LVDS有效數據的傳輸速率不高于59 MB/s,要想實現數據準確、完整的存儲,就要求其存儲速率不低于59 MB/s。設計選用三星公司的NAND型Flash存儲芯片K9WBGO8U1M作為存儲介質,單片存儲容量為4 GB。

    K9WBGO8U1M芯片由兩片K9WAGO8U1M組成,分別記為chip1和chip2,兩者通過芯片CE1和CE2引腳實現使能控制,當CE1為低電平時,chip1選通,可執行內部擦除、讀寫操作,反之亦然。Flash的寫操作過程即實現頁編程的過程,可分為加載和自動編程兩個步驟,加載主要完成指令、地址的下發,自動編程則完成數據的存儲[1]。由于Flash結構的特殊性,采用不同的操作方式,存儲速率都會有所不同,可分為以下幾種:

    (1)單平面編程方式:該方式是指在同一時刻只有chip1或者chip2響應命令操作,進行頁編程,在時間上無法同時進行,從而浪費在等待的過程中。其操作流程圖如圖2所示。

jcdl4-t2.gif

    (2)交替頁編程方式:該方式是在chip1完成加載并進入頁編程時刻,對chip2進行加載,其好處是實現了時間上的復用,避免因為等待而造成時間浪費。其操作流程圖如圖3所示。

jcdl4-t3.gif

    (3)交替雙平面編程方式:Chip的內部存儲空間可劃分為4個plane,每個plane由2 048個塊和4 KB的頁寄存器組成,能夠執行單獨擦除和編程操作。在執行雙平面編程操作時,必須選擇兩個plane同時進行操作。利用芯片內部不同平面可以單獨進行操作的特性,令chip1中plane0和plane1為第1組,plane2和plane3為第2組,chip2中plane0和plane1為第3組,plane2和plane3為第4組,采用如圖4所示的流水線操作技術[2],各組的加載和頁編程能夠實現連續操作,大幅度提高了單片Flash的存儲速率。

jcdl4-t4.gif

    當第1組加載完成后,頁編程的時間約為200 μs,此時對2、3、4組加載,加載時間大約為tjiazai={2[4 KB×t+7t]+tDBSY}×3=823.2 μs>200 μs;其中,t=1/30 MB/s,tDBSY為1 μs等待時間。因此第4組完成加載時,第1組已經完成頁編程操作,可以繼續加載。寫完4組的時間為T={2[4 KB×t+7t]+tDBSY}×4=1 097.6 μs,則單片Flash采用交替雙平面編程方式的最大存儲速率為4 096×8 B/1 097.6 μs=29.85 MB/s>29.5 MB/s,達不到59 MB/s的設計要求。因此,需要對存儲模塊數據總線進行擴展,采用兩片Flash并行存儲的辦法。該想法的實現對控制單元FPGA的邏輯設計提出更高的要求。

2.2 存儲邏輯優化設計

    針對存儲模塊數據總線擴展帶來的邏輯控制難題,本設計利用FPGA內部豐富的存儲資源以及VHDL語言的可操作性和高靈活性,在FPGA內部構造雙端口RAM[3],實現數據緩存,提出以下兩種方案:

    方案一:利用FPGA內部雙口RAM資源,構造8 KB的緩存FIFO。圖5所示為存儲模塊的邏輯原理框圖。當存儲模塊采集信號有效并進入記錄狀態時,數據流以60 MB/s的速率寫入緩存。當寫入數據個數大于4 096時,便以30 MB/s速率從緩存中讀出4 096個數,寫入Flash(A)中;同時繼續判斷緩存中的數是否大于4 096個,若大于,同樣以30 MB/s速率讀出4 096個數寫入Flash(B)中。依次交替循環,利用兩片Flash完成有效數據的寫入過程。

jcdl4-t5.gif

    經過多次測試,發現存儲數據回讀后經常出現某位置4 096 B與前4 096 B幀計數顛倒的情況。分析是由于雙端口RAM為異步操作造成地址補償信號offset的值誤判引起的[4]。雙口RAM寫時鐘是根據LVDS解串出來的恢復時鐘,而讀數時鐘是邏輯控制模塊的120 MHz時鐘,所以RAM讀寫時鐘為異步時鐘。RAM中的讀操作是在地址補償信號offset滿足要求的情況下進行的,而offset的值是在120 MHz時鐘下進行判斷,可能此時寫地址正處于變化狀態,使得寫地址的值不穩定,導致offset的誤判,從而出現幀計數顛倒的現象。

    方案二:在方案一8 KB RAM之后增加兩個4 KB雙口RAM,構成二級緩存[5]。實現兩級緩存的邏輯原理框圖如圖6所示。對于單路的LVDS信號,數據以60 MB/s的速率寫入一級緩存,當判斷寫入數據大于7 106后,以60 MB/s的速率連續讀取4 096個數據至二級緩存(A),同時控制Flash(A)模塊對二級緩存(A)中的數據進行判斷,當寫入數據大于10個后,以30 MB/s速率連續讀取4 096個數并寫入Flash(A)中;同時,如果判斷一級緩存中數據個數大于7 106,同樣以60 MB/s速率連續讀取4 096個數據,寫入二級緩存(B),當控制Flash(B)模塊判斷二級緩存(B)中數據大于10個后,同樣以30 MB/s速率讀取4 096個數寫入Flash(B)。Flash操作交替進行,實現LVDS有效數據輪流有序地寫入兩片Flash。當執行Flash讀操作時,為了保證數據的完整性和正確性,按照寫操作時序依次交替讀出兩片Flash中的數據[6]

jcdl4-t6.gif

    采用方案二的設計,單片Flash的寫入速率達到30 MB/s,進行并行擴展后,使得LVDS數據流同時流入兩片Flash,寫入速率可達60 MB/s,實現了傳輸速率與存儲速率的良好匹配。經過多次測試,回讀數據無異常情況出現。因此,采用第二種設計方案。

    存儲模塊一級緩存到二級緩存切換時序如圖7所示。8k_rdclk表示一級緩沖的讀時鐘,8k_data表示一級緩存中讀出的1 B數據,8k_addrb表示一級緩沖讀地址,a4k_wrclk表示二級緩存(A)的寫時鐘,a4k_addra表示二級緩存(A)的寫地址,b4k_wrclk表示二級緩存(B)的寫時鐘,b4k_addra表示二級緩存(B)的寫地址。

jcdl4-t7.gif

    圖8所示展示了讀二級緩存寫入Flash時序圖。4k_rdclk為二級緩存4 KB的讀時鐘,4k_data為從4 KB緩存中讀出的數據,4k_addrb為4 KB緩存的讀地址,flash_data為寫入Flash中的數據,we為Flash的寫信號,countbyte為寫入Flash的字節計數。

jcdl4-t8.gif

2.3 存儲器硬件優化設計

    由于在飛行試驗過程中,存儲器落地時會受到地面很大的沖擊作用,容易造成內部電路板損壞,因此需要在電路板與機械結構之間填充滿緩沖介質[7]。盡管如此,很多情況下晶振也會不可避免地遭到破壞,直接影響到存儲數據的回收,而飛行試驗的存儲數據對于航天分析具有至關重要的作用。因此在存儲器設計時采用多備份的設計原則,即將采集數據同時灌入甲、乙兩個存儲器,每個存儲器內部分別有兩個存儲體,存儲體之間相互獨立、互為備份,存儲有相同的數據。

   存儲器在落地過程中易受到拉力破壞,使其無法再通過測試電纜進行數據回讀。針對存儲器落地時晶振損壞的情況,對存儲模塊的接口電路進行改進設計,增加了備用讀數接口,兩者具有相同的電氣特性。在存儲器落地后通過備用讀數電纜連接地面測試臺,由測試臺提供給存儲器電源和備用讀數時鐘進行數據回讀,實現了存儲數據的可靠回收。備用讀數接口電路設計原理如圖9所示。

jcdl4-t9.gif

3 試驗驗證

    對存儲器設計進行改進后,將存儲器、采編器和地面測試臺通過地面電纜連接,模擬飛行器上的數據采集、存儲過程。在數據回收后,由上位機軟件進行分析處理,存儲數據準確無誤,測試數據總量為300 GB。通過備用讀數接口和地面甩辯電纜接口讀出的數據相同,證明設計方案能夠實現采集數據的準確、完整存儲及可靠回收。

    本次設計的存儲系統采用Flash的并行存儲技術和交替雙平面編程的方式,在存儲速率方面有很大提高,保證了數據存儲的準確性和完整性。同時多備份和備用讀數接口的設計也提高了存儲器數據回收的可靠性,在數據高速存儲和可靠回收測試領域具有良好的應用前景。

參考文獻

[1] 盛大鵬.基于Flash的高速大容量存儲器的研究[D].北京:中國科學院研究生院,2008.

[2] 車艷霞,任勇峰,劉東海.一種小體積高速數據記錄器的設計與實現[J].自動化與儀表,2011,26(11):9-11.

[3] 白佳俊,孟祥勇,張德平,等.基于W5300和FPGA的實時數據采集系統設計[J].電子技術應用,2013,39(4):19-21.

[4] 馬游春,張濤,李錦明.FPGA集成FIFO在高過載存儲測試系統中的應用[J].儀器儀表學報,2006,27(6):2350-2351.

[5] 胡宏平,胡兵.基于FPGA的雙口RAM在信號采集中的應用[J].微計算機信息,2007(23):223-225.

[6] 甄國涌.雷達視頻回波模擬設備關鍵技術研究[D].太原:中北大學,2009.

[7] 劉飛.小型高速圖像存儲系統的設計[D].西安:西安電子科技大學,2009.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
中文在线一区| 亚洲精品四区| 亚洲精品资源美女情侣酒店| 国产在线欧美日韩| 国产欧美精品xxxx另类| 国产精品porn| 国产精品国产三级国产aⅴ入口| 欧美理论片在线观看| 欧美精品精品一区| 欧美精品亚洲二区| 欧美人成免费网站| 欧美经典一区二区| 欧美日韩精品免费观看视频完整| 欧美精品久久久久久| 欧美日本中文字幕| 欧美日韩免费高清一区色橹橹| 欧美久久久久久| 欧美日韩国产在线看| 欧美日韩免费| 国产精品久久久久999| 国产精品视频一| 国产女同一区二区| 国产无一区二区| 韩国一区电影| 亚洲国产欧美在线人成| 亚洲精品国产精品久久清纯直播| 日韩视频一区二区三区| 一区二区冒白浆视频| 亚洲女ⅴideoshd黑人| 欧美一区二区啪啪| 亚洲国产高清一区| 日韩视频中文| 亚洲欧美制服另类日韩| 亚久久调教视频| 久久久久国色av免费看影院 | 亚洲精品中文字幕女同| 一道本一区二区| 亚洲欧美激情诱惑| 久久精品国产精品亚洲精品| 亚洲人精品午夜在线观看| 亚洲欧美一区二区三区久久| 亚洲制服av| 久久国产精彩视频| 久热精品视频在线观看一区| 欧美久久电影| 国产乱肥老妇国产一区二| 红桃视频成人| 亚洲三级免费| 亚洲欧美成aⅴ人在线观看| 久久精品免费看| 99人久久精品视频最新地址| 亚洲免费小视频| 久久亚洲影院| 欧美日韩国产高清| 国产精品视频免费| 亚洲福利电影| 一级日韩一区在线观看| 亚洲影院一区| 亚洲精品在线免费观看视频| 亚洲欧美一区二区精品久久久| 久久免费黄色| 欧美日韩一区二| 国产在线精品二区| 亚洲美女黄色| 久久国产免费看| 一区二区精品国产| 久久久精品性| 欧美日韩一二三四五区| 国产一区二区0| 99re国产精品| 亚洲成人在线视频播放| 日韩午夜电影| 久久精品视频免费播放| 欧美日韩国产亚洲一区| 国语自产精品视频在线看一大j8| 一本大道久久a久久综合婷婷| 久久爱www.| 亚洲一区二区三区在线观看视频 | 亚洲制服欧美中文字幕中文字幕| 91久久精品国产91久久| 羞羞答答国产精品www一本| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲日本视频| 欧美在线高清视频| 亚洲一区视频在线观看视频| 欧美大秀在线观看| 国产日韩欧美在线看| 日韩午夜av| 亚洲精品美女免费| 久久久天天操| 国产农村妇女精品| 一本色道久久综合亚洲精品小说| 亚洲电影天堂av| 欧美亚洲网站| 欧美日韩视频一区二区三区| 亚洲国产1区| 亚洲成人在线视频网站| 欧美专区在线观看一区| 国产精品免费看| 99精品热视频| 99av国产精品欲麻豆| 欧美成人dvd在线视频| 国产综合一区二区| 午夜天堂精品久久久久| 亚洲男人的天堂在线aⅴ视频| 欧美日韩国产精品一区| 亚洲国产女人aaa毛片在线| 亚洲成色777777女色窝| 久久精品最新地址| 国产伦精品一区二区三区免费迷 | 亚洲精品资源美女情侣酒店| 老色鬼久久亚洲一区二区| 国产在线高清精品| 欧美一二三区在线观看| 久久成人精品无人区| 国产精品日本精品| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲一区综合| 国产精品扒开腿做爽爽爽软件| 一本色道久久综合亚洲精品小说 | 夜夜嗨av一区二区三区网站四季av | 国产欧美高清| 亚洲欧美日韩一区二区三区在线观看 | 日韩一级网站| 亚洲一区综合| 国产精品视频| 欧美一级大片在线免费观看| 久久精品五月婷婷| 在线不卡中文字幕| 亚洲精品国产精品乱码不99 | 欧美色区777第一页| 日韩一级黄色av| 亚洲欧美不卡| 国产欧美日韩免费看aⅴ视频| 亚洲欧美亚洲| 久久五月天婷婷| 在线播放中文字幕一区| 亚洲人成网站999久久久综合| 欧美激情精品久久久久| 9色国产精品| 亚洲欧美日韩综合一区| 国产欧美日韩在线| 久久精品视频在线| 欧美激情亚洲国产| 一区二区三区国产精华| 欧美一区二区高清| 伊人色综合久久天天| 99精品免费视频| 国产精品国产三级国产普通话蜜臀 | 亚洲综合欧美| 国产婷婷色一区二区三区在线| 亚洲国产日韩在线| 欧美日韩中文字幕精品| 亚洲综合99| 猛男gaygay欧美视频| 日韩视频不卡中文| 欧美亚洲一区二区三区| 狠狠网亚洲精品| 亚洲天堂av图片| 国产一区免费视频| 亚洲美女尤物影院| 国产农村妇女精品| 亚洲精选在线| 国产欧美日韩亚洲| 亚洲久久一区二区| 国产精品久久久久毛片软件 | 欧美激情按摩在线| 亚洲欧美卡通另类91av| 美女久久一区| 在线亚洲精品| 免费91麻豆精品国产自产在线观看| 99re亚洲国产精品| 久久久91精品国产| 亚洲精品一区二区在线| 久久精品久久99精品久久| 激情久久五月| 国产精品综合色区在线观看| 欧美综合激情网| 欧美激情一区二区三区全黄 | 欧美在线视屏| 欧美日韩一区在线观看视频| 欧美在线看片| 欧美日韩综合另类| 亚洲国产成人一区| 国产精品美女在线观看| 亚洲精品乱码久久久久久按摩观| 国产精品视频免费一区| 亚洲精选国产| 国产性色一区二区| 亚洲夜晚福利在线观看| 亚洲高清在线观看| 久久国产精品电影| 在线一区免费观看| 欧美国产另类| 久久大综合网| 国产精品美女999| 亚洲免费播放| 激情综合视频| 性欧美长视频| 在线午夜精品|