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,满足要求。