【梳理】数字设计基础与应用 第3章 时序逻辑基础 3.3 计数器
教材:数字设计基础与应用 第二版 邓元庆 关宇 贾鹏 石会 编著 清华大学出版社
源文档高清截图在后
3.3 计数器
1、计数器(counter)是用来累计收到的输入脉冲个数的逻辑电路。微机系统的各种定时器和分频电路、计时电路本质上都是计数器。常见的计数器有模M计数器、加法计数器、减法计数器、双向计数器、BCD计数器、变模计数器等。模M计数器也称M进制计数器,状态图包含M个状态,每输入M个CP,状态循环一次;加法计数器和减法计数器分别随计数脉冲的输入递增、递减计数;双向计数器又称可逆计数器,既可以按加法规律又可以按减法规律计数;变模计数器的进制可以随控制量变化。计数器按照各个触发器状态更新情况的不同又可分为同步计数器和异步计数器。
2、同步计数器的各触发器受同一输入计数脉冲(CP)控制,同步更新状态。同步计数器又称并行计数器。
3、2n进制同步计数器的连接规律是:由于是同步计数器,所以n个触发器的CP输入均接入同一个外部计数脉冲CLK。最低位的触发器Q0接成T’触发器的状态,即如果用JK触发器构成该计数器,则J0 = K0 = 1。对加法计数器,各位触发器在所有低位触发器的Q端均为1时,输入自身的激励为1,以便下一个CP到来时,低位向本位进位的时候状态就可以翻转,因此,从次低位开始,每两位之间需要增加一个与门,与门的输入分别接本位的Qi和低一位的Qi-1,只有Qi = Qi-1 = 1时,与门将1作为激励输入高一位。
可以发现,如果要低一位的Qi-1 = 1,那么就需要Qi-1 = Qi-2 = 1。以此类推,如果某一位计数器的输出Qi = 1,那么就必须有Q0 = Q1 = …… = Qi-2 = Qi-1 = 1。所以,触发器的Qi激励要求的输入是:Ti = Ji = Ki = Q0Q1……Qi-2Qi-1。对减法计数器,同样需要从次低位开始,每两位之间需要增加一个与门,但与门的输入分别接本位的Qi’和低一位的Qi-1’。类似地,触发器的Qi激励要求的输入是:Ti = Ji = Ki = Q0’Q1’……Qi-2’Qi-1’。加法计数器的最高位输入Tn-1 = Jn-1 = Kn-1。把或端与最高位的输出Qn-1作为一个与门的两个输入,就能在当Jn-1 = 1,Qn-1 = 1时输出进位信号1。下一个CP的变沿到来后,所有的Q端都将变成0。本条所有的i都要求i = 1,2,……,n-1。当同步计数器的每一位都为1时,令Zn = Q0Q1……Qn-2Qn-1,Zn会输出1,称为进位信号。
如果给出类似这样的电路图,也应该要看出来分别是一个加法计数器和一个减法计数器:
4、异步计数器的一些触发器受计数脉冲CP控制,一些触发器是以其它触发器输出为时钟脉冲来控制,状态更新有先有后,异步计数器又称串行计数器(行波计数器,ripple counter)。异步电路分析与设计都比同步时序电路更复杂和更困难,实际应用同步逻辑电路越来越多。计数器的逻辑电路分析与设计学习以同步计数器为主。
5、2n进制异步计数器的连接规律是:n个触发器的激励输入全部按T’触发器连接:J = K = 1,T = 1,如果用D触发器构成异步计数器,则D = Q’。最低位触发器的时钟接外部时钟(计数脉冲)CLK。对上升沿触发的计数器,其余的触发器的时钟都接低一位触发器的Q’端(加法计数器)或Q端(减法计数器),下降沿则恰好相反。
6、二进制计数器可构成2i种不同频率输出的分频器(i = 1, 2, 4, 8, …, K),且为方波输出。M进制计数器的进位输出信号的频率是时钟信号的1 / M,所以一个M进制计数器就是一个M分频器,且通常进位输出信号是矩形波。
7、可逆计数器有两种控制方式:控制信号、双时钟。控制信号控制其按加法计数和减法计数可以分别输入X=0,X=1。双时钟控制的可逆计数器同时只应有一个时钟有效,分别控制加计数和减计数。
8、常用的MSI同步计数器74163的符号、功能表和逻辑电路图如下:
CO是进位输出端,当控制端T和全部Q都为1时,CO = 1。即CO = TQDQCQBQA。CLR’是低电平有效的同步清零信号,在所有输入中优先级最高;LD’是低电平有效的同步置数信号,优先权第二。DCBA则是需要设定的初始值。P、T为计数控制信号,仅P = T = 1时计数器才能计数。实现清零(复位)、置数、计数功能时,要求CP给出上升沿脉冲。例如:仅CLR’ = 0时不能复位,必须在CP达到上升沿后才复位。进位输出CO与T有关而与P无关。
9、MSI异步计数器7493的符号和功能表如下:
国标符号中,CTR是计数限定符,DIV是分频器限定符。时钟端的+表示加法计数。DIVx表示x分频。DIV2所在框上面的部分为公共控制部分,CT=0表示R01 & R02 = 1时计数器清零(复位)。通常异步计数器采用组合结构,即由两个独立的计数器构成,使其使用灵活,具有多功能。
从功能表可见,CP是时钟脉冲,下降沿触发;R01、 R02是异步清零信号,高电平有效且优先级高于CP。
7493是二-八-十六进制计数器,只使用QA时是二进制计数器,只使用QDQCQB时是八进制计数器;级联使用时,是十六进制自己暑期。利用异步清零端,可以构成任意进制的计数器。
11、有的集成计数器具有预置功能。用预置法构成的计数器又被称为程控计数器。预置法,即使计数器从某个预置初始状态开始计数,到达满足要求的模值的终止状态时,产生预置控制信号,加到预置控制端再预置初始计数状态,重复计数,实现模值M的计数。实现方法是:以74163为例,利用进位信号作为预置信号。当Q全部等于1后,进位信号为1。在下一个上升沿到来时,计数器就被置为由输入端A、B、C、D指定的值。进位信号CO通过非门连接到置数信号输入端LD’,这样在进位信号输出1时,LD’ = 0,下一时刻将进行置数。以模10可逆计数器74192为例,其置数方式是异步的,且当前为加法计数。如果要改造成一个模6的计数器,额外添加一个与非门(记输出为Y),令LD’ = Y = (QDQA)’,并令预置的初始值为3,即可在计数器达到6(QDQCQBQA输出对应十进制9)的时候迅速转变为0。这个转换需要一定时间,期间是一个短暂的过渡状态,不是计数状态。
12、有的集成计数器具有复位输入端,一般记作CLR或CR。例如用74LS163(具有加法同步清零同步置数四位二进制)构造一个M = 12的计数器,将输出移到一个特定的与非门,与非门的输出Y = (QDQC’QBQA),并将Y连接到CR’。当QDQCQBQA = 1011时,Y = 0,CR’ = 0,计数器复位。有的计数器是异步置零的,异步置零和异步预置法总会出现一个短暂的非计数状态,有时会使输出出现毛刺。
13、还可以通过多片级联方法实现任意进制计数器的构成。有N进制计数器和M进制计数器,将两个计数器级联,构成了模为N×M进制计数器。扩展时应当尽量利用芯片本身的端子,不加或少加额外的逻辑门。
14、计数器的常见应用有:
(1)计时。计时器是一种用来记录时间长短的电子电路,其输入基准信号是周期的。用计数器对基准时钟脉冲的个数进行计数,就能实现计时。
(2)分频。分频器是一种从较高频率的信号得到较低频率的信号的数字电路。用计数器对较高频率的输入脉冲计数,就可以获得较低频率的信号,实现分频。计数器的模就是分频次数。
(3)构成脉冲分配器。脉冲分配器(顺序脉冲发生器)是一种能在周期时钟脉冲的作用下输出各种节拍的脉冲(或者说,一组在时间上有先后顺序的脉冲)的数字电路。比如用计数器74160和译码器74138可以实现8路脉冲分配器,每个脉冲到来时,只有一路Y’输出低电平。
(4)构成计数型序列产生器。计数型序列产生器(序列信号发生器)是能够循环产生一组或多组串行输出的二进制代码的数字电路。计数器的模数M就是序列的周期。计数器的状态输出作为数据选择器的地址码,数据选择器的输入端接入要产生的序列,输出端就是周期的序列。例如:用计数器74163和数据选择器74151按下图组装电路,可以产生周期性的序列11100100。该电路也将并行输入转为串行输出。