基于FPGA的多通道同步數據采集存儲系統(tǒng)研究
1 引言
在現代信號處理系統(tǒng)中,多通道數據采集存儲系統(tǒng)廣泛應用于各種商用以及工業(yè)領域中,特別是在艦上系統(tǒng)、彈上設備及艦上部分系統(tǒng)中,往往產生寬帶信號或上升沿下降沿較陡的模擬信號。對這樣的模擬信號往往需要將其數字化后傳輸至計算機進行數值和頻譜分析,并給出具體的分析報告。同時,這些信號往往要對一些相關信號同時測量,相關分析得到信號間的相關信息,這就需要同步采集多通道信號,并能準確無誤存儲?,F在絕大多數采集系統(tǒng),只能循環(huán)采集多路信號,不能實時同步采集多通道的同一個采樣點。這樣不能滿足對多通道信號進行相關信息的分析,而多通道同步數據采集存儲系統(tǒng)的實現恰恰彌補了傳通采集系統(tǒng)的不足之處。
2 系統(tǒng)設計方案及硬件設計
2.1 系統(tǒng)設計方案
該系統(tǒng)設計主要實現多通道同步數據的采集存儲。系統(tǒng)上電后,FPGA主控模塊控制采集模塊同步采集多通道數據,把采集到的數據寫到外部FIFO中。FIFO半滿后,FPGA讀取FIFO中的數據寫入Flash存儲器中。該設計方案選用FPGA作為主模塊,主要是考慮FPGA現場可編程特性,使用靈活方便,能夠降低硬件電路設計難度。
2.2 系統(tǒng)硬件設計
多通道同步數據采集存儲系統(tǒng)結構框圖如圖1所示,主要包括以下部分:
(1)多通道同步數據采集模塊 選用AD781采樣保持器完成多通道數據采樣保持,滿足系統(tǒng)要求。A/D轉換器選用16位的ADS8401,可提高采樣精度,有利于分析采集數據。
(2)大容量存儲模塊 采用SUMSUNG公司的K9K8G08U0M型Flash作為存儲器,使用IDT7206作為采集數據緩存。
(3)外圍電路 主要包括晶振、電壓轉換器TPS70358及輸入輸出接口等。
其中,系統(tǒng)采集的重點是實現多通道數據的同步實時采集,其主要邏輯由FPGA主控模塊控制。存儲模塊中所采用的壞塊檢測技術,可提高Flash存儲的可靠性。
3 多通道同步數據的采集
在執(zhí)行多通道同步數據采集時,其電路如圖2所示。其主要工作流程:多路模擬信號經運放調理電路后進入采樣保持器。在每個周期的開始,FPGA通過編程輸出脈沖至采樣保持器(AD781)和模擬電子開關(ADG706),也就是使用采樣保持器的S/H控制信號進行多路同步采樣(S/H=1)和保持(S/H=0),同時控制模擬開關的A0~A3 4個選通信號,來選通相應通道。選通后的信號同時由FPGA的控制進入A/D轉換器(ADS8401)采集單路16 bit量化,最后將采集到的數據寫到外部FIFO緩存器中。也就是說,FPGA通過編程定時邏輯送出脈沖至采樣保持器對模擬輸入采樣,然后選擇一個通道的模擬輸入,完成A/D轉換??傊瓼PGA提供采樣保持、多路選通和A/D轉換電路模塊所需的各種狀態(tài)和控制時序邏輯。
多通道同步數據采集模塊的程序主要采用Verilog HDL語言,Verilog HDL是用于邏輯設計的硬件描述語言,并且已成為IEEE標準。FPGA重點控制Verilog HDL程序算法的實現。程序主要包括采樣率計數循環(huán)控制、各路模擬開關選通的設計,幀計數以及幀標志的循環(huán)控制。采樣保持器采樣保持一次,經模擬開關計數循環(huán)控制,模擬開關依次選通。選通后的單路信號進行A/D轉換,轉換后的數據寫入外部FIFO中??紤]到事后數據處理等問題,所采集的數據以一定的幀格式寫入FIFO中,每一幀數據有幀計數和幀標志。每一幀的長度以及幀標志的選擇,可以根據需要靈活選定。
4 多通道同步數據的存儲
根據系統(tǒng)要求,需采用SUMSUNG公司的K9K8G08U0M型Flash作為存儲器。由于1 G的Flash出廠時帶有一些初始化無效塊(包含一個或多個壞位的存儲塊),它被定義為包含一個或多個無效位的存儲塊,制造商不能保證這些無效塊具有可靠性。由于NAND型Flash存儲容量較大,難免在使用過程中出現存儲單元的損壞。為保證寫入數據的可靠性,為系統(tǒng)提供真實準確的參數,該系統(tǒng)存儲模塊采用的關鍵技術是Flash的壞塊檢測技術。系統(tǒng)上電后,FPGA主控模塊首先對Flash進行擦除操作。在擦除過程中,對每塊壞塊標志位進行檢測,對使用過程中又出現的壞塊進行標識,以便以后使用。擦除模塊具體程序流程如圖3所示。
多通道同步數據采集后,數據以一定的幀格式寫入Flash。在Flash執(zhí)行寫操作時,首先檢測每塊的壞塊標志。如果壞塊標志是非0XFF時,該塊是壞塊則跳過,繼續(xù)檢測下一塊:如果壞塊標志是0XFF時,則讀取FIFO中的數據,寫入Flash中。在對Flash執(zhí)行寫操作時,嚴格按照Flash的時序控制要求,以保證數據的準確寫入。
系統(tǒng)中在擦除過程中對壞塊進行檢測或標識,在數據寫入時再讀取標志進行寫操作,這樣能夠滿足系統(tǒng)采集速度要求。如果使用的Flash容量更大并且要求速度較快,這樣的操作有可能不能滿足系統(tǒng)要求。這時可以在擦除過程中,對壞塊的位置進行標識并建立壞塊表并隨時更新。在對Flash進行寫操作時,無需先讀取壞塊位置的標識。只需對壞塊表使用算法進行遍歷即可,這樣可節(jié)約對Flash進行讀操作的時間,提高系統(tǒng)存儲速度。
5 結論
詳細介紹系統(tǒng)組成,其創(chuàng)新點在于采集模塊的多通道同步性以及存儲模塊Flash的壞塊檢測技術。該系統(tǒng)已成功用于作戰(zhàn)戰(zhàn)場聲目標識別系統(tǒng)中,對于其他方面的應用,此設計思想具有較強的借鑒意義。
參考文獻:
[1].AD781datasheethttp://www.dzsc.com/datasheet/AD781_1055469.html.
[2].ADS8401datasheethttp://www.dzsc.com/datasheet/ADS8401_1082490.html.
[3].K9K8G08U0Mdatasheethttp://www.dzsc.com/datasheet/K9K8G08U0M_435193.html.
[4].IDT7206datasheethttp://www.dzsc.com/datasheet/IDT7206_1093820.html.
[5].TPS70358datasheethttp://www.dzsc.com/datasheet/TPS70358_591924.html.
來源:博士0次