可编程定时/计数器提高输出频率准确度方法

最新更新时间:2006-05-07来源: 互联网关键字:计数器  脉冲发生器  频率准确度 手机看文章 扫描二维码
随时随地手机看文章

    摘要:用可编程定时/计数器作脉冲发生器时,输出脉冲频率等于输入时钟频率除以计数值,但其数值是离散的,期望输出频率只能用这些离散频率点来近似,频率准确度随输出频率升高而下降。提高输入时钟频率,增加输入时钟源数能提高脉冲发生器输出频率准确度。

将单片机内置或专用可编程定时/计数器作脉冲发生器,一般输入脉冲由晶振产生经过整形或分频后形成,有很高的频率准确度和稳定度。设输入脉冲频率为fin,期望输出脉冲频率为f,应置入脉冲发生器的计数值N=fin/f。当f为fin的约数,则N为整数,f与fin的准确度相同;当f不为fin的约数,则N也不为整数,N=n+δ,其中n为N的整数部分,δ为N的纯小数部分。由于计数值只能为整数,实际计数值Np只能取N的近似数n或n+1,竞争输出脉冲频率fp=fin/Np。因Np的近似,fp与f间必然存在误差,且此误差分量较之因fin准确度和稳定度有限引起的误差分量可能大得多。f的准确度主要受Np的近似影响。本文在不计由fin准确度和稳定度影响的条件下,分析由Np引起f误差的特点,探讨消除或减小因Np引起f误差的方法,从而提高f的准确度。

1 单时钟源时,因Np近似影响输出频率准确度分析

当脉冲发生器输入脉冲为fin时,若最大计数值为nmax,则Np取值可能为1,2,…,nmax,有nmax种可能,相应fp被离散为fin,fin/2,…,fin/nmax,也有nmax种取值的可能。令fin/(nmax+1)=0,这些离散频率将0~fin频段分成nmax个子频段,对于任一f∈(0,fin),总对应一n,使f∈(fin/n+1),fin/n)。Np取n或n+1,近似N,实际上是用fin/n或fin/(n+1)来近似f。当f为fin的约数时,Np=N,fp=f,绝对误差Δf=fp-f=0,相对误差r=Δf/f=0;当f不为fin的约数时,Δf≠0,r≠0。Δf和r的值与Np的取值方案有关,有以下三种情况:

①Np=n时,fp=fin/n>f, Δf>0,r>0Δf随f的增大而减小。F趋近于fin/(n+1)时,Δf和r趋于极大值;Δf趋近于fin/n-fin/(n+1)=fin/[n(n+1)]时,r趋近于1/n。采用此方案时,f越接近于fin/(n+1),f的准确性越差,如图1口Δf(f)曲线。

②Np=n+1时,fp=fin/(n+1)Δf|随f的增大而增大。F趋近于fin/n时,|Δf|和|r|趋于极大值;Δf趋近于fin/(n+1)-fin/n=-fin/[n(n+1)])时,r趋近于-1/n。采用此方案时,f越接近于fin/n,f的准确性越差,如图2中-Δf(f)曲线。

③以|Δf|为最小原则,f∈[fin/(n+1),fin/(n+1)+fin/2n(n+1)]时,Np=n+1,fp=fin/(n+1),则Δf<0,r<0;f∈[fin/(n+1)+fin/2n(n+1),fin/n]时,Np=n,fp=fin/n,则Δf>0,r>0;当f=fin/(n+1)+fin/[2n(n+1)]时,|Δf|和|r|达到极大值。Δf=±fin/2[n(n+1)],r=±1/(2n+1)。采用此方案时,f越接近fin/(n+1)+fin/[2n(n+1)],f的准确性越差(见图2)。

综合以上三种方案的误差情况,因Np近似引起的输出频率误差有以下特点:

①三种方案的Δf(f)曲线都是由一组分辩率为-1的平行线段组成,子频段越宽,斜线段越长。说明各子频率的最大绝对误差值max(|Δf|)及max(|r|)与子频段宽度成正比,而子频段的宽度与n成反比。

②方案③各子频段的max(|Δf|)和max(|r|)为前面方案一半,说明方案③较前两方案更合理。以后讨论Np取值时都按方案③。

