羅靜博,林春生,陳 浩
(海軍工程大學(xué) 兵器工程學(xué)院,湖北 武漢 430031)
磁場(chǎng)信號(hào)是當(dāng)前目標(biāo)探測(cè)的一項(xiàng)重要探測(cè)源。磁場(chǎng)的測(cè)量已經(jīng)用于各個(gè)領(lǐng)域,如地球物理學(xué)、空間科學(xué)、生物醫(yī)學(xué)、工業(yè)探測(cè)和軍事技術(shù)等[1,2]。其中,在軍事領(lǐng)域中,水中兵器的攻防需要探測(cè)目標(biāo)作為前提,而磁信號(hào)較為未定,不易受水體的干擾[3]。所以磁場(chǎng)的測(cè)量就顯得極為重要。艦船、車輛、水中兵器等中型體量的鐵磁性物體的探測(cè)是其中一項(xiàng)重要的研究?jī)?nèi)容。本文在此背景下設(shè)計(jì)了一種以RM3100為磁感元件,并通過MSP430單片機(jī)控制的磁場(chǎng)信號(hào)采集系統(tǒng)。
該磁場(chǎng)信號(hào)采集系統(tǒng)組成由圖1給出,包括磁傳感器模塊、主控模塊、通信模塊和供電模塊。其中,RM3100磁傳感器和MSP430單片機(jī)都遵循了低功耗的要求[4,5]。
圖1 磁場(chǎng)信號(hào)采集系統(tǒng)
RM3100是采用3個(gè)地磁傳感器,通過MagI2C中集成的施密特采樣器直接輸出數(shù)字信號(hào),每個(gè)軸的磁場(chǎng)數(shù)字信號(hào)通過其補(bǔ)碼的形式由四個(gè)字節(jié)傳到主控單片機(jī),最后通過串口的形式輸出至上位機(jī)。系統(tǒng)實(shí)物圖如圖2所示。
圖2 采集系統(tǒng)實(shí)物圖
RM3100磁傳感器是由PNI公司研發(fā)的一種三軸磁傳感器。該傳感器由2只Sen-XY-f地磁傳感器、1只Sen-Z-f地磁傳感器和MagI2C控制芯片組成,可以實(shí)現(xiàn)三分量磁場(chǎng)的測(cè)量[6]。其性能指標(biāo)參數(shù)見表1。
表1 RM3100產(chǎn)品性能
該測(cè)量系統(tǒng)由4個(gè)模塊組成,分別為磁傳感器模塊、主控模塊、通信模塊和供電模塊。
磁傳感器模塊采用PNI公司研發(fā)的RM3100磁傳感器。RM3100可通過SPI通信與I2C通信兩種方式與主控MCU進(jìn)行通信,本文選取第一種通信方式。將3只地磁傳感器與控制芯片集成到一個(gè)模塊板上,并在兩邊列出2×4的SPI通信所需引腳,將整個(gè)模塊做成貼片的形式。其產(chǎn)品性能如表1,實(shí)物如圖3。
圖3 RM3100實(shí)物
其內(nèi)部的電路參考示意圖如圖4。
圖4 RM3100 參考示意(SPI通信)
采用MSP430F5438A單片機(jī)作為系統(tǒng)的主控模塊。該型單片機(jī)是由TI公司生產(chǎn)的一種16位、具有精簡(jiǎn)指令集、超低功耗的混合信號(hào)處理器[7]。具有豐富的片上外設(shè),如:256 kB的Flash,16kBSRAM,87個(gè)IO口,3個(gè)定時(shí)器等,并且具有強(qiáng)大的處理能,該芯片專為滿足低功耗需求而精心設(shè)計(jì)[8,9]。
利用該單片機(jī)的UCB0接口作為與磁傳感器通信的SPI接口,UCA1作為與無線模塊通信的接口,UCA2作為與MicroUSB模塊通信的接口,并采用JTAG方式作為調(diào)試接口。
為方便系統(tǒng)轉(zhuǎn)動(dòng)并保證數(shù)據(jù)安全上傳至上位機(jī),本系統(tǒng)設(shè)計(jì)了兩種通信方式:基于SX1278無線模塊的無線通信和MicroUSB形式的有線串口通信。
無線通信采用SX1278串口模型與上位機(jī)通信,在PCB上預(yù)留出7位的接口與模塊相接,其中,端口7和端口6作為通信模式選擇端口,可通過這兩個(gè)端口選擇四種通信模式;端口5和端口4作為串口通信的收發(fā)端;端口3作為片選信號(hào);端口2和端口1則為電源端口和地端口。
有線串口通信采用PL2303HX作為USB轉(zhuǎn)TTL的形式,預(yù)留一個(gè)MicroUSB的接口作為通信接口,其電路原理圖如圖5。
圖5 有線模塊接口原理
電源分配模塊為整個(gè)系統(tǒng)提供電源。本系統(tǒng)電壓由線性穩(wěn)壓器AMS1117—3.3提供。AMS1117會(huì)在過載和過熱時(shí)做切斷保護(hù),以防止環(huán)境溫度造成過高的結(jié)溫,損壞芯片[10]。供電模塊原理圖如圖6。
圖6 供電模塊原理
主控MSP430采集RM3100的三軸磁場(chǎng)數(shù)字信號(hào),將其通過任一通信模塊上傳至上位機(jī)輸出顯示。故,軟件設(shè)計(jì)上主要在3個(gè)方面進(jìn)行:初始化、采集RM3100數(shù)據(jù)和串口輸出。其軟件流程圖如圖7。
圖7 系統(tǒng)軟件設(shè)計(jì)流程框圖
首先初始化時(shí)鐘和GPIO,確定時(shí)鐘工作狀態(tài)與各端口的狀態(tài),這是單片機(jī)工作的基礎(chǔ)。然后初始化所使用的串口(這里采用串口1)以及SPI通信接口,這樣保證了單片機(jī)與上位機(jī)通信以及RM3100和單片機(jī)通信的暢通。最后初始化RM3100模塊,根據(jù)其數(shù)據(jù)手冊(cè)做相應(yīng)的參數(shù)設(shè)定,以達(dá)到測(cè)量所需的標(biāo)準(zhǔn)。
初始化完成后,進(jìn)入死循環(huán)。循環(huán)為:開啟SPI從機(jī)發(fā)送允許,開始不停地接收來自RM3100的三軸磁場(chǎng)數(shù)據(jù)(一個(gè)軸的磁場(chǎng)數(shù)據(jù)由24位數(shù)據(jù)表示)。每當(dāng)接收完一幀數(shù)據(jù)(3×24位)后,即時(shí)將數(shù)據(jù)通過串口發(fā)送至上位機(jī)。
圖8為實(shí)驗(yàn)室艦船50︰1縮比模型,利用該模型沿著系統(tǒng)x軸做勻速直線運(yùn)動(dòng),速度為1 m/s時(shí)的磁場(chǎng)曲線見圖9。系統(tǒng)放置與水面平齊,與船模之間的最短的橫向距離為1 m。
圖8 船模試驗(yàn)
圖9 船模通過測(cè)量試驗(yàn)結(jié)果
從測(cè)量結(jié)果可知,總模值的峰峰值為103 nT,x,y,z軸的數(shù)據(jù)中,信噪比分別為12.6,12.1,8.9 dB,數(shù)據(jù)明顯可以根據(jù)常規(guī)的OBF算法提取艦船磁場(chǎng)[11]。故該系統(tǒng)可以滿足測(cè)量船模等磁場(chǎng)測(cè)量的要求,符合本系統(tǒng)指標(biāo)要求。
設(shè)計(jì)了以RM3100為磁傳感器,以MSP430F5438A為MCU的磁場(chǎng)信號(hào)采集系統(tǒng),測(cè)試試驗(yàn)得到了車輛磁場(chǎng)數(shù)據(jù),驗(yàn)證了該系統(tǒng)的精度、分辨率及穩(wěn)定性都符合所需的測(cè)量要求。并且測(cè)量系統(tǒng)為5 cm×7 cm,小尺寸適用于搭載在各種設(shè)備上,有廣泛的適用性。