王海光数字电子技术基础-第5章-时序逻辑电路_第1页
王海光数字电子技术基础-第5章-时序逻辑电路_第2页
王海光数字电子技术基础-第5章-时序逻辑电路_第3页
王海光数字电子技术基础-第5章-时序逻辑电路_第4页
王海光数字电子技术基础-第5章-时序逻辑电路_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章时序逻辑电路闽南师范大学物理与信息工程学院第5章时序逻辑电路本章讨论的主要问题时序逻辑电路在结构和功能上有什么特点?怎样描述时序逻辑电路的功能?时序电路有哪些类型,各有什么特点?怎样分析时序电路?怎样设计同步时序电路?计数器、寄存器是怎样工作的?怎样通过功能表了解芯片功能?并用它们设计时序电路?同步时序电路中竞争—冒险的产生与消除。怎样用VHDL描述时序电路?

述在第3章组合逻辑电路中我们所讨论的电路都有一个共同特点:电路的输出信号只与当前的输入信号有关,跟以前的输入无关。本章我们将介绍数字逻辑电路中非常重要的另一种电路:这种电路的输出不仅与当前的输入信号有关,还与电路以前的输入信号有关,即跟电路所处的状态有关,这就是时序逻辑电路。3第5章时序逻辑电路

由于时序逻辑电路的输出跟以前的输入信号有关,所以电路中必须包含能够保留有关信息的部件,将电路因以前的外部信号输入造成的状态保存下来,这种含记忆能力的存储电路虽可由延时元件组成,但通常都由我们在第4章中介绍的触发器构成。因此,时序逻辑电路在结构上包含组合电路和存储电路两个部分,其结构示意框图如图5.0.1所示。第5章时序逻辑电路第5章时序逻辑电路组合逻辑电路存储电路X(x1,…­,xi)是外部对电路的输入信号;Y(y1,…­,yj)是电路对外部的输出信号;Z(z1,…­,zk)是存储电路的驱动信号,即存储电路中各触发器的输入信号;Q(q1,…­,ql)是存储电路的状态输出信号,它的每一组值分别代表电路的一种状态。X1Xi

Y1Yj

ZZk

Q1Ql

图5.0.1时序逻辑电路结构示意框图这四种信号之间的逻辑关系可用以下三个向量函数表示:输出方程:Y(tn)=F1[X(tn),Q(tn)]驱动方程:Z(tn)=F2[X(tn),Q(tn)]状态方程:Q(tn+1)=F3[Z(tn),Q(tn)]式中tn、tn+1是对电路进行考察的两个相邻的离散时间。

时序电路应用很广,种类很多,根据电路中各触发器的动作步调是否一致,有同步、异步之分。对于同步时序电路,电路中的所有触发器都受同一个时钟控制,所以状态的改变发生于同一时刻,异步时序电路则不然。由于同步时序电路在大规模高速系统中有明显优势,是当今数字电路系统的主流工作模式,故而也是本章学习讨论的主要对象。6第5章时序逻辑电路

根据影响电路对外输出信号的因素不同,又有Mealy型和Moore型之分。在Mealy型电路中,其输出信号不仅跟电路的状态有关,还与外部的输入信号有关。而Moore型电路的输出信号仅跟电路的状态有关,是Mealy型电路中的一个特例。

由于Mealy型电路的输出信号与外部的输入信号有关,故其输出信号可能因外部输入信号受干扰而不可靠,而Moore型电路则不然,但电路的输出信号对外部输入信号的响应比Mealy型电路慢。7第5章时序逻辑电路

此外,根据时序电路逻辑功能的不同,还有计数器、寄存器、序列信号发生器等之分,由于计数器和寄存器是时序电路中最基本的电路部件,用它可方便地构成具有其它功能的电路部件,显得尤其最重要,因此也是本章学习讨论的主要对象。8第5章时序逻辑电路

输出方程、驱动方程和状态方程虽然共同描述了时序电路的逻辑功能,但不直观,往往难以由它获得电路逻辑功能的完整印象,因为它们仅反映了两个相邻考察时间之间的逻辑关系。为此,还需在这三组方程的基础上,将电路在一系列时钟信号作用下状态转换的全过程找出来,以便直观地考察电路的逻辑功能。用于描述时序电路在一系列时钟信号作用下状态转换全过程的主要工具有三种:状态转换表、状态转换图和时序波形图。5.1时序逻辑电路的人工分析与设计

一、同步时序逻辑电路的分析

导出同步时序电路的状态转换表、状态转换图和时序波形图,判断时序电路逻辑功能的通常步骤:

5.1.1时序逻辑电路的人工分析1.根据给定的时序电路列出电路的输出方程和驱动方程组。2.将各个驱动方程代入对应触发器的特性方程得到整个时序电路的状态方程组。3.根据电路的状态方程组计算列出电路的状态转换表。4.根据电路的状态转换表画出状态转换图或时序波形图。5.根据状态转换图或时序波形图说明电路的逻辑功能,判断电路能否自启动。

下面通过一个例子来说明分析的方法和将会涉及到的一些基本概念。【例5.1】试分析图5.1.1所示电路的功能。

从Y输出端的电路结构或输出方程表达式可知,本电路的输出信号仅与当前电路的状态有关,属Moore型同步时序逻辑电路。解:(1)在图5.1.1所示电路中所有触发器都采用同一个时钟源CLK,因而本电路属同步时序逻辑电路,由所示电路可写出其输出方程和驱动方程如下:5.1.1时序逻辑电路的人工分析(2)将以上特性方程代入JK触发器的特性方程

得电路的状态方程组如下:5.1.1时序逻辑电路的人工分析

完整列出电路所有可能出现的状态,分别以此为电路的现态,根据前边已求解的输出方程和电路的状态方程组算出电路的输出和次态,得到电路的状态转换表如表5.1.1所示:现

态次

态输出

Y00000101001110010111011100101110111100001010011011110111

5.1.1时序逻辑电路的人工分析表5.1.1例5.1的状态转换表(4)根据以上状态转换表(表5.1.1)画状态转换图如图5.1.2所示。将状态转换表表示成状态转换图的目的,是为了更直观形象地描述电路的功能。5.1.1时序逻辑电路的人工分析表5.1.1例5.1的状态转换表5.1.1时序逻辑电路的人工分析

状态转换图中以圆圈表示电路的状态,在圆圈内标注电路的状态编码;以箭头指向线表示状态转换的方向,在箭头指向线上标注以斜线/分隔的电路的输入输出信号(通常输入、输出信号分别标示于斜线/的上、下方)。为明确电路状态编码各码位与触发器的对应关系,还应给出排序示范图(如图5.1.2示范图圆圈中标注的Q3Q2Q1),对含多个输入输出端的时序电路,也应在示范图中标出(如图5.1.2中指向线上标注的/Y)。(4)根据以上状态转换表(表5.1.1)画状态转换图如图5.1.2所示。将状态转换表表示成状态转换图的目的,是为了更直观形象地描述电路的功能。5.1.1时序逻辑电路的人工分析(5)电路功能判断说明。

