实验一 等精度频率计的制作
一、任务
设计并制作一个等精度频率计。
二、要求和说明
1、能够准确地测量1-1MHz方波(高电平接近单片机的VCC,低电平为0)的频率; 2、测量的精度为≤±0.01%,测量速度≤1秒; 3、适当扩展测试的功能,如脉宽、占空比的测量; 3、尽可能地提高测量精度和测量速度; 4、外围电路尽可能地简单。
三、方案参考
用MCU频率测量方波频率的3种最基本方法为:测频法和测周法、多周期同步测频法。测频法适合测量频率较高的脉冲,测周法适合测量频率较低的脉冲。所谓的适合,主要是从测量的精度上考虑,因此测量不同频率范围的脉冲,需要将以上两种方法结合使用。不管测频法还是测周法,其关键就是如何巧妙的设计和使用定时/计数器。现在新型的MCU在定时/计数器单元上都增加了输入捕捉功能,学会掌握和正确使用这个输入捕捉功能能够大大提高频率测量的精度。
一般情况下,当测量频率的范围为1-1MHz、精度≤±0.01%时,可以分三段来进行测量。1-100Hz采用测周法;100-10KHz采用多周期测频法;10KHz-1MHz采用测频法。
计数法: Fx = Nx±1/Tw Fx——信号频率 Nx——计数个数 Tw——计数时间 这种测量方法的测量精度取决于计数时间和被测信号频率,当被测信号周期与计数时间相近时将产生较大误差。
少一个周期
少一个周期
多一个周期
误差分析如下:
测频法采用1秒内计数器计数的值来表达所测频率,该方法误差是绝对的,为±1,也就是±1Hz。相对误差见下表: 被测频率 1000000Hz 100000Hz 10000Hz 1000Hz 100Hz 1Hz 绝对误差 ±1Hz ±1Hz ±1Hz ±1Hz ±1Hz ±1Hz 测量精度 ±0.0001% ±0.001% ±0.01% ±0.1% ±1% ±100% 从上表中可以看出,测频法在测量高频时测量精度好,频率越高精度越好。频率越低,测量精度越差,所以对于低频率信号,应该转换采用测周法进行测试。综合考虑测周法中捕捉中断的间隔(必须有足够的时间)和测量精度,方案选择对于被测频率小于100Hz以下的信号,转换采用测周法进行测量。这样最小测量精度为±0.001%,发生在100Hz时。
测周法在测量1-100Hz信号时,为了提高测量精度,随着频率的增加,应该适当增加累计计数的次数(或者叫中断的次数)。 周期法: Fx = 1/Tw+Δ Fx——信号频率 Tw——计数时间 Δ——时钟误差
这种测量方法由于微控制器本身时钟周期误差在测量高频时不够准确。
等精度测频:NxTx =( Ns±1) Ts,Fx = Fs (Nx/(Ns±1)
测周法和测频法比较容易实现,下面重点讲述多周期同步测频法的原理。
将标准信号f0通过主门计数;通过被测信号控制门电路形成门控信号。在等精度测频法中将门控信号与被测信号同步。
计算公式为:NxTx?N0T0 ,fx?原理如下图1、图2所示。
Nx?f0。 N0
图1 测试原理图
图2 时序波形图
由以上工作过程和波形图可以看出,Nx对被测信号Tx的计数是与闸门是同步的,故不存在量化(±1)误差,这时误差仅发生在计数器2对f0的计数N0上,因为主门2与f0之间并无同步关系,故仍存在量化误差,不过通常f0>>fx,故比±1误差相对小得多。
四、测试记录 测试频率 1.0009Hz 测试速度 测试结果 误差 测试频率 1000.9 Hz 测试速度 测试结果 误差