基于C8051F340的機載武器測控系統設計
摘要:為了實現對某型機栽武器測控的需求,利用C8051F340單片機和HS3282芯片設計了ARINC429總線和計算機RS-232總線的接口轉換電路,通過C語言設計了單片機固件程序,實現了串并數據的轉換與傳輸以及數據傳輸速率和字長的設置。最后利用VB語言編寫了PC端武器測控系統軟件,對串口數據進行解碼和發送,實現了對武器系統的實時檢測和控制。實際應用表明,該系統具有測試結果實時準確、響應命令迅速無誤的特點,可滿足外場測試的需求。
本文引用地址:http://www.104case.com/article/201610/308984.htm現代戰機配備有空空導彈、空地導彈、制導炸彈、航空炮彈等多種武器系統,目前飛控系統與機載武器系統交換數據的總線主要有:ARI NC429總線、1553B總線、RS422總線等。ARINC429是專為航空電子系統通訊規定的航空工業標準;它是航空通訊設備最常用的數據接口之一,不僅應用于民用航空領域如空客A310/A320、A330/A340飛機,波音727、737、747、757和767飛機.也廣泛應用于機載武器系統,如“鷹擊-81”空艦導彈機載系統的232H機載雷達、ZJ-9指揮儀、210多普勒導航系統、HZX-5航向姿態系統、8415大氣數據系統和622自動飛行控制系統均采用ARINC429總線連接。某型武器同樣采用ARINC429總線與飛控系統進行通信,為了利用計算機模擬飛控系統對該武器進行現場監測和控制,需要實現計算機與武器系統的ARINC429接口通信,傳統的方法是在計算機中擴展一個基于ISA或PCI總線的ARINC429卡,這種轉換卡往往價格昂貴,不同計算機采用總線結構不同也會降低ARINC429卡的通用性,轉換卡通信方式的配置也較為固定化,不利于自主編程,在沒有配備ARINC429卡的計算機上就無法實現對武器系統的測控。
為了解決上述問題,使計算機能夠與武器系統進行數據交換,文中利用C8051F340作為主控芯片,實現了RS232/ARINC429的接口轉換,上位機對接收到的轉換后的串口數據進行解碼,能實時顯示武器系統狀態,上位機以串口形式發送操控命令給下位機,下位機接收命令后通過HS3282芯片轉換為ARINC429格式數據發送給武器系統,在獲得武器系統響應后將結果反饋給上位機。
1 總體設計
測控系統的結構圖如圖1所示,機載武器系統采用ARINC429總線,32位字長通信,計算機采用RS232總線,為了建立武器系統與測控計算機之間的通信,測控計算機RS232串行數據經電平轉換芯片轉換為TTL電平后與C8051F340單片機建立異步串口通信,單片機在接收到4個8位串口數據后,通過I/O口將串行數據轉換為2個16位并行數據,429轉換芯片HS3282內部為16位數據總線;分兩次讀取單片機16個I/O口數據,構成32位ARINC429串行數據的低16位和高16位,由于HS3282FIFO中可存8個429數據字,因此單片機可連續接收32個8位串行數據,轉換為16個16位的并行數據給HS3282,HS3282將16個16位并行數據轉換為8個429數據字儲存到FIFO中,經單片機控制,一次發送8個ARINC429串行數據作為一個通信幀。反之,HS3282可將32位的429數據轉換為2個16位并行數據,單片機分兩次讀取后,轉換為4個8位串行數據,經電平轉換后傳輸給計算機。計算機端武器測控系統軟件,對串行數據進行解碼后得到武器系統相應的狀態和反饋信息。

2 系統硬件設計
系統以C8051F340為控制核心,C8051F340單片機由美國Silicon Labs公司設計;指令速度可以高達48 MIPS,擁有40個I/O口,能夠滿足串并數據轉換的處理速度和控制引腳的數量要求。
HS3282芯片是intersil公司生產的CMOS ARINC總線接口電路,滿足ABINC429規范的要求。供電電壓+5 V,內部包含相互獨立工作的2個接收器和1個發送器。接收端可直接與429總線相連,發送端配合HS3182電平驅動芯片轉換為429電平。由于篇幅所限,其相關控制和指示引腳參見相關手冊。
單片機與HS-3282的連接關系如圖2所示。