对电路功能的判断应结合输入输出信号的具体物理含义来分析,若无相关信息,就只能在通常意义上进行基本的判断。这种判断虽然会因视角的不同而得出貌似不同的自然文字表述结论,但它们的核心逻辑功能却是一样的——正如状态转换表或状态转换图所展示的逻辑功能。为便于后续的判断说明,这里先介绍几个即将涉及到的基本概念。有效状态与有效循环:时序电路所处的状态并不总是都被利用到,我们把被利用到的状态称为有效状态,把由有效状态构成的循环称为有效循环。无效状态与无效循环:时序电路中没被用到的状态称为无效状态,由无效状态构成的循环称为无效循环。能自启动与不能自启动:对于存在无效循环的时序电路,可能会因某种原因(比如受干扰)进入无效循环而无法自动返回到有效循环中,呈现“死机”现象,我们称之不能自启动,若时序电路中不存在无效循环,那么即使落入无效状态,电路也会在时钟驱动下自行进入有效循环,实现自启动。

5.1.1时序逻辑电路的人工分析

由该电路的状态转换图5.1.2可知电路运行时存在两个独立的闭合循环,其中一个循环只有010和101这两个状态,每来两个时钟脉冲就循环一周,由于该循环的输出Y恒为1,使本循环无使用价值而不被利用,是无效循环,它使本电路无自启动能力。5.1.1时序逻辑电路的人工分析

另一个循环包含其余的六个状态,每来六个时钟脉冲完成一次循环运行,并在Y端输出一个低电平脉冲,故知本电路可以六进制的方式计算时钟信号CLK输入的脉冲个数,作为一个同步六进制计数器来使用。若以000、001、011、111、110、100分别表示0、1、2、3、4、5,则本电路可作为一个同步六进制加法计数器,Y则为低电平有效的进位输出信号。若以000、001、011、111、110、100分别表示5、4、3、2、1、0,则本电路又可作为一个同步六进制减法计数器,Y为低电平有效的借位输出信号。5.1.1时序逻辑电路的人工分析

现在换个角度观察,若关注于输出Y与输入CLK之间变化快慢的关系,就会发现Y输出信号的周期是CLK输入信号周期的六倍,或者说Y输出信号的频率是CLK输入信号频率的1/6,因此本电路又可作为一个六分频器。可见不管将它作什么功能电路使用,用到的都是循环一周需经过六个状态,每循环一周对外输出一个脉冲信号这最基本的逻辑功能,这正是该电路的状态转换表或状态转换图告诉我们的。因此在未对输入输出信号及电路的状态编码下定义前,我们可这样描述本电路的功能:这是一个无自启动能力的Moore型同步六状态转换机。由于时序电路中存储单元数量有限,电路的状态数也是有限的,故时序电路又被称为有限状态机(FiniteStateMechine,FSM)。5.1.1时序逻辑电路的人工分析*二、异步时序逻辑电路的分析

与同步时序电路不同的是,异步时序电路中的所有触发器并非由同一时钟源触发,所以在根据电路的现态计算电路的次态时,应特别注意各个触发器的时钟条件是否具备。只有时钟条件具备的触发器才会按状态方程描述的逻辑关系转换成次态,否则将维持现态不变。为此在分析异步时序电路时还需列出时钟方程,以便分析判断,其它部分与同步时序电路的分析步骤大体相同。5.1.1时序逻辑电路的人工分析【例5.2】试分析图5.1.3所示电路的功能。解:(1)在图5.1.3所示电路中并非所有触发器都采用同一个时钟源CLK,因而本电路属异步时序逻辑电路,由所示电路可列出其时钟方程、输出方程和驱动方程如下:5.1.1时序逻辑电路的人工分析(2)将以上特性方程代入JK触发器的特性方程

得电路的状态方程组如下,并根据时钟方程和相应触发器的时钟要求分别标明有效的时钟条件。5.1.1时序逻辑电路的人工分析(3)完整列出电路所有可能出现的状态,分别以此为电路的现态,根据前边已求解的输出方程和电路的状态方程组算出电路的输出和次态,得到电路的状态转换表如表5.1.2所示。时

件现

态次

态输出CLK3CLK2CLK1CLK0Q3Q2Q1Q0Q3n+1Q2n+1Q1n+1Q0n+1Y0001101100011111000110110001111100011011000111110001101100011111000000010010001101000101011001111000100110101011110011011110111100010010001101000101011001111000100100001011010011010100111100000000000001010101

表中的时钟条件用于表示相应触发器的有效时钟条件是否具备,以1表示时钟条件具备,对应触发器的状态方程生效;以0表示时钟条件不具备,对应触发器的状态将保持不变。由于CLK0来自驱动电路工作的最原始时钟CLK,因此始终有效,而CLK1则须待Q0端出现由1到0的变化才有效,才能为1,其它的依此类推。5.1.1时序逻辑电路的人工分析(4)根据表5.1.2所示的状态转换表画出状态转换图如图5.1.4所示。5.1.1时序逻辑电路的人工分析(5)电路功能判断说明。

由图5.1.4所示的状态转换图我们看到,本电路只有一个由十个状态构成的闭合循环,循环外的六个状态都会在系统时钟作用下自行进入该循环中,所以具有自启动能力。因本电路在CLK输入脉冲作用下进行的状态转换,其状态编码是按二进制自然递增态序变换的,且每收到十个CLK输入脉冲电路状态循环一周,并由Y端输出一个高电平脉冲,所以可以明确断定这是一个具有自启动能力的异步十进制加法计数器,Y是电路的进位信号输出端。5.1.1时序逻辑电路的人工分析

由于异步时序电路易产生竞争冒险,且不易排除,在高速大系统中已难见其踪影。但其电路结构简单,产品成本低廉,还会出现在一些技术指标要求不高的廉价电子小产品中。5.1.1时序逻辑电路的人工分析

需要说明的是,本小节所介绍的分析方法只适用于早期相对简单的时序电路,由于没考虑到器件时间参数上的影响,只是停留在理想状态下原理层面上的分析,难免跟工程实际运行情况存在差异。面对现代大规模高速时序电路的分析,这种传统的人工分析方法也因计算量太大而几乎无法进行,早已改用计算机辅助分析、波形仿真的办法。因此在这里讨论传统人工分析方法的目的主要是为帮助初学者更好地理解时序逻辑电路的工作原理,帮助初学者具备对当今数字电路系统局部较简单的时序电路的读图能力。

