角阀厂家
免费服务热线

Free service

hotline

010-00000000
角阀厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

做和可编程定时计数器作脉冲信号发生器时提高输

发布时间:2021-09-26 18:29:39 阅读: 来源:角阀厂家

可编程定时/计数器作脉冲信号发生器时提高输出频率准确度的方法

以单片机内置或专用可编程定时/计数器作脉冲发生器时,一般输入脉冲由晶振产生经过整形或分频后形成,有很高的频率准确度和稳定度。设输入脉冲频率为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准确和稳定度影响f准确度的条件下,分析由Np引起f误差的特点,探讨消除或减小因Np引起f误差的方法,从而提高f的准确度。

2 单时钟源时,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,相对误差 = f/f=0;当f不为fin的约数时, f 0, 0, f和 的值与Np的取值方案有关,有以下三种情况:

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

(2)Np=n+1方案。fp=fin/(n+1)<f,f<0, <0, f随f的增大而增大,f趋近于fin/n时,| f|和| |趋于极大值, f趋近于fin/(n+1)-fin/n=-fin/(n(n+1)), 趋近于-1/n。采用此方案时,f越接近于fin/n,f的准确性越差。(见图2,- f(f)曲线)。

(3)以| f|为最小原则,f (fin/(n+1),fin/

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

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

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

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

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

从表1可以看出,f每增加一个数量级,MAX(| |)增加一个数量级,MAX(| f|)增加两个数量级。

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

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

(1)脉冲发生器仅需有限个确定频点输出时,以下中国所有的问题都是相互联系的两种方法可以消除因计数值近似引起的输出频率误差。

单时钟源公倍数法

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

多时钟源公倍数法

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

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

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

多时钟源等分子频段法

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

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

也即只要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(| |M)=(| |)/M。一般地,当n>nmin时,M-1个增加的时钟源finj(j=1,2, ,M-1),经n分频后不一定能将(fin/(n+1),fin/n)作M等分,但能使此子频段分割,且各子区间宽度都小于fin/(M nmin(nmin+1)),各子区间内的MAX(| |)小于MAX(| |M)。

4 实验结果

我们对多时钟源等分子频段法进行了实验,可编程定时/计数器用Intel8254-2,取fin=10MHz,fmax=10kHz,M=5,则nmin=1000,用频率计将各振荡器输出频率标定为:fin=10MHz,fin1=.0Hz,fin2=.0Hz,fin3=.0Hz,fin4=.0Hz。再将Intel8254-2置入不同计数值,分别用各时钟源输入时,测出Intel8254-2输出频率,结果见表2。

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

润天痩主角来月经可以吃吗
润天瘦身减肥的方法好不好
润天瘦身减肥的效果如何
润天瘦身减肥科学吗