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