劉安琴 ,楊慶華
(1.煙臺大學文經學院,山東 煙臺 264005;2.上海大學機自學院,上海 200444)
隨著航空裝備的不斷發展,民航飛機性能的提高以及功能的逐漸完善,導致飛機系統及其分系統的構造構愈發復雜,制造成本不斷提高,安全性能問題日益突出。因此,經濟與安全成為了不可回避的問題。在過往的設備檢測過程中,大多是真機與真機相連。這種檢測方式不僅會消耗比較大的成本、需要繁雜的技術人員和設備,還會對真機造成一定的損耗。此外,在民航飛機的研制過程中,需要進行各種試驗:一方面驗證某些理論計算是否與試驗結果相符;另一方面通過探索性試驗,摸索新的試驗方法及數據處理方法。
因此,設計地面接口測試模擬器就顯得尤為重要。飛機航電分系統都有各自的控制設備,譬如電源系統的發電機控制單元(generator control unit, GCU),發動機系統的全權數字發動機控制器(full authority digital engine controller, FADEC)和發動機振動單元(engine vibration unit,EVM),防火系統的過熱控制單元(fire overheat control unit, FOCU)以及起落架的位置作動控制單元(position actuation control unit,PACU),艙門系統的現場可更換單元(line replaceable unit, LRU)等[1-4]。除了這些系統自帶的處理器外,還有很多待測的離散量、模擬量[5-6]等。以上系統的所有待測變量與地面模擬器相連進行檢測,可以節約成本,增加安全性能。另外,在測試過程中還可以快速全面地查出頂層設計和開發中的功能邏輯錯誤,大大提高檢查的覆蓋面積。地面測試模擬器與機上信號之間可以靈活映射,包括對信號切換、信號注入、信號輸出等模塊進行測試。
本文設計了PACU模擬器多功能擴展轉接盒。PACU模擬器多功能轉接盒一端連接飛機機架端,另一端通過模擬器本身接口對外提供激勵輸入接口。此外,還可以把真機件連到PACU模擬器上。
PACU模擬器多功能轉接盒能夠實現控制激勵信號在PACU真機件和模擬器之間的信號切換。同時,在模擬器狀態下,提供9路飛機艙門信號提供狀態指示和13路開關量信號提供信號指示。其中,開關量信號支持電平為28 V/OPEN和GROUND/OPEN兩種開關格式。
為了使PACU轉接盒可以方便、準確地對9路艙門信號發送控制激勵信號,并且能夠直觀顯示,本文設計了上位機界面與觸摸屏模塊。它們均與主芯片能夠實現通信交互。系統總體結構如圖1所示。

圖1 系統總體結構圖
其中,主控制器采用STM32F103芯片。該芯片接口十分豐富,可通過USART接通信模塊與上位機[5-7]、觸摸屏進行16位的數據交換;同時,通用輸入/輸出接口與繼電器矩陣相連。通信模塊主要由串行通信模塊組成,主要目的是通過串口通信的方式與嵌入式控制器進行信息的交互,對輸入/輸出信號進行電平的匹配、隔離,即完成信號的轉接和轉換,對信號進行統一管理。繼電器矩陣開關模塊主要是通過嵌入式控制器控制對應的模擬量、數字量、開關量進行操作。激勵模塊由觸摸屏構成,采用工業串口屏,本身有著高效獨立的處理器,可以作為激勵源通過通信模塊完成對指令、數據以及物理信號的交互。
在默認狀態下,模擬器端的PACU真機件與轉接電纜相連,16路電磁繼電器保持斷開狀態。若串口接收到上位機發送的數據,可切換至地面模擬器接口,電磁繼電器通電,16路LED動作指示燈亮起。
在模擬器工作狀態下,地面測試模擬器為9路飛機艙門信號提供狀態指示,每個艙門的艙門信號有三種狀態,即開啟,關閉,鎖定。另外模擬器為13路開關量信號提供信號指示,開關量信號支持電平為12 V/OPEN。當激勵信號發送時,STM32對命令進行解析,判斷激勵來自上位機還是觸摸屏。若來自上位機,控制器再對控制命令進行解析,識別具體艙門的具體狀態,通過串口2將數據回傳至觸摸屏,屏上顯示艙門顏色狀態變化。同時,模擬器通過串口1將數據回溯至上位機。上位機也可顯示艙門顏色狀態變化;觸摸屏也可作為激勵模塊,發送艙門開閉信號,在上位機端與觸摸屏端完成同樣的顯示功能。
主控制器采用意法半導體(ST)公司生產的STM32F103系列芯片。STM32芯片采用庫開發的形式,高度集成的庫函數不同于以往的單片機產品對寄存器進行操作,大大方便了用戶的開發。STM32外圍接口十分豐富,有多達5個USART接口,512 kB的閃存程序存儲器,最高工作頻率72 MHz,具有運算速度快、低電壓、低功耗的特點。STM32豐富的硬件資源給PACU地面模擬器的復雜系統及今后的開發預留了空間[8-9]。
STM32接外圍設備如圖2所示。

