李相迎, 唐福杰, 雒建軍, 趙向陽(yáng), 周曉凡
(1.中國(guó)人民解放軍63610部隊(duì), 新疆 庫(kù)爾勒 841000;2.巴州翱翔無(wú)人飛行器科技有限公司,新疆 庫(kù)爾勒 841000)
航天發(fā)射需要對(duì)飛行器進(jìn)行準(zhǔn)確的跟蹤測(cè)量與控制[1],要求地面各測(cè)量站之間、測(cè)量站內(nèi)部各測(cè)控設(shè)備之間以及主控站與飛行器之間有一個(gè)統(tǒng)一的時(shí)間基準(zhǔn)[2],這個(gè)時(shí)間基準(zhǔn)就是起飛零時(shí)(簡(jiǎn)稱T0信號(hào))。為了檢測(cè)這一信號(hào),需要T0信號(hào)檢控臺(tái)采集起飛時(shí)的脈沖信號(hào),并將時(shí)間信息按一定格式發(fā)送給測(cè)控系統(tǒng)。T0信號(hào)檢控臺(tái)是連接靶場(chǎng)發(fā)控系統(tǒng)、測(cè)控系統(tǒng)和通信系統(tǒng)的關(guān)鍵設(shè)備,它能提供陣地發(fā)控系統(tǒng)所需的牽動(dòng)信號(hào)和觸點(diǎn)信號(hào)的饋電電源,使之形成點(diǎn)火、起飛的脈沖信號(hào),同時(shí)對(duì)觸點(diǎn)脈沖信號(hào)進(jìn)行檢測(cè),形成起飛時(shí)間信息后發(fā)送給中心計(jì)算機(jī);中心計(jì)算機(jī)再向各測(cè)控站進(jìn)行轉(zhuǎn)發(fā),以統(tǒng)一各測(cè)控設(shè)備對(duì)飛行器的跟蹤和測(cè)量基準(zhǔn)。此外,T0信號(hào)檢控臺(tái)還向調(diào)度系統(tǒng)提供起飛時(shí)刻的蜂音指揮信號(hào)。
隨著軍民融合在航天發(fā)射領(lǐng)域的不斷深入,各種發(fā)射任務(wù)逐步增加,高密度、多點(diǎn)位并行開展發(fā)射準(zhǔn)備工作已成為常態(tài)。一方面,新研設(shè)備可以彌補(bǔ)現(xiàn)有T0信號(hào)檢控臺(tái)在數(shù)量上的不足;另一方面,傳統(tǒng)的T0信號(hào)檢控設(shè)備大多由工控機(jī)或基于早期單片機(jī)(8031或8051)研制的多塊功能板卡集合而成,體積較大、價(jià)格較高、電路復(fù)雜、操作和維護(hù)不夠靈活方便,通過(guò)新研的基于先進(jìn)微控制器技術(shù)的T0信號(hào)檢控臺(tái)可以實(shí)現(xiàn)對(duì)現(xiàn)有設(shè)備的技術(shù)更新和產(chǎn)品換代。
近年來(lái),STM32微控制器以其高性能、低成本、低功耗的特性被廣泛應(yīng)用于嵌入式產(chǎn)品設(shè)計(jì)[3-5]中,所設(shè)計(jì)的產(chǎn)品集成度和可靠性高,易于開發(fā),在各領(lǐng)域得到了廣泛應(yīng)用。通過(guò)對(duì)國(guó)內(nèi)外現(xiàn)有文獻(xiàn)進(jìn)行查詢發(fā)現(xiàn),迄今為止有關(guān)基于STM32的T0信號(hào)檢測(cè)的研究鮮有報(bào)道。文獻(xiàn)[6]設(shè)計(jì)實(shí)現(xiàn)了基于工控機(jī)的起飛零時(shí)控制系統(tǒng),該系統(tǒng)基于PCI接口電路,需要安裝驅(qū)動(dòng)程序和應(yīng)用軟件;文獻(xiàn)[7]針對(duì)采用激光測(cè)量導(dǎo)彈起飛零時(shí)的系統(tǒng),提出了一種基于激光脈沖編碼、相關(guān)檢測(cè)的自適應(yīng)門限控制方法,主要目的是解決強(qiáng)背景光干擾問(wèn)題;文獻(xiàn)[8]實(shí)現(xiàn)了基于圖像處理的起飛零時(shí)信號(hào)檢測(cè)方法,該方法受觀測(cè)距離限制,且圖像檢測(cè)給出的起飛時(shí)間存在一定誤差。
為此,本文以STM32F407開發(fā)板為平臺(tái)開展基于STM32的T0信號(hào)檢控臺(tái)設(shè)計(jì),其優(yōu)點(diǎn)是可以簡(jiǎn)化開發(fā)過(guò)程,縮短開發(fā)周期。通過(guò)對(duì)目標(biāo)系統(tǒng)進(jìn)行功能分解,首先利用Keil編程環(huán)境搭建主程序框架,以開發(fā)板的示例程序?yàn)閰⒖纪瓿刹糠周浖δ艿恼{(diào)試;其次,在選定的外圍功能模塊的基礎(chǔ)上實(shí)現(xiàn)與STM32微控制器的互聯(lián)互通測(cè)試,采用邊調(diào)試邊完善的方法,把系統(tǒng)功能集成在一塊電路板上,實(shí)現(xiàn)一種小型化、低成本、易操作的起飛信號(hào)檢控設(shè)備。
起飛零時(shí)檢測(cè)設(shè)備由STM32微控制器及其外圍電路實(shí)現(xiàn),其架構(gòu)如圖1所示,主要功能包括:
① 2路觸點(diǎn)輸入觸發(fā)信號(hào),每一路可單獨(dú)設(shè)置常開/常閉觸發(fā)方式。
② 1路手動(dòng)觸發(fā)方式,可手動(dòng)按鍵觸發(fā)T0,供系統(tǒng)聯(lián)調(diào)使用。
③ 1路倒計(jì)時(shí)觸發(fā)輸入,設(shè)置倒計(jì)時(shí)時(shí)間,觸發(fā)T0后進(jìn)入正計(jì)時(shí)。
④ 輸入選擇功能,可選擇使用GPS/BD或BDC碼作為時(shí)鐘源,具備自動(dòng)守時(shí)功能。
⑤ T0信號(hào)輸出,采用UDP協(xié)議,RJ45網(wǎng)口輸出。
⑥ 參數(shù)設(shè)置與信息顯示,通過(guò)觸摸屏與設(shè)備面板實(shí)現(xiàn)。

圖1 設(shè)備架構(gòu)圖
設(shè)備工作時(shí),通過(guò)外部提供的B碼(DC碼)和GPS/BD時(shí)間信號(hào),任選一路作為時(shí)間源,當(dāng)系統(tǒng)捕獲到起飛觸點(diǎn)(或倒計(jì)時(shí)、手動(dòng)觸發(fā))信號(hào)時(shí),信息處理模塊將時(shí)間信號(hào)和相關(guān)的參數(shù)打包,通過(guò)網(wǎng)絡(luò)對(duì)外發(fā)送。
設(shè)備核心采用了STM32F407芯片,其外圍電路主要包括GPS接收模塊、B(DC)碼電平轉(zhuǎn)換電路、光電隔離電路、觸摸屏、網(wǎng)絡(luò)傳輸模塊等。STM32F407芯片提供了豐富的I/O接口、定時(shí)器、中斷控制等資源,支持RS232/RS422/RS485接口通信,自帶以太網(wǎng)模塊,豐富的片內(nèi)資源為實(shí)現(xiàn)高集成化和高可靠性的T0檢控設(shè)備提供了有力支持。
T0檢控設(shè)備的硬件設(shè)計(jì)主要是指STM32F407芯片外圍電路與接口的開發(fā),包括時(shí)間解碼、起飛觸點(diǎn)信號(hào)檢測(cè)、網(wǎng)絡(luò)接口和人機(jī)操作接口幾個(gè)部分。
T0檢控設(shè)備的時(shí)鐘源包括IRIG-B(DC)碼和GPS/BD時(shí)間。B(DC)碼的輸入采用RS485或RS422接口協(xié)議。差分傳輸是RS485數(shù)據(jù)信號(hào)傳輸?shù)姆绞剑捎秒p絞線進(jìn)行信號(hào)傳輸,邏輯電平通過(guò)雙絞線兩端的電壓差得到。由于STM32只支持TTL電平,因此需要對(duì)輸入的B(DC)碼信號(hào)進(jìn)行電平轉(zhuǎn)換,選用的器件為MAX1487。MAX1487采用的通信接口形式為RS485和RS422,功耗較低。圖2為電平轉(zhuǎn)換的電路原理圖。
圖2中B(DC)碼從J2輸入至U12的A、B端,轉(zhuǎn)換后從RO端輸出TTL電平的B(DC)時(shí)間編碼脈沖,進(jìn)入STM32芯片進(jìn)行解碼。