时序逻辑电路的设计是为获得具备所需时序功能的时序逻辑电路,是时序逻辑电路分析的逆过程。由于同步时序电路容易做到比异步时序电路工作得可靠,绝大多数实际应用电路都被设计成同步电路,因此本小节仅讨论同步时序逻辑电路的设计方法,有关异步时序电路的设计可参阅其它书籍。5.1.2时序逻辑电路的人工设计

构建时序电路选用的基本组件可以是只有基本逻辑功能的小规模集成电路SSI(如触发器、门电路),或者是具备特定功能的中规模集成电路MSI(如后边将谈到的计时器、寄存器等),甚至是拥有大量逻辑资源而不含具体功能的大规模集成电路LSI(如后边将谈到的CPLD、FPGA)。

根据构建电路选用组件的不同,采用的设计方法也不同。采用大规模集成电路的设计实现通常需借助计算机,不用人工设计的方法,而采用中规模集成电路的设计还需具备相关电路的知识基础,将在5.3节“常用中规模集成时序逻辑电路的应用”中介绍,本小节仅讨论面向简单时序逻辑电路的采用小规模集成电路的设计方法。5.1.2时序逻辑电路的人工设计二、状态化简,求出最简状态转换图

在采用小规模集成电路的设计方案中,通常要求设计结果最简,这就要求设计实现的电路所含触发器和门电路的数目最少,为此需要去除原始状态转换图中多余的状态。由于在任何相同输入作用下具有相同输出并建立相同次态的原态都是等价的(等价状态),因此状态化简就是要去除多余的等价状态,从而得到最简状态转换图。5.1.2时序逻辑电路的人工设计

面向简单时序逻辑电路,采用小规模集成电路实现的同步时序电路设计的一般步骤如下:

一、逻辑抽象,建立原始状态转换图

为把给定的时序逻辑问题抽象成由原始状态转换图表示的时序逻辑函数,需要处理好以下三个问题:1.确定所需输入输出变量的数目与表示;2.确定实现电路功能所需建立状态的数目与表示;3.确定电路建立的各个状态之间的转换关系及对应的输出。

三、状态编码,给出编码后的状态转换图

为识别电路所处的状态,需对电路的状态进行编码(或称状态分配)。由于n位二进制数需用到n个触发器,且只能表示2n种状态,在要求设计实现的电路最简的情况下,为能表达电路所需的M个状态,应使2n≥M>2n-1。

5.1.2时序逻辑电路的人工设计

当2n>M时,从2n个状态中挑选M个状态的方案可能不少,状态编码的不同选择,各个状态间转换排序的不同都会直接影响到设计结果,通常的指导思想是:选取的编码和排序的方案应有利于所选触发器的驱动方程、输出方程的化简以及电路工作的稳定可靠。

四、选择触发器、确保自启动并求输出方程和驱动方程

由于小规模集成电路的触发器产品多是D触发器和JK触发器,实际可选余地有限,通常根据供货、价格和个性因素等选用,并使系统中使用同一种类的触发器。

5.1.2时序逻辑电路的人工设计

为求输出方程、驱动方程,先将编码后的最简状态转换图转化为状态转换表,再以输入和现态为输入变量、次态和输出为输出变量,当n≤4时,即可求得输出和次态卡诺图,并据此直接得到化简后的输出方程和驱动方程。当n>4时,先求得输出方程和状态方程,然后化简,对于选用D触发器的设计,可由化简后的状态方程直接得到驱动方程;对于选用JK触发器的设计,需将状态方程变换成具有JK触发器特性方程的形式,再通过比较求得驱动方程。

需要指出的是:当2n>M时,因存在无效状态而可能出现无效循环,故由编码后的最简状态转换图转化成状态转换表时,须审查所有无效状态的次态情况,必要时须指定对应的次态以断开无效循环,确保电路的自启动能力。5.1.2时序逻辑电路的人工设计五、根据驱动方程、输出方程和选定的触发器画逻辑电路图至此,逻辑设计工作已经完成。该设计过程采用的是一种根据设计要求逐步推导出具体电路的自上而下的设计思想,设计结果能很好地符合设计要求,需要说明的是,上述设计步骤在实际运用中并非每步都要执行,可根据具体情况进行取舍。【例5.3】试设计一个串行数据检测器,当连续输入3个或3个以上的1时输出1,否则输出0。5.1.2时序逻辑电路的人工设计解:为判断串口先后输入的数据位是否存在3个或3个以上连续的1,显然要求待设计的电路必须具备记忆功能,因此只能用时序电路来实现。

以X表示输入的数据位,Y表示检测的输出,设电路的初始状态为S0态,收到输入的第一个1时改为S1态,连续收到两个1时改为S2态,连续收到三或三个以上的1时改为S3态,则依题意可得原始状态图如图5.1.5所示。5.1.2时序逻辑电路的人工设计由原始状态图不难发现,状态S2和状态S3在同样输入下有同样的输出和次态,因此它们是等价状态,可去掉一个,从而得到简化后的状态转换图5.1.6。由简化后的状态转换图可见,电路所需状态数M=3。根据2n≥M>2n-1的通常惯例,选取触发器个数n=2,则有00,01,10,11四种状态编码,若取触发器Q1Q0的00、01和10分别代表电路的S0、S1和S2态,则可得电路输出和次态卡诺图如图5.1.7所示。5.1.2时序逻辑电路的人工设计

由于触发器Q1Q0的11取值没被用到,属无效状态,故须审查其次态情况。因本电路的无效状态只有一个,若要构成无效循环,则其次态必须等于其原态。因此,只要在求次态方程时最小项m3与最小项m7有一个或一个以上没被画圈,就意味着不会出现无效循环。若选定了触发器,则由电路的次态和输出卡诺图即可求解驱动方程和输出方程。5.1.2时序逻辑电路的人工设计5.1.2时序逻辑电路的人工设计

为直观起见,避免看错,也可先将图5.1.7所示的次态/输出卡诺图分解为分别表示Y、Q1n+1和Q0n+1的三个卡诺图如图5.1.8中的(a)、(b)和(c)所示。5.1.2时序逻辑电路的人工设计由图(a)可直接得到电路的输出方程:Y=XQ1n

若选用JK触发器来实现设计,为便于求出驱动方程,在利用次态卡诺图化简取得次态函数式时,应在确保所得的次态方程具有JK触发器特性方程形式的基础上,再求最简。为此,在次态卡诺图上画圈时,应在Qn=0或Qn=1所对应的那些最小项构成的片区内画,不要跨越(若选用D触发器,则不必这样做)。以图(b)Q1n+1卡诺图为例,Q1n=0和Q1n=1所对应的最小项片区分别为m0、m1、m4、m5和m2、m3、m6、m7,故m5不与m7合圈,而m7可与m6合圈。由于图(c)中的m3和m7都没被圈,意味着Q0n+1=0,所以不会出现无效循环。

