孫妍,張淑舫,朱薛洋
彈載計算機的A/D采集誤差自動校正方法研究與實現(xiàn)*
孫妍,張淑舫,朱薛洋
(天津津航計算技術研究所,天津 300308)
彈載計算機是導彈武器系統(tǒng)內的核心部件,A/D采集接口是其重要的對外接口之一。由于存在外界干擾和電路阻抗匹配性不合理等因素,將會導致采集數(shù)據(jù)存在較大誤差。在對A/D采集系統(tǒng)特點進行分析的基礎上,提出了一種基于最小二乘原理的A/D采集誤差自動校正方法,并提供了系統(tǒng)設計架構和具體實現(xiàn)步驟。經實踐驗證該方法簡便可行,能夠有效地減小A/D采集誤差,提高系統(tǒng)的穩(wěn)定性和可靠性。
彈載計算機;A/D采集;最小二乘法;誤差校正
彈載計算機是飛航導彈武器系統(tǒng)的重要電子設備,可獨立存儲、運算、完成指定解算任務及數(shù)據(jù)傳輸任務。彈載計算機是導彈控制的核心部件,決定著導彈攻擊任務的成敗,其作為整個導彈控制系統(tǒng)的“大腦”,有著較為復雜的電氣功能及對外接口[1]。它與機載指揮儀、慣導系統(tǒng)和舵系統(tǒng)、無線電高度表、末制導導引頭、彈上電氣系統(tǒng)、遙測設備、地面測試系統(tǒng)、動靜壓傳感器、動力系統(tǒng)設備等協(xié)同工作,完成對導彈的檢測、測試和飛行控制等任務。
數(shù)據(jù)信號采集是彈載計算機獲取信息的重要途徑,是彈載計算機與外部世界連接的紐帶[2]。導彈上的模擬量信號,無論是以電壓、電流還是電阻的信號形式,最終都要轉化為電壓信號進行信號處理。而A/D轉換技術是信號采集的核心,A/D轉換是通過將輸入的模擬信號轉換為輸出信號為N位二進制數(shù)字量的技術[3-4]。A/D采集接口在處理器模塊的控制下,采集來自舵機系統(tǒng)和壓力傳感器等的模擬量信號,用于導彈射前檢查,完成對導彈飛行姿態(tài)的控制等。
在實際使用過程中,由于各種外界干擾(如電源的波動干擾、信號的電磁干擾)、硬件電路布線不合理、輸入輸出阻抗匹配性差等原因,會出現(xiàn)較大的數(shù)據(jù)采集與處理誤差,造成整個導彈系統(tǒng)可靠性和穩(wěn)定性降低,影響導彈在發(fā)射和飛行過程中的飛行姿態(tài)、航跡、速度等控制,甚至釀成重大事故[5]。本文提出了一種面向彈載計算機的A/D采集誤差自動校正方法,基于最小二乘法的原理,將A/D采集的實際值與理論值進行數(shù)據(jù)擬合,得到誤差校正參數(shù),利用校正參數(shù)自動進行采集數(shù)據(jù)的標定。此方法實現(xiàn)起來簡單、便捷,可有效地減小采集系統(tǒng)誤差,提高系統(tǒng)可靠性。
彈載計算機的A/D接口在彈上通常與舵系統(tǒng)相連,用于采集舵回路反饋位置傳感器等模擬量信號。在彈載計算機出廠前,必須對其A/D接口的功能和性能進行測試。測試系統(tǒng)總體架構如圖1所示。
圖1 系統(tǒng)總體架構示意圖
測試設備選用的是加固便攜式工業(yè)計算機,提供CPCI總線擴展槽,內插自主研制開發(fā)的6U CPCI-DA接口板和CPCI-1553B總線接口板。D/A接口板用于模擬舵機系統(tǒng),向彈載計算機的A/D模塊輸出模擬量信號,可提供20路﹣10~10 V的D/A輸出激勵信號,變化速率為5 V/μs,寫入數(shù)據(jù)至輸出電壓建立時間最長為10 μs,單通道連續(xù)采樣時間不長于10 μs[6]。CPCI-1553B總線接口板提供符合MIL-STD-1553B標準的通信接口,用于向彈載計算機發(fā)送測試命令和接收A/D采集數(shù)據(jù)。處理器模塊選用Xilinx公司推出的Zynq_7000系列全可編程片上系統(tǒng)(SoC,System on a Chip),其是異構架構的典型代表,把專用的嵌入式ARM Cortex-A9雙核處理器和通用的大規(guī)?,F(xiàn)場可編程門陣列FPGA結合在單個芯片中,將專用處理器的串行執(zhí)行和FPGA的并行執(zhí)行完美結合,靈活地用于各種應用場合[7-8]。
測試流程為測試設備首先通過D/A接口板發(fā)送D/A輸出信號(﹣10~10 V),再通過1553B總線接口板發(fā)送“A/D舵反饋接口測試命令”,處理器模塊接收到測試命令后進行AD采樣,并將A/D采樣數(shù)據(jù)和命令執(zhí)行狀態(tài)加載到1553B的發(fā)送子地址,由測試設備進行誤差判定和顯示。這樣可以全面地考察A/D接口的功能和性能。
A/D 采集常引入信號干擾,干擾的存在影響了采集信號的質量,降低了系統(tǒng)控制性能。由于實際應用中不可避免地存在電磁場耦合干擾、電氣設備干擾、共模干擾等,很難從源頭上消除,因而常采用切斷干擾傳播途徑的方法對干擾進行抑制[9]。通常A/D采集模塊由多路模擬開關、增益放大、A/D轉換器、電壓跟隨器、模數(shù)轉換控制、數(shù)據(jù)存儲單元等部分組成[10]。A/D采集模塊組成如圖2所示。
在模擬信號進入A/D轉換器前,需經過信號調理電路進行轉換信號的調理、濾波及放大,從而達到A/D轉換器的輸入電平要求,以充分利用A/D轉換器的滿量程分辨率。模擬信號經過一級有源低通濾波器、一級運算放大器,將信號調整到±10 V范圍內,之后經過一級電壓跟隨器至A/D轉換器,采集到的信息送給數(shù)據(jù)存儲單元,經FPGA可編程邏輯門陣列進行信息處理,最終送到中央處理單元進行數(shù)據(jù)采集。
設計中使用了信號放大AD8031芯片、數(shù)據(jù)采樣AD7476芯片、數(shù)據(jù)隔離器ADuM5412芯片。其中,AD8031是一款單電源電壓反饋性放大器,采用2.7~12 V單電源,適合于各種各樣的應用[11]。AD7476是一款典型的12位逐次逼近型轉換器,采集速率可達1 MSPS,單電源5 V供電,具有低功耗、低電壓的特點,可用于電池電壓系統(tǒng)的ADC數(shù)據(jù)采樣[12]。ADuM5412是一款集成isoPower隔離式DC-DC轉換器的四通道數(shù)字隔離器,能夠調節(jié)3.15~5.25 V的穩(wěn)壓隔離電源,本設計中該芯片用來將模擬信號和數(shù)字信號隔開。具體電路設計如圖3所示。
圖2 A/D采集模塊組成框圖
圖3 信號調理和A/D采集電路圖
A/D轉換電路工作過程為,處理器模塊先發(fā)選通道信號,再發(fā)啟動轉換信號,然后讀取A/D轉換結果。多路單端模擬量輸入經多路模擬開關,被選擇通道的模擬量送到A/D轉換器的模擬信號輸入端,在啟動轉換信號的控制下,A/D轉換器開始進行轉換,轉換時間為20~35 μs。轉換數(shù)據(jù)低12位為轉換結果。
在實際控制過程中,由于電源的波動干擾、信號的電磁干擾、阻抗匹配性差等因素影響,會出現(xiàn)較大的A/D數(shù)據(jù)采集誤差,因此要獲得穩(wěn)定、可靠、接近真實值的數(shù)據(jù)就必須要進行誤差校正。為了有效地進行誤差校準,通常會采用各種軟件濾波算法,比如多次采集取平均值的濾波算法、滑動平均濾波算法、卡爾曼濾波算法等。以往使用較多的是一種軟件濾波的改進算法,比均值濾波算法更加有效。對每路A/D通道連續(xù)采集多次,首先將采集到的多個數(shù)據(jù)進行排序,去掉一個最大值和一個最小值,中間剩下的將是比較穩(wěn)定的數(shù)據(jù),用這部分數(shù)據(jù)再求平均值,將會得到一個誤差比較小的有效值[13]。這種濾波算法通常會起到一定的誤差校正作用,但是在強干擾或是阻抗匹配性較差的情況下,這種濾波算法仍然不能滿足A/D采集的高精度要求。
本文提出了利用最小二乘法的原理,將各個通道的A/D采集的實際值與理論值進行數(shù)據(jù)擬合,得到誤差校正參數(shù),利用校正參數(shù)自動進行采集數(shù)據(jù)的標定,標定后的采集數(shù)值可以更加接近理論值。
由測試設備軟件設計一組測試值,由于測試電壓值范圍為﹣10~10 V,因此測試值數(shù)組設定為ADData[10]=[﹣10,﹣8,﹣6,﹣4,﹣2,0,2,4,6,8,10](單位為V)。如果被測彈載計算機有N路A/D采集接口,則相應的測試設備需要有N路D/A輸出接口與其相連接。測試設備通過CPCI-DA接口板依次輸出上述電壓值,由于測試線纜也會帶來一定的誤差,因此要用高精度數(shù)字萬用表測量線纜后端(連接被測系統(tǒng)端)的電壓值i作為輸入電壓的理想值,測量A/D采集模塊經過A/D轉換器后采集到的電壓值i作為采樣的實際值。用i和i兩組數(shù)值經過最小二乘法數(shù)據(jù)擬合完成參數(shù)標定。
最小二乘法是一種數(shù)字優(yōu)化技術。它通過使誤差的平方和最小化來尋找數(shù)據(jù)的最佳函數(shù)匹配。利用最小二乘法可以簡便地求得未知的數(shù)據(jù),并使得這些求得的數(shù)據(jù)與實際數(shù)據(jù)之間誤差的平方和最小[14-15]。
設(i,i),= 1,2,…,為一組測量數(shù)據(jù),i為A/D采集模塊采集到的實際電壓值,i為輸入電壓的理想值,為數(shù)據(jù)組的個數(shù),其近似地滿足以下函數(shù):
=a+b (1)
式(1)中:常數(shù)a和常數(shù)b為要標定的校正參數(shù)[16]。
根據(jù)最小二乘法原理,a和b的選擇是根據(jù)偏差的平方
根據(jù)上述公式,利用MATLAB軟件或Visual C++軟件編程得到校正參數(shù)a和b。
假設彈載計算機具有個A/D采集通道,由于各個通道是相互獨立的,每個通道擬合出2個校正參數(shù),則共有2×個參數(shù)。通過工具軟件得到的校正參數(shù)通常為double類型的浮點數(shù),在Zynq-7000處理器底層軟件中將每個參數(shù)通過union聯(lián)合的方式轉換成4個UCHAR類型的整型參數(shù),則共有8×個整型參數(shù),將這些參數(shù)生成一個參數(shù)配置表,寫到對應產品FLASH存儲器的參數(shù)配置區(qū)域。在產品每次上電后,首先從FLASH的參數(shù)配置區(qū)讀取校正參數(shù),并寫入FPGA提供的參數(shù)配置寄存器中,然后對參數(shù)進行解析,將UCHAR類型的參數(shù)轉換成double類型的參數(shù),得到每個A/D通道的校正參數(shù)a和參數(shù)b存入全局數(shù)組變量中。由A/D采集模塊得到的電壓值,經過公式=a+b計算后,可得到更理想的電壓值,通過這種方法可實現(xiàn)多通道A/D采集誤差的自動校正。
本文采用某型導彈武器系統(tǒng)內兩種不同類型彈載計算機(TYPE1-2)作為驗證產品,實驗對象既包含功能復雜度高的集成一體機,也包括功能相對簡單的綜合控制計算機。其中TYPE1具有4路A/D采集通道,TYPE2具有3路A/D采集通道。
按照圖1所示建立驗證測試系統(tǒng),以某臺產品的某一A/D采集通道為例,按照誤差校正方法詳細記錄了實驗數(shù)據(jù),如表1所示。
按照上述公式求得擬合方程式=1.001 43+0.001 27,其他通道實驗記錄方法類似。
針對這兩型彈載計算機分別選取5臺不同批次產品用于實驗。實驗項目累計測試時間為:常溫拷機試驗100 h(累計測試次數(shù)50 000次)、環(huán)篩高低溫試驗80 h(累計測試次數(shù)40 000次)、功能振動試驗3 h(累計測試次數(shù)1 500次)。實驗考察的指標為每個A/D通道采集的最大誤差值,由測試設備軟件將各個通道CPCI-DA接口板輸出的電壓值與A/D采集的電壓值作對比并取絕對值,計算公式為:
DA-AD
在所有實驗項目結束后,對測試結果進行分析,找到每個通道的最大誤差值Max。采用以往的均值濾波改進算法和最小二乘標定法在同樣的試驗條件下分別進行測試。
兩型彈載計算機的實驗結果如表2、表3和表4所示,綜合實驗結果可以得出以下結論:①均值濾波改進算法和最小二乘標定算法都可滿足最大誤差值不超過25 mV的技術指標;②基于最小二乘原理的A/D采集誤差自動標定方法簡單易行,將參數(shù)標定問題轉換為線性擬合問題,數(shù)學概念明確,可使經過校正后的采集值更加接近真實值;③對比以往的均值濾波算法及其改進算法,用本文實現(xiàn)的誤差自動校正方法對兩型彈載計算機在不同試驗環(huán)境下進行檢測,其最大誤差值均可有效的減小,具有更高的可靠性。
表1 單A/D通道測量數(shù)據(jù)
i1234567891011 xi(單位:V)﹣9.982﹣7.986﹣5.991﹣3.996﹣1.990﹣0.000 11.9913.9955.9927.9879.983 yi(單位:V)﹣9.995﹣7.996﹣5.997﹣3.998﹣1.99901.9993.9975.9987.9979.996
表2 常溫拷機試驗測試指標
Type校正前采集值均值濾波改進算法最小二乘標定法 通道DiffMax/mV通道DiffMax/mV通道DiffMax/mV 1117.319.713.3 214.227.622.2 316.939.433.9 416.148.242.1 2120.3112.917.3 219.9211.426.9 319.5312.637.5
表3 環(huán)篩高低溫試驗測試指標
Type校正前采集值均值濾波改進算法最小二乘標定 通道DiffMax/mV通道DiffMax/mV通道DiffMax/mV 1120.7111.415.9 217.929.525.2 319.8312.036.4 419.249.943.9 2123.7114.619.7 223.6211.826.3 323.0313.538.8
表4 功能振動測試指標
Type校正前采集值均值濾波改進算法最小二乘標定 通道DiffMax/mV通道DiffMax/mV通道DiffMax/mV 1124.9115.718.6 222.1213.628.4 324.0318.5312.9 423.7412.746.8 2132.9118.8110.1 231.4215.6210.8 332.6317.4312.3
本文提出并實現(xiàn)了一種面向彈載計算機的A/D采集模塊誤差自動校正方法,采用最小二乘法的原理擬合出校正參數(shù),并寫入被測產品的FLASH存儲器中。產品上電后由處理器軟件從FLASH的參數(shù)配置區(qū)讀取校正參數(shù),根據(jù)擬合公式獲得最終的采集值,可完成誤差的自動校正。
經實驗驗證,此方法簡單易行,可廣泛應用于彈載計算機的A/D采集模塊,達到有效減小采集誤差、提高系統(tǒng)可靠性的目的。
[1]景德勝.基于多核處理器的彈載計算機低功耗設計研究[J].微型機與應用,2016,35(10):28-29,32.
[2]梁葆華,陳欣,呂迅竑.一種支持雙余度CAN總線接口的A/D采集單元設計[J].航空計算技術,2008,38(2):107-110.
[3]馬海潮.超高速數(shù)據(jù)采集技術發(fā)展現(xiàn)狀[J].測試技術學報,2003,17(4):287-292.
[4]JIN-KUI Z.Common mode interference & differential mode interference and their restraining technologies[J]. Electronics Quality,2006(5):26.
[5]原兵兵,陳欣,徐敏.一種飛行控制計算機高精度A/D采集單元設計與研究[J].電光與控制,2017,24(5):82-86.
[6]劉憲忠,孫妍,張淑舫.面向彈載計算機的ATE通用平臺設計與實現(xiàn)[J].計算機工程,2018,44(7):60-66,73.
[7]杜金艷,葉旭鳴.基于Zynq_7000的SRIO高速數(shù)據(jù)傳輸設計與實現(xiàn)[J].電子設計工程,2017,25(24):30-33.
[8]何賓.Xilinx all programmable Zynq-7000Soc[M].北京:清華大學出版社,2013.
[9]龔征華,龐明,周冠澤,等.基于PIC單片機的A/D采集模塊實現(xiàn)[J].微型電腦應用,2016,21(1):1-3.
[10]董建樹,孫宏超,王惠,等.一種高分辨率積分輸出的A/D轉換電路的設計[J].導航定位與授時,2018,5(1):93-99.
[11]孟青,蘇承啟,任勇峰,等.基于AD8031多通道采編器的設計與實現(xiàn)[J].計算機測量與控制,2012,20(11):3057-3062.
[12]王連華.基于FPGA和高速串行接口AD轉換器AD7476的接口應用[J].電子制作,2016(22):6.
[13]黃健,張善文,周端.基于STM32的A/D采樣軟件濾波改進算法研究[J].儀器技術與傳感器,2016(3):83-85.
[14]劉穎.基于抗差最小二乘法的諧波狀態(tài)估計方法研究[D].北京:華北電力大學,2012.
[15]何旭平,任保勝,祁玉斌.基于最小二乘法的吸咀吸收壓力的研究[J].電子工業(yè)專用設備,2017(4):56-59.
[16]XU Z M,WEN X Q,ZHENG J,et al.Cooling water fouling resistance prediction of plate heat exchanger based on partial least squares regret -ssion[J].CIESC Journal,2011,62(6):1531-1536.
TP23
A
10.15913/j.cnki.kjycx.2019.19.004
2095-6835(2019)19-0012-04
孫妍(1986—),女,碩士研究生,工程師,研究方向為嵌入式計算機軟件設計及測試。張淑舫(1970—),女,碩士,高級工程師,研究方向為可靠性設計。朱薛洋(1984—),男,碩士,高級工程師,研究方向為嵌入式操作系統(tǒng)軟件設計。
中國航天科工集團公司2011年度可靠性保障工程計劃(天工技〔2011〕976號,編號:B201111)
〔編輯:張思楠〕