圖2 RS422/RS485電平轉(zhuǎn)換電路
GPS時(shí)間信號(hào)由 ATK-S1216F8-BD模塊提供。該模塊電平為5 V和3.3 V,與單片機(jī)系統(tǒng)保持兼容,體積小,性能優(yōu)異,可通過(guò)串口進(jìn)行各種參數(shù)設(shè)置,并可保存在內(nèi)部Flash中。模塊自帶可充電后備電池,掉電后可以保持星歷數(shù)據(jù)。它與STM32的連接關(guān)系如圖3所示。

圖3 ATK-S1216F8-BD模塊與STM32連接示意圖
模塊的數(shù)據(jù)收發(fā)通過(guò)串口與微控制器連接。在硬件設(shè)計(jì)中,該模塊與STM32連接的5根線分別為數(shù)據(jù)發(fā)送(TXD)、數(shù)據(jù)接收(RXD)、秒脈沖(PPS)、電源(VCC)和地(GND)。PPS信號(hào)可以提供精確的秒脈沖信號(hào),脈沖前沿為整秒時(shí)刻,導(dǎo)航定位信息(時(shí)間信息)在秒脈沖之后通過(guò)串口輸出。STM32芯片的定時(shí)器具有脈沖輸入捕獲功能,可以在程序初始化時(shí)進(jìn)行設(shè)置,因此,在設(shè)計(jì)中將GPS模塊的PPS信號(hào)與定時(shí)器輸入端口連接,以獲取精確的整秒時(shí)刻。
火箭發(fā)射時(shí),通過(guò)點(diǎn)火或彈射方式與發(fā)射架分離。無(wú)論采用哪種方式,都會(huì)送出一個(gè)開關(guān)量信號(hào)。觸點(diǎn)檢測(cè)電路的作用是實(shí)現(xiàn)對(duì)這一信號(hào)的檢測(cè)并發(fā)送給STM32進(jìn)行處理。通常,發(fā)射架距離起飛信號(hào)檢測(cè)系統(tǒng)較遠(yuǎn),需要的電壓和電流也比較大,為了保護(hù)微控制器,需要進(jìn)行光電隔離;起飛信號(hào)通過(guò)光電轉(zhuǎn)換,變成TTL脈沖信號(hào)進(jìn)入STM32微控制器。例如,采用點(diǎn)火方式時(shí),通過(guò)火箭點(diǎn)火熔斷裝置形成起飛信號(hào),此時(shí)的起飛信號(hào)檢測(cè)電路如圖4所示。

圖4 起飛信號(hào)檢測(cè)原理
熔斷絲導(dǎo)通時(shí),導(dǎo)通電流經(jīng)R1使光耦的發(fā)光二極管發(fā)光,光耦三極管的集電極與發(fā)射極處于飽和導(dǎo)通狀態(tài),集電極輸出低電平;火箭點(diǎn)火起飛使熔斷絲斷開后,光耦的二極管不發(fā)光,三極管截止,集電極輸出高電平,通過(guò)上拉電阻經(jīng)整形電路進(jìn)入STM32的GPIO端口。這種從低電平到高電平的跳變信號(hào)經(jīng)STM32捕獲后進(jìn)入中斷處理程序進(jìn)行處理。在電路設(shè)計(jì)中,為了使電平跳變信號(hào)更接近于理想矩形脈沖,通常使用施密特觸發(fā)器電路進(jìn)行脈沖整形。
手動(dòng)T0的觸發(fā)方式與起飛觸點(diǎn)檢測(cè)的原理類似,通過(guò)按鍵產(chǎn)生TTL電平的脈沖跳變信號(hào),整形后從STM32的GPIO端口輸入,所以無(wú)須光電隔離。
STM32F407芯片自帶以太網(wǎng)模塊,該模塊包括帶專用 DMA 控制器的基于IEEE 802.3的MAC(介質(zhì)訪問(wèn)控制)控制器,支持介質(zhì)獨(dú)立接口 (Media Independent Interface,MII) 和簡(jiǎn)化介質(zhì)獨(dú)立接口 (Reduced Media Independent Interface,RMII)。信息發(fā)送時(shí),必須外接以太網(wǎng)接口芯片(PHY 層芯片),本設(shè)計(jì)中采用了LAN8720A進(jìn)行網(wǎng)絡(luò)通信。STM32F407 通過(guò) RMII 接口與 PHY 層芯片的連接示意圖如圖5所示。