根据画圈后的次态卡诺图可直接得到电路完整的状态转换图如图5.1.9所示。5.1.2时序逻辑电路的人工设计这样,就可由画圈后的次态卡诺图得到相应的状态方程如下:5.1.2时序逻辑电路的人工设计对比JK触发器的特性方程即可得电路的驱动方程如下:根据以上求解的输出方程和驱动方程即可画出符合设计要求的逻辑电路图如图5.1.10所示。5.1.2时序逻辑电路的人工设计

尽管时序逻辑电路功能种类繁多,但在数字电子系统中用得最多的基本时序功能部件主要有两种:计数器和寄存器。它们和各种不同的组合电路结合,即可构成面向各种不同应用的功能复杂多样的数字系统。由于应用广泛,它们或被制成标准化、系列化的中规模集成电路芯片,以自下而上的方式构建简单数字电子系统;或被开发成参数可设置的宏功能模块,便于利用EDA开发软件自上而下地构建复杂数字电子系统。下面我们简单介绍它们的电路结构、工作原理及一些常用集成芯片。5.2几种常用的时序逻辑电路

计数器是一种能统计输入脉冲个数的时序电路,应用非常广泛,除可用于计数外,还可用于分频、定时、产生节拍脉冲或脉冲序列、控制程序等。它种类繁多,不胜枚举,比如根据计数器中各个触发器动作步调的不同,有同步计数器和异步计数器;根据计数器计数容量(又叫计数长度或模,指计数器有效循环中的状态数)的不同,有二进制计数器和N进制计数器;根据计数器计数过程中数值增减方向的不同,有加法计数器、减法计数器和可逆计数器。5.2.1计数器

一、二进制计数器

二进制计数器是指在计数过程中,电路状态编码按二进制数自然递增或递减的方式变化,模(常用M表示)等于2n(n为电路中触发器的个数)的计数器。5.2.1计数器5.2.1计数器1.同步二进制计数器

(1)同步二进制加法计数器计数脉冲CLK电路中各个触发器的状态进位输出CQ3

Q2

Q1

Q0000000100010200100300110401000501010601100701110810000910010101010011101101211000131101014111001511111以4位二进制加法计数器为例,它在计数脉冲作用下的状态转换及输出如表5.2.1所示,时序波形图如图5.2.2。5.2.1计数器不难看出,最低位触发器Q0始终只需翻转功能,每来一个CLK计数脉冲就翻转一次;其它各位触发器仅当它的所有低位触发器均为1态时(低位计数已满),才会在CLK计数脉冲作用下翻转(低位进位的结果),具有翻转功能,其它时候只有保持功能。由时序波形图可以看出,若输入计数脉冲CLK的频率为f,则由计数器Q0、Q1、Q2、Q3端输出脉冲的频率将分别为f/2、f/4、f/8、f/16。因此计数器有分频功能,n位二进制计数器能对输入计数脉冲信号进行1/21、1/22、…、1/2n的各种分频。5.2.1计数器若以JK触发器实现,则各触发器的驱动方程和电路的输出方程为:由此可得同步4位二进制加法数器电路如图5.2.1所示。5.2.1计数器

仍以4位二进制计数器为例,进行减法计数时,它在计数脉冲作用下的状态转换及输出如表5.2.2所示。计数脉冲CLK电路中各个触发器的状态借位输出BQ3

Q2

Q1

Q00111101111002110103110004101105101006100107100008011109011001001010110100012001101300100140001015000015.2.1计数器(2)同步二进制减法计数器若仍以JK触发器实现,则不难得出各触发器的驱动方程和电路的输出方程为:

由此可得同步4位二进制减法计数器电路如图5.2.3所示。5.2.1计数器(3)同步二进制可逆计数器

可逆计数器是一种可在外部信号控制下进行加法计数或减法计数的计数器。比较前面讨论的同步二进制加法计数器和同步二进制减法计数器可知,要使计数器在加法计数和减法计数中转换,只需用一个加/减控制信号转换计数器的驱动方程(最低位情况相同无须转换)和输出方程即可。现仍以JK触发器实现同步4位二进制可逆计数器为例,设控制信号=0时实现加法计数,=1时实现减法计数,则可得控制可逆计数器驱动及输出转换真值表如表5.2.3所示(J0=K0≡1,无须转换)。5.2.1计数器欲实现的功能控制信号U/D

驱动信号Jj、Kj(j=1,2,3)输出信号C/B加法计数0减法计数15.2.1计数器由表可得当=0时,与同步4位二进制加法计数器相同,电将实现加法计数的功能;与同步4位二进制减法数器相同,电路将实现减法计数的功能。=1时,当

由上述驱动方程和输出方程可得同步4位二进制可逆计数器电路如图5.2.4所示。5.2.1计数器5.2.1计数器(4)集成同步4位二进制计数器74161集成同步4位二进制计数器74161是一种常用的二进制计数器芯片,为了增加芯片的功能和使用的灵活性,跟前述的同步4位二进制加法计数器相比,增加了一些控制电路和控制端口,其逻辑符号如图5.2.5所示。

表5.2.4简要给出了该芯片的功能表,是选择和使用74161芯片的重要依据。输

入输

出ETEPCLKD0

D1D2D3C0××××××××0000010××↑D0

D1D2D3D0

D1D2D3110××××××

01110×××××

1111↑××××4位二进制计数5.2.1计数器

由功能表5.2.4可见,集成同步4位二进制计数器74161有以下四种功能:①异步清零功能:只要输入信号=0(低电平有效),则电路的所有输出都为0,因不受时钟控制,故为异步清零端。该端优先级别最高,其他输入控制信号必须在它无效(=1时)的情况下才有可能起作用。

5.2.1计数器②同步置数功能:当

=1(无效)时,若=0(低电平有效),则在时钟CLK的作用下(“↑”表示上升沿到来)将外部数据输入端的数据D0

、D1

、D2

和D3分别置入计数器的四个状态输出端Q0、Q1、Q2和Q3。由于该置数操作必须在时钟CLK的作用下才能实现,故为同步置数端。该端优先级别仅比

低,是次高优先级控制端。5.2.1计数器③保持功能:在

都无效的情况下,若ET·EP=0(无效),则电路状态将保持不变,因进位输出信号C=,故当ET=0时C=0,否则进位输出信号C也将保持不变。5.2.1计数器④计数功能:仅当

·

·ET·EP=1时,该芯片才开启了它的计数功能,对CLK的上升沿计数。具体工作情况与前述同步4位二进制加法计数器相同。5.2.1计数器

