郭 錚,劉文怡,馮 妮
(中北大學a.儀器科學與動態測試教育部重點實驗室;b.電子測試技術重點實驗室,山西 太原 030051)
在航空航天領域,遙測存儲系統在飛行試驗中起著極其重要的作用,而其各個子系統在記錄飛行器飛行過程中各參數狀態方面也扮演著重要角色。目前飛行器試驗測試的完成大多是利用無線電遙測,但在某些特定的環境下會影響電波的發射使信號受到屏蔽,在這些情況下就需要采取某些輔助措施,而數據記錄器恰好彌補了上述缺點[1]。數據存儲器作為測試存儲系統的核心部件具有體積功耗小、抗沖擊能力強、測量精度高、抗干擾能力強等特點,特別適用于飛行器上記錄各狀態的動態參數,它能夠完整地記錄飛行器從起飛或發射到落地間的完整數據,待試驗結束通過回收數據存儲器,將數據讀出,此測試方法記錄完整,具有較高的可靠性[2]。
當今半導體技術迅速發展,使大容量高速存儲技術得到長足進步,加之可編程邏輯器件的高度集成化以及較強的時序控制能力,使采集存儲高速數據成為可能[3]。本文依靠現有技術,設計一種高速、大容量、高可靠性的數據存儲器,該系統的優點是具有良好的邏輯控制能力。
設計以FPGA作為主控單元,主要完成對1路PCM碼流及2路音頻信號、2路圖像信號進行采集和存儲。數據分別采用RS-422接口及異步串行接口傳輸,數據流消失,存儲器停止記錄,其工作狀態是以數據形式記錄。采集的數據分別存儲于2片容量為1 Gbyte的K9K8G08U0A的固態Flash中。在設計中,以數據存儲器為主體,配合地面測試臺,以及上位機軟件完成閉環自檢試驗。通過上位機發送不同的指令,分別完成實時監測、遠程讀數、數據存儲及分析。總體框架如圖1所示。

圖1 系統總體框圖
其中,數據存儲命令采用開關方式的硬啟動信號,在硬啟動開關斷開的情況下,采用在線軟控制模式,通過測試臺發送存儲模塊的實時監測以及遠程讀數的軟啟動命令。軟啟動命令由上位機軟件控制,硬啟動由地面測試臺開關控制,且硬啟動信號具有最高優先級,當硬啟動命令發出時,存儲器停止一切當前工作,轉入執行數據存儲工作模式。
PCM碼即脈沖編碼調制是遙測系統將從傳感器接收到的模擬信號經過編碼、量化、抽樣這3種方法轉換為數字信號的過程。本設計收到系統發送的數據流是由碼同步信號和PCM碼組成,PCM碼是每字節8位的串行數據。其具體的幀格式如圖2所示。

圖2 PCM幀格式圖
PCM碼調節電路的工作原理是:PCM碼數據首先經過RS-422接口芯片DS26C32接收,接口匹配電阻選用100 Ω,進行電平轉換。將RS-422電平轉換為CMOS電平,經過電平轉換后的PCM碼再經過軟件高頻消抖[4]。最后,PCM數據在碼同步信號的作用下,數據存儲器采用下降沿接收數據,將串行數據轉換為8位一組的并行數據進入FPGA,再在主控FPGA的控制下,與接收的其余4路模擬信號混合編幀,分別寫入FIFO中。由于采集的數據碼率比較大,而存儲器選用的FPGA芯片XC2S100內部FIFO無法滿足其容量要求,故選取32 kbyte×9的外部FIFO,IDT7207作為數據緩存區。FPGA再根據非空即讀的原理,將寫入FIFO中的數據讀出,分別寫入2片Flash芯片中。
采編單元主要完成對2路音頻信號、2路圖像信號的采集編幀。4路模擬量在進入FPGA前,首先要進行信號調理,調理芯片采用AD824,該芯片的特點是響應快、帶寬高,信號輸入端需接入高阻值電阻,防止電流過大損壞運放[5]。經過調理的信號穩定后,啟動A/D轉換。A/D轉換芯片是模擬量采編單元的核心部件,需要具有低功耗、高精度、工作溫度范圍廣等特點。本設計根據實際任務采樣頻率的要求,采用AD8401芯片,采集電路如圖3所示。其中,在硬件設計時芯片供電引腳加入了濾波電容,模擬量輸入信號加入了高頻去耦電容。