圖5 STM32F407 RMII與 PHY 層芯片的連接示意圖
LAN8720A 為以太網(wǎng)接口芯片,對(duì)應(yīng)于協(xié)議PHY 層,具有低功耗特性,網(wǎng)絡(luò)速率為 10/100 Mbit/s, 該芯片可以通過(guò) RMII 接口與以太網(wǎng) MAC 層通信,具有符合IEEE 802.3-2005 標(biāo)準(zhǔn)的I/O 引腳電壓。LAN8720A 可以通過(guò)自協(xié)商的方式選擇與目的主機(jī)以最佳的方式(速度和雙工模式)連接,支持 HP Auto-MDIX 自動(dòng)翻轉(zhuǎn)功能,無(wú)須更換網(wǎng)線即可將連接更改為直連或交叉連接。
為了使T0檢測(cè)設(shè)備易于設(shè)置和操作,選用了觸摸屏作為操控界面。觸摸屏為組態(tài)串口屏,通過(guò)串口與STM32進(jìn)行通信,其交互原理如圖6所示。

圖6 觸摸屏與STM32的通信連接
組態(tài)串口屏的特點(diǎn)是可以使用圖形化的方式進(jìn)行界面設(shè)計(jì),內(nèi)置了豐富的顯示和控制組件,通過(guò)特定的命令集與STM32的串口進(jìn)行通信,其自帶的驅(qū)動(dòng)函數(shù)庫(kù)負(fù)責(zé)命令的解釋與分發(fā)。觸摸屏與STM32的數(shù)據(jù)交互為雙向通信,因此需要兩根數(shù)據(jù)線連接。
軟件開發(fā)環(huán)境為Keil μVision 5,采用C語(yǔ)言編程。下面簡(jiǎn)要介紹各功能模塊的軟件實(shí)現(xiàn)。
IRIG(Inter Range Instrumentation Group)碼,稱為“美國(guó)靶場(chǎng)儀器組碼”,是美國(guó)靶場(chǎng)司令委員會(huì)制定的一種時(shí)間標(biāo)準(zhǔn),現(xiàn)廣泛應(yīng)用于軍事、商業(yè)、工業(yè)等諸多領(lǐng)域。IRIG 碼共有4 種并行二進(jìn)制時(shí)間碼格式和6 種串行二進(jìn)制時(shí)間碼格式,其中最常用的是IRIG-B 時(shí)間碼格式,其以每秒一次的頻率發(fā)送時(shí)間信息,不僅包含秒脈沖信息,而且還有包括年、天、時(shí)、分、秒、二進(jìn)制秒計(jì)日等在內(nèi)的絕對(duì)時(shí)間信息[9]。
IRIG-B(DC) 時(shí)間碼結(jié)構(gòu)如圖7所示。它是每秒一幀的串行時(shí)間碼,每個(gè)碼元總寬度為10 ms,一個(gè)時(shí)幀周期包括100個(gè)碼元,為脈寬編碼。每個(gè)碼元又有二進(jìn)制“0”和“1”以及位置標(biāo)識(shí)符共3種碼型,分成3字段編碼:第1字段為年時(shí)間(年、天、時(shí)、分、秒);第2字段為控制功能字段;第3字段為直接用二進(jìn)制秒符號(hào)表示的一天中的時(shí)間信息,每24 h循環(huán)1次。碼元的“準(zhǔn)時(shí)”參考點(diǎn)是其脈沖前沿,時(shí)幀的參考標(biāo)志由一個(gè)位置識(shí)別標(biāo)志和相鄰的參考碼元組成,其脈寬均為8 ms;每10個(gè)碼元有一個(gè)位置識(shí)別標(biāo)志,因此1 s內(nèi)共10個(gè)位置識(shí)別標(biāo)志,即P1,P2,P3,…,P9,P0,它們均為8 ms脈寬;PR為幀參考點(diǎn);二進(jìn)制“1”和“0”的脈寬分別為5 ms和2 ms。
對(duì)B 碼進(jìn)行解碼就是將B 碼中所包含的時(shí)、分、秒信息提取出來(lái),轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的形式。解碼的關(guān)鍵在于檢測(cè)B 碼中各個(gè)碼元的高電平寬度,首先要檢測(cè)連續(xù)兩個(gè)8 ms 寬的碼元出現(xiàn)的位置,然后再檢測(cè)隨后的30個(gè)碼元脈沖寬度,以確定時(shí)、分、秒。