需要说明的是,因为制造工艺和生产公司的不同,市场上有很多不同的集成同步4位二进制计数器。比如有74LS161、CT74161、74HC161、74LVC161等,尽管它们的内部电路有些不同,性能参数有些不同,但他们外部引线的配置、引脚排列及逻辑表都与74161相同。5.2.1计数器2.异步二进制计数器

由同步4位二进制加法计数器的状态转换及输出表5.2.1或同步4位二进制加法计数器的时序波形图5.2.2都不难发现,若采用下降沿触发的T’触发器来实现,只需将低位触发器的状态输出端作为高位触发器的时钟(CLKi=Qi-1,i=1,2,3,…),而最低位触发器时钟来自原始计数脉冲CLK0=CLK,即可实现4位二进制加法计数功能。由于各触发器的时钟来源各不相同,故为异步时序电路。5.2.1计数器对应的异步4位二进制加法计数器电路如图5.2.6所示。

图5.2.6中是以下降沿触发的JK触发器来构成T’触发器的。若改用上升沿触发,则时钟连接应改为(i=1,2,3,…)。

同理,由同步4位二进制减法计数器的状态转换及输出表5.2.2可知,若采用下降沿触发的JK触发器来实现,则应使

(i=1,2,3,…),CLK0=CLK,即可实现二进制减法计数功能。5.2.1计数器图5.2.7所示的是以下降沿触发的JK触发器实现的异步4位二进制减法计数器。5.2.1计数器同理,若选用上升沿触发的触发器实现减法计数,则高低位触发器间的时钟连接应改为(CLKi=Qi-1,i=1,2,3,…)。

综上所述,在异步二进制计数器中,计数方向与触发器触发沿的选择及触发器时钟的连接密切相关,如表5.2.5所示。加法计数减法计数上升沿CLKi=Qi-1下降沿CLKi=Qi-1级间时钟连接

关系T’触发沿实现功能表5.2.5异步二进制计数器级间连接规律

5.2.1计数器

由表5.2.5可见,只要用一控制信号改变计数器级间连接关系,就能改变计数方向,实现可逆计数,道理与同步二进制可逆计数器相同,不再赘述。

几点说明:

5.2.1计数器(2)前述的进位或借位输出采用

来实现,虽物理意义一目了然,但作为异步计数器,可直接取自最高位的状态

或反状态

输出端,无须这么繁琐。(1)异步二进制计数器中的进位信号是逐级传递的,导致延时不断累加,计数速度较慢。因电路结构简单,还会出现在一些要求不高的电子小产品中。

二、N进制计数器

5.2.1计数器

二进制以外的其它进制计数器统称N进制计数器。出于经济上的原因,通常只有用量足够大的电路才被制成定型的集成电路产品。由于人们日常生活中普遍使用十进制数,所以除了前述的集成同步4位二进制计数器74161外,还有集成的同步十进制(N=10)计数器芯片74160。它的逻辑符号如图5.2.8所示。

由74160的逻辑符号和功能表可见,它的用法与74161极为相似,所不同的仅在于74160是十进制的计数循环。输

入输

出ETEPCLKD0

D1D2D3C0××××××××0000010××↑D0

D1D2D3D0

D1D2D3110××××××

01110×××××

1111↑××××十进制计数5.2.1计数器表5.2.6简要给出了该芯片的功能表。74160的状态转换图如图5.2.9所示。5.2.1计数器

为了获得其他所需的N进制计数器,理论上可用前述的时序电路设计方法设计得到,实践中通常是采用已有的集成计数器连接构成,这么做不仅简单方便高效,而且经济可靠。下面介绍用已有的集成M进制计数器构成N进制计数器的方法:5.2.1计数器

1.M>N的情况:

由于已有计数器的有效状态数M大于所需状态数N,故需设法使已有计数器的计数循环在计数中自动跳过M-N个状态。类似前面介绍过的集成计数器74161、74160,通常集成计数器都有清零和置数输入端,且有同步控制和异步控制之分(具体情况需查看相应芯片的使用功能表)。由于同步控制和异步控制运行特点不同,处理办法也不同,分别介绍如下:(1)用同步置数端或同步清零端

将计数循环中某个状态S译码得到的信号去控制计数器的同步控制端(同步置数端或同步清零端),使计数循环跳过M-N个状态。由于控制信号作用在同步信号控制端,所以该状态S将保持到下一个有效时钟沿到来后才被更换,属新建计数循环中的一个有效状态。计数器的计数循环如图5.2.10中的实线环形箭头所示。其中图(a)用的是同步置数端,同步置数控制信号由状态Si译码产生;图(b)用的是同步置零端(也可用同步置数端实现),同步置零控制信号由状态SN-1译码产生。图5.2.10获得N进制计数器的两种方法

(2)用异步置数端或异步清零端

将计数循环中某个状态S译码得到的信号去控制计数器的异步控制端(异步置数端或异步清零端),使计数循环跳过M-N个状态。由于异步控制信号一有效就要产生作用,所以该状态S一出现就要被更换掉,是一个仅维持极短时间的过度状态,不属于新建计数循环中的一个有效状态。计数器计数循环的跳跃部分如图5.2.10中的虚线箭头所示。其中图(a)用的是异步置数端,异步置数控制信号由状态Si+1译码产生;图(b)用的是异步置零端(也可用异步置数端实现),异步置零控制信号由状态SN译码产生。图5.2.10获得N进制计数器的两种方法解:由图5.2.8所示的74160逻辑符号及表5.2.6给出的功能表可知,74160有一个异步清零端和一个同步置数端,因此可用两种办法构成。

5.2.1计数器【例5.4】试用同步十进制计数器74160构成七进制计数器。

办法一:用同步置数端:由图5.2.9所示的74160状态转换图可知,若由Q3Q2Q1Q0=0110的状态译码产生

的同步置数控制信号,在下一个时钟有效沿到来时置入D3D2D1D0=0000的状态,将如图5.2.11中的实线所示那样,使原来的计数循环跳过0111~1001这3个状态,得到如图5.2.12(a)所示的七进制计数器。5.2.1计数器图5.2.12(a)

用74160构成七进制计数器5.2.1计数器

由于计数循环跳过了1001这个状态,所以进位输出C始终为0,为此进位输出C可改由Q2端引出。若

的同步置数控制信号改由Q3Q2Q1Q0=0101的状态译码产生,在下一个时钟有效沿到来时置入D3D2D1D0=1001的状态,将如图5.2.11中的虚线所示那样,使原来的计数循环跳过0110~1000这3个状态,得到如图5.2.12(b)所示的七进制计数器。由于计数循环含有1001这个状态,所以每完成一个计数循环都会由进位输出C给出一个进位脉冲。5.2.1计数器图5.2.12(b)

