沖擊信號(hào)處理芯片設(shè)計(jì)、實(shí)現(xiàn)及應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: 基于可編程門陣列( FPGA) 完成了三通道沖擊信號(hào)處理芯片的設(shè)計(jì)與實(shí)現(xiàn)。芯片采用流水運(yùn)算完成最大絕對(duì)沖擊加速度響應(yīng)譜計(jì)算。由于沖擊信號(hào)采樣頻率可在線更改,因此該芯片可以滿足不同沖擊信號(hào)處理器對(duì)峰值檢測(cè)誤差的要求和處理器功耗的限制。采用該芯片設(shè)計(jì)的數(shù)據(jù)預(yù)處理器已成功用于各種試驗(yàn)。試驗(yàn)表明,該芯片能實(shí)時(shí)完成三路沖擊信號(hào)處理并將處理結(jié)果代替沖擊波原始測(cè)量數(shù)據(jù)輸出,能在大幅度壓縮沖擊信號(hào)傳輸帶寬的同時(shí),減小沖擊信號(hào)峰值檢測(cè)誤差,擴(kuò)大信號(hào)測(cè)量動(dòng)態(tài)范圍,并為識(shí)別數(shù)據(jù)“真”“偽”創(chuàng)造了條件。
關(guān)鍵詞: 飛行器;沖擊;數(shù)據(jù)處理;沖擊響應(yīng)譜;可編程門陣列
引 言
沖擊信號(hào)的測(cè)量數(shù)據(jù)是確定飛行器工作環(huán)境條件的重要依據(jù)。沖擊信號(hào)的帶寬一般為10 Hz 到5 kHz ,采樣頻率不低于20 kHz/ s ,編碼一般應(yīng)大于10 bit (沖擊信號(hào)的動(dòng)態(tài)范圍較大)。沖擊信號(hào)的測(cè)量是遙測(cè)系統(tǒng)的難題,它要求遙測(cè)系統(tǒng)具有很大的傳輸帶寬。例如:傳輸一個(gè)測(cè)點(diǎn)X/ Y/ Z三個(gè)方向的沖擊信號(hào)測(cè)量數(shù)據(jù),大約需要600 kbit/ s 信道容量。沖擊信號(hào)的巨大數(shù)據(jù)量給飛行器遙測(cè)系統(tǒng)的設(shè)計(jì)帶來(lái)了壓力。
由于壓電加速度計(jì)具有體積小、安裝方便等優(yōu)點(diǎn),飛行器遙測(cè)系統(tǒng)一般采用壓電加速度計(jì)直接測(cè)量沖擊波。但是,沖擊波大都是復(fù)雜的振蕩型脈沖,它本身不便于分析和比較。工程上研究沖擊的目的,不是研究沖擊波形本身而更注重于沖擊作用于系統(tǒng)的效果,或者說(shuō)沖擊運(yùn)動(dòng)對(duì)系統(tǒng)的損傷勢(shì)。因此,飛行試驗(yàn)中獲取的遙測(cè)沖擊數(shù)據(jù),事后一般被處理成最大絕對(duì)沖擊加速度響應(yīng)譜,來(lái)分析飛行器在飛行中的沖擊環(huán)境。
本文介紹的基于可編程門陣列( FPGA) 實(shí)現(xiàn)的沖擊信號(hào)處理芯片,能在飛行器飛行過(guò)程中,實(shí)時(shí)完成對(duì)三路沖擊信號(hào)的分析和處理,將沖擊信號(hào)的處理結(jié)果代替沖擊波的原始測(cè)量數(shù)據(jù)傳到地面,利用沖擊信號(hào)的處理結(jié)果(主要是最大絕對(duì)沖擊加速度響應(yīng)譜和加速度計(jì)輸出零位、最大值、最小值) 的數(shù)據(jù)量遠(yuǎn)少于沖擊波測(cè)量數(shù)據(jù)的特點(diǎn),減小沖擊信號(hào)傳輸所要求的帶寬,實(shí)現(xiàn)沖擊信號(hào)的頻帶壓縮。
最大絕對(duì)沖擊加速度響應(yīng)譜計(jì)算方法
式(1) 為用改進(jìn)的遞歸數(shù)字濾波法求固有頻率為f i 單自由度系統(tǒng)沖擊加速度Xf i
( k) 的數(shù)學(xué)模型。
式中: u ( k) ——沖擊信號(hào)幅值,Δt ——沖擊信號(hào)采樣間隔,N ——沖擊信號(hào)采樣點(diǎn)數(shù), f i ——單自由度系統(tǒng)固有頻率,ζ——單自由度系統(tǒng)阻尼系數(shù), Nf ——具有不同固有頻率的單自由度系統(tǒng)數(shù)量, Xf i( k) ———固有頻率f i 單自由度系統(tǒng)加速度,| Xf i( k) | max ———Xf i( k) 時(shí)間軸上的最大絕對(duì)值。| Xf i( k) | max作為單自由度系統(tǒng)固有頻率f i 的函數(shù)即為最大絕對(duì)沖擊加速度響應(yīng)譜。
芯片主要功能及設(shè)計(jì)參數(shù)
芯片主要功能
考慮到實(shí)際應(yīng)用中一般測(cè)量X/ Y/ Z 三個(gè)方向的沖擊加速度,為了減小產(chǎn)品體積,沖擊信號(hào)處理芯片采用SoC 設(shè)計(jì)思想,將三路沖擊信號(hào)的處理、數(shù)據(jù)存儲(chǔ)及輸入輸出管理集成在一個(gè)芯片上;同時(shí),為了簡(jiǎn)化產(chǎn)品電路設(shè)計(jì),沖擊信號(hào)處理芯片還提供所有與之相連外圍電路的控制信號(hào)。為了減小誤差積累,沖擊信號(hào)處理芯片對(duì)沖擊信號(hào)實(shí)現(xiàn)分段處理并總是保存當(dāng)前測(cè)試時(shí)間段最大絕對(duì)沖擊加速度響應(yīng)譜,遙測(cè)系統(tǒng)可以根據(jù)系統(tǒng)容量和實(shí)時(shí)性要求,隨機(jī)讀取當(dāng)前處理時(shí)間段的最大絕對(duì)沖擊加速度響應(yīng)譜,調(diào)整沖擊數(shù)據(jù)壓縮比。沖擊信號(hào)處理芯片的主要功能如下:
(1) 定時(shí)或外部觸發(fā)方式實(shí)現(xiàn)沖擊信號(hào)分段;
(2) 分段計(jì)算三路沖擊信號(hào)最大絕對(duì)沖擊加速度響應(yīng)譜;
(3) 分段計(jì)算沖擊信號(hào)零位;
(4) 實(shí)時(shí)捕獲沖擊信號(hào)最大值和最小值;
(5) 記錄沖擊信號(hào)最大值和最小值發(fā)生時(shí)刻;
(6) 提供A/ D 變換器、串行通信接口或并行通信接口控制信號(hào)。
芯片設(shè)計(jì)參數(shù)
沖擊信號(hào)處理芯片設(shè)計(jì)之前,有多個(gè)設(shè)計(jì)參數(shù)需要確定,如:采樣頻率、濾波系數(shù)字長(zhǎng)、沖擊響應(yīng)譜運(yùn)算字長(zhǎng)、單自由度系統(tǒng)固有頻率的取值范圍等等。這些參數(shù)既互相關(guān)聯(lián)、又互相制約,它們直接影響沖擊信號(hào)處理芯片的綜合性能。表1 為結(jié)合飛行器遙測(cè)系統(tǒng)容量、FPGA 硬件資源、處理器功耗,從減小沖擊響應(yīng)譜處理誤差和確保濾波器穩(wěn)定工作的角度,綜合權(quán)衡多種因素后,確定的沖擊信號(hào)處理芯片的設(shè)計(jì)參數(shù)。
芯片設(shè)計(jì)
芯片系統(tǒng)設(shè)計(jì)
沖擊信號(hào)處理芯片采用自頂向下( Top-Down) 的層次化結(jié)構(gòu)設(shè)計(jì)方法。系統(tǒng)由三個(gè)獨(dú)立的子系統(tǒng)組成( Top1 、Top2 、Top3) ,每個(gè)子系統(tǒng)又由三個(gè)完成不同功能的模塊組成( In ,Core ,Out) 。圖1 為沖擊信號(hào)處理芯片模塊設(shè)計(jì)。
從結(jié)構(gòu)上看,沖擊信號(hào)處理芯片采用模塊化設(shè)計(jì),共設(shè)計(jì)五個(gè)模塊,它們的名稱和功能分別為:
(1) Up- Top 模塊 系統(tǒng)復(fù)位、輸入輸出數(shù)據(jù)管理、起飛信號(hào)“真”“偽”判斷及自鎖、定時(shí)(或外觸發(fā)) 方式信號(hào)分段。
(2) Top 模塊 完成一路沖擊信號(hào)處理。
(3) In 模塊 完成輸入數(shù)據(jù)預(yù)處理、提供A/ D 控制信號(hào)、產(chǎn)生Core 模塊流水運(yùn)算控制信號(hào)、計(jì)算輸入信號(hào)零位、捕獲輸入信號(hào)最大和最小值。
(4) Core 模塊 計(jì)算最大絕對(duì)沖擊加速度響應(yīng)譜。
(5) Out 模塊 產(chǎn)生特征碼、單通道輸出數(shù)據(jù)管理。
上述五個(gè)模塊可以通過(guò)不同的組合,完成從一路到多路沖擊信號(hào)的處理。
芯片存儲(chǔ)器設(shè)計(jì)
合理的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)不僅有利于充分利用硬件資源,也為優(yōu)化計(jì)算流程和提高處理速度創(chuàng)造條件。圖2 為改進(jìn)的遞歸數(shù)字濾波法信號(hào)流程圖(直接型) ,它清楚地描述算法的步驟及實(shí)現(xiàn)該算法需要存儲(chǔ)的參數(shù)。
由于計(jì)算結(jié)果為最大絕對(duì)沖擊加速度響應(yīng)譜,除圖2 所示的參數(shù)外,還需要存儲(chǔ)Xf i ( k) 的最大絕對(duì)值| Xf i( k) | max。
式(1) 中濾波系數(shù)B0i 、B1i 、B2i 、Q1i 、Q2i 是決定濾波器性能的基本參數(shù),采用獨(dú)立的ROM存儲(chǔ),每次FPGA 芯片加電時(shí)ROM初始化。Xf i( k - 1) 、Xf i( k - 2) 、| Xf i( k) | max如果共用一個(gè)存儲(chǔ)器,控制電路設(shè)計(jì)簡(jiǎn)單,但Xf i( k - 1) 和Xf i( k - 2) 動(dòng)態(tài)范圍遠(yuǎn)遠(yuǎn)大于| Xf i( k) | max ,與| Xf i( k) | max存儲(chǔ)在同一存儲(chǔ)器中會(huì)造成存儲(chǔ)資源浪費(fèi),因此,設(shè)計(jì)了兩個(gè)RAM將它們分開(kāi)存儲(chǔ)。表2 是根據(jù)表1 所示參數(shù)設(shè)計(jì)的存儲(chǔ)器,該方案既保證了存儲(chǔ)資源的有效利用,控制電路也相對(duì)簡(jiǎn)單。
Core 模塊設(shè)計(jì)
Core 模塊主要完成最大絕對(duì)沖擊加速度響應(yīng)譜計(jì)算。按表1 所示的設(shè)計(jì)參數(shù),當(dāng)濾波器中心頻率為1/ 12 th 倍頻程(Octave) 時(shí),每采樣一個(gè)u ( k) ,Core 模塊需要按式(1) 計(jì)算出Nf = 102 個(gè)單自由度系統(tǒng)最大絕對(duì)加速度。
Core 模塊采用流水運(yùn)算計(jì)算Nf 個(gè)單自由度系統(tǒng)的最大絕對(duì)加速度。每一個(gè)單自由度系統(tǒng)最大絕對(duì)加速度的計(jì)算分(1) 、(2) 兩拍流水完成, (1) 、(2) 兩拍流水又各有自已獨(dú)立的5 個(gè)節(jié)拍。設(shè)計(jì)了一個(gè)25 位乘法器和一個(gè)50 位累加器,用5 個(gè)芯片工作時(shí)鐘周期,完成一個(gè)單自由度系統(tǒng)最大絕對(duì)沖擊加速度的計(jì)算。下面以計(jì)算固有頻率為f i 的單自由度系統(tǒng)最大絕對(duì)加速度為例,介紹Core 模塊工作原理。
(1) 分5 步完成5 次乘及4 次累加操作,流程如下:
步驟1 u( k) 與B0i 相乘,累加器初始值為u( k) ×B0i ;
步驟2 u ( k - 1) 與B1 i 相乘,累加器累加步驟2 計(jì)算結(jié)果;
步驟3 u ( k - 2) 與B2 i 相乘,累加器累加步驟3 計(jì)算結(jié)果;
步驟4 Xf i( k - 1) 與Q1 i 相乘,累加器累加步驟4 計(jì)算結(jié)果;
步驟5 Xf i( k - 2) 與Q2 i 相乘,累加器累加步驟5 計(jì)算結(jié)果;
(2) 分5 步完成數(shù)據(jù)的準(zhǔn)備和后處理,流程如下:
步驟1 讀出f i - 1的Xf i( k - 1) ;
步驟2 f i - 1的Xf i( k - 1) 寫入寄存器、科學(xué)計(jì)數(shù)法轉(zhuǎn)換及數(shù)據(jù)截取、f i - 1的Xf i - 1 ( k) 寫入f i - 1的Xf i - 1( k - 1) 位置、計(jì)算Xf i( k) 的絕對(duì)值| Xf i( k) | 并鎖存結(jié)果;
步驟3 將f i - 1的Xf i - 1( k - 1) 寫入Xf i - 1( k - 2) 位置、從R- XMA X中讀取f i 的| Xf i( k) | max ;
步驟4 比較| Xf i( k) | 與| Xf i( k) | max大小,將大數(shù)寫回R- XMAX ;
步驟5 從R- XMAX讀取下一個(gè)要輸出的最大絕對(duì)沖擊加速度值,寫入輸出緩沖器。
流水運(yùn)算保證5 個(gè)時(shí)鐘周期計(jì)算一個(gè)單自由度系統(tǒng)的最大絕對(duì)響應(yīng)加速度。設(shè)沖擊信號(hào)處理芯片內(nèi)部工作時(shí)鐘頻率為f m ,則計(jì)算Nf 個(gè)單自由度系統(tǒng)最大絕對(duì)響應(yīng)加速度的時(shí)間Ts 為
Ts = (5 ×Nf ) / f m (2)
設(shè)沖擊信號(hào)的采樣頻率為f s ,由式(2) 可得f s 與f m 的關(guān)系為
f s = f m/ (5 ×Nf ) (3)
由式(3) 可見(jiàn),改變芯片的內(nèi)部工作時(shí)鐘頻率即可改變沖擊信號(hào)的采樣頻率。
遙測(cè)系統(tǒng)可通過(guò)沖擊信號(hào)處理芯片的采樣頻率設(shè)置端口,在線控制沖擊信號(hào)處理芯片內(nèi)部的時(shí)鐘分頻器,設(shè)置沖擊信號(hào)的采用頻率,滿足不同沖擊信號(hào)處理器對(duì)峰值檢測(cè)誤差的要求和處理器功耗的限制。
芯片仿真結(jié)果分析
沖擊信號(hào)處理芯片基于FPGA 實(shí)現(xiàn),并按文獻(xiàn)規(guī)定的最大絕對(duì)沖擊加速度響應(yīng)譜驗(yàn)證要求,對(duì)沖擊信號(hào)處理芯片進(jìn)行了各級(jí)設(shè)計(jì)仿真。
圖3 為沖擊信號(hào)處理芯片仿真結(jié)果之一。圖3 中f 為單自由度系統(tǒng)的固有頻率。圖3 (a) 為峰值150 (8 位編碼) ,持續(xù)時(shí)間0. 125 s ,以512 Hz/ s 采樣的64 點(diǎn)半正弦輸入波。圖3 (c) 為計(jì)算機(jī)計(jì)算的最大絕對(duì)沖擊加速度響應(yīng)譜, X 為最大絕對(duì)加速度。圖3 (d) 為本文設(shè)計(jì)的沖擊信號(hào)處理芯片計(jì)算的最大絕對(duì)沖擊加速度響應(yīng)譜, Xs 為最大絕對(duì)加速度。圖3 (b) 是Xs 與X 的差值。仿真結(jié)果符合文獻(xiàn)對(duì)最大絕對(duì)沖擊加速度響應(yīng)譜的驗(yàn)證要求。
試驗(yàn)結(jié)果及分析
基于沖擊信號(hào)處理芯片設(shè)計(jì)的數(shù)據(jù)預(yù)處理器已在各種試驗(yàn)中應(yīng)用。為了驗(yàn)證數(shù)據(jù)預(yù)處理器的性能,進(jìn)行了如下對(duì)比試驗(yàn)。
采用遙測(cè)系統(tǒng)速變通道和數(shù)據(jù)預(yù)處理器,同時(shí)獲取沖擊環(huán)境信息。具體試驗(yàn)方法為:遙測(cè)速變通道和數(shù)據(jù)預(yù)處理器,同時(shí)接收同一加速度計(jì)的輸出信號(hào),前者完成加速度計(jì)輸出電壓信號(hào)編碼并將編碼結(jié)果通過(guò)無(wú)線信道傳輸,后者完成對(duì)加速度計(jì)輸出電壓信號(hào)的編碼、處理和分析,并將處理結(jié)果代替原始測(cè)量數(shù)據(jù)通過(guò)無(wú)線信道傳輸,將二者的測(cè)量結(jié)果進(jìn)行比較。圖4 為某次試驗(yàn)獲取的最大絕對(duì)沖擊加速度響應(yīng)譜。
圖4 中實(shí)線為地面對(duì)遙測(cè)速變通道記錄數(shù)據(jù)的處理結(jié)果,虛線為數(shù)據(jù)預(yù)處理器輸出結(jié)果。試驗(yàn)結(jié)果表明,除了有效壓縮沖擊信號(hào)傳輸帶寬外,采用沖擊信號(hào)預(yù)處理技術(shù)還具有如下優(yōu)點(diǎn):
(1) 更容易識(shí)別數(shù)據(jù)“真”“偽”。沖擊加速度響應(yīng)譜為緩慢變化的曲線,原始沖擊信號(hào)屬于寬帶隨機(jī)信號(hào),從緩變信號(hào)中能更準(zhǔn)確地剔除信道誤碼成份。
(2) 提高沖擊信號(hào)的測(cè)量精度。采用數(shù)據(jù)預(yù)處理后,沖擊信號(hào)的采樣頻率和編碼位數(shù)不再受遙測(cè)系統(tǒng)容量限制,通過(guò)提高沖擊信號(hào)的采樣頻率和編碼位數(shù)可提高沖擊信號(hào)動(dòng)態(tài)測(cè)量范圍,減小沖擊信號(hào)峰值檢測(cè)誤差。
(3) 提高沖擊信號(hào)測(cè)量值(奇異值) 的時(shí)間分辨率,為飛行故障分析創(chuàng)造更好的條件。
結(jié) 論
本文采用SoC 設(shè)計(jì)思想,基于FPGA 完成了三通道沖擊信號(hào)處理芯片的設(shè)計(jì)。飛行試驗(yàn)表明,該芯片能實(shí)時(shí)完成三路沖擊信號(hào)處理并將處理結(jié)果代替沖擊波原始測(cè)量數(shù)據(jù)輸出,能在大幅度壓縮沖擊信號(hào)傳輸帶寬的同時(shí),減小沖擊信號(hào)峰值監(jiān)測(cè)誤差,擴(kuò)大沖擊信號(hào)測(cè)量動(dòng)態(tài)范圍,并為事后識(shí)別數(shù)據(jù)“真”“偽”創(chuàng)造了好的條件。