石 峰,李志宇,高艷輝,肖莉萍,朱夢杰
(1.南京航空航天大學(xué) 自動化學(xué)院,南京 210016;2.南京航空航天大學(xué) 中小型無人機先進技術(shù)工信部重點實驗室,南京 210016;3.上海機電工程研究所,上海 201108)
無人靶機是執(zhí)行特殊任務(wù)的一類無人機,主要用來在導(dǎo)彈武器研制、部隊作戰(zhàn)訓(xùn)練中扮演敵方空中目標的角色[1],作為我軍實戰(zhàn)化訓(xùn)練的靶子,在提升國防力量方面扮演非常重要的角色。在靶試試驗時,靶機一般在規(guī)劃區(qū)域內(nèi)執(zhí)行任務(wù)。靶機作為大型無人機,如果發(fā)生故障或不受控,在安全區(qū)域外墜毀,其可能會對地面的城市、重點設(shè)施等造成不可估量的人員或財產(chǎn)損失。為了保證靶試試驗安全,靶機應(yīng)具有安全控制系統(tǒng),簡稱安控系統(tǒng)[2]。安控系統(tǒng)獨立于靶機工作,能夠確保在靶機飛行異常時及時控制靶機墜毀,降低對地面設(shè)施和人員的威脅。因此,作為安控系統(tǒng)的核心部件,安控器必須工作可靠。首先,安控器的硬件必須穩(wěn)定、可靠,比如串口必須能夠準確地接收/發(fā)送數(shù)據(jù)、DO必須能夠正確輸出所需電平等。其次,安控器的軟件必須可靠且滿足實時性要求,比如安控器軟件必須在規(guī)定的時間內(nèi)響應(yīng)接收到的指令等。所以在安控器試制、生產(chǎn)和試驗時,安控器的功能和性能均需要進行全面檢測。
目前,安控器地面檢測主要采用手動操作、人工監(jiān)測和判斷的方式。操作人員需要對安控器的所有功能項進行逐一檢測和記錄。然而,人工檢測主要針對安控器的功能進行檢測,忽略了安控器的性能檢測,尤其是對安控器電壓、電流的檢測。而且人工檢測的方式操作繁瑣,需要操作人員手動操作各種按鈕、觀察記錄檢測結(jié)果,所以這種檢測方式可能導(dǎo)致操作人員的誤操作和誤記錄。因此急需研制一套針對安控器功能和性能進行檢測的安控器全自動檢測系統(tǒng)。
本文針對某型安控器的全自動檢測需求開展研究,采用信號門限技術(shù)設(shè)計思想,設(shè)計了一套安控器全自動檢測系統(tǒng),實現(xiàn)對安控器功能和性能的一鍵式、全自動快速檢測,同時生成檢測報告。
一般來說,自動檢測技術(shù)將計算機軟硬件與測量設(shè)備相結(jié)合,通過軟件控制所有檢測步驟,產(chǎn)生測試信號,分析測量結(jié)果[3]。信號門限技術(shù)是一種簡單有效的故障檢測方法[4],在自動檢測系統(tǒng)中具有廣泛的應(yīng)用,具體原理如下[5]:
設(shè)待測信號為x,根據(jù)實際情況設(shè)置待測信號的上下限xmin和xmax,如果:
xmin≤x(t)≤xmax
(1)
則認為檢測信號正常,否則認為出現(xiàn)一次異常,如果異常持續(xù)一段時間,則認為該項檢測不通過。
對于不同的信號,其門限規(guī)則也不同,需要根據(jù)實際情況靈活設(shè)置。有些信號只需要設(shè)置上下限,而有些必須是固定值,表達式如下:
x(t)≤xmax或x(t)≥xmin
(2)
x(t)=x*
(3)
信號門限技術(shù)在自動檢測領(lǐng)域應(yīng)用廣泛。本文所設(shè)計的安控器自動檢測系統(tǒng)主要在安控器電壓、電流的檢測中使用到該技術(shù)。被檢安控器采用直流27 V供電,電流最高不能超過2 A,根據(jù)信號門限技術(shù),工作電壓V(t)應(yīng)滿足指標:
27(1-10%)≤V(t)≤27(1+10%)
(4)
工作電流i(t)應(yīng)滿足指標:
i(t)≤2
(5)
安控器獨立于靶機,能夠在靶機不受控、飛出任務(wù)區(qū)域或緊急情況下及時控制靶機墜毀,從而減少靶試試驗安全隱患[6]。某型安控器的主要功能、策略如下:
1)安控區(qū):安控區(qū)分為安控警戒區(qū)和安控預(yù)警區(qū)。安控警戒區(qū)是靶機執(zhí)行任務(wù)的區(qū)域,為簡單凸多邊形;安控預(yù)警區(qū)由安控警戒區(qū)沿徑向向內(nèi)等距離收縮一段距離構(gòu)成;
2)安控信號:安控信號是安控器產(chǎn)生的DO信號,一共有2路。安控信號經(jīng)繼電器控制舵機離合器的供電。當靶機需要墜毀時,安控器產(chǎn)生低電平安控信號控制繼電器斷開舵機離合器的供電,使得升降舵面處于自由狀態(tài)。升降舵面在彈簧的拉力作用下變?yōu)檎淖畲蠖婷?,從而使得靶機低頭、快速墜毀;
3)BD2/GPS定位信息:本文所涉及安控器有兩個定位信息源:安控BD2/GPS和飛控BD2/GPS,兩個定位信息源互為備份。安控器默認使用安控BD2/GPS定位,當安控BD2/GPS不定位持續(xù)10秒后,安控器自動切換到飛控BD2/GPS定位;
4)自主安控:安控器利用BD2/GPS定位信息,以1秒為周期判斷靶機是否處于安控區(qū)內(nèi)。若靶機飛出安控區(qū),安控器自動產(chǎn)生安控信號,切斷舵機離合器電門,使靶機快速墜毀;否則不執(zhí)行安控;
5)安控復(fù)位:當定位信息受到人為干擾或欺騙或靶機仍處于可控飛行狀態(tài)時,若人為判斷不需要執(zhí)行安控,則可通過遙控發(fā)送“安控復(fù)位”指令,經(jīng)機載測控至安控器。安控器收到“安控復(fù)位”指令后,計時器全部清零,狀態(tài)回到預(yù)警區(qū)內(nèi)狀態(tài),該狀態(tài)持續(xù)1分鐘后,安控器重新進行安控狀態(tài)判斷;
6)人工安控:人工安控功能是指安控器利用北斗短報文功能,接收地面上傳的“安控墜毀”指令。安控器接收到“安控墜毀”指令后,立即執(zhí)行安控、迅速墜毀。
安控器采用27 V直流供電,通過4路串口與飛控計算機、機載測控設(shè)備、北斗導(dǎo)航板以及地檢設(shè)備(負責(zé)監(jiān)控與裝訂)進行信息交互,通過2路DO控制電門盒執(zhí)行安控功能。安控器接口關(guān)系如圖1所示,包括:
1)安控器與飛控計算機采用RS422串口通信,用于安控器與飛控計算機之間BD2/GPS定位信息的交互(簡稱:飛控口);
2)安控器與測控設(shè)備之間采用RS422通信,用于安控指令的接收、安控器狀態(tài)參數(shù)數(shù)據(jù)的發(fā)送(簡稱:測控口);
3)安控器與內(nèi)部北斗導(dǎo)航板采用RS232串口通信,用于BD2/GPS定位、北斗指令信息的接收(簡稱:安控GPS口);
4)安控器與地檢設(shè)備采用RS232串口通信,用于安控區(qū)裝訂、安控器工作狀態(tài)監(jiān)控以及程序更新等(簡稱:地檢口)。

