摘 要: 提出了一種基于STM32單片機(jī)的火控系統(tǒng)信號(hào)采集測(cè)試方案,,以新型ARMv7系列STM32單片機(jī)為控制核心,利用其豐富的外設(shè)接口和I/O資源對(duì)某型裝備火控系統(tǒng)輸出信號(hào)進(jìn)行采集,、測(cè)試與分析,,確定某火力控制板功能的完好性。方案完成了對(duì)某型火力控制板輸出的數(shù)字信號(hào)和模擬信號(hào)的采集,、存儲(chǔ)與測(cè)量工作,,且可以為其提供部分測(cè)試需要信號(hào),具有CAN接口,,可以與控制器局域網(wǎng)內(nèi)其他節(jié)點(diǎn)進(jìn)行互通,,具有體積小、結(jié)構(gòu)簡(jiǎn)單,、操作方便和易于實(shí)現(xiàn)等優(yōu)點(diǎn),具有一定的實(shí)際意義,。
關(guān)鍵詞: STM32; 火控板,; 采集; CAN
火控系統(tǒng)是控制火炮瞄準(zhǔn)和發(fā)射的系統(tǒng),火控計(jì)算機(jī)是火控系統(tǒng)的核心,,在完成火控解算進(jìn)而引導(dǎo)高炮射擊時(shí)具有重要作用,。由于火控系統(tǒng)信號(hào)眾多,狀態(tài)復(fù)雜,,對(duì)其關(guān)鍵信號(hào)的采集測(cè)試就顯得尤為重要[1],。
普通信號(hào)采集測(cè)試裝置具有結(jié)構(gòu)復(fù)雜、造價(jià)昂貴,、攜帶不便等特點(diǎn),,該方案結(jié)合最新型ARMv7系列STM32單片機(jī),利用其豐富的外設(shè)接口和I/O資源,,對(duì)某型火控系統(tǒng)的重點(diǎn)輸出信號(hào)進(jìn)行采集,存入板載Flash以備使用,。另外,為便于使用和調(diào)試,,還設(shè)計(jì)了CAN接口和RS-232串口,。該信號(hào)采集盒大小為100 mm×65 mm,可由被測(cè)板提供電源信號(hào),,具有攜帶方便,、使用簡(jiǎn)單的特點(diǎn),對(duì)裝備信號(hào)的實(shí)時(shí)采集具有重要的實(shí)用意義。
1 總體設(shè)計(jì)方案
1.1 總體設(shè)計(jì)框圖
總體設(shè)計(jì)框圖如圖1所示,其中裝備板是被測(cè)對(duì)象,STM32為控制核心,用于完成對(duì)各電路的控制,,CAN總線用于與其他節(jié)點(diǎn)間的通信,,RS-232串口用于調(diào)試及與LCD液晶屏通信。裝備板被測(cè)信息分為模擬信號(hào)和數(shù)字信號(hào),,可向裝備版提供5路數(shù)字控制信號(hào),,以模擬裝備板的輸入信號(hào)。
1.2 硬件設(shè)計(jì)
該方案的硬件組成主要包括:電源轉(zhuǎn)換模塊,、微控制器模塊,、信號(hào)調(diào)理模塊、CAN接口電路,、Flash接口模塊和信號(hào)顯示模塊等,。
1.2.1 電源轉(zhuǎn)換模塊
被測(cè)裝備板采用7.5 V~8 V電壓供電,信號(hào)采集板需要3.3 V,、5 V以及±12 V四種電壓等級(jí),,因此需要將測(cè)試板載電壓等級(jí)進(jìn)行轉(zhuǎn)換。5 V和3.3 V采用兩片Alpha公司高性能,、低功耗AS117電源轉(zhuǎn)換模塊,;±12 V電壓由兩片輸入輸出隔離單輸出DC/DC模塊DLW02-05S12獲得。經(jīng)實(shí)驗(yàn)測(cè)試得知,,用上述方法得到的電壓紋波較小,,電壓幅值穩(wěn)定,滿足要求,。
1.2.2 微控制器模塊
微控制器采用基于Cortex-M3內(nèi)核型號(hào)為STM32F-
103R8單片機(jī),,最高頻率可達(dá)72 MHz,具有性能強(qiáng)勁,、代碼密度高,、位帶操作、可嵌套中斷,、低成本和低功耗等眾多優(yōu)勢(shì),。STM32擁有FSMC、TIMER,、SPI,、I2C、USB,、CAN,、I2S、SDIO,、ADC,、DAC,、RTC和DMA等眾多外設(shè)和功能,擁有優(yōu)異的實(shí)時(shí)性能,,可提供84個(gè)中斷,、16級(jí)可編程優(yōu)先級(jí),另外支持SWD和JTAG兩種調(diào)試口,,為設(shè)計(jì)帶來(lái)很多方便[2],。
該微控制器帶有的CAN接口,可方便本系統(tǒng)與其他節(jié)點(diǎn)互聯(lián),,RS-232接口可用于調(diào)試及控制液晶顯示模塊,,兩路SPI接口可以完成MAX1270 A/D轉(zhuǎn)換器的通信控制及Flash存儲(chǔ)器的讀寫,眾多的I/O端口可以方便其他功能擴(kuò)展,。
1.2.3 信號(hào)調(diào)理模塊
火力控制板是某型火力控制系統(tǒng)的重要組成部分,,其輸出信號(hào)主要分為:8路模擬信號(hào)和8路輸出信號(hào)。
(1) 數(shù)字信號(hào)調(diào)理電路
為了便于處理火力控制板輸出的8路數(shù)字信號(hào),,在進(jìn)入單片機(jī)前需要對(duì)其進(jìn)行同步及電平轉(zhuǎn)換,。圖2為數(shù)字信號(hào)同步及電平轉(zhuǎn)換電路,主要器件為74HCT245,。需要注意的是,在輸入單片機(jī)時(shí)要對(duì)比其數(shù)據(jù)手冊(cè),選擇具有FT(容忍5 V)標(biāo)注的管腳,,防止電平不兼容[3]。
(2) 模擬信號(hào)調(diào)理電路
圖3為模擬信號(hào)調(diào)理電路,,它將火控板輸出的模擬信號(hào)進(jìn)行濾波及放大處理,。圖中,電容用來(lái)濾除一些來(lái)自地端的高頻串?dāng)_;R37為電位器,,用于靈活調(diào)整信號(hào)輸出大小,;2 V穩(wěn)壓二極管用于保護(hù)運(yùn)放LF412不被損壞,。另外,LF412可使用雙電壓模式,,且具有較高的轉(zhuǎn)換速率,,較為適合完成火控板上變化速率較快的信號(hào)處理工作。
1.2.4 CAN接口電路
控制器局域網(wǎng)CAN可以以最小的CPU符合來(lái)高效處理收到的大量報(bào)文,可用軟件配置報(bào)文發(fā)送的優(yōu)先級(jí)特性,。圖4為bxCAN模塊,,通過(guò)CAN總線收發(fā)器65HVD290可以完成自動(dòng)接收和發(fā)送CAN報(bào)文,對(duì)標(biāo)準(zhǔn)標(biāo)識(shí)符(11 bit)和擴(kuò)展標(biāo)識(shí)符(29 bit)完全支持[4],。通過(guò)CAN接口電路可以完成信號(hào)采集板與其他設(shè)備CAN網(wǎng)絡(luò)節(jié)點(diǎn)的連通,。
1.2.5 Flash接口電路
圖5為Flash閃存接口電路,用于存放采集到的數(shù)據(jù)以及其他節(jié)點(diǎn)傳送的信息。設(shè)計(jì)采用ST公司的M25P20閃存芯片,具有2 MB存儲(chǔ)空間,單片機(jī)通過(guò)SPI接口控制其讀寫過(guò)程,,具有擦寫速率快,、壽命長(zhǎng)等優(yōu)點(diǎn)[5],可以較好地完成采集板數(shù)據(jù)高速存取,。
1.2.6 信號(hào)顯示模塊
液晶顯示器(LCD)是提供友好人機(jī)界面、實(shí)現(xiàn)信息交互的關(guān)鍵器件,,具有功耗低,、體積小、顯示效果好等相對(duì)于傳統(tǒng)顯示方式的優(yōu)點(diǎn)[6],。系統(tǒng)采用基于ARM920T內(nèi)核的藍(lán)海微芯7寸液晶屏,,通過(guò)RS-232串口與STM32通信,完成信息顯示工作,。
1.3 軟件設(shè)計(jì)
STM32單片機(jī)使用Keil對(duì)其編程,,使用J-Link下載器調(diào)試,下載采用JTAG方式,,使用ST提供的庫(kù)函數(shù)操作,,非常方便。
1.3.1 模擬信號(hào)數(shù)據(jù)采集子程序
模擬信號(hào)采集是通過(guò)美信MAX1270進(jìn)行A/D轉(zhuǎn)換實(shí)現(xiàn)的,。A/D轉(zhuǎn)換芯片MAX1270通過(guò)SPI接口與單片機(jī)通信,。信號(hào)采集子程序流程圖如圖6所示,首先,對(duì)ADC進(jìn)行初始化,進(jìn)行采樣時(shí)間,、轉(zhuǎn)換時(shí)鐘的設(shè)定等,;然后,啟動(dòng)ADC,對(duì)調(diào)理信號(hào)進(jìn)行采集,,任一時(shí)段采樣結(jié)果為8次連續(xù)采樣的平均值,;A/D轉(zhuǎn)換結(jié)束后,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序,,對(duì)采樣得到的數(shù)據(jù)進(jìn)行分析和處理,。
1.3.2 數(shù)字信號(hào)數(shù)據(jù)采集子程序
數(shù)字信號(hào)的采集通過(guò)STM32的輸入引腳完成。數(shù)字信號(hào)經(jīng)過(guò)調(diào)理同步后可以對(duì)其進(jìn)行實(shí)時(shí)捕獲,,通過(guò)讀取各管腳狀態(tài)獲得采集值,。另外,對(duì)于一些頻率信號(hào)的采集,,可以通過(guò)設(shè)定相應(yīng)管腳的中斷狀態(tài)進(jìn)行,,在信號(hào)的上升沿時(shí)刻進(jìn)行捕獲。頻率信號(hào)數(shù)據(jù)采集子程序流程如圖7所示,。
2 實(shí)驗(yàn)結(jié)果與分析
為了進(jìn)一步檢驗(yàn)采集板信號(hào)采集性能,,利用C++ Builder設(shè)計(jì)了數(shù)據(jù)簡(jiǎn)易分析程序,用RS-232串口與上位機(jī)通信,實(shí)時(shí)顯示采集到的數(shù)據(jù),圖8是提取的一組數(shù)據(jù),。
模擬通道采用直流27 V為測(cè)試源,。由上圖可知,采集值最小為26.93 V,,采集誤差僅為0.26%,,可見(jiàn)對(duì)直流模擬信號(hào)采集誤差較小,,穩(wěn)定性較高。
數(shù)字通道采用信號(hào)發(fā)生器產(chǎn)生1 kHz的測(cè)試源,。由圖8可知,,采集值最小為996 Hz,誤差為0.4%,,滿足需求,,穩(wěn)定性較高。
本文根據(jù)某火控系統(tǒng)檢測(cè)需要,,設(shè)計(jì)了一種基于STM32系列單片機(jī)的火力控制板信息采集測(cè)試方案,,可作為控制器局域網(wǎng)CAN總線的一個(gè)節(jié)點(diǎn)與其他節(jié)點(diǎn)進(jìn)行通信,設(shè)備體積小,、操作簡(jiǎn)單,、易于實(shí)現(xiàn),且采集與測(cè)量精度較高,,具有一定的使用價(jià)值,。
參考文獻(xiàn)
[1] 周建平. 火控計(jì)算機(jī)多功能板設(shè)計(jì)與實(shí)現(xiàn)[D].西安:電子科技大學(xué),2008.
[2] 劉軍. 例說(shuō)STM32[M].北京:北京航空航天大學(xué)出版社,,2011.
[3] 意法半導(dǎo)體. STM32F103中文參考手冊(cè)[M/OL]. 2007[2012-03-22]http://www.st.com/stonline/products/literature/ds/13587.pdf.
[4] 姜飛,陳鑫,,靳小軍,等. 基于CAN通信適配器硬件設(shè)計(jì)與軟件驅(qū)動(dòng)編程[J].計(jì)算機(jī)測(cè)量與控制,,2011,,19(8): 2033-2034.
[5] 意法半導(dǎo)體. M25P20數(shù)據(jù)手冊(cè)[M/OL].2002[2012-03-22]. http://www.st.com/.
[6] 張永斌,胡金高. 基于DSP的LCD顯示控制與設(shè)計(jì)[J].液晶與顯示,2011,26(5):626-627.