圖7 IRIG-B(DC) 時(shí)間碼示意圖
檢測(cè)高電平寬度的方法為:設(shè)置STM32的相關(guān)定時(shí)器模式為脈沖捕獲,將B 碼送入定時(shí)器輸入引腳,在引腳由低電平變?yōu)楦唠娖綍r(shí),啟動(dòng)內(nèi)部定時(shí)器T0,開始計(jì)數(shù);在引腳由高變低時(shí)(即下降沿),觸發(fā)中斷,讀取計(jì)數(shù)器的值,脈沖寬度等于計(jì)數(shù)值乘以計(jì)數(shù)周期。
依據(jù)B(DC)碼的編碼結(jié)構(gòu)[10-12],采用軟件方法提取時(shí)間信息的流程如圖8所示。
GPS的授時(shí)信息從其導(dǎo)航報(bào)文中獲取。導(dǎo)航報(bào)文采用NMEA-0183 協(xié)議傳輸[13],符合NMEA-0183標(biāo)準(zhǔn)的GPS接收機(jī)的硬件接口能夠兼容計(jì)算機(jī)或單片機(jī)的RS232C串口協(xié)議,因此,可以通過(guò)串口編程實(shí)現(xiàn)GPS時(shí)間碼的接收。由于導(dǎo)航報(bào)文中時(shí)間信息在秒脈沖之后通過(guò)串口輸出,因此,秒脈沖到達(dá)時(shí)的準(zhǔn)確時(shí)間應(yīng)該用串口接收的時(shí)間信息加1 s。由于T0控制臺(tái)還需要毫秒信息,所以需要通過(guò)定時(shí)器對(duì)相鄰兩個(gè)秒脈沖之間進(jìn)行毫秒計(jì)數(shù)。GPS時(shí)間獲取的原理圖如圖9所示。

圖8 B(DC)軟件解碼程序流程

圖9 GPS時(shí)間獲取原理
NMEA-0183 協(xié)議采用 ASCII 碼來(lái)傳遞 GPS 定位信息,稱之為幀,它具有形如:$aaccc,ddd,ddd,…,ddd*hh(CR)(LF) 的幀格式。$GNRMC為程序設(shè)計(jì)中接收的定位信息幀,只需要提取其中的UTC時(shí)間信息即可。
為保證時(shí)間信息處理的實(shí)時(shí)性,對(duì)B(DC)和GPS時(shí)間碼的采集均在中斷處理函數(shù)中完成。當(dāng)檢測(cè)到B(DC)碼的整秒時(shí)刻的上升沿時(shí),軟件中設(shè)置一個(gè)I/O口進(jìn)行電平翻轉(zhuǎn),在該I/O口中斷處理函數(shù)中記錄B(DC)碼的整秒時(shí)間,然后啟動(dòng)預(yù)先設(shè)置的定時(shí)器進(jìn)行毫秒(或微妙)計(jì)數(shù),以便獲取T0發(fā)生時(shí)刻的B(DC)碼毫秒信息。由于GPS模塊的1PPS輸出線與STM32的一個(gè)定時(shí)器輸入相連接,因此,GPS整秒時(shí)刻的采集可以在該定時(shí)器的中斷處理函數(shù)中完成;毫秒信息的產(chǎn)生與B(DC)碼的方法一致。
設(shè)備的T0產(chǎn)生方式包括觸點(diǎn)、手動(dòng)和倒計(jì)時(shí)3種,其中觸點(diǎn)和手動(dòng)方式原理基本一致,即通過(guò)STM32的中斷引腳檢測(cè)電平翻轉(zhuǎn)的脈沖信號(hào),STM32響應(yīng)外部中斷,進(jìn)入中斷程序,在中斷程序中將GPS或B(DC)碼時(shí)間信息打包,按規(guī)定的協(xié)議格式通過(guò)網(wǎng)絡(luò)發(fā)送T0時(shí)間信息。
在中斷處理函數(shù)中,首先判斷當(dāng)前設(shè)置的時(shí)間源(GPS或B(DC)),然后從對(duì)應(yīng)的結(jié)構(gòu)體中取出時(shí)、分、秒、毫秒信息,根據(jù)協(xié)議格式將數(shù)據(jù)打包,調(diào)用網(wǎng)絡(luò)發(fā)送函數(shù)對(duì)外發(fā)送。T0產(chǎn)生后,通常要求T0控制臺(tái)連續(xù)對(duì)外發(fā)送10~20 s,因此,在中斷函數(shù)中還需開啟一個(gè)定時(shí)器,時(shí)間結(jié)束后停止發(fā)送。
在使用倒計(jì)時(shí)方式產(chǎn)生T0時(shí),軟件讀取觸摸屏設(shè)置的倒計(jì)時(shí)時(shí)間(分為絕對(duì)時(shí)和相對(duì)時(shí)),計(jì)算出距離當(dāng)前時(shí)刻的整秒數(shù),存入一個(gè)倒計(jì)時(shí)變量;開啟一個(gè)定時(shí)器,設(shè)置為秒中斷,在定時(shí)器中斷處理函數(shù)中,對(duì)存儲(chǔ)的倒計(jì)時(shí)變量遞減,當(dāng)遞減到0時(shí),讀取當(dāng)前GPS或B(DC)碼時(shí)間,發(fā)送過(guò)程與前面介紹的觸點(diǎn)和手動(dòng)中斷處理函數(shù)中的操作基本一致。
為了實(shí)現(xiàn)觸摸屏與STM32通信,需調(diào)用觸摸屏驅(qū)動(dòng)代碼,并遵循一定的程序設(shè)計(jì)規(guī)范[14]。觸摸屏對(duì)觸摸控件進(jìn)行唯一編號(hào),操作時(shí)控件編號(hào)和命令信息通過(guò)串口發(fā)送給STM32,STM32的處理程序?qū)γ罱獯a,或者對(duì)設(shè)備進(jìn)行參數(shù)設(shè)置,亦或者將設(shè)備信息回傳給觸摸屏進(jìn)行顯示。STM32與觸摸屏通信軟件結(jié)構(gòu)如圖10所示。