圖2 STM32接外圍設備示意圖
繼電器模塊設計的是16路、12 V供電的繼電器模塊,帶有光耦保護。每路繼電器都帶有動作指示燈。吸合時燈亮,斷開時燈熄滅。I/O口驅動低電平有效。其中,繼電器采用電磁式繼電器,即通過電磁鐵通電后產生的吸引力控制銜鐵的上下移動,達到在常開觸點與常閉觸點之間切換的目的。在硬件電路中,采用DS2E-S-DC12V的繼電器。它的標準值電壓是12 V,最小的斷開電壓是8.4 V,線圈電阻是800 Ω。光耦隔離光敏三極管一側的電壓是5 V,需要發光二極管發出一定的光使得光敏三極管導通。電壓不足時無法使發光二極管導通,繼電器中電磁鐵未有電流通過,處于常開狀態。即使在不加任何附加電阻的情況下,電流值也是達不到繼電器的啟動電流。因此必須加上電流開關放大驅動電路,利用光耦隔離控制開關電路,進而再控制繼電器的動作情況。當單片機發出高電平的信號時,光偶隔離動作,輸出一定的電流使得NPN的三極管放大電路觸發;外加12 V電壓與繼電器形成通路,達到繼電器動作值,觸電閉合;發出低電平時不動作。
2.3.1 觸摸屏與STM32通信模塊
觸摸屏采用迪文公司生產的工業串口屏。觸摸屏支持RS-232與RS-485通信,因此需要RS-232電平轉換接口電路,模塊為MAX3232。藍牙模塊與STM32接線如圖3所示。MAX3232的TX端接STM32的PA2引腳,RX端接PA3引腳[10-13]。
2.3.2 上位機與STM32通信模塊
由于PACU轉接盒接線復雜,為尋求方便,在上位機與STM32通信時采用HC-05藍牙無線模塊,HC-05是主從一體的藍牙模塊,其作為主機時與計算機相連,作為從機時與STM32的TTL電平發送端(PA9),接收端(PA10)引腳相連。

圖3 藍牙模塊與STM32接線圖
軟件設計流程如圖4所示。

