魏璐達(dá),宣曉剛,楊 飛,張美仙,賈少龍
(航空工業(yè)太原航空儀表有限公司,山西 太原 030006)
飛機(jī)失速是飛機(jī)迎角(angle of attack,AOA)超過(guò)臨界AOA,機(jī)翼升力面出現(xiàn)嚴(yán)重的氣流分離,導(dǎo)致飛機(jī)阻力急劇增大、升力驟然下降的現(xiàn)象。飛機(jī)失速會(huì)導(dǎo)致飛機(jī)失控,引發(fā)飛行事故。為保證飛行安全,民航局適航司規(guī)定,要在民用飛機(jī)上加裝失速告警系統(tǒng)(stall warning system,SWS)[1-2]。飛行員通過(guò)SWS獲得飛機(jī)運(yùn)行時(shí)的失速告警、保護(hù)信息,以及相應(yīng)的控制指令,從而執(zhí)行相應(yīng)的操作,以確保飛機(jī)不進(jìn)入失速危險(xiǎn)狀態(tài)。
目前,歐美、俄羅斯等國(guó)家和地區(qū)的軍用和民用飛機(jī)加裝的SWS大多是基于單核處理器,或者采用多處理器同步時(shí)鐘的方法構(gòu)建余度告警計(jì)算機(jī),并采用雙余度失速告警計(jì)算機(jī)(stall warning computer,SWC)的方法來(lái)滿足適航法規(guī)對(duì)安全性的要求。隨著技術(shù)的發(fā)展,失速判斷已經(jīng)從根據(jù)飛機(jī)AOA和空速等參數(shù)來(lái)判斷飛機(jī)是否進(jìn)入失速狀態(tài),發(fā)展到利用AOA、側(cè)滑角、法向過(guò)載、空速、突風(fēng)影響到地效應(yīng)影響等多種飛行參數(shù)進(jìn)行綜合分析和處理。采用單核處理器的雙余度SWS,在同一處理器上對(duì)解算數(shù)據(jù)進(jìn)行數(shù)據(jù)一致性檢查將產(chǎn)生可信度的問(wèn)題,使輸出指令的誤判率增加。采用多處理器同步時(shí)鐘的方法明顯增加了計(jì)算機(jī)系統(tǒng)的復(fù)雜度和成本,且設(shè)備的基本可靠性平均無(wú)故障工作時(shí)間(mean time between failure,MTBF)顯著降低,難以滿足適航安全性要求。
針對(duì)以上問(wèn)題,本文提出了一種基于異構(gòu)雙核處理器的SWS設(shè)計(jì)方案。該方案在SWS功能的基礎(chǔ)上,采用異構(gòu)雙核處理器對(duì)解算數(shù)據(jù)進(jìn)行監(jiān)測(cè)比對(duì),僅在雙核解算的數(shù)據(jù)一致時(shí)才會(huì)輸出失速告警指令等信息。這樣的設(shè)計(jì)提高了輸出指令的準(zhǔn)確性,可防止因單核處理器無(wú)法在同一處理器上進(jìn)行數(shù)據(jù)比對(duì)而產(chǎn)生的誤操作。這提高了SWS的可靠性和安全性,同時(shí)降低了設(shè)備的復(fù)雜度和成本。
SWS通過(guò)在飛機(jī)接近失速時(shí)向飛行員發(fā)送告警和控制信息,確保飛行員及時(shí)操縱飛機(jī),使飛機(jī)迅速恢復(fù)到正常狀態(tài)來(lái)保證飛行安全[2]。SWS一般由AOA傳感器、SWC、告警裝置等組成[1]。
典型的SWS架構(gòu)如圖1所示。
圖1 典型的SWS架構(gòu)
為了避免飛機(jī)側(cè)滑時(shí)AOA傳感器進(jìn)入氣流遮蔽區(qū),造成AOA傳感器測(cè)量AOA失真,AOA傳感器一般安裝于機(jī)頭兩側(cè)的飛機(jī)蒙皮表面。AOA傳感器采集飛機(jī)的AOA信號(hào),在SWC中將修正后的AOA信號(hào)與失速告警AOA預(yù)設(shè)值進(jìn)行比較。當(dāng)AOA大于失速告警AOA時(shí),SWC接通告警裝置,即振桿器(stick shaker actuator,SSA)。SSA會(huì)令駕駛桿抖動(dòng),并伴有燈光告警和語(yǔ)音告警來(lái)提醒飛行員采取措施,以免飛機(jī)進(jìn)入失速狀態(tài)。當(dāng)AOA大于發(fā)動(dòng)機(jī)點(diǎn)火預(yù)設(shè)值時(shí),SWC向發(fā)動(dòng)機(jī)控制系統(tǒng)發(fā)出點(diǎn)火指令[1,3]。
為滿足SWS的功能,本文設(shè)計(jì)的SWS由2只AOA傳感器、2臺(tái)SWC和2只SSA組成。其中,AOA傳感器用于采集飛機(jī)AOA信號(hào)并發(fā)送給SWC。SWC作為系統(tǒng)核心設(shè)備,對(duì)采集的AOA信號(hào)數(shù)據(jù)作修正處理,并將機(jī)上其他設(shè)備(如航電系統(tǒng)、結(jié)冰探測(cè)系統(tǒng)等)發(fā)送的數(shù)據(jù)進(jìn)行邏輯運(yùn)算和分析,以判斷飛機(jī)是否接近失速。在接近失速時(shí),SWC對(duì)外發(fā)出告警和保護(hù)指令。SSA作為告警裝置,根據(jù)失速告警指令進(jìn)行抖振以提醒駕駛員進(jìn)行操作,避免飛機(jī)進(jìn)入失速狀態(tài)。本文設(shè)計(jì)的SWS架構(gòu)如圖2所示。
SWS中的核心控制部件為SWC。SWC通過(guò)AOA傳感器采集飛機(jī)AOA信息,并將采集的信息進(jìn)行修正從而得到真實(shí)AOA。SWC除了接收飛機(jī)AOA信息,還需接收飛機(jī)上其他系統(tǒng)發(fā)送的信息,如馬赫數(shù)、高度、姿態(tài)、襟縫翼構(gòu)型、結(jié)冰等。SWC對(duì)接收到的數(shù)據(jù)進(jìn)行解算,并根據(jù)解算結(jié)果判斷飛機(jī)真實(shí)AOA是否接近氣動(dòng)失速。當(dāng)解算結(jié)果得出飛機(jī)處于接近氣動(dòng)失速狀態(tài)時(shí),SWC會(huì)發(fā)出失速告警、自動(dòng)點(diǎn)火和失速保護(hù)指令,向飛行員提供告警指示,從而保護(hù)飛機(jī)不進(jìn)入失速危險(xiǎn)狀態(tài)。
本文設(shè)計(jì)的SWC具有以下功能。
①SWC向AOA傳感器提供激勵(lì)信號(hào),并接收AOA傳感器輸出的2路AOA信號(hào)。采集到的2路AOA信號(hào)作為原始數(shù)據(jù)用于計(jì)算飛機(jī)局部AOA。此外,AOA傳感器具有加熱功能。SWC會(huì)監(jiān)控AOA傳感器的加熱狀態(tài)。
②SWC通過(guò)數(shù)據(jù)總線接收外部輸入數(shù)據(jù);根據(jù)接收的數(shù)據(jù)信息解算AOA、臨界AOA和失速速度。
③當(dāng)真實(shí)AOA接近臨界AOA或空速接近失速速度時(shí),SWC輸出告警驅(qū)動(dòng)信號(hào)給同側(cè)SSA和燈光告警、語(yǔ)音告警系統(tǒng),以提醒飛行員采取措施;同時(shí),向機(jī)組告警系統(tǒng)輸出告警狀態(tài)。
④當(dāng)真實(shí)AOA繼續(xù)增大到失速保護(hù)控制AOA,SWC發(fā)出保護(hù)指令給SSA,同時(shí)發(fā)出保護(hù)狀態(tài)給機(jī)組告警系統(tǒng)。當(dāng)真實(shí)AOA小于失速保護(hù)控制AOA一定數(shù)值時(shí),SWC停止發(fā)出保護(hù)指令。
⑤當(dāng)真實(shí)AOA繼續(xù)增大至點(diǎn)火AOA,SWC持續(xù)發(fā)出點(diǎn)火指令給左、右發(fā)動(dòng)機(jī);同時(shí)發(fā)出點(diǎn)火狀態(tài)給機(jī)組告警系統(tǒng)。若真實(shí)AOA小于點(diǎn)火AOA一定數(shù)值時(shí),SWC停止發(fā)出點(diǎn)火指令。
此外,本文設(shè)計(jì)的SWC還需遵循適航規(guī)章、標(biāo)準(zhǔn)和指南。針對(duì)運(yùn)輸類飛機(jī),與失速相關(guān)的專用條款有《運(yùn)輸類飛機(jī)適航標(biāo)準(zhǔn)》(CCAR25-R4)中第25.207條款和《Safety Assessment of Transport Airplanes in Commercial Service》(SAE ARP5150A-2019)附錄A表A2等?;谝陨厦枋?提高SWC設(shè)計(jì)的安全性、降低失速告警指令的誤導(dǎo)/無(wú)告警的錯(cuò)誤率尤為重要。為提高設(shè)計(jì)的可靠性和安全性,SWC會(huì)對(duì)解算結(jié)果進(jìn)行監(jiān)控并對(duì)數(shù)據(jù)一致性進(jìn)行判斷,將AOA信號(hào)等關(guān)鍵信息和輸出的失速告警指令等信息數(shù)據(jù)作一致性比較,以輸出告警指令、保護(hù)指令和點(diǎn)火指令等信息。因此,本文設(shè)計(jì)的關(guān)鍵是處理器的選擇。本文設(shè)計(jì)采用2個(gè)單核處理器或1個(gè)雙核處理器,以滿足對(duì)運(yùn)算結(jié)果監(jiān)測(cè)的需求。
2.2.1 處理器選擇
傳統(tǒng)SWS的設(shè)計(jì)采用2個(gè)單核中央處理器(entral processing unit,CPU)構(gòu)建雙余度SWC,以滿足系統(tǒng)對(duì)于安全性的要求。假設(shè)的雙CPU機(jī)載計(jì)算機(jī)設(shè)備如圖3所示。
上述設(shè)計(jì)對(duì)系統(tǒng)的復(fù)雜度和成本要求較高,且2個(gè)單核CPU的使用給數(shù)據(jù)一致性的比對(duì)帶來(lái)了困難。此外,在CPU的選擇上,單核處理器有其局限性。
這些局限性在于:單核CPU主頻的提升已達(dá)到工藝加工的極限;在單核CPU中,單一線程不能提高系統(tǒng)的并行性,處理速度相較于雙核CPU慢很多;CPU主頻的提升帶來(lái)了功耗的增加,使散熱量加大,且目前沒(méi)有保證CPU正常穩(wěn)定工作較好匹配的散熱系統(tǒng)來(lái)更好地處理散熱;對(duì)于大型功能需求的處理,單核CPU表現(xiàn)出了缺陷和不足[4]。
異構(gòu)雙核CPU將2個(gè)不同的CPU內(nèi)核集成在1個(gè)CPU芯片中。典型的異構(gòu)雙核CPU架構(gòu)如圖4所示。
圖4 典型的異構(gòu)雙核CPU架構(gòu)
異構(gòu)雙核CPU具有不同結(jié)構(gòu)的CPU內(nèi)核。2個(gè)內(nèi)核有獨(dú)自的內(nèi)存和外設(shè),且擁有各自的系統(tǒng)時(shí)鐘。雙核間通常使用CPU通信接口和共享內(nèi)存進(jìn)行數(shù)據(jù)交互。比較常見(jiàn)的異構(gòu)雙核CPU架構(gòu)有進(jìn)階精簡(jiǎn)指令集計(jì)算機(jī)機(jī)器(advanced reduced instruction set computer machine,ARM)+數(shù)字信息處理器(digital signal processing,DSP)相結(jié)合的非對(duì)稱雙核架構(gòu)[5-6]。異構(gòu)雙核CPU可以大幅提升計(jì)算能力,改善性能。將所要執(zhí)行的任務(wù)劃分到2個(gè)內(nèi)核中,可在較短的時(shí)間內(nèi)完成任務(wù)。這樣就能在特定時(shí)間內(nèi)處理更多的任務(wù)[4]。同時(shí),異構(gòu)雙核CPU所帶來(lái)的余度設(shè)計(jì)提高了系統(tǒng)的可靠性,適用于復(fù)雜度高的可靠性系統(tǒng)[7]。
將上述單核CPU局限性和雙核CPU優(yōu)勢(shì)進(jìn)行比較,結(jié)合SWC對(duì)解算結(jié)果需要監(jiān)測(cè)和比較的需求,本文選擇采用異構(gòu)雙核CPU。其能更高效地實(shí)現(xiàn)SWC的功能。相較于采用2片單核CPU,使用1片雙核CPU的成本更低。
2.2.2 雙核CPU核間通信機(jī)制選擇
CPU核間通信(inter-processor communication,IPC)用于在2個(gè)CPU子系統(tǒng)間進(jìn)行通信。其原理是2個(gè)CPU核之間通過(guò)全局共享內(nèi)存、消息內(nèi)存、IPC標(biāo)志和中斷,對(duì)各內(nèi)核工作狀態(tài)和信息進(jìn)行傳遞[8]。
常見(jiàn)的雙核CPU核間通信機(jī)制有信號(hào)量、共享內(nèi)存和消息隊(duì)列。
信號(hào)量是用于解決進(jìn)程間同步和互斥問(wèn)題的1種通信機(jī)制[4]。而基于共享內(nèi)存的通信機(jī)制則為數(shù)據(jù)傳遞提供了1種更為有效的方式,是常用的核間通信機(jī)制。
共享內(nèi)存通信機(jī)制的原理是CPU核間共享1塊內(nèi)存。2個(gè)內(nèi)核都可以申請(qǐng)使用這塊共享內(nèi)存進(jìn)行讀寫操作。共享內(nèi)存是數(shù)據(jù)傳遞媒介。共享內(nèi)存通信機(jī)制如圖5所示。
圖5 共享內(nèi)存通信機(jī)制
圖5中:CPU核A向共享內(nèi)存寫入數(shù)據(jù);CPU核B從共享內(nèi)存中讀取這些數(shù)據(jù)。這樣便可完成核A到核B的核間通信[9]。
核間通信機(jī)制為消息隊(duì)列。它的實(shí)質(zhì)是消息列表。用戶可以從消息隊(duì)列中添加和讀取消息,實(shí)現(xiàn)2個(gè)進(jìn)程間的數(shù)據(jù)交換,且發(fā)送和接收進(jìn)程均獨(dú)立進(jìn)行。核間通信機(jī)制的不足是消息隊(duì)列中所含數(shù)據(jù)塊總長(zhǎng)度有上限[4,10]。
3種核間通信機(jī)制中,共享內(nèi)存是較高效的核間通信方式。共享內(nèi)存無(wú)需對(duì)數(shù)據(jù)進(jìn)行拷貝,而是直接讀寫。這在很大程度上提高了通信效率。對(duì)比3種雙核CPU核間通信機(jī)制可知:共享內(nèi)存方式更為高效、便捷,能提高雙核間數(shù)據(jù)傳輸速率。因此,本文采用共享內(nèi)存方式實(shí)現(xiàn)SWC中異構(gòu)雙核間的數(shù)據(jù)交互。
2.2.3 異構(gòu)雙核設(shè)計(jì)任務(wù)分配與實(shí)現(xiàn)
SWC中,異構(gòu)雙核CPU執(zhí)行的所有任務(wù)為數(shù)據(jù)采集和接收。其包含AOA信號(hào)采集、ARINC429總線數(shù)據(jù)接收、離散量信號(hào)接收等;接收的數(shù)據(jù)解析、整理和解算;將接收的原始數(shù)據(jù)傳輸給CPU的另一個(gè)核;監(jiān)測(cè)數(shù)據(jù)解算結(jié)果的一致性;數(shù)據(jù)和指令的輸出。
通過(guò)對(duì)CPU所執(zhí)行的任務(wù)進(jìn)行合理分配,可以在保證滿足雙核設(shè)計(jì)需求的前提下最大程度提升雙核間通信速率。在任務(wù)的分配上,令CPU核A為主CPU、CPU核B為數(shù)據(jù)監(jiān)測(cè)CPU。雙核之間采用共享內(nèi)存方式進(jìn)行核間通信,以實(shí)現(xiàn)數(shù)據(jù)傳輸和監(jiān)測(cè)。核A負(fù)責(zé)數(shù)據(jù)的采集和接收;對(duì)接收到的數(shù)據(jù)進(jìn)行解析、整理和解算;將接收的原始數(shù)據(jù)寫入共享內(nèi)存中供核B讀取,并相應(yīng)地從共享內(nèi)存中讀取核B解算后的數(shù)據(jù)。在核A中對(duì)核A和核B解算的數(shù)據(jù)進(jìn)行一致性判斷,如果所比較的解算結(jié)果一致,則對(duì)外輸出解算后的數(shù)據(jù)和指令。核B負(fù)責(zé)從共享內(nèi)存讀取核A寫入的原始數(shù)據(jù)并對(duì)數(shù)據(jù)解算,將解算后的數(shù)據(jù)寫入共享內(nèi)存供核A讀取。將任務(wù)進(jìn)行上述分配,并通過(guò)使用共享內(nèi)存進(jìn)行數(shù)據(jù)讀寫操作,從而盡可能實(shí)現(xiàn)對(duì)程序執(zhí)行過(guò)程的優(yōu)化。異構(gòu)雙核設(shè)計(jì)任務(wù)分配如圖6所示。
圖6 異構(gòu)雙核設(shè)計(jì)任務(wù)分配
另外,設(shè)計(jì)時(shí)還需注意保持核A和核B的數(shù)據(jù)來(lái)自同一周期。對(duì)于輸出的失速保護(hù)指令,只有2個(gè)內(nèi)核間解算結(jié)果一致且有效時(shí),才可對(duì)外輸出。整個(gè)共享內(nèi)存機(jī)制數(shù)據(jù)傳輸過(guò)程如圖7所示。
圖7 共享內(nèi)存機(jī)制數(shù)據(jù)傳輸過(guò)程
SWC對(duì)航電系統(tǒng)、航資系統(tǒng)等采用ARINC429總線數(shù)據(jù)的接收方式,對(duì)其他系統(tǒng)(如輪載系統(tǒng))采用離散量總線的接收方式,并根據(jù)SWC數(shù)據(jù)接收方式的不同選擇合適的芯片進(jìn)行外圍電路和程序的設(shè)計(jì)。此外,SWC需要對(duì)AOA傳感器輸出激勵(lì)信號(hào),在選擇好的旋變傳感器芯片基礎(chǔ)上設(shè)計(jì)外圍電路,通過(guò)CPU控制來(lái)輸出傳感器所需的激勵(lì)信號(hào)。
本文基于異構(gòu)雙核CPU,設(shè)計(jì)了具有共享內(nèi)存通信機(jī)制的SWC。SWC作為整個(gè)系統(tǒng)的核心設(shè)備,在設(shè)計(jì)時(shí)充分考慮安全性能等方面,實(shí)現(xiàn)了在同一CPU上對(duì)解算結(jié)果監(jiān)控和數(shù)據(jù)一致性判斷的功能。經(jīng)測(cè)試,共享內(nèi)存通信機(jī)制使得數(shù)據(jù)間交互更加方便、快捷。結(jié)合系統(tǒng)設(shè)計(jì)要求,SWS宜采用共享內(nèi)存通信機(jī)制進(jìn)行雙核間數(shù)據(jù)監(jiān)測(cè)和數(shù)據(jù)傳輸。在其他系統(tǒng)對(duì)于余度設(shè)計(jì)有要求時(shí),可采用異構(gòu)雙核CPU進(jìn)行雙余度設(shè)計(jì),以滿足系統(tǒng)可靠性、安全性、低成本的設(shè)計(jì)需求。