單片機與HS-3282均為5 V電壓供電。
由于C8051F410單片機P4的I/O口不可位尋址,為了便于編程和識別,單片機P2.0-P2.7引腳分別接HS-3282的BD0-BD7口,P3.0-P3.7引腳接BD8-BD15,用于傳輸和接收16位的并口數據。P0口專門連接HS-3282的控制和狀態指示引腳。C8051F410單片機異步串行通信口只能配置在P0.4和P0.5口,因此P0.4和P0.5用與串口通信,外接232電平轉換芯片。

HS3282除了與單片機相關引腳連接外,D429DI1(A)和429DI1(B)口用于連接武器系統的429總線,clk引腳用來外接有源晶振,根據芯片手冊要求,這里外接1 MHz的有源晶振。
HS3282輸出信號為TTL電平,為了將信號電壓抬升至符合ARINIC429總線要求的標準,通過專用的HS3182驅動芯片與之配合。需外接+15 V和-15 V,本文采用了開關電源供電,可滿足系統功耗要求。HS3282輸出的429差分信號經HS3182驅動后,通過引腳Aout和Bout與武器系統進行429通信。
Ca和Cb根據429通信速率的高低外接不同的高精度電容。100 kB通信速率時為75 pF,低于14.5 kB通信速率時為300 pF。
單片機的串口使用TTL電平標準,它的邏輯1電平是5 V,邏輯0電平是0 V,而電腦串行口所使用的是RS232C的電平標準,它的邏輯1電平是-3~12 V,邏輯0電平是+3~+12 V。兩者的電平范圍相差很遠,連接時需要用到電平轉換電路。本文采用商用的MAX3232芯片組成電平轉換電路,如圖4所示。

MAX3232外接極性電容值均為0.1μF。MAX3232對兩路TTL電平進行轉換,本文使用了其中一路。T1IN接單片機串口發送,R1OUT接單片機串口接收引腳。T1OUT接電腦串口接收引腳,R1IN接電腦串口發送引腳。
3 測控系統軟件設計
該測控系統的軟件分為單片機固件程序和上位機程序2部分。
單片機固件程序實現單片機和接口芯片寄存器初始化配置、數據格式轉換、接收和發送控制等功能。利用到了單片機的中斷系統、通用I/O口、定時器和串口UART0。固件程序目的在于實現串口數據與429數據的轉換、接收和發送,從而建立上位機程序與武器系統之間的通信。
上位機程序采用VB語言編寫,通過RS-232串口與單片機通信。可發送測控命令給武器系統,同時能實時反饋武器系統的工作狀態。

單片機固件程序,是測控系統軟件設計的核心。其主要功能是將上位機命令轉換為ARINC429格式數據,按照一定幀周期發送給武器系統,并能將武器系統反饋數據轉換為RS232串口數據發送至上位機,從而能夠實時監測武器系統工作狀態。
初始配置,用于初始化單片機和HS3282相關寄存器,對IO口進行配置和定義。
根據硬件連接關系,為方便程序操作,對IO口做定義如下。


根據武器系統通信要求,配置ARINC429通信速率100 kb/s,32位有效數字,奇校驗,并關閉自測功能。根據芯片手冊說明,程序設計如下