用74160构成七进制计数器办法二:用异步清零端:由图5.2.9所示的74160状态转换图同样可知,若由Q3Q2Q1Q0=0111的状态译码产生

的异步清零控制信号,则电路刚进入Q3Q2Q1Q0=0111的状态,就会因异步清零控制信号起作用而使电路马上进入0000的状态。电路的0111状态是一个仅维持极短时间的过度状态,如图5.2.13中的虚线所示。5.2.1计数器实现的电路如图5.2.14(a)所示。因为计数循环跳过了1001这个状态,导致进位输出C始终为0,为此进位输出C改由Q2端引出。由于异步清零控制信号

由Q3Q2Q1Q0=0111的状态经G门译码产生,故0111状态一旦消失,异步清零控制信号

也将消失。考虑到各触发器的清零速度快慢不同,因此异步清零控制信号可能造成电路既离开了0111的状态又没进入0000的状态,所以该电路的动作并不可靠。

5.2.1计数器图5.2.14(a)

用74160的异步置数端构成七进制计数器要解决电路工作可靠性问题,确保电路有足够反应时间使状态可靠清零,就应设法使异步清零控制信号

维持足够长时间。为此,可用一个RS锁存器将G门译码产生的异步清零控制信号

保持下来,如图5.2.14(b)所示。

5.2.1计数器图5.2.14(b)

用74160的异步置数端构成七进制计数器

由图(b)可见,当计数输入脉冲CLK上升沿到来,电路进入Q3Q2Q1Q0=0111的状态时,经G1门译码产生的低电平信号使由G2和G3门构成的RS锁存器置1态,=0使电路清零。在计数输入脉冲CLK下降沿到来前,即使电路的0111状态消失,G1门输出高电平,RS锁存器也将保持原来的1态不变,作用在异步清零控制端的信号依旧是=0,直到计数输入脉冲CLK下降沿到来后,RS锁存器才返回0态,=1。因此异步清零控制信号=0维持时间等于计数输入脉冲CLK持续高电平的时间,能确保电路可靠清零。若以RS锁存器的Q端为进位信号输出端,则进位输出同样将持续CLK保持高电平的时间。5.2.1计数器图5.2.14(b)

用74160的异步置数端构成七进制计数器

2.M<N的情况:

由于已有计数器的有效状态数M小于所需状态数N,不足以构成所需的有效循环,故须先用多片M进制计数器级连进行计数容量的扩展,然后再按前述M>N的情况进行处理。各片之间级连办法有两种:

5.2.1计数器(1)串行进位方式

串行进位方式是以低位芯片的进位输出作为高位芯片的计数脉冲输入(即高位芯片的时钟)。在图5.2.15所示的级连方式中,两芯片均处于计数功能状态,但高位芯片的计数脉冲来自低位芯片的进位输出,故为串行进位方式。这种级连方式的各个芯片不是同步工作的。(2)并行进位方式

并行进位方式是以低位芯片的进位输出控制高位芯片的计数功能,决定高位芯片是否产生计数动作。在图5.2.16所示的级连方式中,两芯片的计数脉冲来源相同,但高位芯片的计数功能取决于低位芯片的进位输出,仅当低位芯片的进位输出1时高位芯片的计数功能才被激活,故为并行进位方式。这种级连方式的各个芯片的工作是同步的。5.2.1计数器【例5.5】请用74161构成二十七进制计数器。

5.2.1计数器解:由于一片74161一个计数循环的状态数只有16种,少于所需的27种,因此需先进行计数容量的扩展。两片74161级连可构成8位二进制计数器,一个计数循环的状态数达到28=256种,远大于所需的27种,因此需使计数循环跳过229个状态。虽然74161既有同步置数控制端,又有异步清零控制端,考虑到异步控制存在的工作可靠性问题,选择控制同步置数端。若置入状态为零态00000000,则据前述同步清零法可知,应由第26个状态00011010产生同步置数控制信号=0,实现电路如图5.2.17所示。

寄存器是一种用于存储二进制数据或代码的基本时序电路。根据使用要求的不同,往往还有一些控制电路,以便控制数据的接收、清除或根据外部的通信要求简单处理存储的数据。按功能的不同,常把寄存器分成基本寄存器和移位寄存器两大类。5.2.2寄存器

一、基本寄存器

基本寄存器功能单一,只能用于存储二进制数据或代码。由于一个触发器只能存储一位二值代码,要存储N位的二值代码就需要用到N个触发器。

由图可知,当

=0时,寄存器内存放的数据被清零,Q0=Q1=Q2=Q3=0。当CLK上升沿到来时,待存数据D0、D1、D2、D3将被同步置入寄存器,使Q0=D0、Q1=D1、Q2=D2、Q3=D3,实现了数据的并行输入与并行输出。与CLK相连的缓冲器虽无具体的逻辑功能,但能使CLK的驱动能力得到加强。同理,与

相连带“非”功能的缓冲器也有此目的,这是集成电路芯片中的惯用手段,目的是减轻这些公共控制端或输入信号的负载。5.2.2寄存器图5.2.18所示是一个由4个D触发器构成的寄存器74175。虽然只要有置0、置1功能的触发器或锁存器即可构成寄存器的存储单元,但采用锁存器构成的寄存器会因锁存器在控制电平有效期间“透明”而可能存在空翻现象,抗干扰性差,只适用于数据处理单元、输入输出/接口或显示单元之间数据的暂存。5.2.2寄存器

二、移位寄存器

顾名思义,移位寄存器不仅能寄存二进制数据或代码,还具有移位功能,寄存的数据能在移位脉冲(即时钟脉冲)作用下依次左移或右移。所以移位寄存器功能比基本寄存器丰富,还能简单处理寄存的数据。图5.2.19所示是一个由4个D触发器构成的具有右移功能的单向移位寄存器。由图可知,当=0时,寄存器内存放的数据被清零,Q0=Q1=Q2=Q3=0。当CLK上升沿到来时,各端口数据DI、Q0、Q1、Q2、将被同步右移一位,使Q0n+1=DI、Q1n+1=Q0n、Q2n+1=Q1n、Q3

n+1=Q2n。若串行输入端口DI在4个移位脉冲周期内依次输入的代码是1101,则可分析得到在串行输入端口DI和移位脉冲CLK作用下各触发器状态端的波形图如图5.2.20所示。5.2.2寄存器若以串行输入端口DI为寄存器数据输入端,而以4个触发器的状态端为数据输出端,则经过4个CLK上升沿后,从串行输入端口DI输入的4位代码就全部移入移位寄存器中,并全部出现在数据输出端,从而实现数据的串行输入与并行输出,即实现数据的串—并转换。5.2.2寄存器

