《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > SAR高速海量數(shù)據(jù)存儲與回放系統(tǒng)設(shè)計
SAR高速海量數(shù)據(jù)存儲與回放系統(tǒng)設(shè)計
來源:電子技術(shù)應(yīng)用2011年第3期
陶 君,, 袁 著, 張 可,, 張 偉
電子科技大學(xué) 電子科學(xué)技術(shù)研究院 ,,四川 成都610054
摘要: 為了解決SAR匹配成像數(shù)據(jù)以及合成孔徑雷達中頻采樣后高速海量數(shù)據(jù)的存儲問題,,介紹了一種基于FPGA控制的NAND Flash數(shù)據(jù)存儲及回放系統(tǒng)設(shè)計方案。實驗證明,該系統(tǒng)能以3 Gb/s碼流實時存儲數(shù)據(jù)具有強實時性,,且性能穩(wěn)定,,有很好的工程使用價值。
中圖分類號: TP211
文獻標識碼: A
文章編號: 0258-7998(2011)03-0126-04
Design of SAR high-speed and mass data storage and playback system
Tao Jun, Yuan Zhu, Zhang Ke, Zhang Wei
Research Institute of Electronic Science Technology, Electronic Science and Technology University, Chengdu 610054, China
Abstract: The design of NAND flash storage and playback system based on FPGA is presented in this paper to implement the super high-speed storage of SAR image and mass sampling data. Experimental results confirm the control system can realize the real-time storage up to 3 Gb/s. The system possesses some value in engineering applications and the feature of strong real-time, stable.
Key words : data storage; FPGA; NAND flash; invalid block management


    隨著合成孔徑雷達(SAR)對分辨率的要求不斷提高,,其中頻采樣后回波信號的數(shù)據(jù)量與信號處理后的二維雷達圖像的數(shù)據(jù)量大大增加,。為了便于后續(xù)分析與處理,通常會將這些海量回波數(shù)據(jù)以及雷達圖像數(shù)據(jù)進行無失真數(shù)據(jù)存儲,。這對數(shù)據(jù)存儲系統(tǒng)的設(shè)計提出了兩個方面的要求:(1)接口簡單且有較高的數(shù)據(jù)存儲速率,;(2)由于所需存儲數(shù)據(jù)數(shù)量巨大,要求存儲系統(tǒng)有足夠的容量,。
    傳統(tǒng)的SDRAM存儲方案隨著存儲器容量的增加,,其復(fù)雜性和實現(xiàn)成本也迅速提高,且在系統(tǒng)掉電后所存儲數(shù)據(jù)會丟失,,不適合數(shù)據(jù)的回放分析及處理的應(yīng)用場合[1],。而采用基于Flash的存儲方案,存儲容量大(單片容量可以達到32 GB),不但數(shù)據(jù)存儲的效率較高(單片讀寫速度可以達到160 Mb/s),而且其接口通用,、設(shè)計簡單,,方便頻繁讀寫操作,因此是大容量雷達數(shù)據(jù)實時存儲的優(yōu)選方案,。
1 系統(tǒng)設(shè)計
1.1系統(tǒng)設(shè)計指標

    本系統(tǒng)是SAR雷達信號處理系統(tǒng)中的子系統(tǒng),,主要實現(xiàn)對中頻采樣數(shù)據(jù)和合成孔徑雷達匹配景象數(shù)據(jù)進行存儲與回放。根據(jù)應(yīng)用需求分析,,設(shè)計的系統(tǒng)應(yīng)具有數(shù)據(jù)存儲和數(shù)據(jù)回傳(上傳至PC機)兩項基本功能,,其中以數(shù)據(jù)存儲為核心功能。在數(shù)據(jù)存儲過程中,,最關(guān)鍵的兩個指標分別是數(shù)據(jù)存儲速率和數(shù)據(jù)存儲量,。這兩項指標直接影響系統(tǒng)設(shè)計的優(yōu)劣。根據(jù)表1列出的SAR工作典型參數(shù),,就上述兩個指標進行分析。
    (1) 存儲速率分析
    由表1可知,,經(jīng)過信號處理后的一幀圖像為4 096×4 096像素,。極限情況下,每秒鐘信號處理模塊會送出3.5幀匹配景象數(shù)據(jù),則圖像存儲的速率必須大于448 Mb/s。存儲中頻采樣數(shù)據(jù)時,,根據(jù)上述采樣率以及A/D的采樣位寬,,可估算每秒采集到的正交兩路中頻雷達信號數(shù)據(jù)量為350 MB,即中頻采樣數(shù)據(jù)的存儲速率要求高于2.8 Gb/s,。

    (2) 存儲量分析
  由于系統(tǒng)采用非易失存儲介質(zhì),,存儲量與系統(tǒng)開機運行時間相關(guān)。根據(jù)分析,設(shè)定存儲系統(tǒng)工作在最長時間5 min時,可估算規(guī)定時間內(nèi)系統(tǒng)需要存儲102.6 GB的中頻采樣數(shù)據(jù)和16.5 GB的圖像數(shù)據(jù),。這就要求設(shè)計系統(tǒng)板載總數(shù)據(jù)存儲容量大于118.1 GB,。
