基于FPGA的高速數(shù)據(jù)采集存儲系統(tǒng)的設(shè)計
0 引言
信息技術(shù)的發(fā)展,特別是各種數(shù)字處理器件處理速度的提高,實時處理大量的數(shù)據(jù)已經(jīng)成為現(xiàn)實。但是,在一些惡劣環(huán)境和數(shù)據(jù)無法進行實時傳輸?shù)那闆r下,還必須用到存儲測試的方法。存儲測試是指在對被測對象無影響或影響在允許的范圍條件下,在被測體內(nèi)置入微型存儲測試系統(tǒng),現(xiàn)場實時完成信息快速采集與存儲,事后對存儲器進行回收,由計算機處理和再現(xiàn)被測信息的一種動態(tài)測試技術(shù)。針對具體的情況,我們研制開發(fā)了一種用蓄電池就可工作的、能在各種惡劣環(huán)境下應(yīng)用的、可回收的小體積低功耗的大容量數(shù)據(jù)采集存儲系統(tǒng)。
1 系統(tǒng)總體設(shè)計
整個系統(tǒng)以FPGA為核心控制器來組織工作,它控制著整個系統(tǒng)的讀、寫、擦除等操作。系統(tǒng)主要解決的問題是采集、存儲和數(shù)據(jù)事后讀取。系統(tǒng)整體框圖如下圖1所示。
1.1 數(shù)據(jù)采集
由于要同時對多路信號進行采集,我們采取了FPGA對模擬開關(guān)進行均等時間推進以實現(xiàn)通道的轉(zhuǎn)換。當(dāng)轉(zhuǎn)換到某一通道時,FPGA同時要啟動A/D進行模數(shù)轉(zhuǎn)換。為了達到高精度采集的目的,采用16位的AD轉(zhuǎn)換器AD762l,模擬開關(guān)選用ADG706。以下是AD轉(zhuǎn)換器的硬件電路連接圖2。
1.2 AD采集時序
AD采集時序圖如下圖3所示。AD采集過程從/CNVST信號下降沿開始,BUSY信號下降沿完成,BYTE信號控制數(shù)據(jù)類型,低電平為低8位數(shù)據(jù),高電平為高8位數(shù)據(jù)。延遲0.9us給出第一個WRFIFO信號,WRFIF0高電平有效,在此期間數(shù)據(jù)線上的數(shù)據(jù)為低8位數(shù)據(jù),經(jīng)過1.8us的低電平后,給出第二個WRCLK信號,此時數(shù)據(jù)為高8位數(shù)據(jù),一個數(shù)據(jù)的轉(zhuǎn)換完成。圖3 AD采集時序圖
1.3 數(shù)據(jù)存儲
對數(shù)據(jù)的存儲,我們采用閃存(FLASH Memory)作為存儲器.它具有體積小、功耗低和數(shù)據(jù)不易丟失的特點。對FLASH的寫操作過程有其固定的操作模式,如圖3所示。由于FLASH是按頁存儲的,當(dāng)一頁寫完之后要進行下一頁的控制字和地址的重新寫入,為了使采集回來的數(shù)據(jù)能及時準(zhǔn)確的寫/kFLASH,而不至于在頁與頁的交替時間內(nèi)使數(shù)據(jù)丟失.所以不可能將采集回的數(shù)據(jù)直接存入FLASH,我們利用FPGA內(nèi)部集成FIF0來緩存FLASH MEMORY編程期間A/D控制器上傳的數(shù)據(jù),A/D轉(zhuǎn)換器總的采樣率為12KSPS,精度為12位,加上通道號和幀計數(shù),每秒鐘A/D控制器上傳到FIF0的數(shù)據(jù)為34KB。FLASH MEMORY最大編程時間為300us。在FLASH MEMORY編程期間A/D轉(zhuǎn)換器上傳到FIF0的數(shù)據(jù)為:34KB×300us=10.2B。因此FPGA內(nèi)部集成FIF0設(shè)計成寬度為一個字節(jié),深度為1024的異步FIFO,即總?cè)萘繛?KB,完全能夠緩存FLASH MEMORY編程期間A/D控制器上傳的數(shù)據(jù)。
評論