圖1 安控器接口示意圖
為了全面檢測安控器功能和性能,安控器自動檢測系統(tǒng)需要具備安控器供電控制、性能監(jiān)測、功能檢測以及檢測報告生成功能。自動檢測系統(tǒng)主要功能如下:
1)安控器供電控制。自動檢測系統(tǒng)通過1路DO驅(qū)動繼電器控制安控器的上電和斷電操作。檢測系統(tǒng)通過2路AD實時采集經(jīng)過信號調(diào)理的安控器的電壓、電流。若安控器上電瞬時電壓、瞬時電流、工作電壓、工作電流出現(xiàn)異常,則安控器立即斷電;
2)接口信息模擬。自動檢測系統(tǒng)按照通訊協(xié)議模擬產(chǎn)生飛控計算機信息、北斗導(dǎo)航板信息,以提供動態(tài)的安控BD2/GPS、飛控BD2/GPS定位信息,用于檢測安控器的串口接收、傳感器切換策略、安控判斷策略等功能。另外,自動檢測系統(tǒng)按照通訊協(xié)議模擬產(chǎn)生測控設(shè)備信息、監(jiān)測與裝訂信息,實現(xiàn)遙控指令、地檢指令的發(fā)送;
3)周期性檢測。自動檢測系統(tǒng)通過串口實時接收安控器輸出的安控BD2/GPS信息、遙測信息、地檢信息,并對安控器各串口發(fā)送周期、數(shù)據(jù)連續(xù)性進行綜合檢測。同時為了檢測安控器是否正確接收到BD2/GPS定位信息,自動檢測系統(tǒng)需要對飛控BD2/GPS狀態(tài)、安控BD2/GPS狀態(tài)進行周期性檢測。此外,自動檢測系統(tǒng)周期性檢測2路安控信號,檢測其是否有誤動作;
4)單項功能檢測。自動檢測系統(tǒng)需要依次檢測安控區(qū)存儲、自主安控、安控復(fù)位指令、安控墜毀指令等功能,尤其后三項檢測,檢測系統(tǒng)通過綜合分析遙測、地檢、安控信號等信息,檢測功能的邏輯合理性、正確性、時間準確性;
5)檢測報告生成。自動檢測系統(tǒng)通過1路串口以100 ms為周期向上位機發(fā)送檢測結(jié)果、故障碼等信息。上位機根據(jù)上述信息形成檢測報告,當出現(xiàn)故障時,上位機顯示報警信息。同時,自動檢測系統(tǒng)通過2路DO控制1組LED燈顯示檢測結(jié)果。當自動檢測系統(tǒng)檢測出故障時,控制紅色LED燈長亮;當所有功能檢測完畢且無故障時,自動檢測系統(tǒng)控制綠色LED長亮。
自動檢測系統(tǒng)接口關(guān)系如圖2所示,其中自動檢測系統(tǒng)包括檢測設(shè)備和上位機兩部分,檢測設(shè)備和上位機通過RS232串口進行通信。檢測設(shè)備通過RS232串口與安控器的地檢口、安控GPS口進行通信,通過RS422口與安控器的測控口和飛控口進行通信。檢測設(shè)備通過2路DO控制1個紅色LED燈和1個綠色LED燈顯示檢測結(jié)果,通過1路DO控制安控BD2/GPS實物和模擬的切換,通過1路DO控制安控器的上電和斷電,通過2路AD通道采集調(diào)理過的安控器電壓、電流。檢測設(shè)備通過2路DI采集安控器安控信號,通過1路DI接收檢測開始信號。