1.2 系統(tǒng)結(jié)構(gòu)
  為了滿足設(shè)計技術(shù)指標要求,對構(gòu)成系統(tǒng)的主要器件選擇如下: (1)存儲系統(tǒng)主控器選取Altera 公司型號為EP2S90F780FPGA芯片,。(2)存儲芯片選取三星公司型號為K9LBG08U0M的NAND Flash,。(3)選取Cypress Semiconductor公司的EZ-USB FX2作為數(shù)據(jù)回傳USB2.0的微處理控制器。(4)選用美光公司型號為ML48LC8M16的SDRAM作為數(shù)據(jù)緩存芯片,。系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示,。

2 硬件設(shè)計
2.1 SDRAM接口設(shè)計

    SDRAM與FPGA的連接示意圖如圖2所示。左邊是SDRAM芯片ML48LC8M16的引腳,,右邊是FPGA中SDRAM數(shù)據(jù)接口模塊對應(yīng)的信號,。系統(tǒng)中運用了兩片ML48LC8M16,圖2是一片SDARM的接口,,另一片接口與之相同,。兩片SDRAM乒乓緩存高速數(shù)據(jù),可以增加系統(tǒng)存儲的穩(wěn)定性和可靠性。

2.2 NAND Flash存儲模塊設(shè)計
    系統(tǒng)數(shù)據(jù)存儲基本單元由型號為K9LBG08U0M的NAND Flash芯片組成,,K9LBG08U0M是一款低功耗,、高效率的NAND Flash存儲芯片。其內(nèi)部采用典型“塊-頁”組織結(jié)構(gòu)方式,,片內(nèi)總共分為8 192塊,每塊包括128頁,,每頁可存儲4 KB,總存儲空間達到4 GB[2],。其典型編程和擦除時間分別為0.8 ms,、1.5 ms,存儲速度較快,,存儲容量適中,,適合SAR海量數(shù)據(jù)存儲的應(yīng)用場合。系統(tǒng)以FPGA為主控制器,,并行控制4個NAND Flash存儲器工作組,,其接口電路原理圖如圖3所示。每個存儲器組分別由8片K9LBG08U0M芯片組成,。每組中又以4片為一個最小存儲單位,。每個最小存儲單位中,將地址鎖存信號ALE,、命令鎖存信號CLE等控制信號線通過并接的方式連接到一起,,各片數(shù)據(jù)地址復(fù)用線IO0~IO7獨立連接至FPGA的通用I/O中。

    這樣將數(shù)據(jù)通道可擴展至32 bit,,有效地拓寬了數(shù)據(jù)存儲帶寬,,提高了數(shù)據(jù)吞吐量。同時,,因采用了32片NAND Flash芯片,,板載存儲容量達到了128 GB。
2.3 回傳模塊設(shè)計
    數(shù)據(jù)回傳通道通過EZ USB 68013與PC連接,集成了USB2.0收發(fā)器,、串行接口引擎(SIE),、增強型8051微控制器和可編程的外圍接口。設(shè)計中采用USB 68013的GPIF接口,,并運用8 bit的傳輸方式,。EZ-USB FX2可配置成Ports、GPIF Master(主)和Slave FIFO(從)三種不同的接口模式,,在設(shè)計中使用Slave FIFO模式[3],。在該模式下,外部邏輯直接連接到FX2的端點FIFO,,GPIF并沒有被激活,。因為外部邏輯可以直接控制FIFO,,所以FIFO的基本控制信號(標志、片選,、使能)由EZ-USB FX2的引腳引出,,外部控制可以是同步或異步。圖4為在Slave模式下USB芯片外圍電路以及與FPGA連接的原理圖,。