時鐘產生模塊由單片機定時器實現,單片機定時器配置為50 ms一次中斷,在中斷服務程序中一次性發送8個32位的429數據,構成一個數據幀,從而實現50 ms的幀速率。
串并轉換模塊,對4個8位串口數據和32位ARINC429數據進行轉換。單片機在接收到4個8位串口數據后,依次排列,按照從低位到高位的順序,分兩次輸出到16個IO口,HS3282讀取并口數據并儲存在FIFO中,組成一個32位的ARINC429數據。429總線數據的接收采用中斷方式,當DR1口為低電平時,觸發外部中斷服務程序,程序分兩次對16個IO口進行讀取后將數據儲存在一個8位數據數組中,當數組元素達到32個時,完成一次429幀周期的數據讀取,此時在外部中斷程序中以查詢發送的方式,將數據發送至上位機。
收發控制模塊對發送和接收數據以及命令數據的改變進行合理時序安排,單片機未接收上位機命令時,以50 ms的幀周期,發送默認查詢命令給武器系統,當收到1個幀周期的反饋數據后,將32位格式的ARINC數據分割為4個8位數據,通過UART0發送至上位機。當收到上位機命令時,進入串口中斷,對命令數據進行解析后,改變相應的發送數據,以50 ms的幀周期發送操作命令給武器系統,得到系統操作反饋信息后通過串口發送至上位機。
串口通信模塊,可實時接收武器系統反饋數據。機載武器系統處理的數據對象,往往不是以單個數據為單位的,而是一組長度固定的數據,其中每一個數據包含著不同的地址信息和數據信息。這里我們稱這組數據為一個數據幀,單片機在收完一個數據幀的數據后才將數據反饋給上位機;上位機通過串口發送相應操作命令給單片機,單片機通過串口接收中斷接受命令,改變發送的命令數據,從而對武器系統進行相關操作。
ARINC429標準數據與HS3282數據對應位關系如圖6所示。

可以看出,ARINC429數據標號位與正常順序正好相反,要先發送高位后發送低位。ARINC429數據的高3位要后移至8-10位,發送和讀取相應32位的ARINC數據時,要對相應位的數據進行移位和反轉操作。
單片機固件程序流程圖如圖7所示。

上位機程序,采用VB語言編寫了人機交互界面,如圖8所示。利用MSComm控件,建立PC機與單片機之間的串口通信。

發送命令時,上位機通過串口一次性發送32個8位數據給單片機,單片機將數據組合為8個32位的ARINC429數據,構成一個數據幀,在定時器的中斷服務程序中,依次存入HS3282的FIFO中后,啟動發送,可一次性發送8個429格式數據給武器系統。
接收武器系統反饋數據時,上位機程序通過檢測不同的標志位,可分離出8個不同的429數據。根據HS3282的2個高低16位數據與標準ARIN C429數據位對應關系,解析出相關武器系統工作信息,顯示在人機界面當中。
上位機串口配置程序如下:

則InStrRev (BytReceived;'A0')返回1,InStrRev (BytReceived;'A1')返回9,每4個8位字符構成一個32位的ARINC429數據。每組數據的后2個8位數據對應標準ARINC429數據的14到29位。程序通過對標志位數據搜索,確定數據位位置后,每組后2個數據位進行位解析和數據組合,可獲得武器系統的相關信息。
4 實驗應用
該測控系統用于某型機載武器的外場測試;其測控內容涵蓋了機彈接口、部件性能、舵機系統等多個方面。測控主要界面如圖9所示。

進行測試時,首先要給武器系統和單片機依次上電,單片機加電后自動發送自檢命令給武器系統。系統正常后,測控界面相關指示燈變綠。若出現異常,則相應異常部分指示燈變紅。若自檢結果一切正常,則可設置模擬目標給武器系統,通過系統供氣,解鎖,以及引信解保,完成武器系統一個戰斗過程的完整測試。該測控系統也可對舵機發送相關控制指令,改變武器舵機的方位和俯仰角。舵機實時姿態信息,通過右側的方位角和俯仰角文本控件實時顯示。
本測控系統已應用于武器系統掛載前的外場測試,實踐表明該系統測試結果準確、穩定可靠,實現了系統的經濟化、小型化,也提高了系統的通用性和便攜性。
5 結論
該測控系統采用C8051F340配合專用的接口轉換芯片HS3282建立計算機與武器系統之間的通信,利用VB語言編寫了上位機測控系統軟件,以單片機為主控芯片,解決了RS232-與ARINC429接口的轉換問題,實現了武器系統信息的實時反饋和上位機對武器系統的模擬操控。在多次外場測試中,順利實現了武器掛載前的檢測。實際應用表明該測控系統具有測試準確、穩定可靠、人機界面友好等特點,達到了設計要求。
評論