0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >行业趋势 > 常见计数器应用电路的原理与电路设计

常见计数器应用电路的原理与电路设计

2017-05-25
类别:行业趋势
eye 609
文章创建人 拍明
       本文举两个计数器应用电路的例子,在这两个例子中,我们分别用同步十进制加法计数器74LS160构成一个六进制计数器和一个一百进制计数器。 除了计数功能外,计数器产品还有一些附加功能,如异步复位、预置数(注意,有同步预置数和异步预置数两种。前者受时钟脉冲控制,后者不受时钟脉冲控制)、保持(注意,有保持进位和不保持进位两种)。虽然计数器产品一般只有二进制和十进制两种,有了这些附加功能,我们就可以方便地用我们可以得到的计数器来构成任意进制的计数器。 因为六进制计数器的有效状态有六个,而十进制计数器的有效状态有十个,所以用十进制计数器构成六进制计数器时,我们只需保留十进制计数器的六个状态即可。74LS160的十个有效状态是BCD编码的,即0000000100100011010001010110011110001001[5-1]

我们保留哪六个状态呢?理论上,我们保留哪六个状态都行。然而,为了使电路最简单,保留哪六个状态还是有一点讲究的。一般情况下,我们总是保留00001001两个状态。因为74LS1601001变化到0000时,将在进位输出端产生一个进位脉冲,所以我们保留了00001001这两个状态后,我们就可以利用74LS160的进位输出端作为六进制计数器的进位输出端了。于是,六进制计数器的状态循环可以是000000010010001101001001,也可以是000001010110011110001001。我们不妨采用000000010010001101001001这六个状态。

如何让74LS1600100状态跳到1001状态呢?我们用一个混合逻辑与非门构成一个译码器[5.3.37b],当74LS160的状态为0100时,与非门输出低电平,这个低电平使74LS160工作在预置数状态,当下一个时钟脉冲到来时,由于

等于100174LS160就会预置成1001,从而我们实现了状态跳跃。

5.3.37b 用置数法将74160接成六进制计数器(置入1001)

比这个方案稍微繁琐一点的是利用74LS160的异步复位端。下面这个电路中[5.3.34],也有一个由混合逻辑与非门构成的译码器。

5.3.34 用置零法将74LS160接成六进制计数器

不过,这个译码器当输入为0110时才输出低电平,使74LS160异步复位,进入0000这个状态。从0000状态开始,随着时钟脉冲的不断到来,74LS160依次变为00010010001101000101、和0110状态[5-2]。可能有人说:不对!这个电路总共有七个状态,应该是七进制计数器呀!”我们说,这个电路虽然要经历七个状态,但是只需六个脉冲就完成一个计数循环,因此它仍是六进制计数器。

常见计数器应用电路的原理与电路设计.jpg


我们仔细分析一下。假设74LS160的初始状态为0000,第一个时钟脉冲到达后,它的状态变为0001,第二个时钟脉冲到达后,它的状态变为0010……,第五个时钟脉冲到达后,它的状态变为0101,第六个时钟脉冲到达后,它的状态变为0110。当74LS160处于0110这个状态时,译码器输出低电平,使74LS160异步复位,进入0000这个状态。这段话里,异步复位是一个关键词。与同步复位不同,异步复位不受时钟脉冲的控制。于是,译码器的输出刚变成低电平,74LS160的状态就变成了0000。理想情况下,74LS160在第六个时钟周期内首先在0110状态停留片刻,然后就稳定地停留在0000状态。我们知道,计数器的工作对象是时钟脉冲。计数,就是计时钟脉冲的个数。在我们这个例子中,74LS1600000状态出发,经过六个(而不是七个)时钟周期又回到了0000状态,也就是说,每六个(而不是七个)时钟脉冲就使74LS160的状态循环一次。因此,这个电路是一个六进制计数器。计数循环中包括000000010010001101000101这六个稳定状态。可能有人说:唔,听你这么一解释,我也觉得它是六进制计数器。不过,把七个状态算成六个总是有点儿别扭。唉,只要它能工作,我就不计较它是经历六个状态还是七个状态了。我说:对,我也这样想。然而,事与愿违呀!不改进的话,这个电路还真不能工作。为什么呢?我们知道,计数器的状态是触发器记忆的。74LS160有四个触发器

