李松鶴,曹大平
(武漢大學 物理科學與技術學院,武漢 430072)
基于AD7791的磁通門傳感器數據采集與存儲系統(tǒng)
李松鶴,曹大平
(武漢大學 物理科學與技術學院,武漢 430072)
針對磁通門傳感器檢測到的多路弱磁信號,設計了一種以AD7791為采集核心的小信號采集系統(tǒng),解決了6路AD采集的同步問題;以MSP430F5437超低功耗單片機為主控,運用無磁轉臺測試實驗,實現了數據的存儲和探頭姿態(tài)的校正,后采用最小二乘法進行數據修正;經實rt驗驗證,該采集系統(tǒng)可穩(wě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)測量誤差,精度明顯提高。
數據采集;磁通門;AD7791;高精度;低功耗
磁通門傳感器是一種利用坡莫合金等軟磁材料,通過磁化飽和時的非線性,來測量外部弱磁場的傳感器[1]。與其他類型測磁儀器相比,磁通門傳感器具有分辨率高、測磁范圍寬、穩(wěn)定可靠、能夠直接測量磁場的分量和適于在運動系統(tǒng)中使用等特點[2]。
這種磁敏傳感器的最大特點是適合在零磁場附近工作的弱磁場進行測量。傳感器可作成體積小,重量輕、功耗低,由于該磁測儀對使用方便,故已較普遍地應用于航空、地面、測井等方面的磁法勘探工作中,在軍事上,也可用于尋找地下武器(炮彈、地雷等)和反潛。還可用于預報天然地震及空間磁測等。
本文設計的磁通門傳感器數據采集系統(tǒng)研制的背景是基于野外無人值守環(huán)境,提出了如下要求:
1)續(xù)航時間盡可能長,總體功耗要小,野外工作時采用電池供電。
2)總體體積小、集成度高,便于將設備內嵌,主控芯片集成多種片外資源。
3)采集速度快、精度高,可以存儲復雜解析算法。
基于以上,控制單元采用德州儀器的MSP430F5系列超低功耗單片機,內部集成有SPI和IIC通信模塊,無需單獨添加片外資源;地磁場通常情況下為47500 nT(納特,磁感應強度單位)左右,傳感器輸出分辨率為0.2 nT,這樣對前端A/D采樣精度提出了極高的要求。通過噪聲分析、功耗分析、分辨率分析、綜合選取AD7791為采集核心;后端移植Fats文件系統(tǒng);合并DS3231時鐘芯片接收到的時間,將數據實時刷新到存儲卡上,滿足野外高精度數據持續(xù)記錄的要求。數據采集存儲系統(tǒng)總體如圖1所示。
圖1 系統(tǒng)總體框圖
系統(tǒng)采用MGA系列磁通門傳感器,結合MSP430F5437單片機,采用24位高精度A/D轉換器對3個方向、6路分量進行同步信號采集;由于傳感器輸出有多種電壓型號,有5 V輸出和3 V輸出兩個版本,為了提高系統(tǒng)兼容性,增加了邏輯電平轉換模塊,使得通用性更強。圖2為系統(tǒng)電路接線圖(單路)。
圖2 單路采集電路
A/D轉換器模擬輸入部分采用差分方式3,每一路輸入信號都有自有基準地線,共模噪聲被導線消除,減少了噪聲誤差,增強了抗干擾能力,特別是在磁通門傳感器動態(tài)輸出弱電壓信號并有低頻噪聲的情況下,通過0.1 μF和10 μF電容多次濾波,達到了在特定頻帶內(0~4 Hz)減少輸出誤差的作用。
MSP430F5437是一款超低功耗單片機,其主要優(yōu)點是:采用16位RISC精簡指令集、外接25 M晶振、指令周期達到40 ns、運行速度快、大容量Flash和RAM,適合存儲運行復雜算法。硬件上包含一個看門狗定時器,防止程序跑飛;兩個普通定時器,UART通用串口,定時與上位機交換數據;多路SPI和IIC通信模塊,用于適配DS3231時鐘芯片和外部存儲卡。時鐘源ACLK/SCLK可以選擇性關閉或打開,極大地節(jié)約了功耗。
三軸磁通門傳感器將弱磁場量化并輸出線性模擬電壓,需要通過A/D芯片轉換成相應的數字量進行后續(xù)數據修正分析[4]。
磁通門傳感器有5 V和3 V兩種不同型號輸出,MSP430的最大耐受電壓是3.6 V,不可直接連接,為了保持兼容性,必須通過邏輯電平轉換。AD7791將量化后的數字量通過SPI模塊串口通信,選擇74LVC4252A和74LV1T125兩款低功耗芯片,能夠很好地完成設計要求。
磁場的測量不僅要求準確度高,還要求具有實時性、可追溯性,能夠精確的記錄具體某個時間下的量值。MSP430內部集成有RTC時鐘模塊,但考慮到計時精度和斷電情況,不符合系統(tǒng)要求,因此必須選擇外部擴展實時時鐘。
DS3231是一款集成IIC通信的時鐘芯片,通過外部電池供電,具有低成本、高精度的特性。芯片內部集成了晶體振蕩器和溫度補償傳感器,不但減少了元件的數量,還確保了器件的長期精確性。該芯片采用的是16引腳封裝形式,以IIC協(xié)議與微控制器進行通信,利用協(xié)議的雙向總線傳輸數據和地址作為高精度時鐘芯片,正常電壓工作時,年誤差不大于2分鐘,閏年自動補償。
測量設備在野外通常是幾個小時甚至數天的不間斷工作,采集的數據量很大,而MSP430單片機內部的存儲器顯然無法滿足要求。為實現野外無人看守條件下的大容量數據存儲,需要外接一個存儲模塊。目前存儲模塊有多種,而系統(tǒng)設計的目標是體積小、功耗低、容量大,最適合采用的是SD卡,目前已經可以做到32 G甚至64 G以上,而且支持SPI接口,和MSP430單片機能夠很好的兼容。在物理介質的基礎上,還需要一定的格式保證數據能夠可靠的存儲和讀取,跨平臺的Fats文件系統(tǒng)能夠很好地滿足要求。
系統(tǒng)使用CCS5.0集成開發(fā)環(huán)境,總體流程為:
1)初始化所有端口,通過SPI通信方式進行六路AD循環(huán)采集,并判斷數據是否有誤。
2)通過IIC通信與DS3231模塊獲取實時時間將采集到的數據封裝成幀,串口發(fā)送。
3)初始化并掛載文件系統(tǒng)于SD卡,將數據分別保存于上位機和SD卡內。
圖3 軟件流程圖
MSP430與AD7791之間通過SPI協(xié)議進行通信,一般需要連接四根線,分別是CS片選,主時鐘SCLK,主入從出SOMI,主出從入SIMO[7]。選取單次轉換讀取模式。AD7791通信寄存器CR有8個控制位,且只可以被寫入,不能被讀取。MSP430與AD7791的數據信息交換總是以寫入命令至到通信寄存器CR開始的。如果要操作其他寄存器進行讀或寫,也必須先向通信寄存器寫入相應的數據。并且每次對其他寄存器的操作完成后或者是AD7791剛剛上電復位后,總是會默認回到寫通信寄存器CR狀態(tài)。當SPI接口串行時鐘出錯時,可以將DIN引腳置高,向SCLK引腳連續(xù)輸入32個串行時鐘,即可使ADC返回到此默認狀態(tài)[8]。
圖4 AD7791通信流程圖
IIC總線是一種雙線串行接口,支持同步傳輸,一根串行時鐘線SCL,一根串行數據線SDA,支持IIC協(xié)議的器件其SCL和SDA引腳均是開漏的,所以實際使用中這兩根信號線都要接上拉電阻,阻值在1~100 kΩ之間,且為主從結構。在此外設DS3231為從機,每個掛在總線上的器件都有一個唯一的地址可供主機識別。
主機通過IIC總線和從機進行通信的過程如下:USCI模塊在通信前先檢測總線是否處于空閑狀態(tài),空閑時主機控制總線產生一個起始條件(在SCL為高電平期間拉低SDA電平,產生一個下降沿),同時發(fā)送一個字節(jié)的從機地址信息,其中前7位是從機地址,用于識別掛在總線上的從機,最后1位是讀寫控制位R/W,置0時表示接下來是主機向從機寫入數據,置1時表示接下來是主機讀取從機的數據。
UCTXIFG中斷標志位會隨著起始條件的產生而置位,此時用戶可將需要發(fā)送的數據信息寫入發(fā)送緩沖寄存器UCB1TXBUF中,隨后數據被載入發(fā)送移位寄存器,時鐘脈沖下發(fā)送給從機,同時中斷標志位UCTXIFG將再次置位,表明可以繼續(xù)向發(fā)送緩沖寄存器UCB1TXBUF寫入數據。發(fā)送從機地址信息后,主機釋放SDA信號線等待從機響應后的應答信號ACK(應答時鐘脈沖期間拉低SDA電平),如果在第9個時鐘周期內SDA信號線的電平被從機拉低,表明從機對主機發(fā)送的地址做出了應答,反之則沒有應答。發(fā)送過程中,只要UCTXSTP控制位或者UCTXSTT控制位沒有置位,則主機會一直發(fā)送數據或者掛起總線。
要想更好地發(fā)揮SD卡保存數據的功能,還需要引入文件系統(tǒng)對其進行管理。Fats特別適用于小型嵌入式系統(tǒng),免費而且開源,是目前使用非常廣泛的嵌入式文件系統(tǒng),其主要包含3大部分:
API接口層:f_mount、f_open、f_read等接口。
VFS文件層:將復雜的扇區(qū)操作和塊操作封裝在一起,用戶不可見。
底層驅動層:通過SPI通信方式操作的底層硬件。
底層驅動程序主要包括:
SDCard_init()、SDCard_fastMode()
SDCard_readFrame()、SDCard_sendFrame()
SDCard_setCSHigh()、SDCard_setCSLow()
這六組函數接口,其中最重要的是在SD卡初始化的時候設為低速模式,然后再設為快速模式。
磁通門傳感器受加工工藝和安裝工藝水平的限制,在三維空間的XYZ方向上不是完全理想正交9,因此會存在誤差。根據理想磁通門傳感器測量環(huán)境磁場強度與姿態(tài)無關的特點,當三軸磁傳感器繞同一個軸轉動時,可以認為所測磁場總的模量不變?;谶@個特點提出修正模型:
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)
將實驗樣機置于磁屏蔽桶內部,長時間測量各路數據,觀察一定時間內信號變化量,計算零點穩(wěn)定度。
圖5 零點穩(wěn)定度測試
從曲線數據計算得到:
X軸自噪聲均方值為0.188 nT(RMS),零點漂移為0.20 nT/h。Y軸自噪聲均方值為0.177 nT(RMS),零點漂移為0.31 nT/h。Z軸自噪聲均方值為0.195 nT(RMS),零點漂移為0.23 nT/h。
經過足夠長的時間后磁傳感器達到穩(wěn)定,其輸出數據的變化將圍繞平均值來回漂移,而不是單向漂移,隨著時間的增加,穩(wěn)定度的值還可以提高。
該數據采集存儲系統(tǒng)經過野外環(huán)境半年測試,能夠穩(wěn)定的自適應環(huán)境弱磁場變化,測量并持續(xù)修正結果,在一定范圍內減輕了重復計量標定的次數,能夠適應不同型號磁通門傳感器輸出。
通過最小二乘法、奇異值分解法進行采集數據修正,大大改進了動態(tài)采集精度并降低了零點穩(wěn)定度和噪聲,現已進入量產測試階段。
從硬件層面(芯片集成)到軟件層面(低功耗設計)對系統(tǒng)功耗進行了持續(xù)性優(yōu)化,耗電量由毫安級別降低到微安級別,大大保障了野外長時間電池供電,使得長時間無人值守,數據遠距離傳輸成為可能。
同時,外部實時存儲系統(tǒng)本身是模塊化的插拔件,需要時既可以集成至系統(tǒng)板級內部,也可單獨拆分為一個存儲部件,增強了靈活性,為后續(xù)不同型號的采集模塊增加了通用性存儲部件。
除此之外,三軸磁通門傳感器并非絕對正交,在雅各比迭代、奇異值分解、最小二乘法等算法的基礎上需要持續(xù)進行優(yōu)化,尋找更加優(yōu)秀的修正算法,提高響應精度。為后續(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] 翁孟超,楊志強,宣仲義.微型磁通門傳感器的制備與測試研究進展[J].儀表技術與傳感器.2008,6:10-15.
[4] 張學孚,陸怡良.磁通門技術[M].北京:國防工業(yè)出版社,1995.
[5] 劉昭元,劉詩斌. 基于DSP的數字磁通門傳感器設計[J].傳感技術學報,2009,22(9):1280-1283.
[6] 王永博,劉詩斌. 基于ARM的低成本高分辨率磁通門磁強計[J].傳感技術學報,2014,27(3):308-311.
[7] 黨武松,范寒柏,胡 楊. 基于AD7791的海水溫度和深度測量系統(tǒng)設計[J].微型機與用,2013,32(20):25-28.
[8] 楊理踐,涂傳賓,高松巍. 基于磁通門傳感器的弱磁場檢測方法[J].儀表技術與傳感器,2014(9):84-87.
[9] 王曉美,滕云田,王喜珍,等.GM4型磁通門磁力儀性能檢驗方法[J].地震地磁觀測與研究.2008,29(6):88-94.
[10] 武修文,張松勇.基于磁通門與加速度傳感器的三分量磁力儀研究[J].現代電子技術,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。
國家自然科學基金項目(41274188)。
李松鶴(1988-),男,碩士,主要從事磁通門傳感器方向的研究。
1671-4598(2017)08-0315-04
10.16526/j.cnki.11-4762/tp.2017.08.080
TP216
A
曹大平(1961-),教授,博士生導師,主要從事弱磁場測量方向的研究。