圖10 STM32與觸摸屏通信軟件結(jié)構(gòu)
在程序的主循環(huán)中,采用輪詢的方式檢查指令隊(duì)列中有無(wú)指令到達(dá),若指令有效則對(duì)指令進(jìn)行解析。指令類型分為畫面切換通知、觸摸坐標(biāo)通知和控件通知,均通過(guò)對(duì)應(yīng)的子程序進(jìn)行處理。畫面切換指令負(fù)責(zé)觸摸屏的信息顯示和參數(shù)設(shè)置畫面切換,在本系統(tǒng)中包括主界面和參數(shù)設(shè)置界面,按鈕和文本作為主要控件負(fù)責(zé)實(shí)現(xiàn)參數(shù)傳遞、信息顯示和狀態(tài)選擇與確認(rèn)功能,本設(shè)計(jì)中未涉及觸摸坐標(biāo)的使用。
STM32使用LwIP作為網(wǎng)絡(luò)通信的協(xié)議棧。LwIP是瑞典計(jì)算機(jī)科學(xué)院的Adam Dunkels等開發(fā)的一個(gè)小型開源的TCP/IP協(xié)議棧,有無(wú)操作系統(tǒng)都可以運(yùn)行,它實(shí)現(xiàn)的重點(diǎn)是在保持TCP/IP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM的占用,只需十幾KB的RAM和40 KB左右的ROM即可以運(yùn)行,因而適合在嵌入式系統(tǒng)中使用。LwIP的庫(kù)函數(shù)提供了API調(diào)用接口,在完成必要的初始化設(shè)置后,當(dāng)需要數(shù)據(jù)發(fā)送時(shí)可以直接調(diào)用。
在本設(shè)計(jì)中,T0信息輸出使用UDP協(xié)議,在UDP的數(shù)據(jù)域使用包交換協(xié)議[15],進(jìn)一步封裝設(shè)備通信所需的地址、數(shù)據(jù)時(shí)標(biāo)、包序號(hào)、數(shù)據(jù)長(zhǎng)度和數(shù)據(jù)內(nèi)容等信息。
測(cè)試時(shí)通過(guò)網(wǎng)線將設(shè)備與計(jì)算機(jī)連接。在設(shè)備端,通過(guò)觸摸屏設(shè)置本地和遠(yuǎn)端的IP地址、端口號(hào)和數(shù)據(jù)包的相關(guān)參數(shù);在計(jì)算機(jī)端運(yùn)行網(wǎng)絡(luò)接收程序,設(shè)置好T0檢控臺(tái)的IP地址和端口號(hào),等待接收數(shù)據(jù)。測(cè)試內(nèi)容包括:
① 接入B(DC) 碼,GPS收星正常,通過(guò)觸摸屏切換時(shí)間源,查看屏上顯示時(shí)間的正確性。
② 設(shè)置倒計(jì)時(shí)T0觸發(fā)參數(shù),當(dāng)?shù)褂?jì)時(shí)為0時(shí),觀察計(jì)算機(jī)接收到的UDP數(shù)據(jù)包內(nèi)容。
③ 分別設(shè)置手動(dòng)T0和觸點(diǎn)觸發(fā)T0方式,通過(guò)外部開關(guān)模擬,觀察計(jì)算機(jī)接收到的UDP數(shù)據(jù)包內(nèi)容。
④ 測(cè)試其他輔助功能,例如信息顯示、蜂音信號(hào)輸出、自動(dòng)守時(shí)等。
圖11為T0檢控臺(tái)參數(shù)設(shè)置屏,圖12為產(chǎn)生T0信號(hào)時(shí)的設(shè)備主屏;圖13為使用GPS作為時(shí)鐘源,在手動(dòng)產(chǎn)生T0信號(hào)時(shí)收到的數(shù)據(jù)包內(nèi)容截屏。