。这四个触发器的工作速度是有差异的。在74LS1600110变成0000的过程中,和的状态不变,和的状态要从1变成0。我们假设比快,那么刚刚从10时,仍然处于1状态。这时,译码器的输出就不是低电平了,74LS160的异步复位信号就消失了。在异步复位信号持续时间过短的情况下,将保持1状态不变。于是74LS160将停留在0010状态,而不是我们期望的0000状态。显然,这是一种竞争冒险现象,因为74LS160是否能够从0110变成0000取决于和的竞争结果。怎样使异步复位信号持续足够长的时间呢?我们来看看这个电路[5.3.36]

两个与非门构成了RS锁存器,以它的端输出的低电平作为74LS160的异步复位信号。若74LS1600000状态开始计数,则第六个时钟脉冲上升沿到达时进入0110状态,使RS锁存器置位,端输出低电平。74LS1600110状态作短暂停留后,迅速转入其它状态,如00100100,译码器输出的负脉冲消失。如果我们把这个窄脉冲直接作为74LS160的异步复位信号,计数器不一定能够可靠地工作。如果我们把这个窄脉冲作为RS锁存器的置位信号,把时钟脉冲作为RS锁存器的复位信号,再将RS锁存器的作为74LS160的异步复位信号,计数器一定能够可靠地工作,因为输出的负脉冲的宽度与时钟脉冲高电平的持续时间相等。

第二个例子要求我们构成一百进制计数器,也就是说,计数器的状态为00109910。因为100等于10乘以10,所以我们可以用两个74LS160构成一个一百进制计数器,其中一个计数器的状态表示个位数,另一个计数器的状态表示十位数,后者在前者的进位信号控制下计数。我们有两种方案。第一种方案称为并行进位方式[5.3.39]

5.3.39 5.3.3电路的并行进位方式

这种方案的特点是两个74LS160CP端都接到时钟脉冲上。不过,第一个74LS160始终工作在计数方式,每一个时钟脉冲都使其状态发生变化;第一个74LS160只有在第一个74LS160进位输出为高电平是才工作在计数方式,每十个时钟脉冲才使其状态发生变化。若计数器从0010状态开始计数,则第九个时钟脉冲到达后,第一个74LS160的状态变为910且进位输出变为高电平,使第二个74LS160进入计数方式。因为第二个74LS160进入计数方式的时间比第九个时钟脉冲到达的时间晚,就是说,第九个时钟脉冲到达时第二个74LS160尚未进入计数方式,所以,第九个时钟脉冲并不能使第二个74LS160的状态发生变化,其状态仍为010。于是,计数器的状态为0910。第十个时钟脉冲到达后,第一个74LS160的状态变为010且进位输出变为低电平,使第二个74LS160退出计数方式。因为第二个74LS160退出计数方式的时间比第十个时钟脉冲到达的时间晚,就是说,第十个时钟脉冲到达时第二个74LS160尚未退出计数方式,所以,第十个时钟脉冲使第二个74LS160的状态发生变化,其状态变为110。于是,计数器的状态为1010。第二种方案称为串行进位方式,这种方案的特点是,两个74LS160都始终工作在计数方式。不过,第一个74LS160CP端接到时钟脉冲上,每一个时钟脉冲都使其状态发生变化;第一个74LS160CP端接到第一个74LS160进位输出上,每十个时钟脉冲才使其状态发生变化。经常有学生问:为什么在第一个74LS160的进位输出端和第二个74LS160的时钟脉冲输入端之间要加上一个非门呢?”这里面有点儿奥妙。若计数器从0010状态开始计数,则第九个时钟脉冲到达后,第一个74LS160的状态变为910且进位输出变为高电平。如果没有这个非门,第一个74LS160的进位输出端的电平变化将使第二个74LS160的状态发生变化,其状态变为110。于是计数器的状态就从0810变成1910,而不是我们所希望的0910。有了这个非门,情况就不一样了,因为第一个74LS160的进位输出端的脉冲上升沿被非门转换成下降沿,所以第一个74LS160的进位输出端的电平变化并不能使第二个74LS160的状态发生变化,其状态仍为010。于是计数器的状态就从0810变成我们所希望的0910。第十个时钟脉冲到达后,第一个74LS160的状态变为010且进位输出变为低电平。因为第一个74LS160的进位输出端的脉冲下降沿被非门转换成上升沿,所以第一个74LS160的进位输出端的电平变化使第二个74LS160的状态发生变化,其状态变为110。于是计数器的状态又从0910变成1010

在数字系统中使用最多的时序电路是计数器。计数器不仅能用于对时钟脉冲进行计数还可以用于分频、定时,产生节拍脉冲和脉冲序列以及进行数字运算等。下面就让小编为大家介绍一下计数器原理。

1.计数器原理简介