3 存儲系統(tǒng)軟件設(shè)計
3.1控制器軟件模塊

     數(shù)據(jù)傳輸與存儲控制電路的開發(fā)工作主要集中在FPGA上,。根據(jù)上述分析與介紹,結(jié)合NAND Flash以及USB 68013芯片的操作特點,,考慮控制器的通用性與系統(tǒng)的可擴展性,,存儲系統(tǒng)軟件設(shè)計如圖5所示。其中包括USB操作命令解析模塊,、寫時序發(fā)生模塊,、壞塊管理" title="壞塊管理" target="_blank">壞塊管理模塊、數(shù)據(jù)上傳控制模塊,、塊擦除時序發(fā)生器模塊,、讀時序發(fā)生器模塊等。
    圖5中,,虛線框標定的軟件模塊均運用硬件描述語言編寫,,在Quarters II編譯環(huán)境下編譯、綜合并得到了實現(xiàn),。

3.2 系統(tǒng)工作流程
    系統(tǒng)工作流程如下:上電后,由壞塊管理程序掃描所有存儲塊,,同時記錄壞塊地址值,,并存入FPGA內(nèi)建立的RAM壞塊表中;然后系統(tǒng)等待接收并解析USB控制命令,;若控制命令為數(shù)據(jù)存儲,,首先進行寫數(shù)據(jù)目標塊擦除操作,然后在壞塊管理程序監(jiān)管下,,由寫時序發(fā)生模塊存儲SDRAM接口準備好的數(shù)據(jù),,數(shù)據(jù)存儲完畢后系統(tǒng)進入待命狀態(tài)。若控制命令為數(shù)據(jù)讀取,,首先從USB控制命令中解析出目標數(shù)據(jù)地址,,之后由讀取時序發(fā)生模塊將數(shù)據(jù)讀入USB芯片的FIFO中;最后系統(tǒng)根據(jù)FIFO標志位將數(shù)據(jù)上傳至PC機,。整個存儲系統(tǒng)工作的流程圖如圖6所示,。

3.3存儲速度優(yōu)化
    從存儲芯片的存儲機制出發(fā),優(yōu)化控制器軟件結(jié)構(gòu)可以達到提高系統(tǒng)存儲速度的目的[4],。單片NAND Flash將數(shù)據(jù)寫入的過程是:通過數(shù)據(jù)總線向存儲芯片發(fā)送寫數(shù)據(jù)命令80 h,,緊接著寫目的頁地址,然后寫4 096 B數(shù)據(jù)(計算數(shù)據(jù)寫入所需要時間為Tdata-in),最后輸入結(jié)束命令10 h[2],。這一系列操作完成后Flash進入忙碌狀態(tài),,同時將4 KB數(shù)據(jù)從數(shù)據(jù)緩存區(qū)搬移到內(nèi)核,計算搬移所需要的時間為Tprog,。則4 KB數(shù)據(jù)寫入的總時間如下:
 
由此可得到單片寫入速度為96 Mb/s,。系統(tǒng)硬件結(jié)構(gòu)設(shè)計時將4片存儲器作為最小單元級聯(lián),采用該方式數(shù)據(jù)寫入速度可以提高到384 Mb/s,。為進一步提高速度,,可將數(shù)據(jù)搬移時間Tprog充分利用起來??刂破鬈浖軐崿F(xiàn)對兩個不同的單元進行乒乓操作,,即在一個存儲單元進入忙狀態(tài)時,另一個存儲單元開始寫,。這樣交替操作,,寫入速度可達到768 Mb/s??刂破魍瑫r驅(qū)動4個存儲器組并行工作,,則其數(shù)據(jù)存儲速度可進一步提升到3 072 Mb/s(即3 Gb/s)。
3.4  NAND Flash壞塊管理
    由于NAND Flash 在出廠和使用過程中都會出現(xiàn)壞塊 (無法或錯誤地存儲數(shù)據(jù)),,這將對所存儲數(shù)據(jù)的準確性造成影響,。為了準確無失真地存儲數(shù)據(jù),必須對NAND Flash中隨機出現(xiàn)的壞塊進行有效的處理,。本設(shè)計采用一種自適應(yīng)(可變長度)狀態(tài)機方法,,簡單有效地實現(xiàn)了壞塊的管理。系統(tǒng)上電運行時,,將由主控制器掃描得到的所有壞塊地址值存入FPGA內(nèi)建立的RAM表中[5],。
    采取這樣的方式,可使片上RAM資源消耗降低[6],。在進行數(shù)據(jù)寫操作時(地址線性增加),,判斷壞塊地址與當前寫地址之間的距離,通過內(nèi)部計數(shù)器操作可避開壞塊,。壞塊管理狀態(tài)轉(zhuǎn)換圖如圖7所示,。

    壞塊管理狀態(tài)機包括3個狀態(tài):Idle(空狀態(tài))、Get_timer(取壞塊距離狀態(tài)),、Addr_change(塊地址改變狀態(tài)),。其操作流程如下:(1)系統(tǒng)復(fù)位時狀態(tài)機進入Idle狀態(tài),等待不執(zhí)行任何操作,。(2)當頁地址標志位不為0時(寫操作開始),,狀態(tài)機進入Get_timer狀態(tài),,此狀態(tài)下取下一個壞塊到當前塊的距離,并賦給定時器timer,,若timer為“0”繼續(xù)停留在該狀態(tài),,同時連續(xù)壞塊地址自加;若timer不為“0”,,則狀態(tài)跳轉(zhuǎn)到Addr_change,。(3)在Addr_change狀態(tài)下,等待一個Block中所有頁寫完后,,判斷timer是否為非“0”,,若是塊地址自加,同時timer自減,;反之輸出塊地址為原地址加上連續(xù)壞塊寄存器的值,。
    該方法實現(xiàn)的壞塊管理程序,能有效避開隨機出現(xiàn)的壞塊,,降低片上資源消耗,,提高了工作效率,確保了雷達數(shù)據(jù)存儲的完整性與準確性,。
