沖擊信號處理芯片設計、實現及應用
引 言
沖擊信號的測量數據是確定飛行器工作環境條件的重要依據。沖擊信號的帶寬一般為10 Hz 到5 kHz ,采樣頻率不低于20 kHz/ s ,編碼一般應大于10 bit (沖擊信號的動態范圍較大)。沖擊信號的測量是遙測系統的難題,它要求遙測系統具有很大的傳輸帶寬。例如:傳輸一個測點X/ Y/ Z三個方向的沖擊信號測量數據,大約需要600 kbit/ s 信道容量。沖擊信號的巨大數據量給飛行器遙測系統的設計帶來了壓力。
由于壓電加速度計具有體積小、安裝方便等優點,飛行器遙測系統一般采用壓電加速度計直接測量沖擊波。但是,沖擊波大都是復雜的振蕩型脈沖,它本身不便于分析和比較。工程上研究沖擊的目的,不是研究沖擊波形本身而更注重于沖擊作用于系統的效果,或者說沖擊運動對系統的損傷勢。因此,飛行試驗中獲取的遙測沖擊數據,事后一般被處理成最大絕對沖擊加速度響應譜,來分析飛行器在飛行中的沖擊環境。
本文介紹的基于可編程門陣列( FPGA) 實現的沖擊信號處理芯片,能在飛行器飛行過程中,實時完成對三路沖擊信號的分析和處理,將沖擊信號的處理結果代
替沖擊波的原始測量數據傳到地面,利用沖擊信號的處理結果(主要是最大絕對沖擊加速度響應譜和加速度計輸出零位、最大值、最小值) 的數據量遠少于沖擊波測量數據的特點,減小沖擊信號傳輸所要求的帶寬,實現沖擊信號的頻帶壓縮。
最大絕對沖擊加速度響應譜計算方法
式(1) 為用改進的遞歸數字濾波法求固有頻率為f i 單自由度系統沖擊加速度Xf i( k) 的數學模型。
式中: u ( k) ——沖擊信號幅值,Δt ——沖擊信號采樣間隔,N ——沖擊信號采樣點數, f i ——單自由度系統固有頻率,ζ——單自由度系統阻尼系數, Nf ——具有不同固有頻率的單自由度系統數量, Xf i( k) ———固有頻率f i 單自由度系統加速度,| Xf i( k) | max ———Xf i( k) 時間軸上的最大絕對值。| Xf i( k) | max作為單自由度系統固有頻率f i 的函數即為最大絕對沖擊加速度響應譜。

芯片主要功能及設計參數
芯片主要功能
考慮到實際應用中一般測量X/ Y/ Z 三個方向的沖擊加速度,為了減小產品體積,沖擊信號處理芯片采用SoC 設計思想,將三路沖擊信號的處理、數據存儲及輸入輸出管理集成在一個芯片上;同時,為了簡化產品電路設計,沖擊信號處理芯片還提供所有與之相連外圍電路的控制信號。為了減小誤差積累,沖擊信號處理芯片對沖擊信號實現分段處理并總是保存當前測試時間段最大絕對沖擊加速度響應譜,遙測系統可以根據系統容量和實時性要求,隨機讀取當前處理時間段的最大絕對沖擊加速度響應譜,調整沖擊數據壓縮比。
沖擊信號處理芯片的主要功能如下:
(1) 定時或外部觸發方式實現沖擊信號分段;
(2) 分段計算三路沖擊信號最大絕對沖擊加速度響應譜;
(3) 分段計算沖擊信號零位;
(4) 實時捕獲沖擊信號最大值和最小值;
(5) 記錄沖擊信號最大值和最小值發生時刻;
(6) 提供A/ D 變換器、串行通信接口或并行通信接口控制信號。
芯片設計參數
沖擊信號處理芯片設計之前,有多個設計參數需要確定,如:采樣頻率、濾波系數字長、沖擊響應譜運算字長、單自由度系統固有頻率的取值范圍等等。這些參數既互相關聯、又互相制約,它們直接影響沖擊信號處理芯片的綜合性能。表1 為結合飛行器遙測系統容量、FPGA 硬件資源、處理器功耗,從減小沖擊響應譜處理誤差和確保濾波器穩定工作的角度,綜合權衡多種因素后,確定的沖擊信號處理芯片的設計參數。

芯片設計
芯片系統設計
沖擊信號處理芯片采用自頂向下( Top-Down) 的層次化結構設計方法。系統由三個獨立的子系統組成( Top1 、Top2 、Top3) ,每個子系統又由三個完成不同功能的模塊組成( In ,Core ,Out) 。圖1 為沖擊信號處理芯片模塊設計。

從結構上看,沖擊信號處理芯片采用模塊化設計,共設計五個模塊,它們的名稱和功能分別為:
(1) Up- Top 模塊 系統復位、輸入輸出數據管理、起飛信號“真”“偽”判斷及自鎖、定時(或外觸發) 方式信號分段。
(2) Top 模塊 完成一路沖擊信號處理。
(3) In 模塊 完成輸入數據預處理、提供A/ D 控制信號、產生Core 模塊流水運算控制信號、計算輸入信號零位、捕獲輸入信號最大和最小值。
(4) Core 模塊 計算最大絕對沖擊加速度響應譜。
(5) Out 模塊 產生特征碼、單通道輸出數據管理。
上述五個模塊可以通過不同的組合,完成從一路到多路沖擊信號的處理。
芯片存儲器設計
合理的數據存儲結構不僅有利于充分利用硬件資源,也為優化計算流程和提高處理速度創造條件。圖2 為改進的遞歸數字濾波法信號流程圖(直接型) ,它清楚地描述算法的步驟及實現該算法需要存儲的參數。

由于計算結果為最大絕對沖擊加速度響應譜,除圖2 所示的參數外,還需要存儲Xf i ( k) 的最大絕對值| Xf i( k) | max。

式(1) 中濾波系數B0i 、B1i 、B2i 、Q1i 、Q2i 是決定濾波器性能的基本參數,采用獨立的ROM存儲,每次FPGA 芯片加電時ROM初始化。Xf i( k - 1) 、Xf i( k - 2) 、| Xf i( k) | max如果共用一個存儲器,控制電路設計簡單,但Xf i( k - 1) 和Xf i( k - 2) 動態范圍遠遠大于| Xf i( k) | max ,與| Xf i( k) | max存儲在同一存儲器中會造成存儲資源浪費,因此,設計了兩個RAM將它們分開存儲。表2 是根據表1 所示參數設計的存儲器,該方案既保證了存儲資源的有效利用,控制電路也相對簡單。
Core 模塊設計
Core 模塊主要完成最大絕對沖擊加速度響應譜計算。按表1 所示的設計參數,當濾波器中心頻率為1/ 12 th 倍頻程(Octave) 時,每采樣一個u ( k) ,Core 模塊需要按式(1) 計算出Nf = 102 個單自由度系統最大絕對加速度。
Core 模塊采用流水運算計算Nf 個單自由度系統的最大絕對加速度。每一個單自由度系統最大絕對加速度的計算分(1) 、(2) 兩拍流水完成, (1) 、(2) 兩拍流水又各有自已獨立的5 個節拍。設計了一個25 位乘法器和一個50 位累加器,用5 個芯片工作時鐘周期,完成一個單自由度系統最大絕對沖擊加速度的計算。下面以計算固有頻率為f i 的單自由度系統最大絕對加速度為例,介紹Core 模塊工作原理。
(1) 分5 步完成5 次乘及4 次累加操作,流程如下:
步驟1 u( k) 與B0i 相乘,累加器初始值為u( k)
評論