圖2 自動檢測系統(tǒng)接口關(guān)系
安控器自動檢測系統(tǒng)的設(shè)計思想是以主控芯片為核心,通過串口與安控器進行數(shù)據(jù)交換,通過AD、DI/DO等進行信息采集與處理,通過主控芯片對所接收的數(shù)據(jù)和所采集的信息進行運算,得出檢測結(jié)果,逐步實現(xiàn)對安控器的檢測。
安控器自動檢測系統(tǒng)硬件由主機板、串口板以及電源板組成?;谝子诓鹦丁⒎奖憔S護的原則,自動檢測系統(tǒng)硬件采用堆棧式架構(gòu)。使用時,主機板、串口板和電源板通過電源線以及信號總線相連。
其中主機板除了集成了主控芯片STM32F767ZIT6及其外圍電路,還外擴一片模數(shù)轉(zhuǎn)換芯片ADAS3022,該芯片用于采集安控器電壓、電流。
串口板上集成了8路通用串行接口。8路串口通過串口轉(zhuǎn)換芯片轉(zhuǎn)換為相應(yīng)的RS232/RS422接口,分別用于與安控器的地檢口、測控口、飛控口、安控GPS口、上位機以及調(diào)試計算機等通信。
自動檢測系統(tǒng)各部件供電電壓不相同,主控芯片STM32F767ZIT6采用3.3 V供電,外擴ADAS3022模數(shù)轉(zhuǎn)換芯片采用±15 V供電,安控器采用27 V供電。電源板的作用是將外接220 V交流電源轉(zhuǎn)換為所需電壓并進行濾波處理,通過電源線為自動檢測系統(tǒng)供電。
主機板的設(shè)計主要包括主控芯片選型和模數(shù)轉(zhuǎn)換芯片ADAS3022的擴展。
3.1.1 主控芯片選型
主控芯片是自動檢測系統(tǒng)的核心部件,主要負責(zé)向其他模塊發(fā)送測試信號,同時接收反饋信息[7]。本文選擇STM32F767ZIT6作為檢測系統(tǒng)的主控芯片,該芯片資源豐富,支持UART、SPI等多個接口,擁有豐富的定時器資源,能夠滿足設(shè)計需求。STM32F767ZIT6芯片自帶大容量FLASH芯片[8],能夠滿足安控區(qū)的存儲要求,無需外擴存儲器。
STM32F767ZIT6芯片采用3.3 V供電,部分外圍器件采用5 V供電,本文通過AMS1084芯片將5 V電壓轉(zhuǎn)換為3.3 V實現(xiàn)外圍器件與主控芯片統(tǒng)一供電。5 V轉(zhuǎn)3.3 V原理圖如圖3所示。

