劉葉楠,陳超波,張 峰
(西安工業大學 電子信息工程學院,西安710021)
隨著現代軍事科技的不斷發展,以計算機為核心的智能控制系統得到了廣泛的應用,各種空中目標在不斷的創新, 現代攻擊戰術可謂日新月異,這些對現代防空系統提出了更高要求[1];火炮作為中低空防空體系中主要力量, 在新的作戰形式下,需要不斷的改進,應該具有抗惡劣環境、強實時性、高可靠性和高安全性等特點[2];火炮隨動系統是典型的伺服系統,其動態性能與靜態性能直接影響了武器系統的作戰能力[3]。因此在通過多方面、多角度的研究、探討與總結,綜合了國內外相應控制系統的特點之后,決定采用一種新型的基于CAN 總線的火炮隨動系統,該系統主要用于完成對火炮狀態的檢測和向炮臺控制系統下達操作指令,實現對火炮方位和高低的準確控制以及火炮狀態的顯示功能[4-5]。
火炮系統控制臺主要由信號采集模塊、ARM 處理器模塊、信息存儲模塊、通信模塊、液晶顯示模塊、鍵盤輸入模塊組成。系統通過信號采集模塊采集火炮狀態的相關參數,將采集的信息傳輸到ARM 處理器模塊,處理后的數據一方面通過信息存儲模塊實現對數據的存儲功能,另一方面通過通信模塊實現遠程的信息傳輸和對火炮狀態的遠程監控和調整;液晶顯示模塊主要用來顯示火炮的控制模式、電機的位置、射速及射擊長度的設定值[6-7];鍵盤輸入模塊主要是對相關參數進行修改,保證系統最優的工作狀態[8];CAN 總線驅動模塊負責單片機與炮控驅動器的通信,完成數據的交換與命令的傳輸[9-10]。火炮系統整體結構如圖1所示。

圖1 火炮系統整體結構框圖Fig.1 Overall structure block diagram of artillery system
核心處理器作為整個系統控制的核心部分,是整個火炮控制系統的關鍵,確定了核心處理器的型號才能夠對系統外圍的電路進行設計。綜合多方面的考量之后, 為了能夠準確地控制火炮的方位,本系統選用ARM 處理器作為核心處理器[11]。
ARM 處理器STM32 具有數據處理速度快、功耗低和性能高等優點,本系統選用STM32F103 作為核心處理器。STM32F103 的工作頻率高達72 MHz,內部嵌有中斷控制器, 采用尾鏈的方式進行中斷,以達到降低CPU 周期的問題[12]。
CAN(controller area network)是ISO 國際標準化的串行通信協議[13],CAN 控制器工作于多主方式,網絡中的各節點都可根據總線訪問優先權(取決于報文標識符)采用無損結構的逐位仲裁的方式競爭向總線發送數據, 且CAN 協議廢除了站地址編碼,而代之以對通信數據進行編碼,這可使不同的節點同時接收到相同的數據,這些特點使得CAN 總線構成的網絡各節點之間的數據通信實時性強,并且容易構成冗余結構,提高系統的可靠性和系統的靈活性[14-15]。CAN 具有的完善的通信協議可由CAN 控制器芯片及其接口芯片來實現,從而大大降低系統開發難度, 縮短了開發周期,CAN 總線是具有通信速率高、容易實現、且性價比高等諸多特點的一種已形成國際標準的現場總線。本文基于CAN 總線驅動模塊,采用點對點的通信模式,負責單片機與炮控驅動器的通信,完成數據的交換與命令的傳輸[16]。
處理器電路包括STM32F103 芯片引腳連接和外圍電路設計, 主要包括位電路,JTAG 接口電路、外部晶振電路、去耦電路圖等。ARM 處理器電路如圖2所示。

圖2 處理器電路圖Fig.2 Processor circuit diagram
芯片的供電引腳19、32、48、64 接3.3 V 電壓。ARM 處理器中的引腳16(PA2)、引腳17(PA3)分別為串行發送口、 串行接收口,CAN 驅動模塊的串行接收口(P0.09)、串行發送口(P0.08)。其外圍電路包括JTAG 接口電路、復位電路、外部晶振電路、去耦電路,如圖3所示。


圖3 處理器外圍電路Fig.3 Processor peripheral circuit
CAN 總線由于采用了許多新技術及其獨特的設計, 與一般的通信總線相比,CAN 總線的數據通信具有突出的可靠性、實時性和靈活性。為了進一步提高系統的抗干擾能力, 在CAN 控制器引腳CANTX、CANRX 和收發器PCA82C250 之間并不是直接相連,而是通過由高速光耦6N137 構成的隔離電路后再與PCA82C250 相連,這樣就可以很好地實現總線上各節點的電氣隔離。這部分增加了節點的復雜性,但它卻提高了節點的穩定性和安全性。CAN控制器電路如圖4所示。
在STM32F103 與CAN 總線接口部分也采用了一些安全和抗干擾措施,PCA82C250 的CANH 和CANL 引腳各自通過一個120 Ω 的電阻與CAN 總線相連, 電阻可起到一定的限流作用, 從而保護PCA82C250 免受過流的沖擊。在CANH 和CANL 與地之間各自接一個0.1 μF 的小電容,可以起到濾除總線上的高頻干擾和防電磁輻射的作用。
該液晶模塊有8 條數據線和3 條控制線。設計中選擇用端口P5 作為數據線,P4.3 接控制引腳RD,P4.4 接控制引腳WR,P4.5 接控制引腳RS,P4.6 接控制引腳A0。液晶顯示接口電路設計如圖5所示。

