基于C8051F340的機(jī)載武器測(cè)控系統(tǒng)設(shè)計(jì)
摘要:為了實(shí)現(xiàn)對(duì)某型機(jī)栽武器測(cè)控的需求,利用C8051F340單片機(jī)和HS3282芯片設(shè)計(jì)了ARINC429總線和計(jì)算機(jī)RS-232總線的接口轉(zhuǎn)換電路,通過C語(yǔ)言設(shè)計(jì)了單片機(jī)固件程序,實(shí)現(xiàn)了串并數(shù)據(jù)的轉(zhuǎn)換與傳輸以及數(shù)據(jù)傳輸速率和字長(zhǎng)的設(shè)置。最后利用VB語(yǔ)言編寫了PC端武器測(cè)控系統(tǒng)軟件,對(duì)串口數(shù)據(jù)進(jìn)行解碼和發(fā)送,實(shí)現(xiàn)了對(duì)武器系統(tǒng)的實(shí)時(shí)檢測(cè)和控制。實(shí)際應(yīng)用表明,該系統(tǒng)具有測(cè)試結(jié)果實(shí)時(shí)準(zhǔn)確、響應(yīng)命令迅速無誤的特點(diǎn),可滿足外場(chǎng)測(cè)試的需求。
本文引用地址:http://www.ex-cimer.com/article/201610/308984.htm現(xiàn)代戰(zhàn)機(jī)配備有空空導(dǎo)彈、空地導(dǎo)彈、制導(dǎo)炸彈、航空炮彈等多種武器系統(tǒng),目前飛控系統(tǒng)與機(jī)載武器系統(tǒng)交換數(shù)據(jù)的總線主要有:ARI NC429總線、1553B總線、RS422總線等。ARINC429是專為航空電子系統(tǒng)通訊規(guī)定的航空工業(yè)標(biāo)準(zhǔn);它是航空通訊設(shè)備最常用的數(shù)據(jù)接口之一,不僅應(yīng)用于民用航空領(lǐng)域如空客A310/A320、A330/A340飛機(jī),波音727、737、747、757和767飛機(jī).也廣泛應(yīng)用于機(jī)載武器系統(tǒng),如“鷹擊-81”空艦導(dǎo)彈機(jī)載系統(tǒng)的232H機(jī)載雷達(dá)、ZJ-9指揮儀、210多普勒導(dǎo)航系統(tǒng)、HZX-5航向姿態(tài)系統(tǒng)、8415大氣數(shù)據(jù)系統(tǒng)和622自動(dòng)飛行控制系統(tǒng)均采用ARINC429總線連接。某型武器同樣采用ARINC429總線與飛控系統(tǒng)進(jìn)行通信,為了利用計(jì)算機(jī)模擬飛控系統(tǒng)對(duì)該武器進(jìn)行現(xiàn)場(chǎng)監(jiān)測(cè)和控制,需要實(shí)現(xiàn)計(jì)算機(jī)與武器系統(tǒng)的ARINC429接口通信,傳統(tǒng)的方法是在計(jì)算機(jī)中擴(kuò)展一個(gè)基于ISA或PCI總線的ARINC429卡,這種轉(zhuǎn)換卡往往價(jià)格昂貴,不同計(jì)算機(jī)采用總線結(jié)構(gòu)不同也會(huì)降低ARINC429卡的通用性,轉(zhuǎn)換卡通信方式的配置也較為固定化,不利于自主編程,在沒有配備ARINC429卡的計(jì)算機(jī)上就無法實(shí)現(xiàn)對(duì)武器系統(tǒng)的測(cè)控。
為了解決上述問題,使計(jì)算機(jī)能夠與武器系統(tǒng)進(jìn)行數(shù)據(jù)交換,文中利用C8051F340作為主控芯片,實(shí)現(xiàn)了RS232/ARINC429的接口轉(zhuǎn)換,上位機(jī)對(duì)接收到的轉(zhuǎn)換后的串口數(shù)據(jù)進(jìn)行解碼,能實(shí)時(shí)顯示武器系統(tǒng)狀態(tài),上位機(jī)以串口形式發(fā)送操控命令給下位機(jī),下位機(jī)接收命令后通過HS3282芯片轉(zhuǎn)換為ARINC429格式數(shù)據(jù)發(fā)送給武器系統(tǒng),在獲得武器系統(tǒng)響應(yīng)后將結(jié)果反饋給上位機(jī)。
1 總體設(shè)計(jì)
測(cè)控系統(tǒng)的結(jié)構(gòu)圖如圖1所示,機(jī)載武器系統(tǒng)采用ARINC429總線,32位字長(zhǎng)通信,計(jì)算機(jī)采用RS232總線,為了建立武器系統(tǒng)與測(cè)控計(jì)算機(jī)之間的通信,測(cè)控計(jì)算機(jī)RS232串行數(shù)據(jù)經(jīng)電平轉(zhuǎn)換芯片轉(zhuǎn)換為TTL電平后與C8051F340單片機(jī)建立異步串口通信,單片機(jī)在接收到4個(gè)8位串口數(shù)據(jù)后,通過I/O口將串行數(shù)據(jù)轉(zhuǎn)換為2個(gè)16位并行數(shù)據(jù),429轉(zhuǎn)換芯片HS3282內(nèi)部為16位數(shù)據(jù)總線;分兩次讀取單片機(jī)16個(gè)I/O口數(shù)據(jù),構(gòu)成32位ARINC429串行數(shù)據(jù)的低16位和高16位,由于HS3282FIFO中可存8個(gè)429數(shù)據(jù)字,因此單片機(jī)可連續(xù)接收32個(gè)8位串行數(shù)據(jù),轉(zhuǎn)換為16個(gè)16位的并行數(shù)據(jù)給HS3282,HS3282將16個(gè)16位并行數(shù)據(jù)轉(zhuǎn)換為8個(gè)429數(shù)據(jù)字儲(chǔ)存到FIFO中,經(jīng)單片機(jī)控制,一次發(fā)送8個(gè)ARINC429串行數(shù)據(jù)作為一個(gè)通信幀。反之,HS3282可將32位的429數(shù)據(jù)轉(zhuǎn)換為2個(gè)16位并行數(shù)據(jù),單片機(jī)分兩次讀取后,轉(zhuǎn)換為4個(gè)8位串行數(shù)據(jù),經(jīng)電平轉(zhuǎn)換后傳輸給計(jì)算機(jī)。計(jì)算機(jī)端武器測(cè)控系統(tǒng)軟件,對(duì)串行數(shù)據(jù)進(jìn)行解碼后得到武器系統(tǒng)相應(yīng)的狀態(tài)和反饋信息。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)以C8051F340為控制核心,C8051F340單片機(jī)由美國(guó)Silicon Labs公司設(shè)計(jì);指令速度可以高達(dá)48 MIPS,擁有40個(gè)I/O口,能夠滿足串并數(shù)據(jù)轉(zhuǎn)換的處理速度和控制引腳的數(shù)量要求。
HS3282芯片是intersil公司生產(chǎn)的CMOS ARINC總線接口電路,滿足ABINC429規(guī)范的要求。供電電壓+5 V,內(nèi)部包含相互獨(dú)立工作的2個(gè)接收器和1個(gè)發(fā)送器。接收端可直接與429總線相連,發(fā)送端配合HS3182電平驅(qū)動(dòng)芯片轉(zhuǎn)換為429電平。由于篇幅所限,其相關(guān)控制和指示引腳參見相關(guān)手冊(cè)。
單片機(jī)與HS-3282的連接關(guān)系如圖2所示。
單片機(jī)與HS-3282均為5 V電壓供電。
由于C8051F410單片機(jī)P4的I/O口不可位尋址,為了便于編程和識(shí)別,單片機(jī)P2.0-P2.7引腳分別接HS-3282的BD0-BD7口,P3.0-P3.7引腳接BD8-BD15,用于傳輸和接收16位的并口數(shù)據(jù)。P0口專門連接HS-3282的控制和狀態(tài)指示引腳。C8051F410單片機(jī)異步串行通信口只能配置在P0.4和P0.5口,因此P0.4和P0.5用與串口通信,外接232電平轉(zhuǎn)換芯片。
HS3282除了與單片機(jī)相關(guān)引腳連接外,D429DI1(A)和429DI1(B)口用于連接武器系統(tǒng)的429總線,clk引腳用來外接有源晶振,根據(jù)芯片手冊(cè)要求,這里外接1 MHz的有源晶振。
HS3282輸出信號(hào)為TTL電平,為了將信號(hào)電壓抬升至符合ARINIC429總線要求的標(biāo)準(zhǔn),通過專用的HS3182驅(qū)動(dòng)芯片與之配合。需外接+15 V和-15 V,本文采用了開關(guān)電源供電,可滿足系統(tǒng)功耗要求。HS3282輸出的429差分信號(hào)經(jīng)HS3182驅(qū)動(dòng)后,通過引腳Aout和Bout與武器系統(tǒng)進(jìn)行429通信。
Ca和Cb根據(jù)429通信速率的高低外接不同的高精度電容。100 kB通信速率時(shí)為75 pF,低于14.5 kB通信速率時(shí)為300 pF。
單片機(jī)的串口使用TTL電平標(biāo)準(zhǔn),它的邏輯1電平是5 V,邏輯0電平是0 V,而電腦串行口所使用的是RS232C的電平標(biāo)準(zhǔn),它的邏輯1電平是-3~12 V,邏輯0電平是+3~+12 V。兩者的電平范圍相差很遠(yuǎn),連接時(shí)需要用到電平轉(zhuǎn)換電路。本文采用商用的MAX3232芯片組成電平轉(zhuǎn)換電路,如圖4所示。
MAX3232外接極性電容值均為0.1μF。MAX3232對(duì)兩路TTL電平進(jìn)行轉(zhuǎn)換,本文使用了其中一路。T1IN接單片機(jī)串口發(fā)送,R1OUT接單片機(jī)串口接收引腳。T1OUT接電腦串口接收引腳,R1IN接電腦串口發(fā)送引腳。
3 測(cè)控系統(tǒng)軟件設(shè)計(jì)
該測(cè)控系統(tǒng)的軟件分為單片機(jī)固件程序和上位機(jī)程序2部分。
單片機(jī)固件程序?qū)崿F(xiàn)單片機(jī)和接口芯片寄存器初始化配置、數(shù)據(jù)格式轉(zhuǎn)換、接收和發(fā)送控制等功能。利用到了單片機(jī)的中斷系統(tǒng)、通用I/O口、定時(shí)器和串口UART0。固件程序目的在于實(shí)現(xiàn)串口數(shù)據(jù)與429數(shù)據(jù)的轉(zhuǎn)換、接收和發(fā)送,從而建立上位機(jī)程序與武器系統(tǒng)之間的通信。
上位機(jī)程序采用VB語(yǔ)言編寫,通過RS-232串口與單片機(jī)通信。可發(fā)送測(cè)控命令給武器系統(tǒng),同時(shí)能實(shí)時(shí)反饋武器系統(tǒng)的工作狀態(tài)。
單片機(jī)固件程序,是測(cè)控系統(tǒng)軟件設(shè)計(jì)的核心。其主要功能是將上位機(jī)命令轉(zhuǎn)換為ARINC429格式數(shù)據(jù),按照一定幀周期發(fā)送給武器系統(tǒng),并能將武器系統(tǒng)反饋數(shù)據(jù)轉(zhuǎn)換為RS232串口數(shù)據(jù)發(fā)送至上位機(jī),從而能夠?qū)崟r(shí)監(jiān)測(cè)武器系統(tǒng)工作狀態(tài)。
初始配置,用于初始化單片機(jī)和HS3282相關(guān)寄存器,對(duì)IO口進(jìn)行配置和定義。
根據(jù)硬件連接關(guān)系,為方便程序操作,對(duì)IO口做定義如下。
根據(jù)武器系統(tǒng)通信要求,配置ARINC429通信速率100 kb/s,32位有效數(shù)字,奇校驗(yàn),并關(guān)閉自測(cè)功能。根據(jù)芯片手冊(cè)說明,程序設(shè)計(jì)如下
時(shí)鐘產(chǎn)生模塊由單片機(jī)定時(shí)器實(shí)現(xiàn),單片機(jī)定時(shí)器配置為50 ms一次中斷,在中斷服務(wù)程序中一次性發(fā)送8個(gè)32位的429數(shù)據(jù),構(gòu)成一個(gè)數(shù)據(jù)幀,從而實(shí)現(xiàn)50 ms的幀速率。
串并轉(zhuǎn)換模塊,對(duì)4個(gè)8位串口數(shù)據(jù)和32位ARINC429數(shù)據(jù)進(jìn)行轉(zhuǎn)換。單片機(jī)在接收到4個(gè)8位串口數(shù)據(jù)后,依次排列,按照從低位到高位的順序,分兩次輸出到16個(gè)IO口,HS3282讀取并口數(shù)據(jù)并儲(chǔ)存在FIFO中,組成一個(gè)32位的ARINC429數(shù)據(jù)。429總線數(shù)據(jù)的接收采用中斷方式,當(dāng)DR1口為低電平時(shí),觸發(fā)外部中斷服務(wù)程序,程序分兩次對(duì)16個(gè)IO口進(jìn)行讀取后將數(shù)據(jù)儲(chǔ)存在一個(gè)8位數(shù)據(jù)數(shù)組中,當(dāng)數(shù)組元素達(dá)到32個(gè)時(shí),完成一次429幀周期的數(shù)據(jù)讀取,此時(shí)在外部中斷程序中以查詢發(fā)送的方式,將數(shù)據(jù)發(fā)送至上位機(jī)。
收發(fā)控制模塊對(duì)發(fā)送和接收數(shù)據(jù)以及命令數(shù)據(jù)的改變進(jìn)行合理時(shí)序安排,單片機(jī)未接收上位機(jī)命令時(shí),以50 ms的幀周期,發(fā)送默認(rèn)查詢命令給武器系統(tǒng),當(dāng)收到1個(gè)幀周期的反饋數(shù)據(jù)后,將32位格式的ARINC數(shù)據(jù)分割為4個(gè)8位數(shù)據(jù),通過UART0發(fā)送至上位機(jī)。當(dāng)收到上位機(jī)命令時(shí),進(jìn)入串口中斷,對(duì)命令數(shù)據(jù)進(jìn)行解析后,改變相應(yīng)的發(fā)送數(shù)據(jù),以50 ms的幀周期發(fā)送操作命令給武器系統(tǒng),得到系統(tǒng)操作反饋信息后通過串口發(fā)送至上位機(jī)。
串口通信模塊,可實(shí)時(shí)接收武器系統(tǒng)反饋數(shù)據(jù)。機(jī)載武器系統(tǒng)處理的數(shù)據(jù)對(duì)象,往往不是以單個(gè)數(shù)據(jù)為單位的,而是一組長(zhǎng)度固定的數(shù)據(jù),其中每一個(gè)數(shù)據(jù)包含著不同的地址信息和數(shù)據(jù)信息。這里我們稱這組數(shù)據(jù)為一個(gè)數(shù)據(jù)幀,單片機(jī)在收完一個(gè)數(shù)據(jù)幀的數(shù)據(jù)后才將數(shù)據(jù)反饋給上位機(jī);上位機(jī)通過串口發(fā)送相應(yīng)操作命令給單片機(jī),單片機(jī)通過串口接收中斷接受命令,改變發(fā)送的命令數(shù)據(jù),從而對(duì)武器系統(tǒng)進(jìn)行相關(guān)操作。
ARINC429標(biāo)準(zhǔn)數(shù)據(jù)與HS3282數(shù)據(jù)對(duì)應(yīng)位關(guān)系如圖6所示。
可以看出,ARINC429數(shù)據(jù)標(biāo)號(hào)位與正常順序正好相反,要先發(fā)送高位后發(fā)送低位。ARINC429數(shù)據(jù)的高3位要后移至8-10位,發(fā)送和讀取相應(yīng)32位的ARINC數(shù)據(jù)時(shí),要對(duì)相應(yīng)位的數(shù)據(jù)進(jìn)行移位和反轉(zhuǎn)操作。
單片機(jī)固件程序流程圖如圖7所示。
上位機(jī)程序,采用VB語(yǔ)言編寫了人機(jī)交互界面,如圖8所示。利用MSComm控件,建立PC機(jī)與單片機(jī)之間的串口通信。
發(fā)送命令時(shí),上位機(jī)通過串口一次性發(fā)送32個(gè)8位數(shù)據(jù)給單片機(jī),單片機(jī)將數(shù)據(jù)組合為8個(gè)32位的ARINC429數(shù)據(jù),構(gòu)成一個(gè)數(shù)據(jù)幀,在定時(shí)器的中斷服務(wù)程序中,依次存入HS3282的FIFO中后,啟動(dòng)發(fā)送,可一次性發(fā)送8個(gè)429格式數(shù)據(jù)給武器系統(tǒng)。
接收武器系統(tǒng)反饋數(shù)據(jù)時(shí),上位機(jī)程序通過檢測(cè)不同的標(biāo)志位,可分離出8個(gè)不同的429數(shù)據(jù)。根據(jù)HS3282的2個(gè)高低16位數(shù)據(jù)與標(biāo)準(zhǔn)ARIN C429數(shù)據(jù)位對(duì)應(yīng)關(guān)系,解析出相關(guān)武器系統(tǒng)工作信息,顯示在人機(jī)界面當(dāng)中。
上位機(jī)串口配置程序如下:
則InStrRev (BytReceived;'A0')返回1,InStrRev (BytReceived;'A1')返回9,每4個(gè)8位字符構(gòu)成一個(gè)32位的ARINC429數(shù)據(jù)。每組數(shù)據(jù)的后2個(gè)8位數(shù)據(jù)對(duì)應(yīng)標(biāo)準(zhǔn)ARINC429數(shù)據(jù)的14到29位。程序通過對(duì)標(biāo)志位數(shù)據(jù)搜索,確定數(shù)據(jù)位位置后,每組后2個(gè)數(shù)據(jù)位進(jìn)行位解析和數(shù)據(jù)組合,可獲得武器系統(tǒng)的相關(guān)信息。
4 實(shí)驗(yàn)應(yīng)用
該測(cè)控系統(tǒng)用于某型機(jī)載武器的外場(chǎng)測(cè)試;其測(cè)控內(nèi)容涵蓋了機(jī)彈接口、部件性能、舵機(jī)系統(tǒng)等多個(gè)方面。測(cè)控主要界面如圖9所示。
進(jìn)行測(cè)試時(shí),首先要給武器系統(tǒng)和單片機(jī)依次上電,單片機(jī)加電后自動(dòng)發(fā)送自檢命令給武器系統(tǒng)。系統(tǒng)正常后,測(cè)控界面相關(guān)指示燈變綠。若出現(xiàn)異常,則相應(yīng)異常部分指示燈變紅。若自檢結(jié)果一切正常,則可設(shè)置模擬目標(biāo)給武器系統(tǒng),通過系統(tǒng)供氣,解鎖,以及引信解保,完成武器系統(tǒng)一個(gè)戰(zhàn)斗過程的完整測(cè)試。該測(cè)控系統(tǒng)也可對(duì)舵機(jī)發(fā)送相關(guān)控制指令,改變武器舵機(jī)的方位和俯仰角。舵機(jī)實(shí)時(shí)姿態(tài)信息,通過右側(cè)的方位角和俯仰角文本控件實(shí)時(shí)顯示。
本測(cè)控系統(tǒng)已應(yīng)用于武器系統(tǒng)掛載前的外場(chǎng)測(cè)試,實(shí)踐表明該系統(tǒng)測(cè)試結(jié)果準(zhǔn)確、穩(wěn)定可靠,實(shí)現(xiàn)了系統(tǒng)的經(jīng)濟(jì)化、小型化,也提高了系統(tǒng)的通用性和便攜性。
5 結(jié)論
該測(cè)控系統(tǒng)采用C8051F340配合專用的接口轉(zhuǎn)換芯片HS3282建立計(jì)算機(jī)與武器系統(tǒng)之間的通信,利用VB語(yǔ)言編寫了上位機(jī)測(cè)控系統(tǒng)軟件,以單片機(jī)為主控芯片,解決了RS232-與ARINC429接口的轉(zhuǎn)換問題,實(shí)現(xiàn)了武器系統(tǒng)信息的實(shí)時(shí)反饋和上位機(jī)對(duì)武器系統(tǒng)的模擬操控。在多次外場(chǎng)測(cè)試中,順利實(shí)現(xiàn)了武器掛載前的檢測(cè)。實(shí)際應(yīng)用表明該測(cè)控系統(tǒng)具有測(cè)試準(zhǔn)確、穩(wěn)定可靠、人機(jī)界面友好等特點(diǎn),達(dá)到了設(shè)計(jì)要求。
評(píng)論