摘 要:針對國內某型號直升機自動測試系統的實際應用需求,設計了基于TMS320F2812的可配置參數的實時數據采集及濾波模塊。模塊能夠對實時數據進行FIR濾波、FFT頻譜分析,實現CAN通訊。在介紹硬件系統的基礎上,研究了上述算法的實現,闡述了系統根據實測信號自動調用相關濾波算法的方法,并結合實際應用進行了系統分析。結果表明,該模塊滿足測試系統的要求,具有良好的實用性。關鍵詞:自動測試系統; FIR濾波; FFT算法; CAN通訊
中圖分類號:TN919-34文獻標識碼:A
文章編號:1004-373X(2010)21-0127-04
Research on Data Acquisition and Filtering Module in ATS for Helicopter
CUI Xian-yu, MEI Sen
(Harbin Insititute of Technology, Harbin 150001, China)
Abstract: A reconfigurable data acqusition and FIR filtering module based on TMS320F2812 digital signal processor was designed according to the practical need of automatic testing system for the helicopter. The module can achieve FIR filtering, FFT spectrum analysis, and communication based on CAN bus. The design of circuit is presented. This paper focuses attention on the realization of the algorithms and the method that the system calls on the filtering algorithm automatically according to the measured signals. The systematic analysis is carried out in combination with the practical application. The result shows that the system meets the requirements of ATS and is available for use.Keywords: ATS; FIR filtering; FFT; CAN communication
0 引 言
現代西方許多國家都投入了大量的人力和經費,研究制造武器裝備的自動化測試系統,以提高武器裝備的質量與可行性,加強作戰的總體實力,適應現代戰爭需要[1]。本課題研究來源于項目“某型號直升機自動測試系統的研發”。系統包括若干模塊,如電源管理模塊、液壓系統模塊、轉速測量模塊等。在測試過程中,常需要采集該型號直升機各個設備在給定激勵信號情況下的響應,如電流、電壓、溫度、壓力等信號。能否實現對這些信號精確的采集、恰當的數字濾波、實時的分析處理,對整個自動測量系統的分析診斷功能有很大的影響。
本文采用TI公司的TMS320F2812芯片作為控制器,應用片內ADC模塊進行數據采集,并與上位機和自動測試系統內其他模塊實現CAN總線通訊。整個系統能夠完成對直流信號、頻率范圍在100 kHz之內的周期信號的精確采樣,能夠準確分析出信號的特征值。由這些特征值可以確定被測對象是否具有規范中的規定的功能和性能。
1信號采集分析系統的硬件設計
該信號采集分析系統的總體硬件結構如圖1所示。
圖1 信號采集分析系統硬件結構圖
TMS320F2812芯片適用需大批量數據處理的測控場合,如數據采集、工業自動化控制[2-3]。系統硬件設計以該芯片為核心,利用可編程增益放大器、可編程低通模擬濾波器等器件組成的信號調理電路對信號進行調理,以使模擬信號符合ADC模塊的工作范圍。經調理后的信號經F2812內置的12位A/D轉換模塊轉換為數字量,并利用DSP中斷來完成數據讀取。ADC采樣頻率由EVA事件管理器中的通用定時器設置和調整。整個硬件系統通過CAN總線與上位機通訊,實現對整個信號采集分析系統的控制,可以調整A/D采樣頻率的設置、調用不同的數字濾波算法、顯示波形參數等。
1.1 數據采集功能模塊介紹及A/D校準
該系統采用TMS320F2812芯片自帶ADC模塊。該ADC模塊為流水線結構,最高采樣速率可達12.5 MSPS,并可實現過采樣算法,而且控制A/D啟動的方式很多,方便使用。但是該ADC模塊存在固有偏置誤差和增益誤差(嚴重時轉換結果的誤差能達到280 LSB,1 LSB=3.0/4.95=0.732 mV,280 LSB相當于滿量程的7%)[4]。對于校準算法,TI公司已有提供,這里不再贅述。
本系統在校準時選用ADC的2個通道A0,A1作為校準通道,分別輸入已知的直流參考電壓。采用TI公司的低噪聲、極低漂移、高精度電壓基準芯片REF5030,它能提供3.0 V電壓,0.1%的精確度。然后通過運放生成兩路子電壓1 V和2 V,分別輸入A0,A1通道進行校準。如圖2所示。
圖2 A/D模塊的接口電路和校準原理圖
TMS320F2812芯片為定點DSP,本系統在校準程序實現方面,使用了TI公司28X系列的IQmath庫,它收集了高度優化和準確的數學函數庫并精確地在28X芯片上將浮點轉換成固定點算法的運算代碼[5]。得到增益校準系數CalGain和偏置校準系數CalOffset后,對其他轉換通道數據進行補償。
1.2 CAN總線通訊模塊及參數配置的實現
系統采用CAN總線通訊方式,抗干擾能力很強,適合在工業測量方面應用[6]。TMS320F2812的增強型局域網控制器(eCAN)模塊與現行的CAN 2.0B標準兼容。具有32個完全可配置的郵箱和時間標志特性,并可以實現高達1 Mb/s的波特率。
采用的CAN總線收發器是TI公司的收發器SN65HVD230。原理圖如圖3所示。
圖3 CAN總線模塊的配置原理圖
2 數字濾波
實際測量需要解決的難點和關鍵問題是消除噪聲和干擾對測量結果的影響。在數據采集與處理過程中采用數字濾波技術不僅能夠起到降低噪聲和干擾的輔助作用,而且還能減小測量誤差,提高測量精度[7]。系統在測量數據的采集與處理中采用了多種數字濾波方法,這里將詳述其中的FIR濾波和FFT頻譜分析,并通過應用進行系統分析。
在經典濾波器FIR和IIR選擇方面,考慮到直升機自動測試系統中要求保證相位信息,本系統采用FIR濾波器。FIR可以在幅度特性隨意設計的同時保證精確嚴格的線性相位,而且沒有不穩定的問題[8]。
在FIR濾波器的設計方面,采用Kaiser窗。它可以通過調整參數值來折中選擇主瓣寬度和旁瓣衰減,有很大的靈活性。其他性能指標主瓣半帶寬和3 dB半帶與濾波器的長度有關,可通過增加濾波器長度來減小帶寬[9]。
本系統設計阻帶最小衰減都為-50 dB,通過下式:
β=0.110 2(δs-8.7)
得出參數β=4551 26,同時考慮到濾波計算量,本設計選擇50階,能在一個采樣周期內完成。
為了使自動測試系統適合多種頻率的信號采集,更好的濾出高頻干擾。在A/D采樣頻率可調控的基礎上,本系統設計了多種歸一化截止頻率的FIR低通濾波器。歸一化截止頻率分別為01,015,02,025,03,04。
當wc=0.1時,所設計的FIR濾波器的幅頻對數特性如圖4所示。
圖4 歸一化幅頻對數特性(wc=0.1)
本系統可實現不同wc值的FIR濾波器的自動調用。利用TI公司的FFT函數庫對所采數據序列(1 024點)進行FFT計算,然后根據序列的幅頻特性,判斷出該信號的主要頻段,繼而調用相應的FIR濾波器進行對高頻干擾信號的濾除。
在應用中,采用2.5 kHz采樣頻率,采集1 024個點,采集到一段含有噪聲的數據,用CCS的Gragh工具觀察,如圖5所示。
圖5 含噪聲波FIR濾波效果圖
通過FFT算法計算,得到主要頻段在200 Hz左右,調用歸一化截止頻率為0.4的FIR濾波器對其進行FIR濾波處理。經FIR濾波后的數據如圖5所示,可以看到波形明顯平滑。通過FFT算法還得到信號中直流分量的幅度為31,即31/256=0.12 V,去除直流分量后的數據如圖6所示。
3 軟件程序設計
TMS320F2812芯片提供了良好的C語言開發環境,使用C語言可縮短開發周期。主程序的流程圖如圖7所示。
圖6 去除直流偏移效果圖
圖7 程序流程圖
程序中編寫了多種濾波算法和不同歸一化截止頻率的50階Kaiser窗FIR濾波器,上位機可通過CAN總線控制下位機選用適當的濾波器來完成參數配置(也可通過程序自動判斷加載)。待這些配置完成后,啟動計時器,進而啟動A/D采樣。
3.1 數據采集及濾波
本系統中,ADC模塊中的B0通道用來對信號進行過采樣。ADC模塊工作在啟動/停止模式,由EVA中的定時器1的周期中斷來控制采樣頻率。
ADC采樣數據轉換結束后,系統進入中斷程序。首先,ADC采樣的數據經過校準后,存儲到Sample_cai[]中,待采樣點夠1 024點之后,進行FFT計算,計算出波形的主要頻段,進而調用適當的FIR濾波器,完成FIR濾除高頻干擾后,再根據FFT計算結果中的直流分量,去除信號中的直流偏移,完成濾波算法。
3.2 上位機通訊
系統通過CAN總線與上位機進行通訊。TMS320F2812的eCAN模塊支持0~8 B的數據[10]。系統設定為8 B數據傳輸,將其分配為目標地址、源地址、命令號、報文編號、報文總數、參數1、參數2、參數3、參數4這九部分。
編寫的結構體為:
struct CAN_PACKAGE_BITS {
Uint16 Dst:8; Uint16 Src:8; Uint16 Cmd:8;
Uint16 Num:4; Uint16 Sum:4; Uint16 Param1:8;
Uint16 Param2:8; Uint16 Param3:8; Uint16 Param4:8; };
struct CAN_PACKAGE_WORD{
Uint16 word0; Uint16 word1;
Uint16 word2; Uint16 word3;};
union CAN_PACKAGE{
struct CAN_PACKAGE_BITS bytes;
struct CAN_PACKAGE_WORD words;};
本模塊中,上位機地址設定為0x00,數據采集模塊的地址設定為0x01。系統會根據word2的數值來配置定時器計數周期(16位),從而設定ADC模塊的采樣頻率。同時會根據Param3的數值選用合適的濾波器。
4 結 語
針對直升機測試系統在數據采集過程中遇到的噪聲干擾、脈沖干擾,設計了基于TMS320F2812的實時數據采集及濾波模塊。模塊實現了多種數字濾波方法、CAN總線通訊,并實現了模塊根據信號特點自動調用合適濾波器進行濾波處理。在實際應用中上述硬件結構和軟件功能都得到了驗證,性能良好,滿足要求。
參考文獻
[1]賈志軍,顏國強,吳國慶,等.外軍ATE/ATS技術的發展趨勢[J].計算機測量與控制,2003,11(1):1-4.
[2]張英祥,郭濤,陳峰.基于TMS320F2812的數據采集監測系統設計[C].第三屆全國軟件測試會議與移動計算、柵格、智能化高級論壇,武漢,2009.
[3]劉和平,鄧力,江渝,等.數字信號處理器原理、結構及應用基礎TMS320F281x[M].北京:機械工業出版社,2007.
[4]Tecas Instruments Inc.. TMS320F28x Analog to digital converter (ADC) peripheral reference guide[EB/OL]. [2003-07-21]. www.ti.com, 2003.
[5]Tecas Instruments Inc.. Iqmath library[EB/OL]. [2002-05-17] www.ti.com, 2002.
[6]趙君.基于CAN總線的分布式測控系統[J].計算機測量與控制,2006,14(9):1146-1147.
[7]周浩敏,王睿.測試信號處理技術[M].2版.北京:北京航空航天大學出版社,2009.
[8]祁才君.數字信號處理技術的算法分析與應用[M].北京:機械工業出版社,2005.
[9]劉艷,趙洪,于效宇,等.可配置參數FIR數字濾波系統設計[J].數據采集與處理,2009,24(6):835-836.
[10]楊輝前,王耀南,袁小芳,等.基于TMS320-F2812的CAN總線通信的設計與實現[J].自動化儀表,2006,27(5):28-32.