圖4 CAN 控制器電路Fig.4 CAN controller circuit
信號采集模塊采集到火炮的相關信息之后,將采集的信息傳輸到ARM 處理器,ARM 處理器對接收的數據進行相關處理,處理后的數據一方面通過信息存儲模塊實現對數據的存儲功能,另一方面通過通信模塊實現遠距離信息傳輸,最后通過LCD 顯示出來,軟件程序包括主程序、初始化子程序、按鍵掃描子程序、數據存儲程序、CAN 通信子程序、顯示子程序。ARM 處理器實現對信號采集模塊采集到的火炮狀態信息進行處理和調整,顯示子程序的功能是將信號采集模塊采集到的火炮狀態信息和調整結果顯示在顯示屏上,按鍵子程序設置PA0 按鍵主要是起到緊急開關的作用, 當出現緊急情況時,可以通過按鍵控制火炮狀態。

圖5 液晶顯示接口電路設計Fig.5 Design of LCD interface circuit
主程序是整個系統正常工作的核心。主程序工作流程如下:系統開啟之后,主程序調用初始化子程序,完成對系統的初始化,完成系統初始化及開啟中斷之后,系統調用鍵盤掃描子程序,判斷是否有按鍵按下,如果有按鍵按下,系統就可以設定相應的變量值,之后系統按照設定的值驅動火炮程序和信號采集程序;如果沒有任何按鍵按下,系統則會對之前的數據進行存儲,同時通過顯示模塊將火炮的相關信息顯示出來。系統主程序流程如圖6所示。
本系統采用定時中斷的方式對按鍵狀態進行查詢。該方式與傳統的方行列掃描方式相比較有明顯的優勢,它既可以利用軟件程序進行消抖,還能有效的避免了由通信沖突引起的數據丟失問題,提高了系統的穩定性,極大地節省了CPU 資源,提高了掃描效率。鍵盤掃描具體流程如圖7所示。
本系統ARM 處理器以CAN 通信的方式與火炮驅動器進行數據傳輸。當開啟中斷之后,ARM 處理器與驅動器建立連接, 系統便可以讀取數據,并通過串口發送數據, 當數據讀取并發送結束之后,系統就會退出中斷。CAN 通信流程如圖8所示。

圖6 主程序流程Fig.6 Main program flow chart

圖7 鍵盤掃描流程圖Fig.7 Keyboard scanning flow chart
在完成系統整體方案設計的基礎之上,根據系統所搭建的軟硬件平臺,對所設計的火炮隨動系統主要從數據采集功能,數據處理功能及遠程通信功能這3 個方面進行功能測試。測試結果表明,火炮隨動系統不僅可以實現自檢功能、位置信息的采集與存儲功能,還可以對火炮進行相關參數設置以及對火炮的控制功能,并且能夠應用于實際的工程項目。

圖8 CAN 通信流程圖Fig.8 CAN communication flow chart
本系統主要是以嵌入式技術為基礎,設計了一套火炮隨動系統。硬件部分包括信息采集模塊電路、 信息存儲模塊電路、 通信模塊電路、ARM 處理器、LCD 顯示模塊等。軟件部分主要包括主程序、鍵盤掃描子程序、顯示程序等。該系統提高信號信息采集模塊完成對火炮狀態信息的采集, 在ARM 處理器模塊完成對信息的處理,在LCD 顯示屏顯示相關信息,并實現對火炮狀態的控制。系統測試結果表明:①該系統完成對火炮狀態的檢測和炮臺控制系統下達操作指令,實現對火炮方位和高低的準確控制以及火炮狀態的顯示功能;②基于嵌入式技術開發的火炮隨動系統具有安全性高、可靠性強和穩定性好等特點; ③以ARM 處理器作為核心處理器具有處理速度快等優點。
本系統以ARM 處理器為平臺進行了系統軟硬件平臺的搭建,不僅可以實現自檢功能,位置信息的采集與存儲功能,還可以對火炮進行相關參數設置以及對火炮的控制功能。系統安全性高、可靠性強。
聲明
最近社會上有一些機構和個人,冒充《自動化與儀表》編輯部收取文章發表版面費,本刊特在此作如下聲明:《自動化與儀表》雜志的網站為www.zdhyyb.com,投稿郵箱為zdhyyb@vip.sina.com,其他的網站和郵箱地址,均與本編輯部無關,請作者提高警惕,謹防上當!
《自動化與儀表》編輯部