4 系統(tǒng)實驗結(jié)果
    通過軟硬件協(xié)同設(shè)計,,最終實現(xiàn)了整個存儲控制系統(tǒng),包括板載32片F(xiàn)lash芯片(正面16片,,背面16片),、主控FPGA芯片、USB控制芯片,、SDRAM芯片,、配置芯片等。
    將同一幀灰度圖像數(shù)據(jù)分別存儲在經(jīng)過壞塊管理的存儲器組1和未經(jīng)過壞塊管理的存儲器組2中,然后通過讀時序操作分別讀取數(shù)據(jù),,在PC機上整合成一幀完整的圖像并做對比,其結(jié)果如圖8所示,??梢娢唇?jīng)壞塊管理存儲的圖像數(shù)據(jù)出現(xiàn)失真,壞塊區(qū)域輸出成片“0”值,,圖像出現(xiàn)帶狀白色噪聲點,,這些干擾噪聲會嚴重影響后續(xù)信號處理結(jié)果。

    經(jīng)過壞塊管理后讀出的數(shù)據(jù)形成如圖8(b)的圖像可以發(fā)現(xiàn),,完全不存在圖8(a)所示現(xiàn)象,,圖像中只有包含有真實目標的匹配成像信息。說明經(jīng)過壞塊處理后數(shù)據(jù)被完整準確地存儲起來,,不會對后續(xù)的信號處理造成影響,。
    本文介紹的系統(tǒng)作為子模塊已在SAR成像系統(tǒng)中成功應(yīng)用,。實踐證明,本存儲回放系統(tǒng)能夠高效、穩(wěn)定,、可靠地工作,,而且數(shù)據(jù)存儲無失真。在后續(xù)工作中,,可在Flash控制邏輯上采用雙線程操作(Two Plane)方式,,能將數(shù)據(jù)寫入速度提高約1.6倍;也可驗證控制器的通用性,,在存儲板上搭載單片容量更大的存儲芯片,,簡單修改配置參數(shù)就可將目前板載總?cè)萘繛?28 GB的存儲系統(tǒng)將其容量擴至4 TB,使其適應(yīng)未來大容量存儲設(shè)備的發(fā)展趨勢,。
參考文獻
[1] 黃偉,,羅新民.基于FPGA的高速數(shù)據(jù)采集系統(tǒng)接口設(shè)計[J].單片機與嵌入式系統(tǒng)設(shè)計,2006(4):35-36
[2] Samsung.NAND flash assignment recommendation [EB/OL].www.sumsung.com.2008.
[3] 李鵬勃,張洪平.基于USB2.0的高數(shù)數(shù)據(jù)采集系統(tǒng)[J].電子技術(shù)應(yīng)用,,2009,35(10):109-111.
[4] 邱華,,黃少珉,張萌.提高Nand Flash性能的方法[J].計算機工程與應(yīng)用,2009,45(8):84-86.
[5] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué),,2003.
[6] 張勝勇,,高世杰.基于FPGA的NAND Flash壞塊處理方法[J].計算機工程,2010(6):239-240.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。