第2章数字系统设计1.数字系统的基本结构以及一般设计方法;2.数字系统设计的描述方法;3.数据子系统及控制子系统的设计与实现;4.数字系统设计举例。1.数字系统数字电路又名数字系统。定义:用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。数字系统是一个能完成一系列复杂操作的逻辑单元。§2-1概述逻辑表达式、真值表、卡诺图、状态图等MDS图(1)系统模型描述法:用逻辑图、状态图、流程图等来描述数字系统的方法。——该方法适用于相对简单的系统,这种系统的输入、输出变量以及系统的状态都比较少,所需要的寄存器也比较少。(2)描述语言法:适用于当系统的输入、输出变量增多、状态很多时,该描述语言表达的算法称为系统的算法模型。2.描述数字系统的方法除“系统功能级”不同层次上的设计描述和对象行为处理级寄存器传输级逻辑级(门级)电路器件级(晶体管级)性能指标流程图算法寄存器传输方程算法逻辑方程时序状态微分方程函数处理器控制器存储器、总线等ALU、数据选择器寄存器、存储器等门触发器晶体管连线行为描述结构描述2-1-1数字系统的基本组成数据子系统控制子系统数据输入数据输出控制与条件信号时钟外部控制信号受控器控制器数据子系统主要完成数据的采集、存储、运算处理和传输;主要由存储器、运算器、数据选择器等部件组成。数字子系统的设计依据——系统功能的算法。控制子系统是执行算法的核心,由一些组合逻辑电路和触发器等元件组成,是一个具有记忆能力的时序系统。控制子系统的设计依据——系统功能及数据子系统的要求。2-1-2设计数字系统的基本步骤(1)明确设计要求消化理解设计任务,将设计要求罗列成条,每一条都应是无二义的。明确设计系统的逻辑功能及性能指标,应能画出表明输入输出信号及必要指标的系统简单示意框图。(2)确定系统方案(方框图、流程图或描述语言描述)最具创造性的一步,系统要完成的每一个功能可能有不同的实现方案,而方案的优劣直接关系到系统的质量及性价比,因此要反复比较与权衡。(3)受控器的设计实用的受控器电原理图(4)控制器的设计(MDS图)系统方案的模型——MDS图;实用的控制器电原理图(5)整个设计过程中尽可能多地利用EDA软件,及时进行逻辑仿真、优化,以保证设计工作优质快速地完成。§2-2明确设计要求例1设计一个十字路口交通灯控制系统(1)车道:只有汽车,车直行时不允许左拐,可以同时进行右拐,左拐时计时(2)车辆控制灯:(绿灯)直行、左拐、右拐,红灯(3)通行时间:40秒,倒计时(4)人行:需提出申请,并且只在车辆直行时才响应,穿越时间60秒(5)警察权限:可以随时指定系统停在某个状态(6)无联网要求系统示意方框图控制器定时器秒脉冲发生器行人请求警察控制指示灯指示灯面板通行等待禁止§2-3确定系统方案找出实现上述设计要求的方法,即确定实现系统逻辑功能的算法。要有意识地将系统分为控制和受控两部分系统设计要求简单详细流程图总体方框图或描述语言描述例1如果用单片机等微处理器,我们主要完成软件算法的设计(描述语言描述)这里我们用组合逻辑电路(总体方框图、流程图)总体方框图控制器40秒定时器60秒定时器秒脉冲发生器R10R6R8R1R2R3R4R5R7R9MEMSPC10C1C2C3C4C5C6C7C8C9南北向东西向南北向行人东西向行人南北向行人等待东西向行人等待流程图由简到详分析系统有几种工作方式绘制简单的流程图?????流程图:•方框表示系统的操作•菱形表示判断•两条横杠的方框表示条件操作绘制中捕捉问题,回到第一步,进一步明确设计要求,细化流程图?根据简单流程图进一步细化系统设计要求在车辆直行状态下的前20秒,响应同方向的行人穿越请求。其它情况不响应行人穿越时,各路右拐禁止;车辆行驶时间指示关闭,行人时间指示开启(60秒)行人穿越时间结束转到相应的下一个状态警察控制请求立即响应,警察控制时,各路口的时间指示关闭警察控制请求结束后转到初始状态状态间的转换间歇时间为2秒,此时各路口红灯禁行此图是我们实现设计要求的具体算法,也是我们设计控制子系统的依据。§2-4受控器(数据子系统)硬件设计总体方案确定后,通过系统总体方框图和系统详细流程图基本确定了受控器部分的形式,我们下面的工作就是要选择合适的器件,画出受控器的电原理图,标明所需的控制信号及相应的输出信号。在选择器件上,主要按照要求的系统指标,如:速度要求,这就要进行相应的时序分析设计,针对要求选择合适的器件。例1十字路口交通灯控制系统受控器主要分三部分:1.秒脉冲发生器;2.40秒和60秒定时器及相应的显示器;3.各路口指示灯及行人穿行指示灯控制器40秒定时器60秒定时器秒脉冲发生器R10R6R8R1R2R3R4R5R7R9MEMSPC10C1C2C3C4C5C6C7C8C9南北向东西向南北向行人东西向行人南北向行人等待东西向行人等待秒脉冲发生器1.用555设计频率为1Hz的多谐振荡器振荡频率:f=1/T=占空系数:当R2R1时,占空系数近似为50%。CRRttPLPH)2(43.112121212RRRRTtDPH秒脉冲发生器RC回路构成时钟源T≈1.4RC非门74LS04优点:低功耗,04为常用器件,价格低廉(用CMOS门路构成的RC时钟源见书图2-103b)秒脉冲发生器晶振振荡器(书图2-103a)用CD4060及32768晶振CD4060:CMOS14级二进制计数-分频-振荡器①由14级二进制计数器和非门组成的振荡器组成,外接振荡电路可以做时钟源。其输出端Q4~Q14构成16~18384分频系数。②:时钟输入端,下降沿计数;CP0:时钟输出端;:反向时钟输出端。③RD清零端为异步清零。1CP0CP秒脉冲发生器用CD4060及32768晶振作为2Hz、4Hz、8Hz等时钟脉冲源时,典型接线方法如下图,从计数器输出端可以得到多种32.678kHz的分频脉冲。40秒和60秒定时器及相应的显示器:74LS190TTL电路BCD同步加/减计数器CD4511是一个用于驱动共阴极LED(数码管)显示器的BCD码—七段码译码器对外送给控制器的条件信号有:T=40;T=60;车辆前20秒计时T20对内所需的控制信号有:40秒计时控制信号CP1和置数信号;60秒计时控制信号CP2和置数信号;40秒定时显示的消隐信号;60秒定时显示的消隐信号;人行时,车辆通行时间的切换显示信号G;各路口的指示灯的控制信号。§2-5控制器设计2.5.1MDS图控制器硬件实现常用的工具——MDS图MDS图的定义MDS图是用助记符表示的状态图,类似于我们学过的状态图,不同的是它还要用符号和表达式来表示状态的转换条件和输出。MDS图的表示规则用带符号的圆圈表示状态;用带箭头的定向线表示状态的转移;状态转移的条件写在定向线旁;输出写在状态的圆圈外,用向上箭头表示有效,向下箭头表示无效,同时标有向上和向下箭头表示进入状态时有效,出了状态就无效;条件输出表示为状态与条件的乘积,写在状态圈外;表示变量X是异步的Si*SjXS0S1S2S3BA∙A∙B+A∙CA∙CC3=S2·DC2↑↓C1↑C2↓2.5.1.2MDS图与流程图数字系统的详细流程图表明了系统的操作内容与顺序,可以从数字系统的详细流程图看到系统的数据子系统的运算操作过程。把它转换成MDS图,又得到了系统的控制子系统的状态转换过程,从而可利用它来设计系统的控制器。由详细流程图导出MDS图的原则流程图中的工作块对应了MDS图中的一个状态。当工作块内有两个不能同时进行的操作时,应将此工作块分成两个状态,而且这两个状态是无条件转换的。实现工作块内操作所需要的控制信号和工作块的输出对应了控制器在该状态时必须有的输出信号。流程图的判断块对应了MDS图的分支,判断条件即MDS图中状态转移条件。流程图中的条件块对应了MDS图的条件输出。如果流程图中的某一分支上出现了两个彼此独立的、与系统时钟无关的异步变量,通常要重新组织流程图,即要定义一个新的状态,使在每个状态的分支上只有一个异步变量。(因为如果两个异步变量的持续时间都很短,那么以此为转移条件满足的概率就非常小,增加状态就使所设计的电路能捕获到这两个异步变量)例流程图→MDS图初始化START运算AYNS0S1STARTSTART例流程图→MDS图S0A=1S1YNS2S3B=1C=1YYNNS0S1S2S3BACACABA例流程图→MDS图S0A=1S1YN移位SHIFT↑↓S0S1AAASSHIFT0CPASHIFT状态S0S0S12-5-2控制器的硬件实现控制器是一个同步时序电路,它由状态寄存器和组合电路组成。常用的状态寄存器计数器、移位寄存器(74195、CD4015)以及D(JK)触发器等。使用计数器、移位寄存器(74195、CD4015)时,要进行状态编码;用D(JK)触发器时,状态可以编码(当状态比较多时),也可以一个状态分配一个触发器(当状态比较少时)。组合电路可以用门电路及组合模块电路如数据选择器、译码器、编码器等。也可以用ROM编写微程序实现。当控制器是由模块电路构成时,称其为控制器的硬件实现;当采用ROM时,称其为控制器的微程序实现。控制器的硬件实现举例:R、A为输入信号,Ci为输出信号。采用D触发器作为状态寄存器,用两种方法来实现与此MDS图对应的控制器。用D(JK)触发器时,状态可以编码(当状态比较多时),也可以一个状态分配一个触发器(当状态比较少时)。(1)状态编码方式编码总共有5个状态,需要3个D触发器,采用3位二进制编码画出激励函数卡诺图并列出函数表达式Q1Q0Q2010001111000A01φφφD2Q1Q0Q2010001111010φ01RAφφQ1Q0Q201000111101φ01RAφφ0D1D00122QQQAD0101QQRASD0100QQARSD输出函数表达式:00SC211SSC4322SSSC33SC画出完整的逻辑电路图&S0CPS0A≥1&&=1&≥1≥1DRAQ2Q0Q1RAQ0Q1S0RDRDRRESETD2D1D0DEC&EN0123456774LS138012+5V11111≥1≥1S1S2S3S4C0C1C2C3Q2Q1Q0(2)一个D触发器对应一个状态状态间的无条件转移硬件实现如图a,有条件的状态转移见图b,用或门和数据分配器来控制。(2)一个D触发器对应一个状态采用一个D触发器对应一个状态的方法,设计简单明了,但要注意应正确地对控制电路进行初始化。初始化的含义是利用外部方法使控制器的初始态只有一个状态触发器的输出为1,其他均为0,然后再转入正常转换。初始化可以利用D触发器的复位端和置位端。CPC0ARRESET≥1S0S&&&&S1RS2R≥1S3R≥1S4R&&AC1C2,C3C2C1,C2十字路口交通灯控制系统控制器的设计由于警察控制状态极少发生,并且不是一个独立状态,实际上它只不过是由警察指定的S0到S5中的某一状态持续了警察规定的时间。因此,这里只考虑6了状态,采用状态编码方式,需3位编码。(1)设计系统在S0~S5中转换用可预置的十进制同步加/法计数器74LS192作为状态计数器Q1Q0Q2000111100T=40加计数MST20置数T=40加计数T=40清零T=40加计数MET20置数1T=60置数T=60置数φφ74LS192操作表T20s时T20为高电平有效)40(TCPU)40(3TSCR)60()60(54202200TSTSTMSTMSLDES加法计数脉冲:计数清零信号:置数信号:现态D2D1D0S0100S2101S4001S5011置数表202SSD51SD5420SSSD(2)根据异步信号P使状态在在S0~S5中进行强行切换将系