陶勁松,曹大平
(武漢大學(xué)物理科學(xué)與技術(shù)學(xué)院,湖北武漢 430072)
?
基于MSP430的磁梯度儀數(shù)據(jù)采集系統(tǒng)
陶勁松,曹大平
(武漢大學(xué)物理科學(xué)與技術(shù)學(xué)院,湖北武漢 430072)
文中針對磁通門式磁梯度儀,設(shè)計了一種以MSP430F5437a為控制器的數(shù)據(jù)采集系統(tǒng),實現(xiàn)了磁通門電路輸出信號的高精度、超低功耗采集。簡要介紹了磁梯度儀原理與電路結(jié)構(gòu)框圖。重點在于圍繞數(shù)據(jù)采集系統(tǒng)設(shè)計要求,分析了電路元件如何選型,闡述了軟件系統(tǒng)總體思路和具體實現(xiàn)細節(jié),介紹了系統(tǒng)抗干擾的軟硬件措施。系統(tǒng)經(jīng)實驗驗證可實現(xiàn)各項指標要求,在磁場梯度測量中有著良好應(yīng)用。
數(shù)據(jù)采集;磁通門;磁梯度;超低功耗;高精度;抗干擾
磁梯度儀可測量近磁場源磁場矢量空間變化率,在磁性目標探測、地質(zhì)勘探等領(lǐng)域有著特殊應(yīng)用[1-2]。本文所述研究工作采用磁通門技術(shù)的磁梯度儀基本原理:在三維坐標軸X,Y,Z軸各方向上固定距離放置一對屬性盡可能相同磁通門探頭,探頭將被測磁場信號轉(zhuǎn)換為電信號,該電信號微弱且包含很強的噪聲與干擾,經(jīng)過調(diào)諧放大與相敏檢波電路輸出為與外界磁場成正比的電壓信號。微控制器通過ADC采集該電壓信號并計算出每個探頭對應(yīng)的磁場數(shù)據(jù)。同一坐標軸方向上的兩探頭數(shù)據(jù)相減即可得到該坐標軸方向上當前環(huán)境磁場梯度。
磁梯度儀由2個三軸磁探頭、傳感器電路、數(shù)據(jù)采集系統(tǒng)組成,圖1是兩探頭X軸方向的磁梯度儀原理框圖。
圖1 磁梯度儀原理圖(僅X軸方向)
本文數(shù)據(jù)采集系統(tǒng)根據(jù)磁梯度儀測量特點設(shè)計,遵循以下3個要求:
(1)實現(xiàn)超低功耗,3 V電源電壓時,電源電流不超過0.8 mA。
(2)高精度數(shù)據(jù)采集,磁通門電路輸出電壓為0 V~+3 V,可測量范圍為0.1~70 000 nT,本文數(shù)據(jù)采集系統(tǒng)中ADC的參考電壓為3 V,因此要求其分辨率低于10 μV,也即ADC的位數(shù)至少要達到21位。
(3)良好的抗干擾性,磁通門探頭靈敏度高,為確保測量結(jié)果精確,要求采集系統(tǒng)自身噪聲干擾小。另一方面,在磁梯度儀進行連續(xù)測量時,要求系統(tǒng)可以長時間穩(wěn)定工作。
數(shù)據(jù)采集系統(tǒng)下位機主要器件有主控制器、數(shù)模轉(zhuǎn)換器、串口電平轉(zhuǎn)換器和穩(wěn)壓芯片,具體電路接線圖如圖2所示。
圖2 數(shù)據(jù)采集系統(tǒng)電路接線圖
1.1 主控芯片
在利用電池供電且需要長期工作的情況下,MSP430單片機有著突出的使用優(yōu)勢[3]。MSP430是一款16位微控制器,主要優(yōu)點:超低功耗、片內(nèi)資源豐富、編譯調(diào)試環(huán)境方便高效。本系統(tǒng)以MSP430F5437a作為主控制芯片,具有一個強大的16位RISC CPU和有助于獲得最大編碼效率的常數(shù)發(fā)生器。MSP430F5437a器配置:256 KB閃存、16KBRAM、12位ADC、2個USI、3個16位定時器、最多4個通用串行通信接口、看門狗定時器WDT和高達87的I /O引腳。時鐘系統(tǒng)是MSP430的特色資源,可以通過合理配置時鐘系統(tǒng)尋求性能與功耗之間的最佳平衡點。MSP430有3種時鐘信號,分別是主設(shè)備時鐘MCLK、外設(shè)時鐘SMCLK和輔助設(shè)備時鐘ACLK。
1.2 電源模塊
本文系統(tǒng)采用3節(jié)1.5 V干電池串聯(lián)供電,電池電壓必然會隨著使用時間逐漸下降,為了能夠在電源電壓下降較大情況下,系統(tǒng)依然可以正常工作,需對電源電壓進行穩(wěn)壓處理。數(shù)據(jù)采集系統(tǒng)實現(xiàn)超低功耗,對穩(wěn)壓電路有2個必然要求:第一,穩(wěn)壓器自身靜態(tài)功耗要在微安級別,否則影響系統(tǒng)整體低功耗特性;第二,穩(wěn)壓器必須是低壓差穩(wěn)壓源,輸入電壓與輸出電壓很接近,延長電池工作壽命?;谝陨?點,本系統(tǒng)采用LDO(低壓差線性)型穩(wěn)壓源ADP150。ADP150作為一款性能優(yōu)異的LDO穩(wěn)壓芯片,指標如下:9uVrms超低噪聲,關(guān)斷電流不足1 μA,空載靜態(tài)電流10 μA,輸出電壓精度±1%,最大輸出電流150 mA,最低壓差105 mV。ADP150在電路設(shè)計中空間占用少,無需額外噪聲旁路電容,1 μF陶瓷輸入與輸出電容下可穩(wěn)定工作。
1.3 模數(shù)轉(zhuǎn)換模塊
AD7791是一款適用于低頻低功耗測量ADC[4],具有完整的模擬前端。采用3 V電源時,AD7791的典型功耗為65 μA。該器件包含一路24位∑-△型低噪聲數(shù)模轉(zhuǎn)換器,可編程配置為緩沖或無緩沖。AD7791工作使用內(nèi)部時鐘,因此無需外部時鐘源。AD7791可在單次轉(zhuǎn)換模式下使用,即上電后執(zhí)行單次轉(zhuǎn)換,然后返回省電模式。或者,也可以選擇連續(xù)模式工作。在連續(xù)轉(zhuǎn)換模式下,可將器件配置為連續(xù)讀取,即假設(shè)已將串行時鐘作用于該器件,則一旦完成一次轉(zhuǎn)換,便會自動將轉(zhuǎn)換結(jié)果置于串行總線上(用戶無需寫入ADC以讀取數(shù)據(jù))。AD7791的模擬輸入(AIN)與參考電壓輸入(REFIN)均為差分形式,AIN(+)連接前端模擬信號輸入,REFIN(+)連接參考電壓輸入,AIN(-)和REFIN(-)連接系統(tǒng)模擬地層(AGND)。
1.4 串口模塊
UART是一種用于異步串行通信的接口,包括RS232,RS485和RS422等不同的接口標準規(guī)范。MSP430單片機存在3種串口通信外設(shè)[5-6],即USI、USART和USCI,其中USART與USCI可以通過配置相應(yīng)寄存器作為UART使用。PC機上的串口一般為RS232型,但鑒于RS232抗干擾能力差,傳輸距離短,所以數(shù)據(jù)采集系統(tǒng)端采用RS485接口進行數(shù)據(jù)與參數(shù)的串行收發(fā),再通過RS485/RS232接口轉(zhuǎn)換設(shè)備與PC端進行通信。MAX3471是一款低功耗RS485收發(fā)器,適用于小型、手持式、電池供電儀器儀表。在接收使能且工作電壓為3.6 V情況下,MAX3471工作電流僅為1.6 μA,符合本系統(tǒng)的低功耗設(shè)計要求。
本文采用集成開發(fā)環(huán)境——Code Composer Studio v5.0嵌入式工作平臺。磁梯度儀數(shù)據(jù)采集系統(tǒng)軟件為前后臺多任務(wù)程序框架:程序主循環(huán)內(nèi)進行數(shù)據(jù)采集與發(fā)送,執(zhí)行上位機相應(yīng)指令,更改InfoFlash中參數(shù)和進入低功耗狀態(tài)。在串口中斷任務(wù)中進行接收上位機指令與參數(shù),設(shè)置定時器中斷間隔地喚醒MSP430工作。軟件流程如圖3所示。
圖3 系統(tǒng)軟件流程圖
2.1 數(shù)據(jù)采集與處理程序
AD7791所有通信始于向通信寄存器寫入數(shù)據(jù)。在供電與復(fù)位后,設(shè)備等待寫入通信寄存器,如果在引腳上寫入邏輯1至少32個串行時鐘周期,串行接口即復(fù)位。這就保證了在三線工作模式下,接口可以被復(fù)位到已知狀態(tài),避免了接口由于軟件錯誤和一些小錯誤而失效。這個復(fù)位操作可以將寄存器的值均復(fù)位到上電前的值。
本系統(tǒng)同時采集6路電壓值,使用了六路AD7791芯片。MSP430與AD7791采用三線SPI接口連接。6個普通I/O口作為片選線分別連接六路AD7791芯片,SPI接口則采用一主多從方式連接。在數(shù)據(jù)采集系統(tǒng)初始化階段,主控制器同時片選六路AD7791,通過SPI接口連續(xù)寫入4次0xFF,則每一路AD7791都處于復(fù)位狀態(tài)。為確保信號被采集的同時性,在進行數(shù)據(jù)轉(zhuǎn)換前,MSP430同時片選六路AD7791的CS引腳,同時配置六路AD7791模式寄存器,則六路AD7791同時進行模數(shù)轉(zhuǎn)換。數(shù)據(jù)轉(zhuǎn)換完成后,AD7791的DOUT引腳變?yōu)榈碗娖?MSP430依次片選每一路,等待檢測到DOUT引腳為低電平則讀取數(shù)據(jù)寄存器,MSP430讀取到AD7791數(shù)據(jù)寄存器中為24位數(shù)據(jù),經(jīng)相應(yīng)公式運算后即可知探頭輸出電壓值并賦與相應(yīng)變量。
模數(shù)轉(zhuǎn)換結(jié)果在經(jīng)過處理后即為儀器輸出磁場梯度值,處理方式:采用系數(shù)Ax1、Ay1、Az1、Bx1、By1、Bz1對X,Y,Z3個坐標軸上X1,Y1,Z1探頭輸出電壓值x1、y1、z1進行線性修正得到
(1)
采用系數(shù)Ax2、Ay2、Az2、Bx2、By2、Bz2對X,Y,Z3個坐標軸上X2,Y2,Z2探頭輸出電壓值x2、y2、z2進行線性修正得到:
(2)
計算:
(3)
(4)
ΔHx、ΔHy、ΔHz、ΔH是三維坐標軸各方向磁場梯度及模量,Hx、Hy、Hz、H是三維坐標軸各方向磁場矢量及模量。
2.2 串口通信程序
數(shù)據(jù)采集系統(tǒng)分為上下位機,設(shè)計要求上下位機之間通信實現(xiàn)功能:上位機向MSP430發(fā)送參數(shù)以及命令幀,MSP430向上位機發(fā)送采集數(shù)據(jù)幀。MSP430內(nèi)程序設(shè)計采用前后臺模式,數(shù)據(jù)幀發(fā)送任務(wù)在程序主循環(huán)中,參數(shù)與命令幀接收采用中斷方式。MSP430F5437a內(nèi)部有集成的USCI和USART,均可配置為異步串行通信接口。
值得一提的是,RS485為半雙工通信制式,通過串口電平轉(zhuǎn)換芯片MAX3471的發(fā)送使能與接收使能引腳,可以控制串口數(shù)據(jù)流方向。由于上下位機間的數(shù)據(jù)接收與發(fā)送不能同時進行,所以要求上位機與下位機程序相協(xié)調(diào),以免出現(xiàn)數(shù)據(jù)/命令漏發(fā)。
2.3 參數(shù)讀寫
在絕大多數(shù)MSP430型號內(nèi)部都具備InfoFlash,用作掉電狀態(tài)下保存MCU校準信息或系統(tǒng)參數(shù)的信息存儲器(InfoFlah)。可通過內(nèi)置Flash控制器,改寫或擦除任一段Flash內(nèi)容。在對Flash操作期間,禁止中斷發(fā)生,否則將導(dǎo)致不可預(yù)計的錯誤,所以在操作前要禁止全局中斷,操作完成后再打開。 InfoFlash中存放系統(tǒng)對數(shù)據(jù)轉(zhuǎn)換結(jié)果進行線性修正的參數(shù),所有參數(shù)均為float浮點型。InfoFlash中數(shù)據(jù)可按字節(jié)(8位)和字(16位)寫入,對于float型數(shù)據(jù)則需要進行轉(zhuǎn)換為多個字節(jié)或字后才可寫入。C語言共用體(UNION類型)中不同數(shù)據(jù)成員占據(jù)同一存儲區(qū),可定義一個包含四字符型單字節(jié)變量結(jié)構(gòu)體,將該結(jié)構(gòu)體與float型參數(shù)定義在一個共用體內(nèi),通過訪問共用體中不同數(shù)據(jù)成員實現(xiàn)數(shù)據(jù)的拆分。
2.4 實現(xiàn)低功耗
2.5 社會支持 良好的社會支持不但可緩解患病這一應(yīng)激源導(dǎo)致的一系列應(yīng)激反應(yīng),降低患者的焦慮與抑郁,并且可通過影響患者的知識和信念等途徑,提高患者的治療依從性。褚虹[15]調(diào)查顯示,糖尿病患者的治療依從性與社會支持呈正相關(guān)(P<0.01),即社會支持越高,治療依從性越好。
磁梯度儀數(shù)據(jù)采集系統(tǒng)工作時,數(shù)據(jù)采樣率為10HZ,MSP430與AD7791不總是處于工作狀態(tài)。如果讓這些設(shè)備間歇性工作,在一個采樣周期內(nèi)最大限度地縮短工作時間,提高低功耗狀態(tài)級別,即實現(xiàn)了大幅降低系統(tǒng)低功耗的目的。MSP430可作為手持式儀器儀表控制芯片的主要原因是其超低功耗。MSP430有5種不同級別的低功耗狀態(tài),即LPM0~LPM4。LPM0與LPM1狀態(tài)下功耗降低不理想,而LPM2狀態(tài)禁止SMCLK后打開數(shù)字時鐘發(fā)生器已無意義。只有在LPM3模式下,時鐘系統(tǒng)中MCLK與SMCLK皆被關(guān)閉,僅留ACLK活動,以ACLK為時鐘源設(shè)備會繼續(xù)工作。該模式下功耗僅2μA,且活動的ACLK可以為Timer_A定時器提供計數(shù)時鐘,所以系統(tǒng)選用LPM3狀態(tài)作為低功耗模式。
MSP430內(nèi)置一個16位定時器Timer_A,用于精確定時計時。Timer_A有3種計數(shù)模式:增計數(shù),連續(xù)計數(shù)和增-減計數(shù)。增計數(shù)模式實際上即為"自動重載"模式,只對寄存器一次設(shè)置,無需在中斷內(nèi)對計數(shù)器重新賦值,即可改變定時周期,非常適合產(chǎn)生定時中斷。可以利用該中斷喚醒低功耗狀態(tài),實現(xiàn)了系統(tǒng)的定時采樣。系統(tǒng)被Timer_A中斷喚醒,執(zhí)行Timer_A中斷服務(wù)程序,當程序執(zhí)完畢退出中斷后,仍然保持原低功耗模式。由于數(shù)據(jù)采集程序在函數(shù)主循環(huán)中,所以要求系統(tǒng)退出Timer_A中斷后恢復(fù)到正常模式。MSP430的C語言編譯器(CCSv5)提供內(nèi)部函數(shù)可實現(xiàn)MSP430退出低功耗模式_ _bic_SR_register_on_exit(LPMx_bits),該語句意為退出LPMx模式。
2.5 上位機軟件
PC端程序由C#編寫,使用.net平臺下System.IO命名空間中SerialPort類實現(xiàn)串口通信,完成主要功能為:接收MSP430發(fā)送數(shù)據(jù),記錄數(shù)據(jù)接收當前時間,繪制實時曲線;提供操作界面,將對MSP430的操作以命令幀形式發(fā)送至MSP430;查看或更改MSP430中參數(shù),發(fā)送慘數(shù)幀。實時曲線繪制使用PictureBox控件,曲線繪制函數(shù)為PictureBox_Paint(),設(shè)置定時器Timer的時間間隔(Interval)為1s,Timer_Tick()事件處理函數(shù)調(diào)用PictureBox_Invalidate()強制PictureBox重繪,則可對下位機采樣結(jié)果進行實時動態(tài)觀察。同時也可進行長定時,將定時時間內(nèi)接收到的數(shù)據(jù)繪制成圖并保存到指定文檔。
3.1 看門狗(WDT)
在儀器測量環(huán)境中,供電電源,空間電磁干擾或其他原因會引起強烈的干擾信號噪聲。這些信號作用于單片機,極易引發(fā)“程序跑飛”。 MSP430內(nèi)部集成了16位WDT (看門狗定時器),可監(jiān)控MSP430的運行狀態(tài),當CPU中程序跑飛后,看門狗可復(fù)位MSP430。系統(tǒng)上電復(fù)位時,WDT默認開啟,且默認復(fù)位時間間隔為32768個DCOCLK周期,所以對WDT的配置要在系統(tǒng)初始化階段。需注意的是,MSP430的LPM3狀態(tài)下,僅ACLK開啟。但在安全機制保護下,WDT的時鐘源不會被關(guān)閉,所以如果WDT的時鐘源是MCLK或SMCLK,則即使是低功耗模式下,MCLK或SMCLK仍不會被關(guān)閉,如此會增加系統(tǒng)功耗。
對于高精度的數(shù)據(jù)采集,測量精度和可靠性是極為重要的技術(shù)要求。"軟件濾波",即通過一定的算法程序,減輕干擾造成的測量誤差,提高系統(tǒng)信噪比。磁梯度儀采集信號為緩變靜態(tài)磁場,中位值平均濾波法,又稱防脈沖干擾平均濾波法,對于偶然出現(xiàn)的脈沖性干擾,可消除由于脈沖干擾引起的采樣值偏差。實現(xiàn)方法:連續(xù)采樣N個數(shù)據(jù),剔除其中最大值和最小值,對余下N-2個采樣數(shù)據(jù)進行算術(shù)平均,即為有效采樣值。
3.3 接地問題
在設(shè)計高精度數(shù)據(jù)采集電路板板時,系統(tǒng)接地是一個重點考慮的問題,它直接影響到系統(tǒng)的抗干擾能力。
數(shù)據(jù)采集系統(tǒng)的模擬信號與數(shù)字信號并存,前者在未經(jīng)放大以前較為微弱,后者則相對較強。在設(shè)計PCB板時,AD7791與其他數(shù)字芯片區(qū)域隔離,以減少耦合干擾。但是,系統(tǒng)需有統(tǒng)一地電位(參考電位),因此需采取措施防止數(shù)字信號通過地線耦合到模擬信號上。地線作為參考零電勢點,應(yīng)該是等電位的。但實際導(dǎo)線中必然存在電阻,電流流過導(dǎo)線,則產(chǎn)生導(dǎo)線電位差,AD7791分辨率極高,地線不等電位也將會為模數(shù)轉(zhuǎn)換引入誤差。解決上述問題最佳方法為合理布局地線,對地電位要求高的地線作為模擬地(AGND),反之為數(shù)字地(DGND)。AD7791地線接AGND,MSP430等其他數(shù)字芯片地線接DGND,DGND與AGND只可以在一點連接。
針對數(shù)據(jù)采集系統(tǒng)進行測試,主要考察功耗與噪聲性能。由于系統(tǒng)工作具有間歇性,其功耗電流為脈動電流,普通數(shù)字萬用表進行功耗測量時,數(shù)字跳躍誤差大難以讀數(shù)。而機械式微安表測量時表針擺動具有慣性,可起到平滑脈動電流作用,讀數(shù)大致為系統(tǒng)平均電流。經(jīng)觀察微安表示數(shù)穩(wěn)定在600 μA區(qū)域,小于0.8 mA,符合要設(shè)計要求。系統(tǒng)的噪聲性能取決于同一坐標軸方向上兩路數(shù)據(jù)轉(zhuǎn)換噪聲水平,在無磁通門探頭接入情況下,6路AD7791模擬輸入端短接到模擬地電位,MSP430中修正系數(shù)Ax、Ay、Az均設(shè)為1,Bx、By、Bz,均設(shè)為0,采集到數(shù)據(jù)發(fā)送至PC。圖4為上位機軟件定時5 min繪制的X軸方向兩路數(shù)據(jù)采集曲線,其縱坐標單位為μV,可見同一坐標軸方向上兩路模擬輸入短接下,兩路模數(shù)轉(zhuǎn)換通道采集的數(shù)據(jù)差分總小于10 μV,噪聲性能較好。
圖4 數(shù)據(jù)采集噪聲曲線(僅X軸)
該數(shù)據(jù)采集系統(tǒng)設(shè)計階段兼顧軟硬件,滿足降低系統(tǒng)功耗和提高采樣精度的需求,目前該系統(tǒng)已應(yīng)用于實際弱磁場測量試驗中。軟件設(shè)計采用前后臺多任務(wù)程序架構(gòu),雖然運行正常,但程序結(jié)構(gòu)復(fù)雜、流程繁瑣且不利于排錯、升級、維護。移植實時操作系統(tǒng)(RTOS)可進一步改進該系統(tǒng),程序結(jié)構(gòu)設(shè)計思路將更加清晰易于描述,整體實時性和可維護性將更強。
[1] CAO D,LIU S,JIANG C.Maximum energy transfer conditions in parametric amplification of current-output fluxgate sensors.Sensors and Actuators,2012,173:136-140.
[2] 章志濤,張松勇,顧偉.基于三端式磁通門技術(shù)的磁力梯度儀.上海海事大學(xué)學(xué)報,2008(6):35-38.
[3] 劉紅樂,馬福昌.高精度低功耗的無線數(shù)字水位傳感器智能變送器.儀表技術(shù)與傳感器,2013(6):13-16.
[4] 武輝林.模數(shù)轉(zhuǎn)換器AD7791及其應(yīng)用.河北省科學(xué)院學(xué)報,2011(6):26-29.
[5] 胡大可.MSP430系列單片機C語言程序設(shè)計與開發(fā).北京:北京航空航天大學(xué)出版社,2001.
[6] 謝楷,趙建.MSP430系列單片機系統(tǒng)工程設(shè)計與實踐.北京:機械工業(yè)出版社,2009.
Data Acquisition of Magnetic Gradiometer Based on MSP430
TAO Jin-song,CAO Da-ping
(School of Physics and Technology,Wuhan University,Wuhan 430072,China)
Aiming at flux-gate magnetic gradiometer,a data collector system with MSP4305437a as micro control unit was designed,which is applied to fluxgate magnetic gradiometer.This system achieves data acquisition with high precision and low power consumption.The instrument’s measurement principle and system circuit structure was briefly introduced.Focused on the design require introduces ments of the data collector,circuit component selection,software system design and anti-interference were measured.The results show that the data Acquisition system could meet design requirements well,and it has good application in the magnetic field gradient measurement.
data acquisition;flux gate;magnetic gradiometer;ultra low power;high precision;anti-jamming;
國家基金委面上項目(41274188)
2015-03-23 收修改稿日期:2015-07-02
TP216
A
1002-1841(2015)12-0036-03
陶勁松(1990—),在讀研究生,研究方向為磁通門傳感器。 E-mail:taojinsong1990@126.com 曹大平(1961—),教授,博士生導(dǎo)師,研究方向為弱磁場測量。 E-mail:dapingcao@whu.edu.cn