圖3 電壓轉(zhuǎn)換原理圖
3.1.2 模數(shù)轉(zhuǎn)換擴展
模數(shù)轉(zhuǎn)換模塊用于安控器電壓、電流的采集。由于STM32F767ZIT6處理器內(nèi)部ADC只有12位,不能滿足精度要求,所以本文在主控芯片外部擴展一片高性能ADC芯片——ADAS3022高速低功耗模數(shù)轉(zhuǎn)換芯片。該芯片具有8個通道,內(nèi)置溫度傳感器,16位精度,能夠滿足設(shè)計需求[9]。為了達到低漂移、低噪聲和高精度目標,本文使用ADR434作為ADAS3022芯片的外部基準電壓源。ADAS3022數(shù)據(jù)輸入、輸出串行口兼容SPI總線,在芯片管腳上只占4根線,具有連接線少、擴展性好的優(yōu)點[10]。本文將ADAS3022芯片掛載在主控芯片的SPI2總線上,硬件接口電路圖如圖4所示。

圖4 ADAS3022芯片擴展原理圖
STM32F767系列芯片的串口遵循TTL電平邏輯,而安控器的串口采用RS232/RS422電平,為了實現(xiàn)兩者的互聯(lián),需要進行相應(yīng)的電平轉(zhuǎn)換[11]。本文設(shè)計基于MAX3232和MAX490轉(zhuǎn)換芯片的轉(zhuǎn)換模塊,分別將主控芯片TTL電平轉(zhuǎn)換為RS232和RS422電平[12]。
以UART轉(zhuǎn)換RS232為例,本文選用MAX3232作為轉(zhuǎn)換芯片,該芯片采用+3~+5.5 V單電源供電,耗電0.3 mA,相比傳統(tǒng)的MAX232芯片功耗更低[13]。MAX3232芯片可以轉(zhuǎn)換2路UART,STM32F767ZIT6的UART5與UART8電平轉(zhuǎn)換電路如圖5所示。

圖5 電平轉(zhuǎn)換電路
本文設(shè)計一款專用的電源板為自動檢測系統(tǒng)的各部件供電。自動檢測系統(tǒng)采用交流220 V供電,220 V交流電經(jīng)過成品AC/DC模塊轉(zhuǎn)換為27 V直流電供自動將檢測系統(tǒng)各部件使用和二次電源轉(zhuǎn)換。
除了給安控器供電的27 V直流電,自動檢測系統(tǒng)還需要給主控芯片STM32F767ZIT6的5 V供電以及給模數(shù)轉(zhuǎn)換芯片ADAS3022的±15 V供電。
5 V供電由27 V經(jīng)XR10/24S05型號DC/DC隔離寬電壓單電源模塊轉(zhuǎn)換得到,原理如圖6所示;±15 V供電由5 V經(jīng)115D5HFS型號單/雙輸出DC/DC電壓轉(zhuǎn)換模塊轉(zhuǎn)換得到,原理如圖7所示。

