#首图来源:Pixabay
数字逻辑器件可分为通用逻辑器件和ASIC两种类型。从理论上讲,运用通用逻辑器件(如4000系列和74HC系列)、微处理器和存储器可以构建任何数字系统。但是,通用逻辑器件的规模一样平常都比较小,而且功能固定,在设计繁芜数字系统时须要利用大量芯片,这会导致系统的体积难以缩小、功耗难以降落,同时受到器件传输延迟和芯片之间布线延迟的影响,使得系统的事情速率难以有效提高。

以2015年电子设计竞赛题-数字频率计的设计进行剖析。竞赛题目的哀求设计并制作一台闸门韶光为1s的数字频率计,能够丈量1Hz~100MHz矩形波旗子暗记的频率。哀求频率丈量的相对偏差不大于0.01%(10^-4)。
频率是指周期旗子暗记在单位韶光内的变革次数。频率计用于丈量周期旗子暗记的频率,有直接法、周期法和等精度3种测频方法。
直接测频法的事理电路如图1(a)所示,个中与门的两个输入端分别接被测旗子暗记Fx和闸门旗子暗记G(Gate signal),与门的输出作为计数器的时钟。由闸门旗子暗记G掌握计数器在固定的韶光范围内统计被测旗子暗记的脉冲数,如图1(b)所示,脉冲数与韶光之比即为被测旗子暗记的频率。取闸门旗子暗记G的浸染韶光为1s时,计数器的计数值即为被测旗子暗记的频率值。
图1 直接测频法事理
直接测频法能够丈量旗子暗记频率的范围与闸门旗子暗记G的浸染韶光和计数器的容量有关。当闸门旗子暗记的浸染韶光为1s时,如果须要丈量频率为10kHz的旗子暗记时,那么哀求计数器的容量为10^4,基于中、小规模通用逻辑器件实现时可以运用4片十进制计数器74HC160级联实现。如果须要将测频范围扩展为100MHz,在闸门旗子暗记的浸染韶光同样为1s的情形下,则哀求计数器的容量为10^8,这就须要用8片74HC160级联实现。一样平常地,在闸门旗子暗记浸染韶光固定的情形下,丈量旗子暗记频率的范围越大,则计数所用的芯片越多,因而电路就越繁芜。
当计数器的容量固定时,虽然可以通过缩短闸门旗子暗记的浸染韶光来扩展频率丈量范围,但是会降落频率丈量的精度。这是由于,在直接测频法中,闸门旗子暗记G的浸染韶光是随机的,在计数过程中可能会存在1个脉冲的计数偏差。
直接测频法中计数偏差的成因剖析如图2所示,个中被测旗子暗记Fx1、Fx2和Fx3的频率完备相同。设闸门旗子暗记G与被测旗子暗记Fx1同步,计数器在时钟脉冲的上升沿事情。
图2 直接测频法偏差成因剖析
在闸门旗子暗记G的浸染下,如果对旗子暗记Fx1的计数值为N,则对旗子暗记Fx2的计数值为N-1,对旗子暗记Fx3的计数值为N+1。以是,取闸门旗子暗记的浸染韶光为1s时,直接测频率法的计数偏差为±1Hz;取闸门旗子暗记的浸染韶光为0.1s时,则计数偏差为±10Hz。
其余,基于中、小规模通用逻辑器件设计时还存在一个问题:频率计的测频范围受计数器芯片性能的限定。查阅NI公司的器件资料可知,74HC160从时钟到输出(clock to Q)的传输延迟韶光为18ns,范例事情频率为40MHz,如图3所示,极限事情频率为43MHz。同时,运用多片74HC160级联扩展计数容量时,还须要考虑芯片与芯片之间布线传输延迟的影响。因此,虽然用8片74HC160级联理论上能够扩展出108进制计数器,但实际上却无法丈量40MHz以上旗子暗记的频率。
图3 74HC160 器件资料片段
直接测频法的事理大略,但是由于理论上存在一个脉冲的计数偏差,以是被测旗子暗记的频率越低,直接测频法的相对偏差越大,存在着丈量实时性和丈量精度之间的抵牾。例如,取闸门旗子暗记的浸染韶光为1s,当被测旗子暗记的频率为1000Hz时,理论上频率丈量的相对偏差为0.1%,而当被测旗子暗记的频率为10Hz时,则频率丈量的相对偏差高达10%。
运用直接测频法虽然可以通过增加闸门旗子暗记的浸染韶光来减小测频偏差,但是,对付频率为10Hz的旗子暗记,若哀求频率丈量的相对偏差不大于0.01%,则闸门旗子暗记的浸染韶光最短为1000s。显然,这么长的丈量韶光是无法接管的,以是直接测频法不适宜丈量低频旗子暗记的频率。
从图2可以看出,如果能够掌握闸门旗子暗记G与被测旗子暗记FX同步,那么就能够肃清计数偏差,因而从理论上讲,频率丈量的相对偏差为0。
等精度测频法便是通过掌握闸门旗子暗记与被测旗子暗记同步从而肃清了计数偏差,其事理电路如图4所示,将闸门旗子暗记G作为边沿D触发器的输入,被测旗子暗记Fx作为D触发器的时钟脉冲时,D触发器输出的新闸门旗子暗记SG(Synchronous Gate signal)与Fx同步。
图4 等精度测频法事理电路
等精度测频法的事情事理是:当闸门旗子暗记G跳变为高电平时,只有当被测旗子暗记FX的上升沿到来时D触发器输出的新闸门旗子暗记SG才能跳变为高电平;当闸门旗子暗记G跳变为低电平时,同样只有当被测旗子暗记Fx的上升沿到来时D触发器输出的新闸门旗子暗记SG才能跳变为低电平。因此,D触发器输出的新闸门旗子暗记SG与被测旗子暗记Fx严格同步,以是用新闸门旗子暗记掌握计数器时,就能够肃清计数偏差。但是,由于新闸门旗子暗记SG的浸染韶光受被测旗子暗记Fx的掌握,虽然取原闸门旗子暗记G的浸染韶光为1s,但新闸门旗子暗记的浸染韶光不一定为1s,因而计数器N中的计数值并不能代表被测旗子暗记的频率值。改进的方法是,再添加一个与门和计数器M,在新闸门旗子暗记SG的浸染韶光内同时对被测旗子暗记Fx和一个标准频率旗子暗记Fs进行计数,运用两个计数器的计数韶光完备相同的关系推算出被测旗子暗记的频率值。
等精度测频法被测旗子暗记频率的打算事理如图5所示。若将新闸门旗子暗记SG的浸染韶光记为TD,标准频率旗子暗记Fs的周期记为Ts,被测旗子暗记Fx的周期记为Tx,在TD韶光内对标准频率旗子暗记和被测旗子暗记的计数值分别记为Ns和Nx,则闸门旗子暗记SG的浸染韶光TD可以精确地表示为
TD=Nx×Tx
图5 等精度测频法事情波形
虽然D触发器输出的新闸门旗子暗记SG与被测旗子暗记Fx严格同步,但并不一定与标准频率旗子暗记Fs同步,以是从理论上讲,在TD韶光内对标准旗子暗记进行计数,仍旧可能存在一个脉冲的计数偏差。因此,若用Ns×Ts表示TD时,则
TD≈Ns×Ts
如果取标准旗子暗记的频率很高,使得Ts<<TD,那么用Ns×Ts表示TD的偏差非常小,完备可以忽略不计,则根据两个计数器的计数韶光相等可以推出
Ns×Ts≈Nx×Tx
若将标准频率旗子暗记和被测旗子暗记的频率分别用fs和fx表示,并将Ts=1/fs和Tx=1/fx代入上式整理可得
fx≈(Nx/Ns)×fs
个中,Ns和Nx分别为两个计数器的计数值。根据上式即可打算出被测旗子暗记的频率值。下面对等精度测频的相对偏差进行剖析。
设用Ns×Ts表示TD的偏差记为△t,则
△t=TD-Ns×Ts
设被测旗子暗记频率的精确值记为fx0。由于TD=Nx×Tx0,以是fx0=Nx/TD,因此频率丈量的相对偏差δ可以表示为
δ =(fx-fx0)/fx0=fx/fx0-1
≈(fs×Nx/Ns) /(Nx/TD) -1
=TD/(Ts×Ns)-1
=(TD-Ts×Ns)/(Ts×Ns)
=△t/(Ts×Ns)
=△t/(TD-△t)
由于△t最大为一个标准频率旗子暗记的周期,以是标准频率旗子暗记的周期Ts<<TD时,TD-△t≈TD,以是频率丈量的相对偏差可以近似表示为
δ≈Ts/TD
由上式可以看出,等精度测频法频率丈量的相对偏差与被测旗子暗记的频率无关,只取决于标准旗子暗记周期Ts与新闸门旗子暗记SG浸染韶光TD的比值。因此,取标准旗子暗记的频率越高,或者闸门旗子暗记的浸染韶光越长,则频率丈量的相对偏差就越小。
采取100MHz标准旗子暗记时,闸门旗子暗记的浸染韶光TD与测频的相对偏差δ之间的关系如表1所示。可以看出,当闸门旗子暗记SG的浸染韶光为1s时,频率丈量的相对偏差约为0.000001%(10^-8),完备知足竞赛题目的精度哀求。
表1 闸门旗子暗记浸染韶光与频率丈量偏差关系表
等精度测频法频率丈量的精度很高,但是须要运用乘法和除法运算来打算被测旗子暗记的频率值。取闸门旗子暗记G的浸染韶光为1s、标准旗子暗记的频率为100MHz时,如果哀求能够丈量100MHz旗子暗记的频率时,不但须要运用27位二进制计数器(由于226<108<227)分别对被测旗子暗记Fx和标准频率旗子暗记Fs进行计数,还须要运用27位二进制乘法器和54位二进制除法器来打算被测旗子暗记的频率值。若运用74系列中、小规模通用逻辑器件来搭建27位乘法器和54位除法器,其电路的繁芜程度是弗成思议的。
那么,如何实现等精度频率丈量呢?供应以下3种方案:
(1)基于微掌握器和PLD实现。
运用MCS-51、MSP430或者STM32等系列微掌握器虽然打算乘除法很方便,但是对高频旗子暗记进行计数则相对困难。若运用微掌握器内部的计数/定时器来统计被测旗子暗记和标准旗子暗记的计数值,则会受到内部计数/定时器性能的限定,很难有效丈量MHz级及以上旗子暗记的频率。
如果在微掌握器外围扩展中规模集成计数器(如74HC161)进行计数,然后通过I/O口读取被测旗子暗记和标准旗子暗记的计数值,通过编程打算被测旗子暗记的频率值,不但外围电路繁芜,而且同样会受集成计数器芯片性能的限定,测频范围难以有效扩展。因此,推举运用可编程逻辑器件CPLD或者FPGA进行计数,基于微处理器打算乘除法。
(2)运用EDA技能,基于IP核实现。
运用EDA技能实现等精度频率计时,可以直接用硬件描述措辞描述所须要的计数器,然后在可编程逻辑器件中实现,不但不会受到详细器件功能的限定,而且计数器能够正常事情的最高频率远远超过100MHz。其余,还可以定制EDA软件中的乘法IP和除法IP来实现乘除法运算,只须要将打算得到的二进制频率值转换为BCD码显示即可。
(3)运用EDA技能,基于片上系统实现。
在FPGA中搭建软核处理器系统或者直接应用片内硬核处理器,用硬件描述措辞描述所须要的计数器,运用片上处理器掌握测频过程,打算乘除法以及频率转换值与显示。
综上剖析,要办理电子竞赛中数字频率计的设计问题,无论采取以上哪种方案设计等精度频率计,都必须运用EDA技能。
其余,等精度频率计虽然测频范围宽,而且精度高,但测试表明,在闸门浸染韶光为1s的情形下,还不能知足1Hz旗子暗记频率丈量的精度哀求。为此,还须要设计周期法频率计,与直接法频率计或者等精度频率计相合营,才能实现知足竞赛精度哀求的1Hz~100MHz频率计,而设计周期法频率计须要运用图6所示的状态机来统计被测旗子暗记两个相邻脉冲之间的脉冲数,然后通过脉冲数打算出被测旗子暗记的周期,再根据频率与周期之间的倒数关系运用除法打算出频率值,同样须要学习EDA技能。
图6 周期丈量状态机