③评价发生器的准确度,是用给定频段最大相对误差的大小。最大相对误差大小取值越小,则发生器的准确度越高。在子频段[fin/(n+1),fin/n]中,其极大值为1/(2n+1)。由此可以看出,fin一定时,f越大,n越小;子频段的|r|极大值越大,准确度越低。对于给定输出频段的准确度,可以用该频段频率上限对应的子频段|r|的极大值来评价。换言之,提高了输出高频段的准确度,也就提高了整修输出频段的准确度。

表1是设fin=10 7Hz,f在不同数量级Hz频段,由N近似影响f准确度的指标。

表1 

频段 10 2 10 3 10 4 10 5
max(|γ|) 5×10 -6 5×10 -5 5×10 -4 5×10 -3
max(|Δf|)/Hz 5×10 -4 5×10 -2 5 446

从表1可以看出,f每增加1个数量级,max(|r|)增加1个数量级,max(|Δf|)增加2个数量级。

2 提高输出频率准确度的方法

在给定可编程定时/计时器条件下,针对Np引起输出频率误差的特点,可以采取不同方法消除或减小输出频率误差,从而提高输出频率的准确度。

(2)脉冲发生器仅需有限个确定频点输出时的情况

脉冲发生器仅需有限个确定频点输出时,以下两种方法可以消除因计数值近似引起的输出频率误差。

①单时钟公倍数法。若取fin为这些频点的公倍数,则其中每个频点f对尖的N都为整数,从而消除了因计数值近似引起的输出频率误差。采用此法须注意,一是fin不得超出脉冲发生器的允许输出频率上限;二是确定已知频点的有效位数时,要考虑到晶振的准确度和稳定度。

②多时钟源公倍数法。采用单时钟公倍数法确定的fin超出脉冲发生器输入频率上限时,可以采用二时钟源或多时钟源公倍数法。二时钟源公倍数法的具体做法是,将各输出频点分成两级,分别求出各组对应的公倍数fin1及fin2,若此fin1或fin2有一个大于脉冲发生器输入频率上限时,则重新分且,直到两组的公倍数fin1及fin2都达到输入频率上限要求。电路上设置相应的两振荡电压及二选一开关,根据输出频率而将对应的fin1或fin2切换到脉冲发生器的输入端。若分成两组后,无论怎样调整分组都不能使fin1及fin2同时满足输入频率上限要求,则可采用多时钟源公倍数法。考虑到增加时钟源数后,给软硬件带来的复杂性,在满足输入频率上限要求的前提下,时钟源数应尽量少。

(2)已知输出频率上限,不能确定具体期望输出频率时的情况

已知输出频率上限,不能确定具期望输出频率时,尽量提高fin或增加时钟源数,缩小近似子频段宽度,减小子频段内可能出现的max(|r|)及max(|Δf|)。

①提高时钟源fin法。若要求输出频率上限为fmax,则对应Nmin=fin/fmax=nmin+δ。输出频段可能出现的max(|r|)=1/(2nmin+1)若能使fin增大,则nmin增大,max(|r|)相应减小,从而提高了输出频率的准确度。

②多时钟源等分子频段法。提高时钟源fin,受脉冲发生器允许输入上限频率的制约,若还要提高输出频率准确度,可以增加时钟源数,将[fin/(nmin+1),fin/nmin]子频段作M等分,则可钭max(|r|)缩小M倍。

设有M个时钟源,其频率分别为fin,fin1,…,finM-1,可通过M选一开关,接入其一到脉冲发生器的输入端,经过nmin分频后,正好将[fin/(nmin+1),fin/nmin]M等分,即

fin1/nmin=fin/nmin-fin/[M·nmin(nmin+1)]

fin2/nmin=fin/nmin-2fin/[M·nmin(nmin+1)]

.

.

.

fin/nmin=fin/nmin-jfin/[M·nmin(nmin+1)]

.

.

.

finM-1/nmin=fin/nmin-(M-1)/[M·nmin(nmin+1)]