圖6 27 V轉(zhuǎn)5 V原理圖

圖7 5 V轉(zhuǎn)±15 V原理圖
自動檢測軟件為嵌入式軟件,負責(zé)控制自動檢測系統(tǒng)檢測流程、分析處理檢測結(jié)果并將其輸出顯示[14]。
安控器自動檢測系統(tǒng)軟件開發(fā)環(huán)境為Keil uvision5。軟件采用模塊化編程,由初始化模塊、硬件底層接口模塊、自動檢測模塊以及設(shè)置與監(jiān)控模塊組成。
其中,初始化模塊主要負責(zé)初始化用到的變量、參數(shù)以及系統(tǒng)硬件;硬件底層接口模塊給上層應(yīng)用提供調(diào)用底層硬件的驅(qū)動與接口,便于開發(fā);自動檢測模塊實現(xiàn)對安控器性能和功能的自動檢測;設(shè)置與監(jiān)控模塊實現(xiàn)安控區(qū)的裝訂與回檢、檢測結(jié)果監(jiān)控等功能。
系統(tǒng)上電后,先初始化變量及硬件資源。系統(tǒng)初始化結(jié)束后,等待檢測開關(guān)按下,開關(guān)按下后開始給安控器供電,同時檢測上電瞬時電壓、電流,若無誤,則自動檢測系統(tǒng)開始模擬發(fā)送接口信息。開關(guān)按下10秒后開始進行檢測,其中周期性檢測包括對安控器工作電壓、電流的檢測。如果檢測出故障,則控制安控器斷電、上報故障并結(jié)束檢測。整體檢測流程如圖8所示。

圖8 整體檢測流程
ADAS3022是一款16位的逐次逼近型模數(shù)數(shù)據(jù)采集芯片,采用四線式數(shù)據(jù)接口,兼容SPI總線接口[15]。本文采用SPI串行通信方式,將ADAS3022掛載在主控芯片SPI2總線,讀寫時序由主控芯片的硬件自動實現(xiàn)。
4.2.1 SPI和ADAS3022初始化
ADAS3022初始化時,需要配置SPI2總線和ADAS3022芯片,主要如下:
1)配置主控芯片跟SPI2有關(guān)的主機輸入從機輸出(MISO)、主機輸出從機輸入(MOSI)、串行時鐘(SCK)以及片選控制(CS)引腳,并開啟SPI2總線時鐘;
2)配置SPI2寄存器。STM32F767系列芯片與SP1總線有關(guān)的寄存器主要有控制寄存器(SPI_CR)、狀態(tài)寄存器(SPI_SR)以及數(shù)據(jù)寄存器(SPI_DR),通過設(shè)置上述3個寄存器可以實現(xiàn)對SPI總線的控制。本文配置主控芯片為主設(shè)備,ADAS3022為從設(shè)備。主設(shè)備配置為全雙工模式,傳輸數(shù)據(jù)長度為16位,傳輸時高位在前,數(shù)據(jù)接收與發(fā)送均配置為中斷方式,SPI2中斷服務(wù)函數(shù)負責(zé)將收到的數(shù)據(jù)存放到接收緩沖區(qū)以及將發(fā)送緩沖區(qū)的數(shù)據(jù)放入數(shù)據(jù)寄存器并發(fā)送。與串口緩沖區(qū)類似,SPI2總線接收、發(fā)送也采用循環(huán)FIFO緩沖區(qū)。SPI總線一共有4種工作模式,為了保證數(shù)據(jù)正確地接收與發(fā)送,主設(shè)備和從設(shè)備需要配置為同一模式[16],本文配置CPHA=0,CPOL=1,即空閑時時鐘極性為高電平,在時鐘的下降沿采樣數(shù)據(jù);
3)配置ADAS3022芯片。ADAS3022通過16位控制字進行配置,該控制字的每一位對應(yīng)一項配置,主要包括通道選擇、序列器選擇、基準電壓源選擇以及SPI模式選擇等配置選項。本文使用ADAS3022芯片的通道0和通道1分別采集安控器電壓、電流(通過電阻轉(zhuǎn)換為電壓),并開啟基本序列器依序重復(fù)掃描通道0和通道1。硬件設(shè)計中外接有低噪聲外接基準電壓源,所以配置時禁用內(nèi)部基準電壓源。向ADAS3022寫控制字時按照該芯片時序圖,先寫入一個16位無效控制字,再寫入16位有效控制字。根據(jù)芯片時序圖,寫入有效控制字后,需要再寫入兩個bit15為0的16位數(shù)據(jù)ADAS3022芯片才會輸出有效數(shù)據(jù)。
4.2.2 數(shù)據(jù)發(fā)送與接收
利用SPI傳輸數(shù)據(jù)時,只有SPI主設(shè)備才能發(fā)起數(shù)據(jù)傳輸[17],所以讀取ADAS3022轉(zhuǎn)換結(jié)果時,主控芯片需要向從設(shè)備寫入數(shù)據(jù)。為了防止覆蓋ADAS3022原先的配置,寫入的數(shù)據(jù)第16位(bit15)設(shè)置為0,即保持當前的配置設(shè)置。
自動檢測系統(tǒng)對安控器檢測依賴于串口收發(fā)數(shù)據(jù)的準確性以及連續(xù)性,所以串口模塊軟件設(shè)計應(yīng)保證串口接收與發(fā)送的穩(wěn)定。
自動檢測系統(tǒng)主控芯片STM32F767ZIT6共有8路串口,包括4路通用異步收發(fā)器(UART)和4路通用同步/異步收發(fā)器(USART)。自動檢測系統(tǒng)與安控器按照約定的通訊協(xié)議進行數(shù)據(jù)通訊。在通訊程序中,使用循環(huán)FIFO緩沖區(qū)來存放發(fā)送或接收的數(shù)據(jù)。
4.3.1 串口配置
以下UART5為例介紹串口的配置。
自動檢測系統(tǒng)使用UART5與安控器的安控口進行通信,需要配置UART5波特率、起始位、數(shù)據(jù)位以及停止位。本文配置UART5為1個起始位、8個數(shù)據(jù)位、0個停止位,傳輸數(shù)據(jù)時低位在前高位在后,串口發(fā)送與接收都采用中斷方式。
4.3.2 通訊協(xié)議
自動檢測系統(tǒng)與安控器要進行數(shù)據(jù)通訊,雙方必須遵循一定格式的協(xié)議[18]。本文使用自定義的通訊協(xié)議,協(xié)議主要包括以下3個域:幀頭、有效數(shù)據(jù)以及校驗位,其中校驗位采用和校驗,同時協(xié)議定義了幀長、幀周期、各個域的長度以及每一位的含義。
4.3.3 循環(huán)FIFO緩沖區(qū)
本文采用循環(huán)FIFO緩沖區(qū)作為串口的接收、發(fā)送緩沖區(qū),每個循環(huán)FIFO緩沖區(qū)都有1個頭指針和1個尾指針。
以發(fā)送循環(huán)FIFO緩沖區(qū)為例,將需要發(fā)送的數(shù)據(jù)放到頭指針指向的空間,存放完成后頭指針自動加1,如果頭指針超過循環(huán)FIFO緩沖區(qū)界限,則將頭指針清零。待發(fā)送數(shù)據(jù)全部存入循環(huán)FIFO緩沖區(qū)后,開啟發(fā)送中斷。發(fā)送中斷服務(wù)函數(shù)中,將尾指針指向的數(shù)據(jù)賦值給串口發(fā)送寄存器,同時尾指針加1,如果尾指針超過循環(huán)FIFO緩沖區(qū)界限,則將尾指針清零。如果尾指針等于頭指針,說明緩沖區(qū)沒有數(shù)據(jù)或數(shù)據(jù)全部發(fā)送完成,則關(guān)閉發(fā)送中斷。
安控區(qū)是安控器正常工作的前提。安控區(qū)的裝訂回檢檢測包括自動檢測系統(tǒng)安控區(qū)的裝訂與回檢和安控器的裝訂與回檢兩部分。
4.4.1 自動檢測系統(tǒng)安控區(qū)裝訂與回檢
自動檢測系統(tǒng)將安控區(qū)存儲在內(nèi)置FLASH上。FLASH存儲器是非易失性存儲器,具有單一電壓供電、可分扇區(qū)讀寫等特點[19]。自動檢測系統(tǒng)接收到上位機發(fā)送的安控區(qū)數(shù)據(jù)后自動將安控區(qū)數(shù)據(jù)寫入內(nèi)置FLASH。待存儲完畢,上位機發(fā)送回檢指令,自動檢測系統(tǒng)收到回檢指令后從FLASH指定地址讀取安控區(qū)數(shù)據(jù)并發(fā)回給上位機進行比對。
4.4.1.1 內(nèi)置FLASH配置
使用FLASH前需要對FLASH進行配置,本文配置內(nèi)置FLASH讀等待周期數(shù)為8個CPU周期,32位編程/擦除并行位數(shù)。由于FLASH不支持覆蓋寫,所以每次向FLASH寫入數(shù)據(jù)之前需要擦除寫入地址所在的扇區(qū)。
4.4.1.2 內(nèi)置FLASH存儲校驗
大量數(shù)據(jù)在系統(tǒng)內(nèi)部之間進行存儲和傳遞時,對數(shù)據(jù)進行檢測尤為重要[20]。為了保證存入FLASH數(shù)據(jù)和讀取FLASH數(shù)據(jù)的一致性,需要對存入的數(shù)據(jù)使用校驗。本文采用和校驗的方式對存入FLASH的數(shù)據(jù)進行校驗:將所有需要存儲的數(shù)據(jù)按順序賦值給結(jié)構(gòu)體,在結(jié)構(gòu)體的最后增加一個字節(jié)的校驗位,使用累加和校驗。存儲時將數(shù)據(jù)與校驗位一起存入FLASH,讀取數(shù)據(jù)時計算數(shù)據(jù)的校驗和并與讀出的校驗位進行比較,如果校驗通過則認為存入與讀出的數(shù)據(jù)是一致的。
4.4.2 安控器的安控區(qū)裝訂與回檢
安控器的安控區(qū)裝訂與回檢與自動檢測系統(tǒng)的裝訂與回檢過程類似,自動檢測系統(tǒng)先從FLASH中指定地址讀取安控區(qū)數(shù)據(jù)和校驗位,校驗通過后將安控區(qū)數(shù)據(jù)發(fā)送給安控器。待安控器裝訂完成自動檢測系統(tǒng)發(fā)送回檢指令給安控器并接收安控器發(fā)回的安控區(qū)數(shù)據(jù)。通過比對原數(shù)據(jù)與回檢數(shù)據(jù)檢測安控器的安控區(qū)裝訂與回檢功能。
自主安控功能是安控器的核心功能,檢測該功能所涉及的指標較多,需要結(jié)合北斗定位信息綜合分析測控數(shù)據(jù)、安控信號等信息,從而得出結(jié)論。檢測該功能時可以分為以下兩個步驟:
1)自動檢測系統(tǒng)通過安控GPS模擬口定時發(fā)送模擬安控GPS數(shù)據(jù)幀,數(shù)據(jù)幀中的緯度信息每一幀大約增加0.000 25°,經(jīng)度保持不變,模擬靶機以大約280 m/s的速度向正北方向飛行,飛控數(shù)據(jù)幀作同樣處理,通過飛控模擬口發(fā)送給安控器;
2)自動檢測系統(tǒng)接收并提取測控數(shù)據(jù)中的安控狀態(tài)變量,記錄安控狀態(tài)的變化,理想情況下安控狀態(tài)依次為“預(yù)警區(qū)內(nèi)”、“預(yù)警區(qū)外”、“警戒區(qū)外”以及“執(zhí)行安控”。當靶機飛出安控警戒區(qū)外10秒后,采集安控器的2路安控信號,如果安控信號正常且實際安控狀態(tài)與理想安控狀態(tài)一樣,則認為該功能正常,否則認為該功能故障。具體檢測流程如圖9所示。

圖9 自主安控檢測流程圖
安控復(fù)位功能與人工安控功能都是采取自動檢測系統(tǒng)模擬發(fā)送“安控復(fù)位”指令或者“安控墜毀”指令的方式進行檢測。
4.6.1 安控復(fù)位檢測
檢測安控復(fù)位功能時,自動檢測系統(tǒng)先通過測控口發(fā)送模擬“安控復(fù)位”指令,發(fā)送指令后等待500毫秒,自動檢測系統(tǒng)接收并提取測控數(shù)據(jù)中的指令接收回報、指令執(zhí)行回報和安控復(fù)位狀態(tài),如果指令接收回報與指令執(zhí)行回報均顯示“安控復(fù)位”,且安控復(fù)位狀態(tài)持續(xù)時間不少于1分鐘則認為安控復(fù)位檢測通過,否則認為該功能故障。
4.6.2 人工安控檢測
與安控復(fù)位檢測類似,檢測人工安控功能時,自動檢測先通過安控口發(fā)送模擬“安控墜毀”指令,發(fā)送指令后等待1秒,自動檢測系統(tǒng)采集安控信號,同時接收并提取以下狀態(tài):
1)測控數(shù)據(jù)中的指令接收回報、指令執(zhí)行回報和安控狀態(tài);
2)飛控數(shù)據(jù)中的安控停車狀態(tài)。
如果滿足以下4項:
1)指令接收回報與指令執(zhí)行回報均為“安控墜毀”;
2)安控狀態(tài)為安控墜毀;
3)安控停車狀態(tài)顯示發(fā)動機執(zhí)行停車指令;
4)安控信號為低電平。
則認為人工安控功能檢測通過,否則認為該功能故障。
自動檢測系統(tǒng)研制完成后,對其進行系統(tǒng)測試。首先將安控器自動檢測系統(tǒng)、安控器以及上位機按照圖2所示方式進行連接。為了排除系統(tǒng)中的不穩(wěn)定因素,提高測試的覆蓋性,測試分為兩類,第一類測試選用狀態(tài)正常的安控器樣機作為被測對象,使用自動檢測系統(tǒng)對其進行全自動檢測并記錄檢測結(jié)果;第二類測試在第一類的基礎(chǔ)上,對部分檢測項目采用故障注入的方法模擬真實的故障情形。嵌入式系統(tǒng)常用的故障注入方法有基于硬件的故障注入、基于模擬的故障注入以及基于軟件的故障注入[21]。對于串口輸出狀態(tài)檢測、地檢功能檢測、安控GPS模擬檢測以及飛控GPS檢測,本文采用基于硬件的故障注入方式注入故障,如斷開相應(yīng)串口;對于安控區(qū)裝訂回檢檢測、安控復(fù)位檢測、自主安控檢測以及人工安控檢測等不適合注入硬件故障的檢測,本文采用基于軟件的故障注入方式注入故障。經(jīng)過大量測試,第一類測試全部通過,其中部分檢測結(jié)果如表1所示,第二類測試結(jié)果如表2所示。

