毕业设计----十五进制计数器的设计.doc_第1页
毕业设计----十五进制计数器的设计.doc_第2页
毕业设计----十五进制计数器的设计.doc_第3页
毕业设计----十五进制计数器的设计.doc_第4页
毕业设计----十五进制计数器的设计.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

十五进制计数器的设计摘要:在时序电路中,有一类可以实现对脉冲信号的计数功能,该电路称作计数器。计数器不但可以用于脉冲的计数,在数字系统中还常用作定时、分频、执行数字运算及其它一些逻辑功能。可以用集成触发器和门电路,采用时序电路的构成方法,构成计数器。每一个触发器可以存储一位二进制信息,由4个触发器按一定的方式连接构成计数器电路,即可实现以4位编码输出的十五进制计数器。关键词:计数器 卡诺图 触发器 状态转换表 逻辑图abstract: in sequential circuits, one class can implement the counting function of the pulse signal, the circuit is called the counter. counter pulse count can be used not only in the digital system is often used as timing, frequency, implementation of the digital computing and other logic functions. can be integrated flip-flop and gates, sequential circuits using the composition method, constitutes the counter. each flip-flop can store a binary information, the four flip-flops connected in some way constituted by the counter circuit can achieve 4-bit code output to binary counter 15.key words: counter, karnaugh map, trigger, state transition table, logic diagram一、计数器的介绍及设计要求在数字电路中,能够记忆输入脉冲个数的电路称为计数器。计数器是数字系统中用得较多的基本逻辑器件。它不仅能记录输入时钟脉冲的个数,还可以实现分频、定时、产生节拍脉冲和脉冲序列等。例如,计算机中的时序发生器、分频器、指令计数器等都要使用计数器。 计数器的种类很多。时钟脉冲输入方式的不同,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器和非二进制计数器;按计数过程中数字增减趋势的不同,可分为加计数器、减计数器和可逆计数器。在中规模集成电路中,二、十进制计数器都有各种芯片可供选择。而对于任意进制计数器,通常利用集成二、十进制计数器。通过反馈清零或者反馈置数来实现。利用反馈清零设计任意进制计数器时其状态转换图是惟一的(同步清零和异步清零的状态转换图稍有差别),而在简单电路中,采用时序逻辑设计电路设计n 进制计数器时,触发器的选取比较灵活,也可以有多种不同的实现方法。采用时序逻辑电路设计十五进制计数器的要求:1)时序电路的分析,建立原始状态图和状态表;2)根据技术指标要求及设计方案设计出电路逻辑图,并分析工作原理; 3)验证所设计的电路,使之达到设计要求; 4)记录实验结果。二、十五进制计数器的设计时序电路设计又称为时序电路综合,它是时序电路分析的逆过程,即根据给定的逻辑功能要求,选择适当的逻辑器件,设计出符合要求的十五进制计数器。这里用触发器及门电路设计同步时序逻辑电路的方法,这种设计方法的基本指导思想是使用尽可能少的时钟触发器和门电路来实现待设计的时序电路。设计同步时序电路的一般过程如图2.1所示。求输出方程各触发器的驱动方程画逻辑图检查自启动能力由给定的逻辑功能求出原始状态图选择触发器状态编码状态化简图2.1 同步时序电路的设计过程(一)逻辑抽象,得到电路的状态转换图由于时序电路在某一时刻的输出信号,不仅与当时的输入信号有关,而且还与电路原来的状态有关。因此设计时序电路时,首先必须分析给定的逻辑功能,从而求出对应的状态转换图。这种直接由要求实现的逻辑功能求得的状态转换图叫做原始状态图。正确画出原始状态图,是设计时序电路的最关键的一步,具体的做法是: (1)分析给定的逻辑功能,确定输入变量,输出变量及该电路应包含的状态,并用字母s0、s1表示这些状态。通常都是取原因(或条件)作为输入逻辑变量,取结果作输出逻辑变量。 (2) 定义输入、输出逻辑状态和每个电路状态的含意,并将电路状态顺序编号。 (3)列出电路的状态转换表或画出电路的状态转换图。因为十五进制计数器的工作特点是在时钟信号操作下自动地依次从一个状态转为下一个状态,所以它没有输入逻辑变量,只有进位输出信号。因此,计数器是属于穆尔型的一种简单时序电路。取进位信号为输出逻辑变量c,同时规定有进位输出时c=1,无进位输出时c=0。十五进制计数器有十五个有效状态,分别用s0 、s1、 s2、s14表示,则可以画出如下图2.2所示的电路状态转换图。s0s1s2s3s4s5s6s7s8s9s11s10s12s13s14/0/0/0/0/0/0/0/0/0/0/0/0/0/0/1图2.2十五进制计数器的状态转换图(二)状态转换根据给定要求得到的原始状态图不一定是最简的,很可能包含多余的状态,即可以合并的状态,因此需要进行状态化简或状态合并。状态化简是建立在状态等价这个概念的基础上的。所谓状态等价,是指在原始状态图中,如果有两个或两个以上的状态,在输入相同的条件下,不仅有相同的输出,而且向同一个次态转换,则称这些状态是等价的。凡是等价状态都可以合并。如图2.3 s2和s3,当输入x=0时,输出z都是0,且都向同一个次态s0转换;当x=1时,输出z都是1,次态都是s3,所以s2和s3是等价状态,可以合并为s2,取消s3,即将图2.3中代表s3的圆圈及由该圆圈出发的所有连线去掉,将原先指向s3的连线改而指向s2,得到化简后的状态图如图2.4所示。 显然,状态化简使状态数目减少,从而可以减少电路中所需要触发器的个数和门电路的个数。 图2.3原始状态图 图2.4原始状态图的简化图 因为十五进制计数器必须要用15个不同的状态表示已经输入的脉冲数,所以状态转换图2.2已不能再化简。(三)状态编码,并画出编码形式的状态转换表时序逻辑电路的状态是用触发器状态的不同组合来表示的。首先,需要确定触发器的数目n。因为n个触发器共有2n种状态组合,所以为获得时序电路所需的m个状态,必须取: 2n-1m2n (式2.1)十五进制的为15个状态,应取触发器位数n=4。其次,要给每个电路状态规定对应的触发器状态组合。每组触发器的状态组合都是一组二值代码,这项工作又称为状态编码。在1524的情况下,从24个状态中取15个状态的组合可以有多种方案,假如对状态分配无特殊要求,这里取自然二进制数的00001110作为s0s14的编码,于是得到状态转换表2.1中的状态编码。表2.1十五进制计数器的状态状态转换表状态变化顺序状态编码进位输出c等效十进制数q3q2q1q0s0000000s1000101s2001002s3001103s4010004s5010105s6011006s7011107s8100008s9100109s101010010s111011011s121100012s131101013s141110114s0000000(四)选定触发器类型,求出电路的状态方程、驱动方程和输出方程因为不同逻辑功能的触发器驱动方式不同,所以用不同类型触发器设计出的电路也不一样。为此,在设计具体的电路前必须选定触发器的类型。选择触发器类型时应考虑到器件的供应情况,并应力求减少系统中使用的触发器的种类。因需要4位二进制代码,这里选定四个jk触发器组成十五进制计数器的电路,分别用ff0、ff1、ff2、ff3表示。由于电路的次态q*3 q*2q*1 q*0和进位输出c唯一地取决于电路现态q3 q2 q1 q0的取值,故可根据表2.1画出次态逻辑函数和进位输出函数的卡诺图,如图2.5所示。因为计数器正常工作时不会出现1111的这个状态,所以可将q3 q2 q1 q0这个最小项作约束处理,在卡诺图中用表示。为清晰起见,可将图2.5所示的卡诺图分解成图2.62.10所示的五个卡诺图,分别表示q*3 、q*2、q*1 、q*0和c这五个了逻辑函数。从这些卡诺图得到电路的状态方程为:q*3 = q3 q1 + q3 q2 + q2 q1 q0 q*2 = q2 q1 + q2 q1 q0 + q3 q2 q0q*1 = q1 q0 + q3 q1 q0 + q2 q1 q0q*0 = q3 q0 + q2 q0 (式2.2)输出方程为c=q3 q2q1 (式2.3) q1 q000 01 11 10100111q3 q20001/00010/00100/00011/00101/00110/01000/00111/01100/01110/0/0000/11001/01010/01100/01011/000 图2.5电路次态/输出(q*3q*2q*1q*0/c)的卡诺图图2.6 q*3的卡诺图q1 q0q3 q2 0001101100 01 11 10q1 q0q3 q20001101100 01 11 10 000000101101111001011011100010 图2.7 q*2的卡诺图00 01 11 10q1 q0q3 q20001101100 01 11 10q1 q0q3 q200011011100110010001001010101010100101图2.8 q*1的卡诺图图2.9 q*0的卡诺图00 01 11 10q1 q0q3 q200011011000000000010000图2.10进位c的卡诺图由于选用jk触发器组成这个电路,则应将(式2.2)的状态方程变换成jk触发器特性方程的标准形式,即q*=jq+kq,然后就可以找出驱动方程了。为此,将(式2.2)改写为:q*3 = q3(q1 + q2)+ q2 q1 q0(q3 + q3) = (q2 q1 q0)q3 + (q1 q2) q3 q*2 = (q1 q0)q2 + (q1 + q3 q0)q2 = (q1 q0)q2 + (q1 q3)(q1 q0)q2q*1 = q0 q1 + (q0 (q3 q2)q1q*0 = (q3 + q2) q0 + 1 q0 = (q3 q2)q0+ 1 q0 (式2.4)在变换q*3 的逻辑式时,删去了约束项q3 q2 q1 q0 。将(式2.4)中的各逻辑式与jk触发器的特性方程对照,则各个触发器的驱动方程应为: j3 = q2 q1 q0 , k3 = q1 q2 j2 = q1 q0 , k2 = q1( q3 q0) j1 = q0 , k1 = (q0(q3 q2)j0 = (q3 q2), k0 =1 (式2.5) (五)画出电路的逻辑图根据(式2.3)和(式2.5)画得计数器的逻辑图如图(2.11)所示。 &q1图2.11 十五进制计数器的逻辑图为验证计数器的逻辑功能的正确性,将0000作为初始状态代入(式2.2)的状态方程依次计算次态值,所得结果与表2.1的状态转换表相同,表明电路的逻辑功能是正确的。(六)检查设计的电路能否自启动最后检查电路能否启动。将1个无效状态1111代入(式2.4)中计算:q*3 = q3(q1 + q2)+ q2 q1 q0(q3 + q3) = (q2 q1 q0)q3 + (q1 q2) q3 =0 q*2 = (q1 q0)q2 + (q1 + q3 q0)q2 = (q1 q0)q2 + (q1 q3)(q1 q0)q2 =1q*1 = q0 q1 + (q0 (q3 q2)q1 =0q*0 = (q3 + q2) q0 + 1 q0 = (q3 q2)q0+ 1 q0 =0 (式2.6)所得次态为0100,此无效状态直接转为0100有效状态,故电路能自启动。如果电路不能自启动,则需采取措施加以解决。一种解决办法是在电路开始工作时通过预置数将电路的状态置成有效状态循环中的某一种。另一种解决方法是通过修改逻辑设计加以解决。图2.12是图2.11电路完整的状态转换图。1111/1/0/0/0/0/00000 0001 0010 0011 0100/11110 0101/0/01101 0110/0/0/0/0/0/0/01100 1011 1010 1001 1000 0111图2.12逻辑图的状态转换图三、设计原理(一)时序逻辑电路的基本概念1.时序逻辑电路的基本结构及特点 数字电路根据逻辑功能的不同特点,可以分成两大类:一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。而时序逻辑电路在逻辑功能上的特点是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。因此,在电路结构上,时序逻辑电路包含组合电路和存储电路两个组成部分,而存储电路必不可少。时序逻辑电路的结构框图如图3.1所示。图3.1中x(x1,x2xi)为外部输入信号; z(z1,z2zj)为电路的输出信号; w(w1,w2wk)为存储电路的输入;y(y1,y2yl)为存储电路的输出,也是组合逻辑电路的部分输入。这些信号之间的关系为:z(tn)=fx(tn),y(tn); w(tn)=gx(tn),y(tn); y(tn+1)=hw(tn),y(tn),其中y(tn)表示tn时刻存储电路的当前状态(现态)。y(tn+1)表示存储电路的下一个状态(次态)。由这些状态可以看出,tn+1时刻的输出z(tn+1)是由tn+1时刻的输入x(tn+1)及存储电路在tn+1时刻的状态y(tn+1)决定;而y(tn+1)又由tn时刻的存储电路的激励(驱动)输入w(tn)及在tn时刻存储电路的状态y(tn)决定。因此,tn+1时刻电路的输入不仅决定于tn+1时刻的输入x(tn+1),而且还决定于在tn时刻存储电路的输入w(tn)及存储电路在tn时刻的状态y(tn),这充分反映了时序逻辑电路具有如下特点:1)功能上:电路的输出状态不仅与即刻输入变量的状态有关,而且还与系统原先的状态有关。 2)结构上:由组合电路和存储电路(记忆单元)组成,其中存储电路一般由触发器构成。图3.1时序电路的结构框图 2.时序逻辑电路的分类1)根据输入时钟分类同步时序电路中,各个触发器的时钟脉冲相同,即电路中有一个统一的时钟脉冲,每来一个时钟脉冲,电路的状态只改变一次。异步时序电路中,各个触发器的时钟脉冲不同,即电路中没有统一的时钟脉冲来控制电路状态的变化,电路状态改变时,电路中要更新状态的触发器的翻转有先有后,是异步进行的。2)根据输出分类米利型时序电路的输出不仅与现态有关,而且还决定于电路当前的输入。穆尔型时序电路的其输出仅决定于电路的现态,与电路当前的输入无关;或者根本就不存在独立设置的输出,而以电路的状态直接作为输出。(二)逻辑函数的卡诺图化简法 1.化简的依据实质:将逻辑函数的最小项之和的以图形的方式表示出来。以2n个小方块分别代表 n 变量的所有最小项,并将它们排列成矩阵,而且使几何位置相邻的两个最小项在逻辑上也是相邻的(只有一个变量不同),就得到表示n变量全部最小项的卡诺图。 卡诺图具有循环邻接的特性,若图中两个相邻的方格均为1,则用两个相邻最小项的和表示可以消去一个变量,如图3.2所示4变量卡诺图中的方格5和方格7,它们的逻辑加是: (式3.1)图3.2 四变量卡诺图 消取了变量c,即消去了相邻方格中不相同的那个因子。若卡诺图中4个相邻的方格为1,则这4个相邻的最小项的和将消去两个变量,如4变量卡诺图中方格2、3、7、6,它们的逻辑加是:(式3.2)消去了变量b和d,即消去相邻4个方格中不相同的那两个因子,这样反复应用a1的关系,就可使逻辑表达式得到简化。这就是利用卡诺图法化简逻辑函数的基本原理。 2.用卡诺图化简逻辑函数的步骤1)将逻辑函数写成最小项表达式。2)按最小项表达式填卡诺图,凡式中包含了的最小项,其对应方格填1,其余方格填0。3)合并最小项,即将相邻的1方格圈成一组(包围圈,每一组含2n个方格),对应每个包围圈写成一个乘积项。4)将所有包围圈所对应的乘积项相加。有时也可以由真值表直接填卡诺图,1、2两步可以合成一步。3.画包围圈时应遵循的原则 1)包围圈内的方格数必定是2n个,n等于0、1、2、3、 2)相邻方格包括上下底相邻,左右边相邻和四角相邻。3)同一方格可以被不同的包围圈重复包围,但新增包围圈中一定要有新的1方格,否则该包围圈为多余。4)包围圈内的1方格数要尽可能多,即包围圈应尽可能大。化简后,一个包围圈对应一个与项(乘积项),包围圈越大,所得乘积项中的变量越少。实际上,如果做到了使每个包围圈尽可能大,包围圈个数也就会尽可能少,这样得到的函数表达式中乘积项的个数最少,就可以获得最简的逻辑函数表达式。例如:一个逻辑电路的输入是4个逻辑变量a、b、c、d,它的真值表如表3.1所示,用卡诺图法求化简的与或表达式及其与非-与非表达式。表3.1 四个逻辑变量真值表1)由真值表画出卡诺图,如图3.3所示。图3.3 四个逻辑真值表的卡诺图2)画包围圈合并最小项,得化简的与或表达式。 (式3.3)3)求与非与非表达式,二次求非。 (式3.4)然后利用摩根定律得 (式3.5)利用卡诺图表示逻辑函数式时,如果卡诺图中各小方格被1占去了大部分,虽然可用包围1的方法进行化简,但由于要重复利用1项,往往显得零乱而易出错。这时可以采用包围0方格的方法进行化简,求出反函数,再对求非,其结果相同,这种方法更简单。 4.任意项的处理 实际中经常会遇到这样的问题,在真值表内对于变量的某些取值组合,函数的值可以是任意的,或者这些变量的取值根本不会出现,这些变量取值所对应的最小项称为无关项或任意项。 既然任意项的值可以是任意的,或着我们根本不关心,所以在化简逻辑函数时,它的值可以取0或取1,具体取什么值,可以根据使函数尽量得到简化而定。(三)触发器触发器(flip flop)是一种可以存储电路状态的电子元件。最简单的是由两个或非门,两个输入端和两个输出端组成的rs触发器。复杂一些的有带时钟(clk)段和d(data)端,在clk端为高电平时跟随d端状态,而在clk端变为低电平的瞬间锁存信号的d触发器。更常用的是两个简单d触发器级联而成的在时钟下跳沿锁存信号的边缘d触发器,广泛应用于计数器、运算器、存储器等电子部件。1)触发器的电路结构和逻辑功能:逻辑功能,是指触发器的次态和现态及输入信号之间在稳态下的逻辑关系。这种逻辑关系可以用特性表、特性方程或状态转换图给出。根据逻辑功能的不同特点,把触发器分为rs、jk、t、d等几种类型。2)电路结构,是指电路中门电路的种类及组合方式。基本rs触发器、同步rs触发器、主从触发器、边缘触发器等是指电路结构的不同形式。由于电路结构形式的不同,带来了各不相同的动作特点。同一种逻辑功能的触发器可以用不同的电路结构实现。反过来说,用同一种电路结构形式可以作成不同逻辑功能的触发器。3)触发器的类型:按逻辑功能不同分为:rs触发器、d触发器、jk触发器、t触发器。按触发方式不同分为:电平触发器、边沿触发器和主从触发器。按电路结构不同分为:基本rs触发器和钟控触发器。按存储数据原理不同分为:静态触发器和动态触发器。按构成触发器的基本器件不同分为:双极型触发器和mos型触发器。1.jk触发器的电路结构 主从jk 触发器是在主从rs触发器的基础上组成的,如图3.4所示。 在主从rs触发器的r端和s端分别增加一个两输入端的与门g11和g10,将q端和输入端经与门输出为原s端,输入端称为j端,将q端与输入端经与门输出为原r端,输入端称为k端。图3.4主从jk触发器2.jk触发器的工作原理jk触发器的特征方程: (式3.6) 当j=1,k=0时,qn+1=1;当j=0,k=1时,qn+1=0;当j=k=0时,qn+1=qn;当j=k=1时,qn+1=qn;由以上分析,主从jk 触发器没有约束条件。在j=k=1时,每输入一个时钟脉冲,触发器翻转一次。触发器的这种工作状态称为计数状态,由触发器翻转的次数可以计算出输入时钟脉冲的个数。表3.2 主从jk触发器的状态转移真值表 j k qnqn+1 说明 0000qn输出状态不变001101000输出状态与j端状态相同011010011输出状态与j端状态相同10111101qn每输入一个脉冲输出状态改变一次1110图3.5 jk触发器的状态转移图四、总结开始的时候由于没有实践经验,所以就去图书馆和上网查阅相关的设计资料,尽管有许多的设计方案,可是总感觉自己还是有许多的东西弄不太清楚,于是就请教导师和同学。经过分析各方案之后,决定用最基本时序逻辑电路设计计数器的方法,这样可以降低一些硬件设计的难度,初次设计应切合自己的水平。设计计数器表面上看起来很简单,其实还需要大量的电路设计基础知识,同时还要了解jk触发器的引脚功能和使用规则以及t触发器的之间相互转换的知识,以及关键的卡诺图化简法,由驱动方程和输入方程画出逻辑图。由于采用了最基本的时序逻辑电路设计计数器的方法,这样很快就协调好了各方面的条件。 在设计的过程中查阅了大量的资料,运用了cad、protell99se、photoshop等软件进行文字、数据和图表的编辑和分析。通过本次毕业设计,将书本上学到的知识应用于实践,学会了一些电子电路设计能力,虽然过程中遇到了一些困难,但是在解决这些问题的过程无疑也是对自己自身专业素质的一种提高

温馨提示

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

评论

0/150

提交评论