正文 一種高速數據采集記錄裝置的設計(1 / 2)

一種高速數據采集記錄裝置的設計

探索與觀察

作者:侯澤雄 沈小林 薑旭剛

【摘要】文章介紹了一種基於Flash的高速數據采集記錄裝置的實現方案;文中采用了Flash高速存儲技術與FPGA的二級緩衝技術,提高了存儲速度,突破存儲芯片的瓶頸,成功實現了數據存儲速率與傳輸速率完美的匹配;同時通過設計合理的電路降低了存儲模塊的功耗,利用可靠的通信協議,有效保證了信號數據的可靠接收和存儲。

【關鍵詞】數據記錄儀;Flash;高速存儲

1.係統方案設計

本文設計的數據記錄係統由以下幾部分組成:兩台完全相同的數據記錄儀、一個地麵綜合測試台、上位機、配套軟件以及配套電纜。主要用於記錄由雷達係統產生的視頻回波、圖像及遙測三路LVDS高速信號。係統工作時,由雷達係統首先發來啟動記錄信號,使已處於采集狀態的兩台記錄儀同時工作,二者互為備份。地麵測試台產生的模擬信號供記錄儀存儲,同時可以控製記錄儀進入不同的工作狀態,通過內置的USB接口讀取記錄儀的數據;上位機通過USB電纜與地麵測試台相接,對回讀的數據進行分析,同時驗證記錄儀是否正常工作。

2.係統硬件設計

該係統采用隔離變壓器隔離接收三路LVDS數據,使得隔離前後的電路沒有電氣連接特性,然後再將隔離後的信號傳送給存儲模塊;經過存儲模塊的均衡、解串後傳給FPGA中心控製器,最後存入兩片Flash中。

遙測係統輸出的三路數據都有各自的啟動記錄信號。當記錄儀接收到啟動控製信號,開始記錄對應路的數據,並存儲到相應的存儲模塊中。飛行試驗完畢後,可以利用備用讀數電纜,將各個存儲模塊中數據通過測試台上傳至上位機中進行分析,以便對記錄儀的存儲功能進行驗證。在飛行模式下記錄儀的供電由雷達係統完成。

記錄儀由三個存儲模塊和一個接口模塊組成。存儲模塊主要接收遙測係統的視頻回波、圖像及遙測三路LVDS信號,並對其中的有效數據進行實時存儲。該模塊主要包括以下幾個部分:中心邏輯控製芯片FPGA、配置芯片PROM、LVDS電纜均衡器、LVDS解串芯片、存儲芯片Flash、電源模塊以及60MHz晶振等[1]。

接口模塊主要包括LVDS高速讀數接口、RS-422長線接口、視頻及圖像遙測雷達信號輸入接口、各個存儲模塊的LVDS輸入接口以及數據上傳和指令下發接口。高速讀數接口與地麵測試台主控卡的相應接口連接,通過LVDS接口高速讀取其中的數據;422長線接口通過雙絞線電纜與地麵測試台連接,主要實現記錄儀與地麵測試台之間的通信。

3.係統邏輯設計

3.1 Flash高速存儲技術設計

由於Flash是基於頁讀寫、塊擦除的工作模式[2],在對其進行讀、寫以及擦除操作都需要一定的等待時間,通過建立無效塊列表,有效地提高了讀寫速率[3]。由FPGA內部時序控製轉換將生成的4K並行數據輪流寫入兩片Flash中,單片Flash采用交替雙平麵頁編程方式,存儲速率能夠達到29.85MB/s。采用兩片Flash進行存儲,從時間上看兩個數據流同時流入兩片Flash中,相當於數據總線增加了一倍,實現數據存儲速率能夠達到單片Flash存儲速率的兩倍,即有效數據存儲率為59.7MB/s,大於有效數據的傳輸速率59MB/s,能夠保證對每路數據源的可靠存儲。

3.2 存儲模塊邏輯設計

LVDS數據流可以直接按字節方式分離並存儲,該方式雖然可以降低FPGA內部資源的消耗,但是加大了對存儲數據恢複的複雜程度,並其中一路存儲時出現丟數,容易影響到另一路數據的存儲,造成數據結構的紊亂,導致存儲數據無法恢複。因此采用FPGA內部雙口RAM資源,實現8Kbyte數據的緩衝,之後增加兩個4K雙口RAM,構成了二級緩衝。對於單路的I/P/Q信號,數據在60M的時鍾下寫入一級緩衝(8K)中,當判斷寫入數據大於7106後,以60M的速率連續讀取4096個數據給二級緩衝A,同時控製Flash(A)模塊對二級緩衝A中的數據進行判斷,當寫入數據大於10個後,以30M的速率連續讀取4096個並寫入Flash(A)中;當再次判斷一級緩衝(8K)中讀寫地址差值大於7106後,同樣以60M的速率連續讀取4096個數據,並寫入二級緩衝B,當控製Flash(B)模塊判斷二級緩衝B中數據大於10個後,同樣以30M的速率讀取4096個後寫滿Flash(B)中的一頁。上述操作交替進行,實現LVDS數據流中的有效數據輪流有序地存入兩片Flash中。