表1 正常條件下檢測結(jié)果

表2 故障注入檢測結(jié)果
由表1可知,對于功能正常的安控器,經(jīng)過300次實際測試后,自動檢測系統(tǒng)都能檢測通過。然而檢測次數(shù)相對較少,樣本總量不夠大,無法得出該檢測系統(tǒng)的虛警率等指標,所以在后續(xù)開發(fā)及使用中需要繼續(xù)關(guān)注檢測系統(tǒng)自身的故障率,以便估算出系統(tǒng)的虛警率指標。
從表2可知,自動檢測系統(tǒng)能夠檢出注入的故障并自動完成安控器各項功能的檢測,所有檢測項目單次消耗時間最多不超過5分鐘,相比人工檢測方式,所需時間大大減少。
上述大量分類測試和考機表明,本文所研制的自動檢測系統(tǒng)能夠?qū)崿F(xiàn)對安控器的全自動檢測,對檢測中的故障項準確識別并告警,達到了預(yù)期的檢測要求。
安控器是靶機安控系統(tǒng)的關(guān)鍵部件,對保障靶機安全完成飛行任務(wù)意義重大,因此,安控器檢測必須高度重視。本文設(shè)計的安控器全自動檢測系統(tǒng)實現(xiàn)了一鍵式、全自動、全面的功能性能檢測。經(jīng)試驗驗證表明:該系統(tǒng)完全滿足某型靶機安控器的檢測需求,同時極大程度提高了檢測效率,已初步具備工程化應(yīng)用條件。