FPGA教程目录
MATLAB教程目录
-----------------------------------------------------------------------
1、设计任务
设计并实现一个数字频率计。
2、基本要求:
10Hz ~ 100 Hz
100Hz ~ 1K Hz
1 K Hz ~ 10K Hz
当信号频率超过规定的频段上限时,设有超量程指示。三个频段之间用手动切换。
测量结果用三位半导体数码管显示,要求显示数码稳定清晰。三个频段的最大显示数分别为99.9 Hz,999. Hz,9.99 K Hz,为此需要控制小数点位置,并用两个发光二极管分别显示频率单位:Hz 或K Hz,详见表2.2。
|
实现量程的自动转换。
二、基本工作原理
频率测量的方法常用的有测频法和测周法两种。
测频法的基本思想是让计数器在闸门信号的控制下计数1秒时间,计数结果是1秒内被测信号的周期数,即被测信号的频率。若被测信号不是矩形脉冲,则应先变换成同频率的矩形脉冲。测频法的原理框图如图2-2-1所示。
图中,秒脉冲作为闸门信号,当其为高电平时,计数器计数;低电平时,计数器停止计数。显然,在同样的闸门信号作用下,被测信号的频率越高,测量误差越小。当被测频率一定时,闸门信号高电平的时间越长,测量误差越小。但是闸门信号周期越长,测量的响应时间也越长。
例如,闸门信号高电平时间为1秒,被测信号频率的真值为2Hz,如图2-2-2所示。由
图可知,无论被测信号的频率是多少,测量时可能产生的最大绝对误差均为±1Hz,即
f测-f真=±1Hz
所以,最大相对误差为
σmax= (f测-f真)/ f真=±1/ f真
由上式可知,在闸门信号相同时,测频法的相对误差与被测信号的频率成反比。因此测频法适合于测量频率较高的信号。
当被测信号频率较低时,为保证测量精度,常采用测周法。即先测出被测信号的周期,再换算成频率。测周法的实质是把被测信号作为闸门信号,在它的高电平的时间内,用一个标准频率的信号源作为计数器的时钟脉冲。若计数结果为N,标准信号频率为f1,则被测信号的周期为
T = T1·N
被测信号的频率为
f = 1/T1·N = f1/N
利用测周法所产生的最大绝对误差,显然也等于±1个标准信号周期。如果被测信号周期的真值为T真= T1·N,则T测= T1·(N±1)
σmax= (f测-f真)/ f真= T真/T测 – 1=±1/(N±1)
由上式可知,对于一定的被测信号,标准信号的频率越高,则N的值越大,因而相对误差越小。
鉴于上述困难,对于低频信号,为了达到规定的精度,要采取一些比较特殊的方法。例如,可考虑将被测信号倍频后再用测频法测量。或将闸门信号展宽。由于倍频电路比较复杂,所以一般采用后一种方法,实际上闸门信号展宽与被测信号倍频在效果上是相同的。闸门信号展宽比较容易做到,例如采用分频电路就可以实现。若闸门信号高电平时间从1秒展宽到10秒,则相对误差可以按比例下降,但响应时间也增大相同的比例。
图2-2-3是测频法的参考框图。被测信号为矩形波时,整形电路可省略。对信号的低频段采用闸门信号展宽的方法,因此分别采用1秒和10秒两个闸门信号,频段控制可以采用三位(K2、K1、K0)或二位控制信号。在测量过程中,由于计数器的输出总是不断变化的,如果这时译码器实时地将计数值译码,显示器就会不断地跳动,无法读数;或者跳动太快,由于人地视觉残留,看起来显示器总是显示8。为了在测量过程中能稳定清晰地显示数码,译码器必须具有锁存功能。
三、单元电路设计参考
为了能稳定清晰地显示频率,只有在一次测量结束后再将结果通过锁存器传输给译码器,并且这个结果由锁存器锁存。下一次测量过程中,由于锁存器地锁存作用,计数器输出的变化不会影响显示的内容,显示器仍然显示原来锁存的内容。在下一次测量结束才更新锁存器、译码器和显示器的内容。因此,所选用的译码器必须兼有锁存功能,同时译码器还应具有足够地驱动能力,以便直接驱动数码管。
计数器输出给译码器地信号应为BCD码,因此采用十进制集成计数器较为方便。为了满足测量误差的要求,在10Hz ≤ f <100 Hz 段,将闸门信号展宽为10秒。在显示时加上小数点和单位后,显示的最大值为99.9Hz。因此,在这一频段,需要三个十进制的计数器级联构成一个一千进制计数器。在100Hz ≤ f <1KHz 段,闸门信号为1秒,显示的最大值为999.Hz。也是三个十进制的计数器级联。在1 KHz ≤ f < 10KHz,闸门信号为1秒,最大计数值为9999 Hz,需要四个十进制的计数器级联,而显示只有三位,因此将最低一位的计数结果舍去,显示最大值为9.99 KHz。舍去的尾数不会超过最大相对误差。
闸门信号信号产生电路包括矩形波发生器和分频电路两部分。分频的级数取决于矩形波发生器的输出频率。由于闸门信号的精度直接影响整机的精度,因此要选择输出频率十分稳定的矩形波发生器。矩形波发生器的电路形式很多。可以用运放、TTL与非门、CMOS门电路、施密特反相器、集成定时器和石英晶体振荡器等器件实现,可以根据频率要求、成本等要求选择合适的方案。
分频电路可以采用十进制或十六进制的计数器级联而成。为了减少分频的级数矩形波发生器的输出频率不能太高也不能太低,否则,调试和校准闸门信号十分困难。振荡器中的R、C参数的选择也应恰当。R或C很大时,误差往往较大。
控制电路是单元设计中最重要的任务。控制电路设计的质量关系到元器件数量的多少,线路是否可靠,甚至会关系到整个方案能否实现。控制电路主要包括三个部分:
三个频段的控制可以采用三位控制码,也可以采用二位控制码。表2.2.2列出了三个频段控制的要求。表中采用的闸门信号为10秒和1秒两种。
|
小数点位置的改变和显示单位的选择可以用组合逻辑电路来实现。
表2.2.3
|
在三个不同频段,十进制计数的位数和闸门信号时间的选择方法可以由图2-2-4表示。选择器1用来选择三位或四位BCD码计数器;选择器2用来选择闸门信号(10秒或1秒)。它们的真值表如表2.2.3所示。数据选择器可以用门电路实现也可以采用集成数据选择器。
由于在闸门信号的高电平期间计数器计数,低电平时计数器停止计数,因此锁存脉冲应在闸门信号的下降沿后产生。在锁存脉冲为低电平期间,锁存/译码/驱动器执行传输功能,即输入信号通过内部的传输门送到译码器的输入端。当锁存脉冲由0变成1时,输入信号被锁存,所以输入信号的变化不再影响译码器的译码结果。锁存结束后,可以将计数器清零,为第二次测量做好准备。对清零脉冲的时序,有几种不同的方案,如图2-2-5所示。方案1利用闸门信号的上升沿产生清零脉冲,这样,计数时间要减少一个清零脉冲的脉宽,是否会影响频率计的测量误差,应作仔细分析。
方案2是利用锁存脉冲的上升沿产生清零脉冲。这样可以保证闸门信号的高电平期间计数器计数。但是如果锁存器的锁存延迟时间超过计数器清零的延迟时间,就可能使锁存器种锁存的各位信号全部是零。
方案3是在方案2的基础上再加一级单稳态延时电路,锁存后延迟一段时间再对计数器清零。这样锁存和清零之间就有足够的时间,工作比较可靠。
锁存脉冲和清零脉冲,可以用单稳态电路产生。单稳态电路可以用门电路构成,也可以用集成定时器或集成单稳态触发器。若对脉宽没有严格要求,也可以用较为简单的电路实现。图2-2-6为CMOS单稳延时电路及其时序图。如果CMOS与非门内部已有输入保护二极管,则图2-2-6中的二极管可以省略。
(3)超量程指示电路
图2-2-7是超量程指示电路的参考方案。该方案的饿设计思想是:当出现超量程时,BCD计数器的最高位输出端Q4就从1变为0,利用Q4的这个下跳边沿,使触发器F0的输出端Q0由0变成1。因此,当锁存脉冲到来时,触发器F1的输出端Q1变成1,使作为超量程指示用的发光二极管亮。
如果由于输入信号的频率减小或切换了频段,下一次测量不再超量程时,则在下一次测量结束后,发光二极管应熄灭。为实现这个功能,用清零脉冲使Q0复位,但由于Q1仍维持1,因此下一次测量结束之前,发光二极管不会熄灭。
四、可供选择的元器件
|
可供选用的元器件如表所示。需要表中所列以外的元器件需要向实验指导教师提出申请。阻容元件可以自选。