基于STM32單片機(jī)的火控系統(tǒng)信號(hào)采集測(cè)試
火控系統(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].
本文引用地址:http://www.ex-cimer.com/article/148186.htm普通信號(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ǔ)器的讀寫(xiě),眾多的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閃存芯片,具有2MB存儲(chǔ)空間,單片機(jī)通過(guò)SPI接口控制其讀寫(xiě)過(guò)程,具有擦寫(xiě)速率快、壽命長(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à)值。
評(píng)論