圖11 T0檢控臺(tái)參數(shù)設(shè)置屏

圖12 產(chǎn)生T0信號(hào)時(shí)的設(shè)備主屏

圖13 計(jì)算機(jī)接收的UDP數(shù)據(jù)包信息
從獲取的數(shù)據(jù)包內(nèi)容可以得到T0檢控臺(tái)設(shè)置的參數(shù)和發(fā)送的T0信息如下(字段括號(hào)內(nèi)的數(shù)字為字節(jié)序號(hào)):
VER(0):80, MID(1~2):2038, SID(3~6):12345678,DID(7~10):1234ABCD, BID(11~14):00010101, FLAG(19):00,發(fā)送日期(24~25):1F51,發(fā)送時(shí)間(26~29):21FD2C00,數(shù)據(jù)長(zhǎng)度(30~31):0004,數(shù)據(jù)內(nèi)容(32~35):21FBD404
其中,發(fā)送日期1F51為十進(jìn)制8017,表示從2000年1月1日到當(dāng)前設(shè)置日期的天數(shù)。發(fā)送時(shí)間21FD2C00為十進(jìn)制570240000,表示發(fā)送時(shí)刻的北京時(shí)間量化為0.1 ms的計(jì)數(shù)值,即15時(shí)50分24秒。數(shù)據(jù)內(nèi)容21FBD404為十進(jìn)制數(shù)570151940,表示T0時(shí)間量化為0.1 ms的計(jì)數(shù)值,經(jīng)轉(zhuǎn)換后,T0時(shí)間為15時(shí)50分15秒194毫秒。在軟件中,設(shè)置了連續(xù)發(fā)送10 s的T0信息,數(shù)據(jù)包中的發(fā)送時(shí)間保持整秒變化,而T0信息不變。分析結(jié)果表明,解析的參數(shù)與設(shè)置值一致, T0信息與設(shè)備產(chǎn)生的T0一致。
針對(duì)航天測(cè)控需求現(xiàn)狀,研制了一種基于通用STM32微控制器的航天發(fā)射場(chǎng)T0檢控設(shè)備。為了更好地適應(yīng)當(dāng)前測(cè)發(fā)與測(cè)控系統(tǒng)的技術(shù)現(xiàn)狀,精簡(jiǎn)了傳統(tǒng)T0控制臺(tái)的一些不常用的功能(如HDLC通信、B(AC)碼的接收與解調(diào)、打印輸出等)。經(jīng)測(cè)算,新研設(shè)備成本小于原設(shè)備的1/10,質(zhì)量小于原設(shè)備的1/3,板卡尺寸僅為15 cm×8 cm。設(shè)備經(jīng)過(guò)多次測(cè)試和發(fā)射任務(wù)的檢驗(yàn),工作穩(wěn)定可靠,實(shí)現(xiàn)了小型化、低成本和高可靠性的設(shè)計(jì)目標(biāo),滿足使用要求。