计数器是一种能够记录脉冲数目的装置,是数字电路中最常用的逻辑部件。计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。计数器由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数。

计数器按进位制不同,分为二进制计数器和十进制计数器;按运算功能不同,分为加法计数器、减法计数器和可逆计数器。下面我们以T触发器构成二进制加法、减法计数器为例介绍计数器的原理。

2.计数器原理加法计数器

T触发器构成二进制加法计数器,如下图所示。

3位二进制加法器

如上图所示,是由3个下降沿触发的T触发器组成的3位二进制异步加法器,图中各个触发器的JK输入端的输入信号均为1,主要由脉冲信号控制其输出信号,计数器从Q2 Q1 Q0 =000状态开始计数。

Q0Q1Q2的工作波形,如下图所示,即在计数输入脉冲CP的下降的触发下,触发器FF0的输出Q0要翻转。0变为11变为0。由于CP1取自Q0,所以在Q0的下降沿触发下,FF1的输出Q1要翻转。同理,由于CP2=Q1,所以在Q1的下降沿触发下,FF2的输出Q2要翻转。

若用上升沿触发的T′触发器同样可以组成异步二进制加法计数器,但每一级触发器的进位脉冲应改为端输出。原因很简单,当低位触发器输出端Q端由1变为0时,端的上升沿正好可以作为高位的触发脉冲。

3.计数器原理减法计数器

如果将T′触发器之间按二进制减法规则连接,就可以得到二进制减法计数器。根据二进制减法计数规则。若低位触发器已经为0,则再输入一个减法计数脉冲后应翻转为1,同时向高位发出借位信号,使高位翻转。

3位二进制减法器

上图就是按上述规则接成的3位二进制减法计数器。图中采用上升动作的D触发器接成的T′触发器,其中所有D触发器的D= Q¯即成为T′触发器。它的时序图如下图所示。

单片机 FPGA构成的最小系统为控制核心,由宽带放大模块,比较整形模块,频率、相位差测量模块等模块构成。在FPGA内采用等精度测频法测出频率和周期,可实现对有效值为0.005V~5V,频率范围1Hz~35MHz 信号的频率、周期的测量。用计数法测出相位差,可实现对有效值0.5V~5V,频率10Hz~100KHz 信号的相位差测量。系统功能由按键控制,可对测量结果实时显示,人机交互界面友好,达到了较好的性能指标。

峰值检波模块

在进入模拟开关之前,需要进行峰值检波,通过测得的信号的幅值确定模拟开关的通道。峰值检波电路是由二极管电路和电压跟随器组成,其工作原理为:当输入电压正半周通过时,检波管D2导通,对电容C1充电,直到到达其峰值。三极管的基极由单片机控制,产生10us 的高电平使电容放电,以减少前一频率测量对后一频率测量的影响,提高幅值测量精度。其中D1处于常导通状态,用以补偿D2 上造成的压降。电容C1 的取值需根据被测信号的频率合适的选取,此电路中的二极管使用高频二极管,可大大提高测量范围的频率上限。其电路图如图2.2 所示。

宽带通道放大器分析

为了检测有效值0.005V~ 5V的信号(Vp_p 0.014V~14V)的频率,而高频比较器TL3116能检测到的输入信号的最小幅度Vp_p=0.8V,因此需要对信号进行程控放大。当测得的信号峰峰值Vp_p小于0.1V 时,设定放大倍数为120,当0.1V1V 时设定放大倍数为10,当Vp_p大于1V时,设定放大倍数为1。以MAX309为模拟开关,用OPA637接成一级同相放大器进行10倍增益放大。用两级OPA637级联进行120倍放大。

比较整形电路

在测频、测周部分,由于我们没有带宽由1Hz 35MHz 的比较器,所以采用分段处理的方法实现整个频带的测量,高频部分用TI公司的TL3116实现,低频部分采用LM311。为抑制干扰引起的误翻转,我们采取了带正反馈的滞回比较电路的形式。

在反相输入方式时,其正向阈值电压,对应比较后信号的下降沿。负向阈值电平为0V,对应于比较后信号的上升沿。故输出信号的上升沿仍属过零比较。测相的两路信号经过整形,要使产生的额外相差最小,必须保证两路通道参数的一致性,选用TI 公司的双路比较器TLC372

FPGA 模块

本系统采用数字方法在FPGA 内部进行频率和相位差的测量。其电路图。其中fx_h fx_l 分别为高频信号和低频信号输入端。CH1 CH2分别为两路相位信号如数端。

 


责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: 计数器

相关资讯