圖4 軟件設計流程圖
STM32接收的數據命令是可變的,加上幀頭和幀尾數據總字節數至少大于3個。工作流程為接收到上位機發送的數據后,STM32對數據命令進行解析。首先判斷幀頭是否為0X55,然后對幀尾進行判斷看是否為0xAA。當接收到的一幀數據符合有效命令,即根據有效命令數據Payload進行解析。當有效Payload字節為3個時,第一個自己代表艙門,第二個字節代表艙門狀態,第三個字節表示真機與模擬器之間的切換信號。如第三個字節為0x55,即代表連接真機信號;如為0XAA,則代表連接地面模擬器信號。
當接收到的有效Payload為2個字節時,第一個字節代表通道號,第二字節代表狀態量。 其中,第一個字節接收為數字1~9(十進制),分別對應客艙門、前服務艙門、前貨艙門、后貨艙門、登機梯門、EE艙門、前檢修門、左側應急門與右側應急門等。第二字節接收數字0~2分別代表開啟、關閉和鎖定狀態。同樣,開關量也用通道號+狀態量來表示。例如,從串口1接收到的Payload字節為0x0101,則第一個字節0x01代表客艙門;第二個字節表示狀態量,接收為0x01代表處于關閉狀態。同樣,STM32通過串口1轉發數據至上位機,通過串口2轉發數據至觸摸屏,客艙門顏色都相應發生變化。另外,觸摸屏也可以作為激勵信號發送指令,STM32將數據通過串口1回傳至上位機,上位機可以顯示艙門狀態的改變。
總線接收到數據,單片機會對其進行多字符的解析。因此,串口如何判斷自己收到的是一串數據而不是單字節的數據是非常關鍵的。譬如本文中設定客艙門開啟的命令為0x0101,串口1接收55 01 01 AA,串口將其視作一幀數據,格式包括幀頭-數據1-數據2-幀尾,否則會出現丟包,內容不完整等情況。當有一幀數據發送完成后,USART_SR寄存器中的第六位被置1。如果單片機不停地查詢這個標志位,會耗費內核寶貴的資源,所以可將串口發送完一幀數據事件配置為可觸發中斷,進入IDLE中斷服務函數,判斷接收到的一幀數據包含的字節數。
以STM32 USART1為例,程序設計如下。當串口接收到一個字節數據時會產生一次RXNE中斷。將其存入串口1的數據緩沖區中,直到緩沖區存滿4 B數據,會產生一次IDLE中斷。單片機將這4 B數據視為一幀數據。接收到一幀數據后,要清除USART_SR寄存器中的標志位,否則會影響下一周期數據的接收。清除方法是先讀SR寄存器,再讀DR寄存器。
設計觸摸屏模塊的目的是能夠和地面模擬器進行交互,主要用迪文觸摸屏完成指令、數據等參數以及相應物理信號的注入。操作方面主要包括9路艙門信號與13路開關量信號的顯示與激勵。艙門變量分為9個模塊,分別是客艙門、前服務艙門、前貨艙門、后貨艙門、登機梯門、EE艙門、前檢修門、左側應急門與右側應急門。它們都在同一個變量地址下,變量地址為0x0001,鍵值分別為0x0100~0x0900。每個艙門有三種狀態,即開啟、關閉、鎖定。0x0010變量地址對應的按鍵返回值為0x0000~0x0002。圖標變量有紅黃綠三種。每個艙門對應一個圖標變量,分別為01~09。圖標變量的變量地址上限為2,下限為0。在觸摸屏、STM32、上位機進行通信過程中,遵循的觸摸屏通信協議如表1所示。

表1 觸摸屏通信協議
表1中:0x55為幀頭;0xAA為幀尾;協議中間內容為艙門變量的按鍵返回值與狀態變量按鍵返回值的組合。
本文以客艙門為例,進行了初步的系統測試。首先,在上位機中配置好COM口與波特率后,檢查藍牙通信狀況良好,繼電器切換為PACU模擬器狀態。然后,如果點擊客艙門開啟(OPEN)按鈕,系統可將客艙門設置為開啟狀態,上位機和觸摸屏中客艙門顏色均顯示為紅色;如果點擊客艙門鎖定(LOCK)按鈕,系統可將客艙門設置為鎖定狀態,上位機和觸摸屏中客艙門顏色均顯示為綠色;如果點擊客艙門關閉(CLOSE)按鈕,則系統可將客艙門設置為關閉狀態,上位機和觸摸屏中客艙門顏色均顯示為黃色。其余艙門與開關量系統測試流程和效果相似,經檢測,系統狀況良好,與設計初衷相符。
本文設計了基于STM32的PACU模擬器多功能轉接盒,可實現真機與模擬器之間信號可自由切換;同時,串口可以提供艙門系統信號與開關量信號的激勵,在觸摸屏上實現信號反饋。該設計的主要優勢在于摒除了過往在飛機測試過程中真機與真機的連接方式,避免了對真機件的設備損耗。另外,可采用采用地面模擬器的軟件模擬控制完成硬件在環測試,能夠很好地支持艙門系統以及28 V/OPEN等開關量的交互試驗。在地面綜合試驗中,PACU多功能模擬器轉接盒為民航飛機的航電系統的順利測試起到了很好的推進作用。