也即只要:finj=fin[1-j/[M(nmin+1)](j=1,2,…,M-1),就可以将子频段[fin/(nmin+1),fin/nmin]等分为M个子敬意。用量小|Δf|原则通过切换进相应的时钟源,f可以用fin/(nmin+1),finM-1/nmin,…,fin1/nmin,fin/nmin来近似。各子区间max(|r|M)=(|r|)/M。一般地,当n>nmin时,M-1个增加的时钟finj(j=1,2,…,M-1),经n分频后不一定能将[fin/(n+1),fin/n]作M部分,但能使此子频段分割,且各子区间宽度都小于fin/[M·nmin(nmin+1)],各子区间内的max(|r|)小于max(|r|m)。

3 实验结果

我们对多时钟源等分子频段法进行了实验,可编程定时/计数器采用Intel 8254-2,取fin=10MHz,fmax=10kHz,M=5,则nmin=1000,用频率计将各振荡器输出频率标定为:fin=10MHz,fin1=9 998 002.0Hz,fin2=9 996 004.0Hz,fin3=9 994 006.0Hz,fin4=9 992 008.0Hz。再将Intel 8254-2置入不同计数值,分别用各时钟源输入时,测出Intel 8254-2输出频率,结果如表2所列。

表2 

         输入
     输出
计数值
fin=1000000 fin1=9998002.0 fin2=99960 4.0 fin3=9994006.0 fin4=9992008.0
1000 10000.0 9998.0 9996.0 9994.0 9992.0
1001 9990.0 9988.0 9986.0 9984.0 9982.0
1002 9980.1 9978.0 9976.1 9974.1 9972.1
1003 9970.1 9968.1 9966.1 9964.1 9962.1

从表2可以看出,在单一时钟源时,计数器两相邻实际输出频率之差最大值为10.0Hz,输出频率准确度为±5.0 Hz,而在5时钟源时,计数器两相邻实际输出频率之差最大值为2.0Hz,输出频率准确度为±1.0Hz,输出频率准确度得到提高,为单时钟源时的5倍。

关键字:计数器  脉冲发生器  频率准确度 编辑:赵思潇 引用地址:可编程定时/计数器提高输出频率准确度方法

上一篇:可编程时钟发生器及其应用
下一篇:CPLD在信号滤波和抗干扰中的应用

推荐阅读最新更新时间:2023-10-12 20:11

构成便携式快速光脉冲发生器的电路
由于整个 TTL 系列中缺少高速单稳态多谐振荡器,又由于 ECL 要求电压摆幅小和供电范围宽,从而驱使我们采用具有快速过渡时间和小传输延时的 F 系列门电路。这就需要制作一个小巧便携式快速光脉冲发生器,用以对伽玛射线天文研究中使用的高速光电倍增器进行现场测试。仅使用两块集成电路有助于缩小体积,降低功耗(图 1)。在 IC2 中输出门 G4 输出的正常高电平脉冲具有约为 2.5ns的上升和下降时间以及小于 10 ns的脉宽,这相当于三个门延时。这些脉冲非常适合于拉低HLMP-CB-15 型高速蓝色 LED的阴极电位,而LED的阳极则箝位于5V。G4迫使几乎整个 5 V电源电压都加在LED上,这样大的电压摆幅可确保焊在小小印刷电路板连接
[电源管理]
基于LabVIEW的多功能信号采集与多通道定时计数器/发器的设计
0 引言 随着电子技术、计算机技术、网络技术等的快速发展,虚拟仪器(Virtual Instrument,VI)技术已得到了广泛应用。 LabVIEW和C、DELPHI等一样,是一种程序开发环境,但其最大的区别在于使用了图形化的编程语言(G语言)。LahVIEW可以依托高性能设备,实现高精度的测量控制,并可根据需求快速实现设备的软件化、虚拟化,以满足多种多样的应用需求。 设备的软件化、虚拟化已经成为现代测控的发展方向。它不仅可以提高设计和开发效率,同时还可以大大节省硬件投入成本,提升已有硬件资源的利用率。因此,本文提出了基于LabVIEW的虚拟仪器设计与实现。 1 系统设计思想 为了更好地应用扩展性,提高系统采集和执
[测试测量]
基于LabVIEW的多功能信号采集与多通道定时<font color='red'>计数器</font>/发器的设计
51单片计4种定时器应用场景详解
  51单片机的定时器有两个,分别是定时器0和定时器1。   定时器0:定时器0是一个8位定时器,它可以用作定时器或计数器。在定时器模式下,它可以生成中断,定时范围为0255。在计数器模式下,它可以计数外部脉冲,计数器范围为065535。   定时器1:定时器1是一个16位定时器,也可以用作定时器或计数器。在定时器模式下,它可以生成中断,定时范围为065535。在计数器模式下,它可以计数外部脉冲,计数器范围为065535。   在使用定时器时,需要先进行定时器的初始化设置。具体步骤如下:   1.选择定时器工作模式(定时器或计数器)。   2.设置计数值或定时器的初值。   3.打开定时器中断(如果需要中
[单片机]
集成库仑计数器的 50mA 同步降压-升压型
DC/DC 转换器仅消耗 680nA 静态电流 加利福尼亚州米尔皮塔斯 (MILPITAS, CA) 2015 年 9 月 22 日 凌力尔特公司 (Linear Technology Corporation) 推出毫微功率高效率同步降压-升压型转换器 LTC3335,该器件内置精准的库仑计数器。LTC3335 提供高达 50mA 的连续输出电流。静态电流仅为 680nA,而可编程峰值输入电流为 5mA 至高达 250mA,非常适合多种低功率电池应用。LTC3335 具 1.8V 至 5.5V 输入范围和 8 个 1.8V 至 5V 的用户可选输出,能够以高于、低于或等于输出的输入电压提供稳定的输出电源。此外,在
[电源管理]
三菱PLC单相双计数输入高速计数器图解
    三菱PLC单相双计数输入高速计数器(C246-C250):这类高速计数器具有两个输入端,一个为增计数输入端,另一个为减计数输入端。利用M8246~M8250的ON/OFF动作可监控C246~C250的增计数/减计数动作。 单相双计数输入高速计数器     如上图所示,X010为复位信号,其有效ON则C248复位。可利用X005对其复位。当X011接通时,选中C248,输入来自X003和X0040。
[嵌入式]
利用电机控制中PLU模块与CTIMER计数器解码电机
在电机控制中,实时获取电机转子位置是非常重要的。通过监测电机轴或机械设备运动的位置可以计算电机转速。当电机转动时,编码盘传感器(Encoder)会发出类似于正交PWM波的高低电平信号,对此信号进行解码,可以得到电机转动角度及方向。 DSC系列MCU的Quad Timer(TMR)外设可以对正交编码信号解码,有些客户使用LPC55XX系列也需要解码,本文用PLU模块对Encoder的信号解码,用计数器计数解码信号,进而得到转子位置及速度。 1. 标准推拉输出 DSP系列MCU的Quad Timer(TMR)外设可以对正交编码信号进行解码,如下: 在进行解码时,其实是两个信号发生电平翻转时进行计数,那么可以理解为对这两个
[嵌入式]
利用电机控制中PLU模块与CTIMER<font color='red'>计数器</font>解码电机
宽频带级联同步计数器
宽频带级联同步计数器
[模拟电子]
宽频带级联同步<font color='red'>计数器</font>
Maxim推出集成双通道数字脉冲发生器
Maxim推出双通道、高压数字脉冲发生器MAX4806/MAX4807/MAX4808*。这些器件可为高压系统提供单极性或双极性脉冲信号,输出驱动电流可达2.0A (最小值)。该系列脉冲发生器专为高性能系统而设计,每通道包含3路逻辑输入,并具有2路独立的使能输入。该特性能够保证在电源快速升高期间MOSFET不会误导通,从而实现了更快的电压上升时间和更短的脉冲模式间延迟。脉冲发生器还采用有源钳位电路来选择驱动器件的信号数量,以降低2次谐波输出,从而提高脉冲信号质量。MAX4806/MAX4807/MAX4808双通道脉冲发生器是便携式超声成像、工业传感器以及无损测试(NDT)/探伤检测等系统的理想选择。 MAX48
[测试测量]
Maxim推出集成双通道数字<font color='red'>脉冲发生器</font>
小广播
最新模拟电子文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved