信息技術的發展,特別是各種數字處理器件處理速度的提高,實時處理大量的數據已經成為現實。但是,在一些惡劣環境和數據無法進行實時傳輸的情況下,還必須用到存儲測試的方法。存儲測試是指在對被測對象無影響或影響在允許的范圍條件下,在被測體內置入微型存儲測試系統,現場實時完成信息快速采集與存儲,事后對存儲器進行回收,由計算機處理和再現被測信息的一種動態測試技術。針對具體的情況,我們研制開發了一種用蓄電池就可工作的、能在各種惡劣環境下應用的、可回收的小體積低功耗的大容量數據采集存儲系統。 1 系統總體設計 整個系統以FPGA為核心控制器來組織工作,它控制著整個系統的讀、寫、擦除等操作。系統主要解決的問題是采集、存儲和數據事后讀取。系統整體框圖如下圖1所示。 1.1 數據采集 由于要同時對多路信號進行采集,我們采取了FPGA對模擬開關進行均等時間推進以實現通道的轉換。當轉換到某一通道時,FPGA同時要啟動A/D進行模數轉換。為了達到高精度采集的目的,采用16位的AD轉換器AD762l,模擬開關選用ADG706。以下是AD轉換器的硬件電路連接圖2。 1.2 AD采集時序 AD采集時序圖如下圖3所示。AD采集過程從/CNVST信號下降沿開始,BUSY信號下降沿完成,BYTE信號控制數據類型,低電平為低8位數據,高電平為高8位數據。延遲0.9us給出第一個WRFIFO信號,WRFIF0高電平有效,在此期間數據線上的數據為低8位數據,經過1.8us的低電平后,給出第二個WRCLK信號,此時數據為高8位數據,一個數據的轉換完成。圖3 AD采集時序圖 1.3 數據存儲 對數據的存儲,我們采用閃存(FLASH Memory)作為存儲器.它具有體積小、功耗低和數據不易丟失的特點。對FLASH的寫操作過程有其固定的操作模式,如圖3所示。由于FLASH是按頁存儲的,當一頁寫完之后要進行下一頁的控制字和地址的重新寫入,為了使采集回來的數據能及時準確的寫/kFLASH,而不至于在頁與頁的交替時間內使數據丟失.所以不可能將采集回的數據直接存入FLASH,我們利用FPGA內部集成FIF0來緩存FLASH MEMORY編程期間A/D控制器上傳的數據,A/D轉換器總的采樣率為12KSPS,精度為12位,加上通道號和幀計數,每秒鐘A/D控制器上傳到FIF0的數據為34KB。FLASH MEMORY最大編程時間為300us。在FLASH MEMORY編程期間A/D轉換器上傳到FIF0的數據為:34KB×300us=10.2B。因此FPGA內部集成FIF0設計成寬度為一個字節,深度為1024的異步FIFO,即總容量為1KB,完全能夠緩存FLASH MEMORY編程期間A/D控制器上傳的數據。 FPGA內部集成FIFO是由存儲器、地址比較器、寫地址控制器和讀地址控制器構成,原理框圖如4所示。 其中存儲器是由兩個寬度為4位、深度為1024的雙口RAM采用并聯的方式構成的。連接方法如圖5所示。 通過DIA端口將數據寫入雙口RAM,通過DOB端口將數據讀出,WEA和JENA接VCC,即接高電平,使雙口RAM的A部分工作在寫入狀態,在CLKA的上升沿通過DIA將數據寫入雙口RAM;WEB接GND,即接低電平;ENB接VCC,即接高電平,使雙口RAM的B部分工作在輸出狀態,在CLKB的上升沿通過DOB將數據輸出雙口RAM。 1.4 數據的分區存儲 本系統采用一片FLASH存儲器,該芯片有128M Byte的容量,根據計算32M Byte的容量就可以把需要采集的數據全部記錄下來,所以把存儲器按其塊地址順序分為4個區,每個區均為32M Byte。測試系統上電復位后首先進入的是自檢狀態,每次順序檢測第1區中是否有數據,如果沒有則把該次啟動的采集的數據順序寫入第l區中,直到第1區存儲完成,則停止記錄并且系統斷電。斷電后再一次啟動采集也一樣首先檢測第一塊中是否有數據,有數據則檢測下一塊是否有數據,若沒有數據,則順序把從FIFO中上傳的導彈飛行數據寫入存儲器,如果有數據,則依次地址跳到下下一塊,采集滿則停止,依次類推,直到把4個區都寫入了數據,則不論怎么啟動采集也不會把數據覆蓋再寫入,除非執行擦除操作把存儲器中的數據清空。 這種多次啟動系統,存儲器分區記錄的技術使系統具有一定的冗余設計,雖然不能從根本上消除誤啟動而造成整個試驗的失敗,但是該技術在實際試驗中具有十分重大的意義。 2 系統的灌封技術 采集存儲系統需工作在高溫高壓等惡劣環境下,因此最重要的是它的防護結構的設計。在結構設計上采用了抗高沖擊的結構設計技術,主要包括:緩沖保護技術、灌封保護技術,力求能夠最好的保護好存儲模塊。圖7是采集存儲器的可靠性結構示意圖。圖7采集存儲器可靠性結構示意圖 3 創新性說明 本文介紹了一種基于FPGA的多路數據采集存儲系統的設計方法及其可靠性結構設計,該系統存儲容量大,體積小,可工作在高溫、高壓、強沖擊、強振動、高過載等惡劣環境下。采用了存儲器分區存儲技術,可以避免誤操作將有用數據覆蓋。該系統已投入使用,性能優,值得推廣。 |