圖3 模擬量采集電路設計
目前,非易失性存儲介質有 RAM,EEPROM,Flash等。針對本設計的任務要求,選用三星公司的K9K8G08U0A芯片,并采用雙Flash并行存儲電路,即2塊Flash芯片在主控FPGA的作用下,并行處理數據,分別寫入Flash芯片中。這樣可以保住存儲數據完整地記錄下來,具有雙保險的意義。K9K8G08U0A芯片共有8448 Mbit,按塊劃分為8192 block,1塊有64頁,1頁有(2 k+64)byte。典型的頁編程時間為200 μs,典型塊擦除時間為1.5 ms[6]。本設計Flash的讀寫操作按頁進行,擦除操作按塊進行。當Flash中數據存滿后,會采取自斷電保護,FPGA通過給CMOS器件IDF7404高低電平控制Flash的通斷電,這樣會保證記錄的有效數據不會因誤操作而使原有數據被覆蓋。
另外,Flash的保護也是設計重點,本設計Flash采用單獨電路板,其間用高溫導線與數據采集板相連,這樣做可以單獨保護Flash電路。它的防護采用雙層嵌套保護。首先將Flash板放于桶A中,桶內灌封聚氨酯保護,僅留出備用讀數口(僅在回收讀取數據使用),再將桶A置于桶B中,其間采用毛氈防護,這樣可以使Flash板有較高的抗沖擊抗過載能力,待試驗結束,通過硬回收存儲器,從備用讀數口將采集的數據讀出。Flash硬件電路設計如圖4所示。

圖4 Flash硬件電路設計
在以往的設計中,大多采用模數獨立編幀,分別存儲于不同的Flash中,此種設計雖然方便簡單,但切換Flash存儲,串擾、丟數、誤碼情況嚴重。所以,在本設計中采用模數混合編幀的方法,即分別在模擬量、數字量數據中添加不同的幀頭、幀尾及幀計數。數字量幀頭幀尾分別為0xEB,0x90,模擬量幀頭幀尾分別為0x14,0x6F。取251個字節,加入各自幀頭幀尾及3個字節的幀計數,然后數據分別寫入緩沖FIFO內。FPGA根據非空即讀的原則,讀取FIFO中數據,進行存儲。由于設計中采用的是大容量FIFO,所以,不會出現丟數的情況。待數據存儲完畢后,上位機根據不同的幀頭、幀尾,將數據解包,分別處理、分析。幀結構如圖5所示。

圖5 幀結構分析
系統閉環自檢,就是模擬實時的工作環境,數據存儲器配合地面測試臺和計算機對其完成系統的功能測試。地面測試臺接收上位機命令模擬信號源發送數據給存儲器,數據存儲器再響應上位機命令,對測試臺發送的數據進行解碼、編幀,再將數據存儲到雙Flash中,同時通過實時監測SRAM將存儲數據片段在計算機上顯示。數據存儲完畢,再通過遠程讀數將存儲數據讀出分析。這樣的一系列操作就完成了對數據存儲器的閉環自檢。圖6是根據試驗的要求,由上位機發送命令,地面測試臺發送自檢數據,在計算機終端顯示的實時監測結果。

圖6 實時監測畫面(截圖)
本設計采用2片Flash存儲芯片,對試驗數據進行備份存儲。相比于單機存儲,可靠性更高,并結合相關的存儲器防護設計,保證存儲器數據在硬回收過程中被完整保護。本設計已在相關項目中得到應用,工作性能良好,具有一定的參考價值。
[1]劉攀,王紅亮,孟令軍.基于FPGA的數字圖像采集存儲系統的設計[J]. 電視技術,2010,34(6):33-34.
[2]朱維寶,孫波,李砥擎.航天器綜合測試系統設計[J].計算機測量與控制,2009(8):1457-1459.
[3]郭虎峰,張會新,馮長磊.彈載數據記錄器性能的優化設計與實現[J]. 計算機測量與控制,2011,19(1):108-110.
[4]張文棟.存儲測試系統的設計理論及其應用[M].北京:高等教育出版社,2002.
[5]甄國涌,林華亮.串行PCM碼流解碼電路設計與應用[J].航空計算技術,2005,35(1):79-81.
[6]閻石.數字電子技術基礎[M].北京:高等教育出版社,2006.