李松鶴,曹大平
(武漢大學(xué) 物理科學(xué)與技術(shù)學(xué)院,武漢 430072)
基于AD7791的磁通門傳感器數(shù)據(jù)采集與存儲系統(tǒng)
李松鶴,曹大平
(武漢大學(xué) 物理科學(xué)與技術(shù)學(xué)院,武漢 430072)
針對磁通門傳感器檢測到的多路弱磁信號,設(shè)計了一種以AD7791為采集核心的小信號采集系統(tǒng),解決了6路AD采集的同步問題;以MSP430F5437超低功耗單片機(jī)為主控,運(yùn)用無磁轉(zhuǎn)臺測試實(shí)驗(yàn),實(shí)現(xiàn)了數(shù)據(jù)的存儲和探頭姿態(tài)的校正,后采用最小二乘法進(jìn)行數(shù)據(jù)修正;經(jīng)實(shí)rt驗(yàn)驗(yàn)證,該采集系統(tǒng)可穩(wěn)定于野外長時間工作(半年以上),零點(diǎn)穩(wěn)定度由1.7 nT/h、2.4 nT/h、1.4 nT/h(XYZ三軸)下降到0.2 nT/h、0.31 nT/h、0.23 nT/h,采集精度(參考地磁場49535nT)由49516nT下降到49534nT;有效地降低了系統(tǒng)測量誤差,精度明顯提高。
數(shù)據(jù)采集;磁通門;AD7791;高精度;低功耗
磁通門傳感器是一種利用坡莫合金等軟磁材料,通過磁化飽和時的非線性,來測量外部弱磁場的傳感器[1]。與其他類型測磁儀器相比,磁通門傳感器具有分辨率高、測磁范圍寬、穩(wěn)定可靠、能夠直接測量磁場的分量和適于在運(yùn)動系統(tǒng)中使用等特點(diǎn)[2]。
這種磁敏傳感器的最大特點(diǎn)是適合在零磁場附近工作的弱磁場進(jìn)行測量。傳感器可作成體積小,重量輕、功耗低,由于該磁測儀對使用方便,故已較普遍地應(yīng)用于航空、地面、測井等方面的磁法勘探工作中,在軍事上,也可用于尋找地下武器(炮彈、地雷等)和反潛。還可用于預(yù)報天然地震及空間磁測等。
本文設(shè)計的磁通門傳感器數(shù)據(jù)采集系統(tǒng)研制的背景是基于野外無人值守環(huán)境,提出了如下要求:
1)續(xù)航時間盡可能長,總體功耗要小,野外工作時采用電池供電。
2)總體體積小、集成度高,便于將設(shè)備內(nèi)嵌,主控芯片集成多種片外資源。
3)采集速度快、精度高,可以存儲復(fù)雜解析算法。
基于以上,控制單元采用德州儀器的MSP430F5系列超低功耗單片機(jī),內(nèi)部集成有SPI和IIC通信模塊,無需單獨(dú)添加片外資源;地磁場通常情況下為47500 nT(納特,磁感應(yīng)強(qiáng)度單位)左右,傳感器輸出分辨率為0.2 nT,這樣對前端A/D采樣精度提出了極高的要求。通過噪聲分析、功耗分析、分辨率分析、綜合選取AD7791為采集核心;后端移植Fats文件系統(tǒng);合并DS3231時鐘芯片接收到的時間,將數(shù)據(jù)實(shí)時刷新到存儲卡上,滿足野外高精度數(shù)據(jù)持續(xù)記錄的要求。數(shù)據(jù)采集存儲系統(tǒng)總體如圖1所示。
圖1 系統(tǒng)總體框圖
系統(tǒng)采用MGA系列磁通門傳感器,結(jié)合MSP430F5437單片機(jī),采用24位高精度A/D轉(zhuǎn)換器對3個方向、6路分量進(jìn)行同步信號采集;由于傳感器輸出有多種電壓型號,有5 V輸出和3 V輸出兩個版本,為了提高系統(tǒng)兼容性,增加了邏輯電平轉(zhuǎn)換模塊,使得通用性更強(qiáng)。圖2為系統(tǒng)電路接線圖(單路)。
圖2 單路采集電路
A/D轉(zhuǎn)換器模擬輸入部分采用差分方式3,每一路輸入信號都有自有基準(zhǔn)地線,共模噪聲被導(dǎo)線消除,減少了噪聲誤差,增強(qiáng)了抗干擾能力,特別是在磁通門傳感器動態(tài)輸出弱電壓信號并有低頻噪聲的情況下,通過0.1 μF和10 μF電容多次濾波,達(dá)到了在特定頻帶內(nèi)(0~4 Hz)減少輸出誤差的作用。
MSP430F5437是一款超低功耗單片機(jī),其主要優(yōu)點(diǎn)是:采用16位RISC精簡指令集、外接25 M晶振、指令周期達(dá)到40 ns、運(yùn)行速度快、大容量Flash和RAM,適合存儲運(yùn)行復(fù)雜算法。硬件上包含一個看門狗定時器,防止程序跑飛;兩個普通定時器,UART通用串口,定時與上位機(jī)交換數(shù)據(jù);多路SPI和IIC通信模塊,用于適配DS3231時鐘芯片和外部存儲卡。時鐘源ACLK/SCLK可以選擇性關(guān)閉或打開,極大地節(jié)約了功耗。
三軸磁通門傳感器將弱磁場量化并輸出線性模擬電壓,需要通過A/D芯片轉(zhuǎn)換成相應(yīng)的數(shù)字量進(jìn)行后續(xù)數(shù)據(jù)修正分析[4]。
磁通門傳感器有5 V和3 V兩種不同型號輸出,MSP430的最大耐受電壓是3.6 V,不可直接連接,為了保持兼容性,必須通過邏輯電平轉(zhuǎn)換。AD7791將量化后的數(shù)字量通過SPI模塊串口通信,選擇74LVC4252A和74LV1T125兩款低功耗芯片,能夠很好地完成設(shè)計要求。
磁場的測量不僅要求準(zhǔn)確度高,還要求具有實(shí)時性、可追溯性,能夠精確的記錄具體某個時間下的量值。MSP430內(nèi)部集成有RTC時鐘模塊,但考慮到計時精度和斷電情況,不符合系統(tǒng)要求,因此必須選擇外部擴(kuò)展實(shí)時時鐘。
DS3231是一款集成IIC通信的時鐘芯片,通過外部電池供電,具有低成本、高精度的特性。芯片內(nèi)部集成了晶體振蕩器和溫度補(bǔ)償傳感器,不但減少了元件的數(shù)量,還確保了器件的長期精確性。該芯片采用的是16引腳封裝形式,以IIC協(xié)議與微控制器進(jìn)行通信,利用協(xié)議的雙向總線傳輸數(shù)據(jù)和地址作為高精度時鐘芯片,正常電壓工作時,年誤差不大于2分鐘,閏年自動補(bǔ)償。
測量設(shè)備在野外通常是幾個小時甚至數(shù)天的不間斷工作,采集的數(shù)據(jù)量很大,而MSP430單片機(jī)內(nèi)部的存儲器顯然無法滿足要求。為實(shí)現(xiàn)野外無人看守條件下的大容量數(shù)據(jù)存儲,需要外接一個存儲模塊。目前存儲模塊有多種,而系統(tǒng)設(shè)計的目標(biāo)是體積小、功耗低、容量大,最適合采用的是SD卡,目前已經(jīng)可以做到32 G甚至64 G以上,而且支持SPI接口,和MSP430單片機(jī)能夠很好的兼容。在物理介質(zhì)的基礎(chǔ)上,還需要一定的格式保證數(shù)據(jù)能夠可靠的存儲和讀取,跨平臺的Fats文件系統(tǒng)能夠很好地滿足要求。
系統(tǒng)使用CCS5.0集成開發(fā)環(huán)境,總體流程為:
1)初始化所有端口,通過SPI通信方式進(jìn)行六路AD循環(huán)采集,并判斷數(shù)據(jù)是否有誤。
2)通過IIC通信與DS3231模塊獲取實(shí)時時間將采集到的數(shù)據(jù)封裝成幀,串口發(fā)送。
3)初始化并掛載文件系統(tǒng)于SD卡,將數(shù)據(jù)分別保存于上位機(jī)和SD卡內(nèi)。
圖3 軟件流程圖
MSP430與AD7791之間通過SPI協(xié)議進(jìn)行通信,一般需要連接四根線,分別是CS片選,主時鐘SCLK,主入從出SOMI,主出從入SIMO[7]。選取單次轉(zhuǎn)換讀取模式。AD7791通信寄存器CR有8個控制位,且只可以被寫入,不能被讀取。MSP430與AD7791的數(shù)據(jù)信息交換總是以寫入命令至到通信寄存器CR開始的。如果要操作其他寄存器進(jìn)行讀或?qū)懀脖仨毾认蛲ㄐ偶拇嫫鲗懭胂鄳?yīng)的數(shù)據(jù)。并且每次對其他寄存器的操作完成后或者是AD7791剛剛上電復(fù)位后,總是會默認(rèn)回到寫通信寄存器CR狀態(tài)。當(dāng)SPI接口串行時鐘出錯時,可以將DIN引腳置高,向SCLK引腳連續(xù)輸入32個串行時鐘,即可使ADC返回到此默認(rèn)狀態(tài)[8]。
圖4 AD7791通信流程圖
IIC總線是一種雙線串行接口,支持同步傳輸,一根串行時鐘線SCL,一根串行數(shù)據(jù)線SDA,支持IIC協(xié)議的器件其SCL和SDA引腳均是開漏的,所以實(shí)際使用中這兩根信號線都要接上拉電阻,阻值在1~100 kΩ之間,且為主從結(jié)構(gòu)。在此外設(shè)DS3231為從機(jī),每個掛在總線上的器件都有一個唯一的地址可供主機(jī)識別。
主機(jī)通過IIC總線和從機(jī)進(jìn)行通信的過程如下:USCI模塊在通信前先檢測總線是否處于空閑狀態(tài),空閑時主機(jī)控制總線產(chǎn)生一個起始條件(在SCL為高電平期間拉低SDA電平,產(chǎn)生一個下降沿),同時發(fā)送一個字節(jié)的從機(jī)地址信息,其中前7位是從機(jī)地址,用于識別掛在總線上的從機(jī),最后1位是讀寫控制位R/W,置0時表示接下來是主機(jī)向從機(jī)寫入數(shù)據(jù),置1時表示接下來是主機(jī)讀取從機(jī)的數(shù)據(jù)。
UCTXIFG中斷標(biāo)志位會隨著起始條件的產(chǎn)生而置位,此時用戶可將需要發(fā)送的數(shù)據(jù)信息寫入發(fā)送緩沖寄存器UCB1TXBUF中,隨后數(shù)據(jù)被載入發(fā)送移位寄存器,時鐘脈沖下發(fā)送給從機(jī),同時中斷標(biāo)志位UCTXIFG將再次置位,表明可以繼續(xù)向發(fā)送緩沖寄存器UCB1TXBUF寫入數(shù)據(jù)。發(fā)送從機(jī)地址信息后,主機(jī)釋放SDA信號線等待從機(jī)響應(yīng)后的應(yīng)答信號ACK(應(yīng)答時鐘脈沖期間拉低SDA電平),如果在第9個時鐘周期內(nèi)SDA信號線的電平被從機(jī)拉低,表明從機(jī)對主機(jī)發(fā)送的地址做出了應(yīng)答,反之則沒有應(yīng)答。發(fā)送過程中,只要UCTXSTP控制位或者UCTXSTT控制位沒有置位,則主機(jī)會一直發(fā)送數(shù)據(jù)或者掛起總線。
要想更好地發(fā)揮SD卡保存數(shù)據(jù)的功能,還需要引入文件系統(tǒng)對其進(jìn)行管理。Fats特別適用于小型嵌入式系統(tǒng),免費(fèi)而且開源,是目前使用非常廣泛的嵌入式文件系統(tǒng),其主要包含3大部分:
API接口層:f_mount、f_open、f_read等接口。
VFS文件層:將復(fù)雜的扇區(qū)操作和塊操作封裝在一起,用戶不可見。
底層驅(qū)動層:通過SPI通信方式操作的底層硬件。
底層驅(qū)動程序主要包括:
SDCard_init()、SDCard_fastMode()
SDCard_readFrame()、SDCard_sendFrame()
SDCard_setCSHigh()、SDCard_setCSLow()
這六組函數(shù)接口,其中最重要的是在SD卡初始化的時候設(shè)為低速模式,然后再設(shè)為快速模式。
磁通門傳感器受加工工藝和安裝工藝水平的限制,在三維空間的XYZ方向上不是完全理想正交9,因此會存在誤差。根據(jù)理想磁通門傳感器測量環(huán)境磁場強(qiáng)度與姿態(tài)無關(guān)的特點(diǎn),當(dāng)三軸磁傳感器繞同一個軸轉(zhuǎn)動時,可以認(rèn)為所測磁場總的模量不變?;谶@個特點(diǎn)提出修正模型:
B2=a1(Bx-Bx0)2+a2(By-By0)2+a3(Bz-Bz0)2+a4(Bx-Bx0)(By-By0)+a5(By-By0)(Bz-Bz0)+a6(Bz-Bz0)(Bx-Bx0)
將實(shí)驗(yàn)樣機(jī)置于磁屏蔽桶內(nèi)部,長時間測量各路數(shù)據(jù),觀察一定時間內(nèi)信號變化量,計算零點(diǎn)穩(wěn)定度。
圖5 零點(diǎn)穩(wěn)定度測試
從曲線數(shù)據(jù)計算得到:
X軸自噪聲均方值為0.188 nT(RMS),零點(diǎn)漂移為0.20 nT/h。Y軸自噪聲均方值為0.177 nT(RMS),零點(diǎn)漂移為0.31 nT/h。Z軸自噪聲均方值為0.195 nT(RMS),零點(diǎn)漂移為0.23 nT/h。
經(jīng)過足夠長的時間后磁傳感器達(dá)到穩(wěn)定,其輸出數(shù)據(jù)的變化將圍繞平均值來回漂移,而不是單向漂移,隨著時間的增加,穩(wěn)定度的值還可以提高。
該數(shù)據(jù)采集存儲系統(tǒng)經(jīng)過野外環(huán)境半年測試,能夠穩(wěn)定的自適應(yīng)環(huán)境弱磁場變化,測量并持續(xù)修正結(jié)果,在一定范圍內(nèi)減輕了重復(fù)計量標(biāo)定的次數(shù),能夠適應(yīng)不同型號磁通門傳感器輸出。
通過最小二乘法、奇異值分解法進(jìn)行采集數(shù)據(jù)修正,大大改進(jìn)了動態(tài)采集精度并降低了零點(diǎn)穩(wěn)定度和噪聲,現(xiàn)已進(jìn)入量產(chǎn)測試階段。
從硬件層面(芯片集成)到軟件層面(低功耗設(shè)計)對系統(tǒng)功耗進(jìn)行了持續(xù)性優(yōu)化,耗電量由毫安級別降低到微安級別,大大保障了野外長時間電池供電,使得長時間無人值守,數(shù)據(jù)遠(yuǎn)距離傳輸成為可能。
同時,外部實(shí)時存儲系統(tǒng)本身是模塊化的插拔件,需要時既可以集成至系統(tǒng)板級內(nèi)部,也可單獨(dú)拆分為一個存儲部件,增強(qiáng)了靈活性,為后續(xù)不同型號的采集模塊增加了通用性存儲部件。
除此之外,三軸磁通門傳感器并非絕對正交,在雅各比迭代、奇異值分解、最小二乘法等算法的基礎(chǔ)上需要持續(xù)進(jìn)行優(yōu)化,尋找更加優(yōu)秀的修正算法,提高響應(yīng)精度。為后續(xù)系統(tǒng)持續(xù)優(yōu)化,指明了方向。
[1] Ripka P.Review of Fluxgate Sensors[J].Sensors and Actuators A:Phys.,1992(3):129-141.
[2] Kubik,Vcelak J,O’Donnell J,et al.Triaxial Fluxgate Sensor with Electroplated Core[J].Sensor and Actuators.A,Physical,2009,152(2):139-145.
[3] 翁孟超,楊志強(qiáng),宣仲義.微型磁通門傳感器的制備與測試研究進(jìn)展[J].儀表技術(shù)與傳感器.2008,6:10-15.
[4] 張學(xué)孚,陸怡良.磁通門技術(shù)[M].北京:國防工業(yè)出版社,1995.
[5] 劉昭元,劉詩斌. 基于DSP的數(shù)字磁通門傳感器設(shè)計[J].傳感技術(shù)學(xué)報,2009,22(9):1280-1283.
[6] 王永博,劉詩斌. 基于ARM的低成本高分辨率磁通門磁強(qiáng)計[J].傳感技術(shù)學(xué)報,2014,27(3):308-311.
[7] 黨武松,范寒柏,胡 楊. 基于AD7791的海水溫度和深度測量系統(tǒng)設(shè)計[J].微型機(jī)與用,2013,32(20):25-28.
[8] 楊理踐,涂傳賓,高松巍. 基于磁通門傳感器的弱磁場檢測方法[J].儀表技術(shù)與傳感器,2014(9):84-87.
[9] 王曉美,滕云田,王喜珍,等.GM4型磁通門磁力儀性能檢驗(yàn)方法[J].地震地磁觀測與研究.2008,29(6):88-94.
[10] 武修文,張松勇.基于磁通門與加速度傳感器的三分量磁力儀研究[J].現(xiàn)代電子技術(shù),2013,36(22):96-98.
[11] Ripka P, Butta M,Fan J,et al.Sensitivity and noise of wire-core transverse fluxgate[J].IEEE Transaction on Magnetics,2010,46(2):654-657.
Data Acquisition and Storage System of Magnetic Fluxgate Sensor Based on AD7791
Li Songhe,Cao Daping
(School of Physics and Technology, Wuhan University, Wuhan 430072, China)
A small signal acquisition system based on AD7791 is designed to solve the multiple weak magnetic signals detected by the magnetic flux-gate sensor, which solves the problem of the synchronization of the six channel AD acquisition. MSP430F5437 ultra low power microcontroller act as based control, the use of non magnetic turntable test experiment, to achieve the data storage and probe attitude correction, and using the least square method for data correction. After experimental verification, the system can be stable in the field work for a long time (more than half year), zero stability by 1.7 nT/h, 2.4 nT/h, 1.4 nT/h (XYZ three axis) dropped to 0.2 nT/h, 0.31 nT/h, 0.23 nT/h, acquisition accuracy (reference field 49535nT) decreased from 49516nT to 49534nT. Effectively reduce the system measurement error, and the accuracy is obviously improved.
data acquisition; flux-gate; AD7791; high-precision; low power consumption
2017-01-02;
2017-02-16。
國家自然科學(xué)基金項(xiàng)目(41274188)。
李松鶴(1988-),男,碩士,主要從事磁通門傳感器方向的研究。
1671-4598(2017)08-0315-04
10.16526/j.cnki.11-4762/tp.2017.08.080
TP216
A
曹大平(1961-),教授,博士生導(dǎo)師,主要從事弱磁場測量方向的研究。