为便于灵活运用,在定型生产的移位寄存器中通常还增加一些控制逻辑,比如4位双向移位寄存器74194,还附加了左右移位选择、数据并行输入、数据保持等控制逻辑,其逻辑符号如图5.2.21所示,表5.2.7是其功能表。5.2.2寄存器5.2.74位双向移位寄存器74194功能表由表5.2.7可见,4位双向移位寄存器74194有5种功能:当

=0时,寄存器被异步清零。由于异步清零控制端

优先级别最高,正常工作时应使=1,才能实现以下4种功能。当S1S0=00时,寄存器存储的数据将保持不变。当S1S0=01时,在CLK上升沿到来时,寄存器存储的数据将全体右移一位,最左边的数据位将由右移输入端输入的数据位DIR填补,实现数据的串行右移功能。5.2.74位双向移位寄存器74194功能表5.2.2寄存器当S1S0=10时,在CLK上升沿到来时,寄存器存储的数据将全体左移一位,最右边的数据位将由左移输入端输入的数据位DIL填补,实现数据的串行左移功能。当S1S0=11时,在CLK上升沿到来时,外部数据并行置入端的数据D0

、D1

、D2

和D3分别置入寄存器中的四个触发器,实现并行置入数据的功能。5.2.2寄存器5.2.74位双向移位寄存器74194功能表74194功能丰富,使用灵活,还便于多片级联,构成多位移位寄存器。图5.2.22所示是用两片74194构成8位双向移位寄存器的典型示例,可方便地实现8位数据的串行左右移位、8位数据的串—并或并—串转换功能。5.2.2寄存器

在5.1.2小节中,我们介绍了面向简单时序电路的采用小规模集成电路的设计方法。这种方法以人工手段进行,对当前功能复杂多样、规模庞大而生命周期却越来越短的电路系统设计所面临的巨大运算量和苛刻的设计时间效率,显得困难重重而难以实施。目前多用中规模集成电路MSI(如前述的计时器、寄存器)或大规模集成电路LSI(第7章将介绍的CPLD、FPGA)来实现设计。

5.3常用中规模集成时序逻辑电路的应用

本节仅讨论采用中规模集成电路MSI构成的时序电路。由于用MSI构成时序电路多用自下而上的设计方法,要求设计者拥有丰富的MSI使用知识与设计经验,且设计方法灵活多样,无固定模式,因此本节以示例介绍的方式向读者展示用MSI构成时序电路的方法,初学者应仔细研究示例中电路功能实现的思想,以便举一反三,活学活用,尽快提高MSI的使用能力。5.3.1计数器的应用计数器应用极广,不仅能用于计算输入脉冲的个数,还能灵活变通地用于分频、计时、产生扫描信号和构成顺序脉冲发生器等场合。限于篇幅,以下只介绍几个简单的应用示例,望能给初学者增加一些感性认识,获得一些使用的经验和启迪。一、构成计数模可控型计数器在5.2.1小节中,我们介绍的计数器的模都是固定不可控的,只要加入控制信号并简单处理,就能使计数器的模按控制要求而改变。

图5.3.1所示电路就是一种计数模可控计数器,它通过改变控制逻辑改变计数的模。5.3.1计数器的应用由图可知其同步置数控制信号当K=0时,计数器的状态转换图如图5.3.2所示,显然是一个同步十进制计数器。5.3.1计数器的应用由图可知其同步置数控制信号当K=1时,计数器的状态转换图如图5.3.3所示,电路变成一个同步十二进制计数器。5.3.1计数器的应用图5.3.4所示电路也是一种计数模可控计数器。当K=0时,置入数值D3D2D1D0=0010,计数器的状态转换图如图5.3.5所示,显然这是一个八进制计数器。5.3.1计数器的应用图5.3.4所示电路也是一种计数模可控计数器。当K=1时,置入数值D3D2D1D0=0100,计数器的状态转换图如图5.3.6所示,电路变成一个六进制计数器。5.3.1计数器的应用二、构成计数型顺序脉冲发生器

在数字系统运行时,往往须按预定顺序进行一系列的操作,为此系统控制单元须给出一组在时间上有一定先后顺序的控制信号。由于顺序脉冲发生器能按时间先后顺序输出一组脉冲信号,常被用来形成所需的控制信号,实现数字系统各部件间的协调动作,成为一种常用的数字电路。

由于计数器在计数脉冲作用下,各个计数状态按一定的计数循环依次更换,周而复始,所以只要用译码器将这些计数状态分别译出,即可得到顺序脉冲。用这种模式构成的顺序脉冲发生器称为计数型顺序脉冲发生器。5.3.1计数器的应用图5.3.7所示的就是一种由计数器74161和译码器74138构成的计数型顺序脉冲发生器。由74161功能表可知图中74161工作在计数状态,在连续输入的CLK作用下,Q2Q1Q0的状态将按二进制加法计数递增规律由000到111不断更换,周而复始,经74138译码,依次输出的顺序脉冲。5.3.1计数器的应用需要注意的是,由于接74138的片选端S1,这将导致在CLK上升沿到来后的高电平期间74138被禁止,所有输出端均为1,持续到CLK下降沿到来后的低电平期间74138才会根据输入信号译码输出结果。这么做的目的,是为避开在CLK上升沿到来时,计数器中各个触发器状态变化快慢不一导致的竞争—冒险现象。该顺序脉冲发生器输出波形如图5.3.8所示。5.3.1计数器的应用三、构成计数型序列信号发生器序列信号发生器又称序列脉冲发生器,是指一组特定的串行数字信号,在数字信号的传输和数字系统的测试中常要用到。产生序列脉冲信号的电路即序列信号发生器。由于数据选择器能根据地址选通相关通道的输入信号,只要在其地址端周而复始地输入固定的地址系列,则数据选择器将周而复始地选通相关通道的输入信号,输出一组特定的串行数字信号。因此,若以计数器的计数值作为数据选择器的地址,则在计数脉冲作用下,数据选择器将输出序列脉冲信号。用这种模式构成的序列信号发生器称为计数型序列信号发生器。5.3.1计数器的应用图5.3.9所示的就是一种由计数器74161和数据选择器74151构成的计数型序列信号发生器。由图可见,在连续输入的CLK脉冲作用下,计数器74161芯片Q2Q1Q0的状态将按二进制加法计数递增规律由000到111不断更换,周而复始。数据选择器74151的地址端在计数器74161Q2Q1Q0状态端循环往复的扫描下,将依次选中D0~D7通道输入的数据,输出D7D6D5D4D3D2D1D0脉冲序列(输出的先后顺序是由右边D0至左边D7)。

