趙世弘,吳芋嬌,符勛
(中國民航大學(xué) 電子信息與自動化學(xué)院,天津, 300300)
全動飛行模擬機是一個高精度、流量大的實時仿真控制系統(tǒng),座艙結(jié)構(gòu)按照真實飛機1:1 的比例搭建,航電系統(tǒng)與真實飛機相同,機艙由六自由度電動運動平臺支撐,高度模擬真實駕駛艙飛行環(huán)境,能夠復(fù)現(xiàn)飛行器相關(guān)操作及空中狀態(tài),是飛行培訓(xùn)的最接近真實飛機的載體。全動飛行模擬機能模擬出真實飛行所難以遇到的風(fēng)切變、雙發(fā)停車等緊急情形,主要用于飛行員的空中特情處理訓(xùn)練,以提升其故障識別能力及應(yīng)急操作的熟練度[1]。
為滿足全動飛行模擬機的高逼真度及真實人體感知,除了模擬飛機操作環(huán)境,要求飛行環(huán)境內(nèi)各系統(tǒng)控制精準(zhǔn)、仿真度高之外,設(shè)備計算機架構(gòu)產(chǎn)生感覺提示信息所需的計算延遲也應(yīng)嚴(yán)格符合相關(guān)要求。根據(jù)中國民用航空規(guī)章CCAR-60 部規(guī)定,飛行訓(xùn)練設(shè)備的延遲可通過傳輸延遲測試確定,即測量從駕駛員的操縱端輸入階躍信號,到運動系統(tǒng)、視景系統(tǒng)以及儀表系統(tǒng)做出響應(yīng)之間的時間。目前的全動飛行模擬機缺乏專用、便捷的傳輸延遲信號采集系統(tǒng),無法有效地對全動飛行模擬機的響應(yīng)滯后性進(jìn)行測算及評估。
程東亮設(shè)計的基于STM32 的多路信號采集系統(tǒng)可實現(xiàn)對3 路電壓、電流信號采集,通過RS485 通信將采集的數(shù)據(jù)實時地上傳至上位機進(jìn)行顯示,精度較高,但采集周期為10ms,不滿足全動模擬機的傳輸延時采集的需求[2]。秦鍇、李鵬和李濤研制的基于cPCI 便攜機平臺的多路信號采集測試系統(tǒng)通用性強,采集性能優(yōu),但對于模擬機傳輸延時測量的特定應(yīng)用場景,需要特定的測量方案以實現(xiàn)模擬機的激勵與響應(yīng)信號測量[3]。盧千惠通過MATLAB 中的GUI 界面設(shè)計實現(xiàn)信號時域的特征分析與相關(guān)性分析,但程序無法實現(xiàn)對實時數(shù)據(jù)的接收與處理[4]。
為評估模擬機的性能,提高其飛行仿真的真實度及可靠性,針對上述要求及問題,本文設(shè)計了一種基于STM32F407MCU 的全動飛行模擬機信號采集處理系統(tǒng),可以對駕駛員主飛行操縱裝置發(fā)出的階躍輸入信號到各系統(tǒng)的響應(yīng)信號進(jìn)行實時數(shù)據(jù)采集,并對已采集的數(shù)據(jù)通過計算機應(yīng)用程序進(jìn)行分析與處理,將全動飛行模擬機的操縱輸入信號以及各系統(tǒng)的響應(yīng)信號通過圖表曲線可視化。
傳輸延遲的測量對時間精度的要求高,因此采集系統(tǒng)的處理延時需盡可能小。STM32F407MCU 是基于ARM Cortex-M4 內(nèi)核的32 位微控制器,其主頻頻率達(dá)168MHz,在數(shù)據(jù)的通信和采集流程的運行中能保持較高的處理速率,滿足低時延的實時數(shù)據(jù)采集和轉(zhuǎn)發(fā)的功能需求。
經(jīng)過多次測試,該系統(tǒng)不僅可以對全動飛行模擬機主要系統(tǒng)的傳輸延遲信號進(jìn)行有效地采集及處理,并且系統(tǒng)相關(guān)部件的內(nèi)部延遲符合測試設(shè)備的相關(guān)延遲要求,整體采集流程較為簡單,成本較低,設(shè)備輕便,維護(hù)成本低。
全動飛行模擬機作為飛行員培訓(xùn)的最高等級設(shè)備,也是其最接近真實飛機操控的培訓(xùn)載體,需要其提供與真實飛機極為接近的操縱響應(yīng)及感官提示,各系統(tǒng)的實時響應(yīng)顯得極為重要。因此,模擬機的響應(yīng)開始時刻相對于真實航空器的滯后時間是判定全動飛行模擬機性能及逼真度的一項重要指標(biāo)。在全動模擬機的延遲時間評估中,傳輸延遲為模擬機操縱輸入到硬件響應(yīng)輸出之間的時間,與所模擬的航空器自身的延遲特性無關(guān),是評估全動模擬機響應(yīng)滯后的實現(xiàn)方式。模擬機傳輸延遲與響應(yīng)滯后的關(guān)系如圖1所示。
圖1 模擬機傳輸延遲與響應(yīng)滯后關(guān)系示意圖
2019 年中國民用航空局發(fā)布的《飛機飛行模擬機鑒定性能標(biāo)準(zhǔn)―咨詢通告》中規(guī)定,C 類和D 類全動模擬機的運動和儀表系統(tǒng)的響應(yīng)滯后應(yīng)在100ms 以內(nèi),視景系統(tǒng)的響應(yīng)滯后應(yīng)在120ms以內(nèi)[5]。
本延遲信號采集系統(tǒng)通過傳感器及信號輸入端口分別采集全動飛行模擬機的激勵信號及系統(tǒng)相應(yīng)信號,傳輸至計算機中,在計算機的數(shù)據(jù)處理應(yīng)用程序內(nèi)進(jìn)行存儲及數(shù)據(jù)分析,推算出全動飛行模擬機的傳輸延遲時間。全動飛行模擬機中主要包括運動系統(tǒng)、視景系統(tǒng)和儀表系統(tǒng),根據(jù)模擬機的系統(tǒng)組成,測量系統(tǒng)的硬件架構(gòu)如圖2 所示,分為數(shù)據(jù)采集控制器、激勵信號采集端口、運動采集模塊、顏色采集模塊、光強采集模塊。
圖2 數(shù)據(jù)采集系統(tǒng)架構(gòu)
數(shù)據(jù)采集控制器基于STM32F407MCU,根據(jù)各采集模塊相應(yīng)的通信協(xié)議讀取傳感器采集的數(shù)據(jù),并對傳感器的工作配置和通信過程進(jìn)行調(diào)度、管理。運動信號采集通過ADXL345 加速度傳感器實現(xiàn),以3200Hz 的采樣率及4mG/LSB 的精度采集三軸的重力加速度和運動加速度。顏色采集模塊使用TCS3200 光電傳感器,通過濾光片采集輸入光信號中R、G、B 三色分量的光強,并對光強轉(zhuǎn)換為頻率信號輸出。光強采集模塊通過光敏電阻實現(xiàn),其阻值隨光強而改變,標(biāo)準(zhǔn)光源10Lux 光照下的阻值為5kΩ~10kΩ,無光照下阻值為500kΩ,以模擬電壓形式向采集控制模塊輸出數(shù)據(jù)。激勵信號為模擬機操縱桿帶動電位器轉(zhuǎn)動產(chǎn)生的模擬電壓信號,MCU 通過A/D 轉(zhuǎn)換端口采集。加速度采集模塊、顏色采集模塊、光強采集模塊和激勵信號采集的原理圖如圖3 所示。
圖3 采集模塊原理圖
由于傳輸延遲的測量涉及兩路信號在時域上的比較,因此采集過程的時序以及信號的時間信息必須統(tǒng)一。本系統(tǒng)以數(shù)據(jù)采集控制器的時序作為基準(zhǔn),數(shù)據(jù)采集控制器以定時器中斷每1ms 內(nèi)讀取各數(shù)據(jù)采集模塊數(shù)據(jù)以及產(chǎn)生時間信息,將數(shù)據(jù)及采集時間一同寫入數(shù)據(jù)幀,通過通用同步異步串 口(Universal Synchronous/Asynchronous Receiver/Transmitter,USART)發(fā)送至計算機。PC 機通過串口控件接收數(shù)據(jù)幀,通過數(shù)據(jù)處理應(yīng)用軟件進(jìn)行數(shù)據(jù)處理及人機交互,數(shù)據(jù)的處理及顯示所涉及的時間信息均為數(shù)據(jù)采集控制器產(chǎn)生的采集時間。
2.3.1 數(shù)據(jù)采集接口
由于各數(shù)據(jù)采集模塊的信號輸出形式不同,MCU 需要通過不同的協(xié)議讀取各采集模塊的信號,同時為保證數(shù)據(jù)的實時性和采集的低延時,MCU 的程序執(zhí)行每項功能所需的時間需足夠短。
運動采集模塊是通過ADXL345 傳感器采集加速度,其數(shù)據(jù)的輸出支持集成電路總線(Inter-Integrated Circuit,I2C)和串行外部設(shè)備接口(Serial Peripheral Interface,SPI)兩種協(xié)議。由于I2C 為半雙工通信協(xié)議,最高速率為400kHz,但每次通信都需MCU 發(fā)送地址碼及等待應(yīng)答,通信效率較慢,無法滿足1ms 內(nèi)讀取數(shù)據(jù)的需求;ADXL345支持4 線SPI 協(xié)議,可支持最高5MHz 的全雙工通信,同時通信的起止通過片選電壓控制,節(jié)省通信的開銷及縮短讀取數(shù)據(jù)的等待時間,因此本系統(tǒng)應(yīng)用SPI 協(xié)議實現(xiàn)高效讀取運動采集模塊的數(shù)據(jù)。
顏色采集模塊的數(shù)據(jù)輸出以方波的頻率為格式,頻率范圍為0~500kHz,MCU 通過定時器的輸入捕獲功能,讀取方波的周期,以周期為該模塊的采集數(shù)據(jù)。由于TCS3200 傳感器的三個顏色采集通道通過S2 和S3 端口的電平控制,不能同時輸出數(shù)據(jù),因此數(shù)據(jù)的采集通過輪詢方式,在0.5ms 內(nèi)通過改變S2 和S3 端口的電平,輪流讀取各通道的數(shù)據(jù),放入內(nèi)存以待采集主流程讀取。頻率采集定時器與采集流程所用的定時器不同,為防止中斷程序的沖突,本系統(tǒng)以采集流程中斷為最高優(yōu)先級,頻率采集的中斷為次優(yōu)先級。
光強傳感器和激勵信號采集通過A/D 轉(zhuǎn)換實現(xiàn)。光強信號由光敏電阻與10kΩ 電阻在3.3V 電源下的分壓產(chǎn)生;操縱端激勵信號由電位器采集操縱桿的轉(zhuǎn)動量產(chǎn)生,電壓范圍為-10V~10V,通過電阻分壓對信號進(jìn)行平移、衰減,轉(zhuǎn)化為0~3.3V 電壓信號。由于MCU 的A/D 轉(zhuǎn)換輸入端口的阻抗較小,因此信號采集模塊與MCU 端口之間使用以LM358 運算放大器搭建的電壓跟隨器實現(xiàn)阻抗匹配與隔離。
為節(jié)省MCU 的運算資源,A/D 轉(zhuǎn)換配置直接存儲訪問(Direct Memory Access,DMA),指定相應(yīng)的內(nèi)存空間存儲每次A/D 轉(zhuǎn)換的數(shù)據(jù),A/D 數(shù)據(jù)寄存器至內(nèi)存的數(shù)據(jù)移動過程無需MCU 的程序指令,采集主程序直接讀取相應(yīng)的數(shù)據(jù)寫入數(shù)據(jù)幀,A/D 轉(zhuǎn)換的采樣率配置為1MSa/s,數(shù)據(jù)轉(zhuǎn)換完成與被程序讀取發(fā)送之間的時間差較小。數(shù)據(jù)采集控制器與各采集模塊的通信接口形式如圖4 所示。
圖4 數(shù)據(jù)采集接口
2.3.2 串行通信協(xié)議
數(shù)據(jù)采集控制器通過USART 將每次讀得的數(shù)據(jù)發(fā)送至PC 機。采集控制模塊與PC 的通信數(shù)據(jù)幀各字段的定義如圖5 所示。根據(jù)各采集模塊的數(shù)據(jù)格式,共有22 字節(jié)數(shù)據(jù)需要發(fā)送,為確保接收端按正確次序接收數(shù)據(jù),每個數(shù)據(jù)幀的頭部和尾部均插入兩個字節(jié)的幀同步碼。串行通信的速率為921.6kbps,完成一幀數(shù)據(jù)發(fā)送需時約243μs,數(shù)據(jù)幀具有根據(jù)采集需要而擴展的能力。為實現(xiàn)接收端的檢錯,數(shù)據(jù)幀采用累加和校驗的編碼方式,對前24 字節(jié)的碼字以無符號十六位數(shù)的格式累加,生成校驗位。PC 接收程序接收到數(shù)據(jù)幀后進(jìn)行幀頭標(biāo)志檢查及校驗,對錯誤的數(shù)據(jù)幀執(zhí)行丟棄操作。在MCU 的內(nèi)存中建立先入先出緩沖區(qū)(First Input First Output,F(xiàn)IFO),數(shù)據(jù)幀按照字節(jié)的順序逐個放入緩沖區(qū),通過串口發(fā)送完成中斷控制緩沖區(qū)內(nèi)數(shù)據(jù)的取出與發(fā)送。
圖5 PC 通信數(shù)據(jù)幀結(jié)構(gòu)
2.3.3 采集程序流程
為實現(xiàn)采集系統(tǒng)時間的同步,MCU 配置周期為1ms 的定時器,在定時器中斷內(nèi)完成整個數(shù)據(jù)采集、轉(zhuǎn)發(fā)流程,同時利用計數(shù)變量產(chǎn)生采集時間信息加載到數(shù)據(jù)幀中,時間位的長度為4 字節(jié),運行時間內(nèi)每組數(shù)據(jù)在時間維度上與其他組數(shù)據(jù)互不重疊。本系統(tǒng)所有程序均在中斷內(nèi)完成,數(shù)據(jù)采集控制的中斷為最高優(yōu)先級串口發(fā)送中斷為第二優(yōu)先級,定時器輸入捕獲中斷為第三優(yōu)先級。數(shù)據(jù)采集控制中斷內(nèi)的程序流程框圖如圖6 所示。
圖6 數(shù)據(jù)采集控制流程框圖
數(shù)據(jù)處理軟件的開發(fā)基于Microsoft Visual Studio 2022的C#窗體應(yīng)用設(shè)計平臺。窗體頁面如圖7 所示,由數(shù)據(jù)顯示控制、自動截屏控制、數(shù)據(jù)處理分析控制、數(shù)據(jù)繪圖窗口和數(shù)據(jù)保存控制組成。
圖7 數(shù)據(jù)處理窗體頁面設(shè)計
窗體應(yīng)用通過串口控件讀取計算機串口緩沖區(qū)數(shù)據(jù),根據(jù)數(shù)據(jù)幀結(jié)構(gòu)取出各數(shù)據(jù)采集模塊的回傳數(shù)據(jù),將其存放于相應(yīng)的泛型集合(List)中。數(shù)據(jù)繪圖窗口根據(jù)數(shù)據(jù)顯示控制的下拉菜單選擇讀取通道,讀取相應(yīng)的集合數(shù)據(jù),以曲線圖的形式顯示在窗體上。采樣階躍響應(yīng)時,可根據(jù)響應(yīng)值設(shè)置自動截屏閾值,當(dāng)讀取到的相應(yīng)通道的數(shù)據(jù)大于所設(shè)定的閾值,數(shù)據(jù)繪圖窗口自動停止更新繪圖,保留當(dāng)前曲線圖。數(shù)據(jù)保存控制將數(shù)據(jù)繪圖窗口的各數(shù)據(jù)點按用戶輸入的保存路徑生成csv 或txt 格式文件。
軟件存儲空間中存儲3000 個采樣點數(shù)據(jù),單次采集結(jié)束后使用20 階漢明窗FIR 濾波器濾除高頻噪聲。傳輸延遲時間tdelay通過計算激勵信號x[t]與響應(yīng)信號y[t]互相關(guān)函數(shù)R[t],檢索最大值所對應(yīng)的時間平移值得出。
應(yīng)用程序通過DataReceiver 類讀取、解析數(shù)據(jù)幀,對采集數(shù)據(jù)分類存儲至三個泛型集合中,DataProcessor 類對緩存的數(shù)據(jù)進(jìn)行濾波、時間互相關(guān)計算、繪圖以及生成數(shù)據(jù)文件,類圖如圖8 所示。
圖8 軟件設(shè)計類圖
在某波音737MAX 全動飛行模擬機上應(yīng)用本系統(tǒng)進(jìn)行延遲信號測試,運動采集模塊和采集控制器固定于駕駛艙中控臺后方地板上,采集運動平臺的加速度響應(yīng),如圖9 所示;顏色傳感器固定于機長側(cè)主飛行顯示器姿態(tài)儀顯示區(qū)域的顯示屏上,采集姿態(tài)儀顯示由打開到關(guān)閉的階躍響應(yīng);光強傳感器固定于視景系統(tǒng)投影儀光源處,采集視景投影儀由熄滅到點亮的階躍響應(yīng)[6]。模擬機運行根據(jù)CCAR-60 規(guī)章設(shè)計的傳輸延遲采集測試程序,使用本系統(tǒng)測得運動系統(tǒng)、視景系統(tǒng)和儀表系統(tǒng)的響應(yīng)延遲分別為49ms,78ms,265ms。采集加速度Z 軸時,數(shù)據(jù)處理軟件界面顯示如圖10 所示,將所有采集數(shù)據(jù)導(dǎo)出,模擬機各響應(yīng)系統(tǒng)傳輸延遲采集數(shù)據(jù)如圖11 所示。
圖9 系統(tǒng)實際測試場景
圖10 加速度采集過程
圖11 某波音737MAX全動模擬機傳輸延遲采集數(shù)據(jù)
根據(jù)該模擬機的設(shè)計資料,視景系統(tǒng)的功能端執(zhí)行延遲約75ms,儀表系統(tǒng)的功能端執(zhí)行延遲約200ms。根據(jù)圖1所示的傳輸延遲、響應(yīng)滯后和執(zhí)行響應(yīng)端響應(yīng)延遲之間的關(guān)系,使用本系統(tǒng)測得的傳輸延遲數(shù)據(jù)減去該型號全動模擬機的執(zhí)行響應(yīng)端響應(yīng)延遲,得出該全動模擬機的響應(yīng)滯后時間滿足規(guī)章所要求。
使用本系統(tǒng)對模擬機各響應(yīng)系統(tǒng)的傳輸延遲分別采集20 次,其中運動系統(tǒng)分別測試X 軸、Y 軸、Z 軸三個水平運動自由度的傳輸延遲,對所測結(jié)果求標(biāo)準(zhǔn)差。各數(shù)據(jù)采集子系統(tǒng)的采集偏差如表1 所示。
表1 系統(tǒng)各采集通道采集測試結(jié)果標(biāo)準(zhǔn)差
由表1 得出,運動采集模塊的采集偏差在4ms 左右,顏色采集模塊的采集偏差在5ms 左右,光強采集模塊的采集偏差在1ms 以內(nèi),系統(tǒng)采集容差滿足全動模擬機傳輸延遲采集測試要求。
本文應(yīng)用STM32F407MCU 的高運算性能、SPI 和USART 等高速通信接口的連接功能以及低開發(fā)成本的優(yōu)勢,實現(xiàn)了以實時采集、低處理時延為主要技術(shù)特點的全動飛行模擬機傳輸延時采集,為全動飛行模擬機的系統(tǒng)性能評估提供了一種可行的方案。針對高時間精度的采集,系統(tǒng)設(shè)計采用定時采集、統(tǒng)一時間基準(zhǔn)的思路,為確保采集控制模塊與PC 機串行通信的時間準(zhǔn)確性,通信數(shù)據(jù)使用集中式插入法幀同步發(fā)送,確保數(shù)據(jù)與采集時間相對應(yīng)。在采集系統(tǒng)的測試中,系統(tǒng)的時間精度和采集性能滿足全動飛行模擬機傳輸延遲測試的需求。
數(shù)據(jù)采集系統(tǒng)體積小,具有集成于全動飛行模擬機控制機柜的可行性,數(shù)據(jù)處理軟件獨立,不占用模擬機控制系統(tǒng)的運算資源,也不對模擬機的傳輸延時造成影響,具有實際應(yīng)用能力。對于系統(tǒng)的性能和精度,在以下兩方面可以進(jìn)行改進(jìn):
(1)采集控制模塊與PC 機的串行通信差錯控制為累加和校驗,無重傳機制,可使用循環(huán)冗余校驗(Cyclic Redundancy Check,CRC),加入選擇重傳機制,提高PC 端接收數(shù)據(jù)的檢錯能力和數(shù)據(jù)的完整性;
(2)應(yīng)用圖像識別,通過尋找響應(yīng)信號變化的起始位置作為響應(yīng)的時間點,提高延遲時間測量的精度。