基于STM32單片機的火控系統信號采集測試
火控系統是控制火炮瞄準和發(fā)射的系統,火控計算機是火控系統的核心,在完成火控解算進(jìn)而引導高炮射擊時(shí)具有重要作用。由于火控系統信號眾多,狀態(tài)復雜,對其關(guān)鍵信號的采集測試就顯得尤為重要[1].
本文引用地址:http://dyxdggzs.com/article/148186.htm普通信號采集測試裝置具有結構復雜、造價(jià)昂貴、攜帶不便等特點(diǎn),該方案結合最新型ARMv7系列STM32單片機,利用其豐富的外設接口和I/O資源,對某型火控系統的重點(diǎn)輸出信號進(jìn)行采集,存入板載Flash以備使用。另外,為便于使用和調試,還設計了CAN接口和RS-232串口。該信號采集盒大小為100 mm×65 mm,可由被測板提供電源信號,具有攜帶方便、使用簡(jiǎn)單的特點(diǎn),對裝備信號的實(shí)時(shí)采集具有重要的實(shí)用意義。
1總體設計方案
1.1總體設計框圖
總體設計框圖如圖1所示,其中裝備板是被測對象,STM32為控制核心,用于完成對各電路的控制,CAN總線(xiàn)用于與其他節點(diǎn)間的通信,RS-232串口用于調試及與LCD液晶屏通信。裝備板被測信息分為模擬信號和數字信號,可向裝備版提供5路數字控制信號,以模擬裝備板的輸入信號。

1.2 硬件設計
該方案的硬件組成主要包括:電源轉換模塊、微控制器模塊、信號調理模塊、CAN接口電路、Flash接口模塊和信號顯示模塊等。
1.2.1 電源轉換模塊
被測裝備板采用7.5 V~8 V電壓供電,信號采集板需要3.3 V、5 V以及±12 V四種電壓等級,因此需要將測試板載電壓等級進(jìn)行轉換。5 V和3.3 V采用兩片Alpha公司高性能、低功耗AS117電源轉換模塊;±12 V電壓由兩片輸入輸出隔離單輸出DC/DC模塊DLW02-05S12獲得。經(jīng)實(shí)驗測試得知,用上述方法得到的電壓紋波較小,電壓幅值穩定,滿(mǎn)足要求。
1.2.2 微控制器模塊
微控制器采用基于Cortex-M3內核型號為STM32F-103R8單片機,最高頻率可達72 MHz,具有性能強勁、代碼密度高、位帶操作、可嵌套中斷、低成本和低功耗等眾多優(yōu)勢。STM32擁有FSMC、TIMER、SPI、I2C、USB、CAN、I2S、SDIO、ADC、DAC、RTC和DMA等眾多外設和功能,擁有優(yōu)異的實(shí)時(shí)性能,可提供84個(gè)中斷、16級可編程優(yōu)先級,另外支持SWD和JTAG兩種調試口,為設計帶來(lái)很多方便[2]。
該微控制器帶有的CAN接口,可方便本系統與其他節點(diǎn)互聯(lián),RS-232接口可用于調試及控制液晶顯示模塊,兩路SPI接口可以完成MAX1270 A/D轉換器的通信控制及Flash存儲器的讀寫(xiě),眾多的I/O端口可以方便其他功能擴展。
1.2.3 信號調理模塊
火力控制板是某型火力控制系統的重要組成部分,其輸出信號主要分為:8路模擬信號和8路輸出信號。
(1) 數字信號調理電路
為了便于處理火力控制板輸出的8路數字信號,在進(jìn)入單片機前需要對其進(jìn)行同步及電平轉換。圖2為數字信號同步及電平轉換電路,主要器件為74HCT245。需要注意的是,在輸入單片機時(shí)要對比其數據手冊,選擇具有FT(容忍5 V)標注的管腳,防止電平不兼容[3]。

(2) 模擬信號調理電路
圖3為模擬信號調理電路,它將火控板輸出的模擬信號進(jìn)行濾波及放大處理。圖中,電容用來(lái)濾除一些來(lái)自地端的高頻串擾;R37為電位器,用于靈活調整信號輸出大小;2 V穩壓二極管用于保護運放LF412不被損壞。另外,LF412可使用雙電壓模式,且具有較高的轉換速率,較為適合完成火控板上變化速率較快的信號處理工作。

