胡正群 ,张丽荣
(1.中国科学院国家天文台,北京100012;2.中国科学院研究生院,北京100049)
数字大气压力传感器目前普遍运用于社会生活各个领域,大气压力传感器技术是仪器科学领域发展的重要技术方向,未来此类传感技术的发展主要向两个方向进行:其一是开发新材料、新工艺开发新型传感器;其二是研究传感技术的高精度、集成化、微型化、智能化、仿生化、网络化和多传感器融合等。
数字化通信是电子设备发展的趋势,目前所使用的大部分压力传感器都是数字化传感器,它具有稳定性高、简易方便、易于集成等特点。在众多的大气压力传感器中,BP5607是基于 MEMS(Microelectro Mechanical System)技术的高灵敏度、高分辨率的数字压力传感器。本文基于ARM Cortex-M3微处理器LP1768+压力传感器BP5607的架构设计,阐述该款传感器的设计实现思想;结合改进的差分气压测高算法,设计实现了具有高灵敏度、高分辨率、高精度的高程测量仪,在传感器应用测量领域有一定的使用参考价值。
BP5607是一款采用MEMS技术将高线性压力传感器与一个低功耗的24 bit模数转换电路(ADC)集成于一体的数字气压传感器(图1)。压力测量范围为10 mbar~1 200 mbar,压力测量分辨率为0.13 mbar/0.084 mbar/0.054 mbar/0.036 mbar/0.024 mbar通过编程设置采样率可以有效选择;温度测量范围为-40℃ ~85℃,分辨率优于0.01℃。用户可根据实际应用的转换速度和功耗在软件中选择不同的工作模式。BP5607包含了一个硅压阻传感器和一个模数转换接口电路,它把从压阻式传感器输出的未经补偿的模拟电压转换为24 bit的数字信号,提供一个24 bit的数字压力值和温度值信号[1]。
图1 BP5607原理框图
BP5607可以根据需要选择AD转换器采样频率(256/512/1024/2048/4096)用以控制气压/温度输出的有效位精度,从而提高测量精度。该模块将传感器采集的信号经过模数转换器后输出24 bit的数字信号可直接与微处理器通信,便于集成,相对于以前的模拟信号输出的产品,减少了信号放大等电路,同时也节省了标定环节的时间和资金。BP5607具有小体积(5.3 mm×3.0 mm×1.7 mm),低功耗,高精度,高分辨率,响应时间快的特点。
BP5607提供SPI和IIC 2种接口模式,可以与任意一款微处理器相连,不需要装置内部编程存储器,用以控制BP5607的工作模式和工作流程。在SPI模式下模块可以同时接受时序相反的模式0和模式3传感器在输出端SDO(串行数据输出)给予响应。片选管脚(CSB管脚)用于控制该接口的工作状态,用以解决微处理器SPI接口复用的问题。当发送命令或者命令执行完后该片选管脚(CSB脚)被拉回至高电平。在进行ADC转换时,当SPI总线处于闲置时或者没有其他设备在利用该总线时噪声性能最好。IIC总线在传输数据时,外部处理器时钟通过SCLK(串行时钟)和SDA(串行数据)与模块通信,IIC总线接口在同一个双向通信的SDA管脚响应,因此这种接口只需要两条信号线,不再需要片选信号。在IIC模式下片选信号(CSB脚)的增加提供了LSB的IIC的地址,因此在同一个IIC中线上可以携带多个传感器模块工作。
BP5607内部没有控制器,需要外接微小控制处理器通过读写指令来驱动BP5607的工作,本文采用LPC1768处理器+BP5607的架构完成气压测高模块的设计实现,气压测高模块系统组成如图2所示。
图2 气压测高模块系统组成
LPC1768是一款高性能、低功耗的32 bit ARM Cortex-M3微处理器,内存映射包含多个内置外设块,具有一个嵌套矢量中断控制器(NVIC)[2-3]。运行频率高达100 MHz,具有512 kbyte的Flash存储器和64 kbyte的数据存储器。供电电源2.4 V ~3.6 V,操作频率可以从1 MHz~24 MHz,能实时处理大量的温度补偿和压强数值转换运算。支持低功耗运行和低功耗睡眠模式,满足系统低功耗要求。LPC1768的芯片资源和接口资源非常丰富,可以保证处理器将处理完的数据传输到所需要的设备上。
LPC1768微处理器与传感器BP5607之间采用SPI接口进行交互通信,从而获得对气压数据和温度数据的采集。传感器BP5607有5种基本指令:复位-读取PROM数字(C1~C6系数)-D1转换-D2转换-读取ADC并输出数据[1]。通过这5种基本指令可以得到BP5607采集气压和温度数据的工作流程,如图3所示。
图3 BP5607采集气压/温度的工作流程
在同一地点分别用两个模块测量气压值如图4和图5所示,图4是通过LPC1768对传感器BP5607设置气压分辨率为0.024 mbar的测量结果,图5是传感器测量气压分辨率为0.13 mbar的测量结果,气压数据采集率为1 Hz。
图4 BP5607测得48 h气压的变化曲线(D1/D2采样率:4096)
图5 BP5607测得48 h气压的变化曲线(D1/D2采样率:256)
不同的传感器模块即使在同一个位置上,由于焊接工艺上存在一定的区别,利用不同的传感器模块测量气压,所得到的气压测量值彼此之间也会存在一定的差异,但是这个差值一般是固定的,可以通过测量得以修正。
此外,由于AD转换器采样率的不同,采集得到的气压值在有效位上存在一定的区别,采样率越高气压变化曲线显得越平滑,也就越能真实的反映实际的大气压强的物理状况,采样率越低气压变化曲线存在较大的量化误差。
式(1)中tm是基准点P0和测量点P之间的平均摄氏温度,即tm=(t0+tR)/2,t0为基准点温度,tR为测量点温度值。
差分气压测高具有较好的高程测量精度,在很多场合中具有很好的使用价值[8],为了减小用户端数据的计算量,通过线性化计算的方式获得高程,可以对差分气压测高的数学模型做一定的改进。由式(1)分析可得,假定不同的气压测高模块在同一地点测量的气压值完全一致的情况下,测量点相对于基准点0.1 mbar的气压变化量,相当于高度变化约0.82 m;测量点相对于基准点1℃的温度变化量,相当于高度变化约为0.023 m[9]。在差分气压测高模型中,高程的测量精度主要取决于基准点与测量点之间的气压差,气压传感器的测量一致性决定了气压对高程测量的精度。温度在差分气压测高模型中的影响权重比较小,气压在差分气压测高模型中的影响权重比较大,在一定的区域范围以内,可以建立测量点相对于基准点的高度与气压差和温度差之间的线性数学关系式,如式(2)所示。
在不同的区域范围内通过实验获得α和β值,从而获得简化差分气压测高系统方法的使用。在差分气压测高系统中,高程测量精度与基准点与测点之间的基线长度负相关,即基线长度越长精度越低。为了提高差分气压测高的精度,差分的范围不宜过大,一般在3 km左右的区域里,因此可以认为基准点与测点的温度相等,即tR=t0,那么式(2)可以简化为
式(3)表明测点的高程测量变成了基准点与测点的气压差测量问题,在基准点高程一定的条件下,测点的高程分辨率直接取决于基准点与测点的气压差分辨率,即取决于气压的测量分辨率。由图4和图5
由图4可以看到,同一地点(海拔不变)的气压值处于无规则的变化状态之中[4-5],在“国际标准大气”模型下,直接通过气压去推算高程,解算的高程同样和气压值的变化趋势一样[6],这时高程的测量精度不高,严重的情况下一天内的定点测量高度漂移达到数十米的量级,稳定性和可靠性较差,实用性不强。
根据气压随高度变化的规律,若已知基准点高度h0的气压P0和温度t0,以及在测点测出的气压P和温度 tR,测点的高度 h 为[7]:可知,D1/D2采样率决定了测压的分辨率,进而决定了高程测量的分辨率。因此,D1/D2采样率越高,高程测量分辨率越高。将两个BP5607测高模块放在高差为h-h0=0.8 m的两个位置,D1/D2采样率为4 096,气压测量分辨率为0.024 mbar,气压数据采集率为1 Hz,将较低位置的模块作为基准点,较高位置的模块作为测点,由测量的温度值和气压值求得 α=1.020 8,β=0.1361。由于两个模块之间在同一个位置本身存在测量差异,因此,以上两个系数已经包含了测量差异的系统误差。将测点模块向上移动0.6 m,然后返回测点位置,测点模块相对于基准点的高程轨迹经过式(1)和式(2)解算如图6所示。
图6 测点模块相对于基准点高程解算曲线
利用式(1)和式(2)解算的测点相对于基准点高程曲线基本一致,并且两者都比较符合实际的情况,分辨率较高。气压每变化0.1 mbar带来高程测量误差约为0.82 m[10],因此,提高测压的分辨率和精度可以进一步提高差分气压测高系统高程的测量精度,当测压分辨率达到0.01 mbar时,系统理想的高程分辨率达到0.082 m,由于系统误差等因素的存在,由图6可知,高程测量的分辨率仍然可以优于0.2 m。
压力传感器BP5607具有良好的重复性以及批量生产性,便于实现压力传感器的单片集成,随着测控领域技术的不断发展,将高灵敏、高分辨率的压力传感器嵌入到其他的电子勘测系统,将会有更多的场合受益于这些高灵敏度的压力传感器。本文利用LPC1768作为微处理器,设计实现BP5607的差分气压测高模块,并且结合简化的差分气压测高方法,具有较好的稳定性、可靠性,在高程测量领域中对于提高精度和分辨率方面有较好的效果,在高程测量领域有着一定的参考价值。
[1]MEAS.BP5607 Barometer Module Datasheet[EB/OL].(2011 -02-17).http://www.meas-spec.com.
[2]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2008.
[3]喻金钱,喻斌.ARM Cortex-M3核微处理器开发与应用[M].北京:清华大学出版社,2011.
[4]霍立业.气压测高的理论依据和数学模型[J].解放军测绘研究所学报,1997,(2):56-60.
[5]霍立业.气压测高方法及测高精度的研究[J].解放军测绘研究所学报,2002,22(2):21-25.
[6]United States Committee on Extansion to the Standard Atmosphere.U.S.Standard Atmosphere[M].Washington:US Govenment Printing Office,1976.
[7]Ai Guoxiang,Sheng Peixuan,Du Jinlin,et al.Barometric Altimetry System as Virtual Constellation Applied in CAPS[J].Science in China Series G:Physics Mechanics and Astronomy,2009,52(3):376-383.
[8]Zhang Lirong,Ma Lihua,Wang Xiaolan,et al.Application of Pressure Sensor in Chinese Area Positioning System[C]//J.Sun et al.(eds.),China Satellite Navigation Conference(CSNC)2012 Proceedings,Lecture Notes in Electrical Engineering 159,pp551-558.Springer-Verlag GmbH Berlin Heidelberg 2012.
[9]胡正群,张丽荣.差分气压测高在室内定位系统中应用的性能分析[J].传感技术学报,2012,25(10):1463-1467.
[10]张丽荣,马利华,王晓岚.CAPS气压测高的仿真分析[J].微计算机信息,2011,27(3):185-186.
[11]刘成,杜晓辉,王萌.附有高程约束的中国区域定位系统定位精度分析[J].全球定位系统,2011,27(1):18-22.
[12]刘维亚,牛秀范,邓春健.基于智能传感器的新型高度与方向测量仪[J].传感技术学报,2010,23(8):1093-1097.