1 引 言
多周期测量法是一种很灵活的频率测量方法,通过调整被测信号的周期个数可以在测量精度和测量时间二者之间做出最佳选择,对于用普通的测频法和测周法难以保证测量精度的非等周期信号,如气压传感器的输出信号,多周期测量法是最佳选择。另外,通过提高基准频率和选用大容量计数器等措施还可以进一步提高系统的测量精度,这种测量方法可用于高精度频率测量系统的设计中。
2 信号采集要求
在研制基于GPRS的自动气象站中,气压采集系统采用电激励谐振筒式压力传感器。该传感器输出为周期C(或频率f)与气压相关的TTL电平的矩形波信号(下称原始信号)和一个与环境温度呈线性关系的0~5 V的模拟电压信号。输出信号频率与气压P一一对应,单值连续,振动筒谐振频率的变化反应了气压的变化。
国家气象局对气压遥测的要求,测量范围为50~110 kPa,采集的分辨率为0.01 kPa,准确度为±0.03 kPa,采集速率为6次/min(1 min共取6个样本值,取中间大小的4个值的等权算术平均值)。根据周期C(或频率f)对气压的最低灵敏度来确定周期及频率测量的分辨率,根据周期C(或频率f)对温度的最高交叉灵敏度决定对温度电压的分辨率。通过数据分析,欲使气压系统分辨率达0.01 kPa,这就要求周期测量分辨率为0.002 636 2μs,频率测量的分辨率为0.068 645 Hz,对温度电压的分辨率为43 mV。
3 测量频率和周期的基本方法
电子计数器测量信号频率和周期的基本原理是门控法,如图1所示。
(1)在测量频率时,被测信号加在A端,B端加门控信号,其信号宽度TB即是采样时间,被测信号频率为: N为闸门时间TB内的脉冲数。测量的最大误差为:
误差中前项是量化误差,后部分是因为标准信号误差引起。若满足0.068 645 Hz分辨率的要求,门控信号宽度TB(采样时间)要超过15 s。按照这种方法,不能达到国家气象局规定的气压采集速率6次/min。
(2)测量信号周期时,标准信号加在A端,B端门控信号由被测信号触发,其信号宽度TB为被测信号的周期,被测信号周期C为:
其中,N为被测时间内对周期为τ的标准信号计数个数,测量的最大误差为:
误差中前项是量化误差,后部分是因为标准信号误差引起的。若满足0.002 636 2 μs分辨率的要求,时标信号的频率要高于379.33 MHz,实现难度大,用微控制器直接测量时是不能完成的。 [page]
4 多周期测周法
对信号M分频后触发产生门控信号对时标信号计数(如图2所示)。
误差中前项是量化误差,后部分是因为标准信号误差引起的。从式中可知,被测信号周期扩展M倍后,对时标信号的频率要求不很高,电路容易实现,并能将量化误差降到单周期测量的1/M;为减小标准信号带来的误差,要求时标信号具有较高的精度。
触发误差的抑制 传感器输出的信号为矩形波信号由原始振荡信号经整形得到,信号中叠加的噪声在整形时会使矩形波信号的触发沿提前或滞后。多周期测周时使相邻周期的触发误差相互抵消。M个周期的累计触发误差只相当于单个周期的触发误差。
5 信号测量单片机控制电路的实现
图3为多周期测周的原理图,其核心是P89LPC935。
P89LPC935是PHILIPS公司LPC900系列单片封装的微控制器,采用了高性能的处理器结构(与51系列兼容),速度6倍于标准80C51器件,除51系列单片机资源外还具有8 kB FLASH程序存储器,512片内用户数据E2PROM存储区,2个4路输入的8位A/D转换器和2个DAC,I2C,SPI总线、片内看门狗和复位电路、捕获/比较单元(CCU)等资源。
原始信号(传感器输出的与气压有关的矩形波信号)接到分频电路CD4020的时钟输入端,经256分频后接到P89LPC935的/INT1端,作为门控信号控制P89LPC935内部的定时计数器1。定时计数器1工作在定时方式,在门控信号为高电平时计数。时钟为PCLK,为外接晶振11.059 2 MHz的2分频(6倍于标准80C51器件),即5.529 6 MHz。
如图4所示,原始信号周期C在200 μs左右,256分频后的门控信号周期在51 200μs左右(256C),一个周期中高电平部分约为25 600 μs(高电平部分128 C),在高电平时对5.529 6 MHz计数,其计数值约为141 500,超过16位计数器的长度,将产生溢出并产生中断。开辟1个内部RAM,在中断服务子程序中进行加l操作,即可满足计数字长要求。计数过程如下:
S1:首先判断/INT1是否为高电平,该过程时间最长256C;
S2:判断/INT1是否为低电平,若是,计数器清零,允许计数,允许计数器溢出中断,该过程时间128C;
S3:/INT1为高电平时计数器计数,计数器溢出时产生中断,中断服务子程序中高位加1,该过程时间128C;
S4:后续处理,包括频率计算、温度采集及其他运算。该过程时间小于128C。
整个计数及处理过程时间小于640 C,在128 ms以内,远小于10 s。原始信号的周期C及测量误差如下计算。原始信号的周期为C,计数值为N,计算公式为:
其中,M=128;τ=(1/5.529 6)μs;128C=(N/5.5296)μs,C=N×0.001 4μs。
其测量误差为:
误差中前项是量化误差,为0.001 4μs;后部分是因为标准信号误差(即晶振的误差)引起的。在整个测量范围内,C最大值为211.787 9μs,选取准确度优于5 ppm的晶振,该项误差最大值为:211.787 9μs×5 ppm=0.001 1μs;两者的和小于0.002 636 2μs,满足要求。
[page]
上述的分析计算是两者绝对值相加,有一定的冗余。如果进一步提高M值,将进一步减小量化误差。
用该方法测量周期的前提条件是选取准确度优于5 ppm的晶振,测量周期的误差最小可控制在0.001 1μs。
将温度信号直接连接到P89LPC935的模拟输入端AD10(P0.1)引脚,进行A/D转换。A/D转换时间为μs量级,远远小于要求的采样周期10 s,在温度采集时,有足够的时间对A/D转换数据进行数据处理,其具体方法为:每次采集进行18次A/D转换,去掉一个最大值和最小值,取其余16个数据算术平均值作为最终结果。
温度信号采集的准确度为20 mV,优于43 mV的要求。
6 结 语
该测量方法成功地应用于与河南省气象局合作开发的自动气象站中。用多周期测周的方法快速准确测量信号的频率(周期)基于2个条件:信号是连续的;P89LPC935的晶振必须使用外接的高精度、高稳定晶体振荡器(准确度优于5 ppm)。