根据图中各个数据通道输入的数据可知,该电路将输出00010111的序列信号。由于只要改变加到D7~D0的高低电平就能改变输出的脉冲信号序列,而不需对电路结构做任何变动,这种结构的计数型序列信号发生器使用起来既方便又灵活。5.3.1计数器的应用在3.2.1小节中我们介绍了优先编码器的级联扩展使用,这在编码信号较少的时候是个不错的应对办法,但是当要求编码的信号较多时就不经济实用了,为此人们设计了一种通过扫描键盘生产按键编码的电路。图5.3.10所示是一种对128个按键进行编码的电路。四、充当按键编码的扫描电路5.3.1计数器的应用图中由4线—16线译码器74154的16根译码输出线构成按键的列线,由8选1数据选择器74151的8路输入数据通道构成按键的行线。每个行线与列线的交叉点上均设置一个按键开关,其电路结构如图右上角所示,仅当按键按下时该交叉点上的行线与列线才产生电连接。因16根列线与8根行线共有128个交叉点,故最多只可设置128个按键。由于所有行线均通过上拉限流电阻接高电平,故无按键按下时74151输出Y=1,

=0。5.3.1计数器的应用由两片74161以并行进位方式级联,取其低7个状态位Q2Q1Q0Q3Q2Q1Q0构成128进制加法计数器,在时钟CLK的连续作用下,通过74151和74154对行列线交叉点阵列进行逐行逐列扫描。5.3.1计数器的应用

需要注意的是,为确保电路捕捉到每次的按键信息,要求时钟CLK的频率不能太慢,每来128个脉冲所用的时间必须短于按键短接交叉点所持续的时间。5.3.1计数器的应用跟计数器一样,寄存器也是数字电子系统中用得最多的一种功能部件,除能寄存数据外,还能进行数据的串—并或并—串转换、构成移位型计数器、构成反馈移位型序列脉冲发生器和进行数值的运算处理等。5.3.1计数器的应用一、构成移位型计数器移位型计数器是一种以移位寄存器为主体加上反馈网络构成的具有特殊编码的同步计数器,其电路结构如图5.3.11所示。这种计数器的状态转换遵循移位寄存器移位的规律,除第一级外,其余各级间满足Qn+1m=Qnm-1。采用不同的串行输入反馈逻辑F就可构成不同形式的计数器。下面介绍两种常用的形式。5.3.2寄存器的应用1.环形计数器

取移位寄存器的串行输入反馈逻辑F=Qnn-1,使Q0n+1=Qnn-1即构成n位环形计数器。图5.3.12所示是用74194构成的4位环形计数器,刚上电时,由于电容C未充电,S1=1,充电后S1=0。根据74194的功能表可知当S1=S0=1时,芯片开启同步置数功能,在CLK作用下将并行数据输入端的D0D1D2D3存入寄存器,使Qn0Qn1Qn2Qn3=D0D1D2D3=0001;当S1=0,S0=1时,芯片开启右移输入及数据右移功能,在CLK作用下使Q0n+1Q1n+1Q2n+1Q3n+1=FQ0nQ1nQ2n=Q3nQ0nQ1nQ2n=1000。因此,在CLK的作用下,计数器工作的状态转换图将如图5.3.13所示。5.3.2寄存器的应用

环形计数器电路结构非常简单,正常工作时每个状态中始终只有一个位是1(或0),可直接输出而无须另加译码器。在连续输入的CLK作用下,各状态输出端将按顺序出现矩形脉冲,构成移位型顺序脉冲发生器。但环形计数器电路的状态利用率极低,n位移位寄存器只能构成n进制计数器。剩余的2n-n个状态不仅没用浪费,还构成无效循环,若电路受干扰进入无效循环,将不能自启动。为可靠起见须修改反馈逻辑F,剪断所有的无效循环,将其引导到有效循环中。5.3.2寄存器的应用2.扭环形计数器

若取移位寄存器的串行输入反馈逻辑F=,使

则构成n位扭环形计数器。图5.3.14所示是用74194构成的4位扭环形计数器,刚上电时,由于电容C未充电,

=0,充电后

=1。根据74194的功能表可知当

=0时,芯片异步清零,Qn0Qn1Qn2Qn3=0000;当S1=0,S0=1时,芯片开启右移输入移位功能,在CLK作用下使Q0n+1Q1n+1Q2n+1Q3n+1=FQ0nQ1nQ2n==1000。因此,在CLK的作用下,计数器工作的状态转换图将如图5.3.15所示。5.3.2寄存器的应用

扭环形计数器电路结构简单,正常工作时相邻两状态中始终只有一个位取值发生变化,可避免译码时的竞争冒险。n位移位寄存器能构成2n进制计数器,状态利用率比环形计数器高一倍,但剩余的2n-2n个状态同样不仅没用浪费,还构成无效循环,若受干扰进入无效循环,将不能自启动,须修改反馈逻辑F。为进一步提高状态利用率,可用最大长度移位型计数器(也称m序列发生器),具体可参阅有关资料。5.3.2寄存器的应用二、构成反馈移位型序列信号发生器除5.3.1小节中介绍的计数型序列信号发生器外,还有另外一种称为反馈移位型的序列信号发生器,其电路结构如图5.3.16所示。与移位型计数器不同之处在于移位型计数器的输出来自于各个触发器的状态端,是多输出电路,而反馈移位型序列信号发生器的输出来自寄存器的某个输出端,输出的是一组特定的串行数字信号,是单输出电路。5.3.2寄存器的应用

用移位寄存器构成反馈移位型序列信号发生器的一般设计步骤如下:1.初定移位寄存器的位数n根据欲产生的序列信号循环长度m,选择移位寄存器的位数n满足2n≥m>2n-1;2.划分移位寄存器的m个状态将给定序列码按移位规律每n位一组,分出m个状态。若m个状态中出现重复状态,说明初定位数n不足以区分给定序列码的m个状态,须增加移位寄存器的位数,改用n+1位。再重复上述过程,对序列码每n+1位一组,分出m个状态。直到分出m个独立状态为止。3.求反馈函数表达式根据m个不同状态的转换顺序和移位规律确定在各个输入状态下应生成的反馈逻辑F值,列出反馈函数表,求得能自启动的反馈函数表达式。4.画出实现的逻辑电路图根据选用移位寄存器的功能表,设置好各个控制端口的状态,特别是移位方向的设置与串行输入输出端口的连接。

5.3.2寄存器的应用【例5.5】请用74194和一些必要的逻辑器件构成一个产生111001(时间顺序是先右后左)序列的反馈移位型序列信号发生器。解:1.初定移位寄存器的位数n。因m=6,为满足2n≥m>2n-1,取n=3。2.划分移位寄存器的6个状态。将序列信号111001按移位先后规律每3位一组,分出6个状态,其转换顺序:001→100→110→111→111→011然后再回到001,其中第4、第5个状态都为111,出现重复状态。由移位型序列信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论