1.2.4 CAN接口電路
控制器局域網(wǎng)CAN可以以最小的CPU符合來(lái)高效處理收到的大量報文,可用軟件配置報文發(fā)送的優(yōu)先級特性。圖4為bxCAN模塊,通過(guò)CAN總線(xiàn)收發(fā)器65HVD290可以完成自動(dòng)接收和發(fā)送CAN報文,對標準標識符(11 bit)和擴展標識符(29 bit)完全支持[4]。通過(guò)CAN接口電路可以完成信號采集板與其他設備CAN網(wǎng)絡(luò )節點(diǎn)的連通。

1.2.5 Flash接口電路
圖5為Flash閃存接口電路,用于存放采集到的數據以及其他節點(diǎn)傳送的信息。設計采用ST公司的M25P20閃存芯片,具有2MB存儲空間,單片機通過(guò)SPI接口控制其讀寫(xiě)過(guò)程,具有擦寫(xiě)速率快、壽命長(cháng)等優(yōu)點(diǎn)[5],可以較好地完成采集板數據高速存取。

1.2.6信號顯示模塊
液晶顯示器(LCD)是提供友好人機界面、實(shí)現信息交互的關(guān)鍵器件,具有功耗低、體積小、顯示效果好等相對于傳統顯示方式的優(yōu)點(diǎn)[6].系統采用基于ARM920T內核的藍海微芯7寸液晶屏,通過(guò)RS-232串口與STM32通信,完成信息顯示工作。
1.3軟件設計
STM32單片機使用Keil對其編程,使用J-Link下載器調試,下載采用JTAG方式,使用ST提供的庫函數操作,非常方便。
1.3.1模擬信號數據采集子程序
模擬信號采集是通過(guò)美信MAX1270進(jìn)行A/D轉換實(shí)現的。A/D轉換芯片MAX1270通過(guò)SPI接口與單片機通信。信號采集子程序流程圖如圖6所示,首先,對ADC進(jìn)行初始化,進(jìn)行采樣時(shí)間、轉換時(shí)鐘的設定等;然后,啟動(dòng)ADC,對調理信號進(jìn)行采集,任一時(shí)段采樣結果為8次連續采樣的平均值;A/D轉換結束后,轉入相應的中斷服務(wù)程序,對采樣得到的數據進(jìn)行分析和處理。

1.3.2 數字信號數據采集子程序
數字信號的采集通過(guò)STM32的輸入引腳完成。數字信號經(jīng)過(guò)調理同步后可以對其進(jìn)行實(shí)時(shí)捕獲,通過(guò)讀取各管腳狀態(tài)獲得采集值。另外,對于一些頻率信號的采集,可以通過(guò)設定相應管腳的中斷狀態(tài)進(jìn)行,在信號的上升沿時(shí)刻進(jìn)行捕獲。頻率信號數據采集子程序流程如圖7所示。

2 實(shí)驗結果與分析
為了進(jìn)一步檢驗采集板信號采集性能,利用C++ Builder設計了數據簡(jiǎn)易分析程序,用RS-232串口與上位機通信,實(shí)時(shí)顯示采集到的數據,圖8是提取的一組數據。
模擬通道采用直流27 V為測試源。由上圖可知,采集值最小為26.93 V,采集誤差僅為0.26%,可見(jiàn)對直流模擬信號采集誤差較小,穩定性較高。
數字通道采用信號發(fā)生器產(chǎn)生1 kHz的測試源。由圖8可知,采集值最小為996 Hz,誤差為0.4%,滿(mǎn)足需求,穩定性較高。
本文根據某火控系統檢測需要,設計了一種基于STM32系列單片機的火力控制板信息采集測試方案,可作為控制器局域網(wǎng)CAN總線(xiàn)的一個(gè)節點(diǎn)與其他節點(diǎn)進(jìn)行通信,設備體積小、操作簡(jiǎn)單、易于實(shí)現,且采集與測量精度較高,具有一定的使用價(jià)值。
評論