基于AD7791的磁通门传感器数据采集与存储系统
2017-11-01李松鹤曹大平
李松鹤,曹大平
(武汉大学 物理科学与技术学院,武汉 430072)
基于AD7791的磁通门传感器数据采集与存储系统
李松鹤,曹大平
(武汉大学 物理科学与技术学院,武汉 430072)
针对磁通门传感器检测到的多路弱磁信号,设计了一种以AD7791为采集核心的小信号采集系统,解决了6路AD采集的同步问题;以MSP430F5437超低功耗单片机为主控,运用无磁转台测试实验,实现了数据的存储和探头姿态的校正,后采用最小二乘法进行数据修正;经实rt验验证,该采集系统可稳定于野外长时间工作(半年以上),零点稳定度由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;有效地降低了系统测量误差,精度明显提高。
数据采集;磁通门;AD7791;高精度;低功耗
0 引言
磁通门传感器是一种利用坡莫合金等软磁材料,通过磁化饱和时的非线性,来测量外部弱磁场的传感器[1]。与其他类型测磁仪器相比,磁通门传感器具有分辨率高、测磁范围宽、稳定可靠、能够直接测量磁场的分量和适于在运动系统中使用等特点[2]。
这种磁敏传感器的最大特点是适合在零磁场附近工作的弱磁场进行测量。传感器可作成体积小,重量轻、功耗低,由于该磁测仪对使用方便,故已较普遍地应用于航空、地面、测井等方面的磁法勘探工作中,在军事上,也可用于寻找地下武器(炮弹、地雷等)和反潜。还可用于预报天然地震及空间磁测等。
1 系统结构及原理
本文设计的磁通门传感器数据采集系统研制的背景是基于野外无人值守环境,提出了如下要求:
1)续航时间尽可能长,总体功耗要小,野外工作时采用电池供电。
2)总体体积小、集成度高,便于将设备内嵌,主控芯片集成多种片外资源。
3)采集速度快、精度高,可以存储复杂解析算法。
基于以上,控制单元采用德州仪器的MSP430F5系列超低功耗单片机,内部集成有SPI和IIC通信模块,无需单独添加片外资源;地磁场通常情况下为47500 nT(纳特,磁感应强度单位)左右,传感器输出分辨率为0.2 nT,这样对前端A/D采样精度提出了极高的要求。通过噪声分析、功耗分析、分辨率分析、综合选取AD7791为采集核心;后端移植Fats文件系统;合并DS3231时钟芯片接收到的时间,将数据实时刷新到存储卡上,满足野外高精度数据持续记录的要求。数据采集存储系统总体如图1所示。
图1 系统总体框图
2 硬件设计
系统采用MGA系列磁通门传感器,结合MSP430F5437单片机,采用24位高精度A/D转换器对3个方向、6路分量进行同步信号采集;由于传感器输出有多种电压型号,有5 V输出和3 V输出两个版本,为了提高系统兼容性,增加了逻辑电平转换模块,使得通用性更强。图2为系统电路接线图(单路)。
图2 单路采集电路
2.1 差分输入设计
A/D转换器模拟输入部分采用差分方式3,每一路输入信号都有自有基准地线,共模噪声被导线消除,减少了噪声误差,增强了抗干扰能力,特别是在磁通门传感器动态输出弱电压信号并有低频噪声的情况下,通过0.1 μF和10 μF电容多次滤波,达到了在特定频带内(0~4 Hz)减少输出误差的作用。
2.2 主控芯片
MSP430F5437是一款超低功耗单片机,其主要优点是:采用16位RISC精简指令集、外接25 M晶振、指令周期达到40 ns、运行速度快、大容量Flash和RAM,适合存储运行复杂算法。硬件上包含一个看门狗定时器,防止程序跑飞;两个普通定时器,UART通用串口,定时与上位机交换数据;多路SPI和IIC通信模块,用于适配DS3231时钟芯片和外部存储卡。时钟源ACLK/SCLK可以选择性关闭或打开,极大地节约了功耗。
2.3 A/D转换电路
三轴磁通门传感器将弱磁场量化并输出线性模拟电压,需要通过A/D芯片转换成相应的数字量进行后续数据修正分析[4]。
2.4 逻辑电平转换模块
磁通门传感器有5 V和3 V两种不同型号输出,MSP430的最大耐受电压是3.6 V,不可直接连接,为了保持兼容性,必须通过逻辑电平转换。AD7791将量化后的数字量通过SPI模块串口通信,选择74LVC4252A和74LV1T125两款低功耗芯片,能够很好地完成设计要求。
2.5 实时时钟
磁场的测量不仅要求准确度高,还要求具有实时性、可追溯性,能够精确的记录具体某个时间下的量值。MSP430内部集成有RTC时钟模块,但考虑到计时精度和断电情况,不符合系统要求,因此必须选择外部扩展实时时钟。
DS3231是一款集成IIC通信的时钟芯片,通过外部电池供电,具有低成本、高精度的特性。芯片内部集成了晶体振荡器和温度补偿传感器,不但减少了元件的数量,还确保了器件的长期精确性。该芯片采用的是16引脚封装形式,以IIC协议与微控制器进行通信,利用协议的双向总线传输数据和地址作为高精度时钟芯片,正常电压工作时,年误差不大于2分钟,闰年自动补偿。
2.6 外部存储模块
测量设备在野外通常是几个小时甚至数天的不间断工作,采集的数据量很大,而MSP430单片机内部的存储器显然无法满足要求。为实现野外无人看守条件下的大容量数据存储,需要外接一个存储模块。目前存储模块有多种,而系统设计的目标是体积小、功耗低、容量大,最适合采用的是SD卡,目前已经可以做到32 G甚至64 G以上,而且支持SPI接口,和MSP430单片机能够很好的兼容。在物理介质的基础上,还需要一定的格式保证数据能够可靠的存储和读取,跨平台的Fats文件系统能够很好地满足要求。
3 软件设计
系统使用CCS5.0集成开发环境,总体流程为:
1)初始化所有端口,通过SPI通信方式进行六路AD循环采集,并判断数据是否有误。
2)通过IIC通信与DS3231模块获取实时时间将采集到的数据封装成帧,串口发送。
3)初始化并挂载文件系统于SD卡,将数据分别保存于上位机和SD卡内。
图3 软件流程图
3.1 AD7791的读写
MSP430与AD7791之间通过SPI协议进行通信,一般需要连接四根线,分别是CS片选,主时钟SCLK,主入从出SOMI,主出从入SIMO[7]。选取单次转换读取模式。AD7791通信寄存器CR有8个控制位,且只可以被写入,不能被读取。MSP430与AD7791的数据信息交换总是以写入命令至到通信寄存器CR开始的。如果要操作其他寄存器进行读或写,也必须先向通信寄存器写入相应的数据。并且每次对其他寄存器的操作完成后或者是AD7791刚刚上电复位后,总是会默认回到写通信寄存器CR状态。当SPI接口串行时钟出错时,可以将DIN引脚置高,向SCLK引脚连续输入32个串行时钟,即可使ADC返回到此默认状态[8]。
图4 AD7791通信流程图
3.2 DS3231的读写
IIC总线是一种双线串行接口,支持同步传输,一根串行时钟线SCL,一根串行数据线SDA,支持IIC协议的器件其SCL和SDA引脚均是开漏的,所以实际使用中这两根信号线都要接上拉电阻,阻值在1~100 kΩ之间,且为主从结构。在此外设DS3231为从机,每个挂在总线上的器件都有一个唯一的地址可供主机识别。
主机通过IIC总线和从机进行通信的过程如下:USCI模块在通信前先检测总线是否处于空闲状态,空闲时主机控制总线产生一个起始条件(在SCL为高电平期间拉低SDA电平,产生一个下降沿),同时发送一个字节的从机地址信息,其中前7位是从机地址,用于识别挂在总线上的从机,最后1位是读写控制位R/W,置0时表示接下来是主机向从机写入数据,置1时表示接下来是主机读取从机的数据。
UCTXIFG中断标志位会随着起始条件的产生而置位,此时用户可将需要发送的数据信息写入发送缓冲寄存器UCB1TXBUF中,随后数据被载入发送移位寄存器,时钟脉冲下发送给从机,同时中断标志位UCTXIFG将再次置位,表明可以继续向发送缓冲寄存器UCB1TXBUF写入数据。发送从机地址信息后,主机释放SDA信号线等待从机响应后的应答信号ACK(应答时钟脉冲期间拉低SDA电平),如果在第9个时钟周期内SDA信号线的电平被从机拉低,表明从机对主机发送的地址做出了应答,反之则没有应答。发送过程中,只要UCTXSTP控制位或者UCTXSTT控制位没有置位,则主机会一直发送数据或者挂起总线。
3.3 Fats文件系统移植
要想更好地发挥SD卡保存数据的功能,还需要引入文件系统对其进行管理。Fats特别适用于小型嵌入式系统,免费而且开源,是目前使用非常广泛的嵌入式文件系统,其主要包含3大部分:
API接口层:f_mount、f_open、f_read等接口。
VFS文件层:将复杂的扇区操作和块操作封装在一起,用户不可见。
底层驱动层:通过SPI通信方式操作的底层硬件。
底层驱动程序主要包括:
SDCard_init()、SDCard_fastMode()
SDCard_readFrame()、SDCard_sendFrame()
SDCard_setCSHigh()、SDCard_setCSLow()
这六组函数接口,其中最重要的是在SD卡初始化的时候设为低速模式,然后再设为快速模式。
4 最小二乘法修正
磁通门传感器受加工工艺和安装工艺水平的限制,在三维空间的XYZ方向上不是完全理想正交9,因此会存在误差。根据理想磁通门传感器测量环境磁场强度与姿态无关的特点,当三轴磁传感器绕同一个轴转动时,可以认为所测磁场总的模量不变。基于这个特点提出修正模型:
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)
5 实验及结果
将实验样机置于磁屏蔽桶内部,长时间测量各路数据,观察一定时间内信号变化量,计算零点稳定度。
图5 零点稳定度测试
从曲线数据计算得到:
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。
经过足够长的时间后磁传感器达到稳定,其输出数据的变化将围绕平均值来回漂移,而不是单向漂移,随着时间的增加,稳定度的值还可以提高。
6 结论
该数据采集存储系统经过野外环境半年测试,能够稳定的自适应环境弱磁场变化,测量并持续修正结果,在一定范围内减轻了重复计量标定的次数,能够适应不同型号磁通门传感器输出。
通过最小二乘法、奇异值分解法进行采集数据修正,大大改进了动态采集精度并降低了零点稳定度和噪声,现已进入量产测试阶段。
从硬件层面(芯片集成)到软件层面(低功耗设计)对系统功耗进行了持续性优化,耗电量由毫安级别降低到微安级别,大大保障了野外长时间电池供电,使得长时间无人值守,数据远距离传输成为可能。
同时,外部实时存储系统本身是模块化的插拔件,需要时既可以集成至系统板级内部,也可单独拆分为一个存储部件,增强了灵活性,为后续不同型号的采集模块增加了通用性存储部件。
除此之外,三轴磁通门传感器并非绝对正交,在雅各比迭代、奇异值分解、最小二乘法等算法的基础上需要持续进行优化,寻找更加优秀的修正算法,提高响应精度。为后续系统持续优化,指明了方向。
[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].北京:国防工业出版社,1995.
[5] 刘昭元,刘诗斌. 基于DSP的数字磁通门传感器设计[J].传感技术学报,2009,22(9):1280-1283.
[6] 王永博,刘诗斌. 基于ARM的低成本高分辨率磁通门磁强计[J].传感技术学报,2014,27(3):308-311.
[7] 党武松,范寒柏,胡 杨. 基于AD7791的海水温度和深度测量系统设计[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-),教授,博士生导师,主要从事弱磁场测量方向的研究。