数字电路设计实例.doc_第1页
数字电路设计实例.doc_第2页
数字电路设计实例.doc_第3页
数字电路设计实例.doc_第4页
数字电路设计实例.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

7.7 数字系统设计实例*本章前面介绍的数字系统设计方法是一种由顶向下的方法,其过程大致分为三步: (1)系统调研,确定初步方案; (2)模块划分,确定详细方案; (3)选用模块,完成具体设计。 下面通过保险箱数字锁控制电路的设计实例,进一步体验小型数字系统的设计方法和过程,并取得实践经验。 7.7.1初步方案承接一个数字系统的课题后,一方面要对课题的任务、要求、原理、使用环境作详细的分析,另一方面也应调研相类似的课题目前有哪些解决方法及其优缺点。在此基础上确定初步方案。 1.基本要求和设计环境分析对一只保险箱而言,基本要求是:a.安全性,开锁的密码被破译的可能性要尽可能小;b.操作方便,开锁的程序不能过于复杂;c.密码可以更换,遇到不正常情况应及时启动报警系统;d.使用者在拨错号码时可将原拨号予以清除并重拨。 系统基本操作流程图如下所示:2.系统结构的几个具体问题研究输入问题 开始、建立等控制信号可用按键开关实现,门把手转动产生开门信号OPEN,可也用一OPEN键代替。密码输入采用10个按键开关,不同的数码采用不同的键,如同电话机的按键。输出问题 数字锁的输出有两种情况:a.开门信号,当拨号正确又按动OPEN按键后,应发出信号,打开数字锁。此时可用一只绿色信号灯LO标示开门状态。b.当密码或开锁程序不对时,按动OPEN键将发出报警信号。报警信号可用一种单频率的方波震荡,驱动扬声器发声,还可以用红色信号灯LA表示。以上开门信号、报警信号一旦出现,就一直保持下去,直到使用者或保安人员按动SETUP为止。预置数问题 预置数就是设置系统的密码,宜每隔一段时间更换一次,因此应有置数装置。每次置入三位十进制数的方法有多种。为分析方便,现采用的方法是安排12个输入端,每个输入端通过一只双列直插式组件开关、将其输入切至Ucc或GND。综合上述讨论,确定保险箱密码锁的基本方案如下: (1)采用3位十进制数密码,密码用DIP开关确定,必要时可以更换。 (2)系统通电后须关上门,且按动SETUP键后方投入运行。运行时标志开门的灯或警报灯和警铃皆不工作,系统处于安锁状态。 (3)开锁过程如下:按START键启动开锁程序,此时系统内各部分应处于初始状态;依次键入3个十进制数码按开门键OPEN。 (4)开锁处理事务完毕后,应将门关上,按SETUP键,使系统重新进入安锁状态。若在报警状态,按SETUP键或START键应不起作用,需另用一内部ISET键才能使系统进入安锁状态,此ISET键应放在保安人员值班室。 (5)使用者如按错密码,可在按OPEN键以前按START键,重新启动开锁程序。 (6)号码0一9,START,SETUP,OPEN均用按键产生。 根据上述考虑,可以画出系统的粗略框图如图7.34(b)所示,它说明了整个系统的外部输入和输出情况。 加上图7.34(a)描述系统行为的流程图,就勾画了这一系统的总体逻辑功能。 图7.34(c)中画出了数字锁简单的工作波形图,对输入、输出信号的时序做了进一步描述。 7.7.2详细方案由顶向下设计的主要方法是将系统划分为控制器和被控电路两部分,而被控电路又采用各种模块实现。现在的任务就是根据上一步确定的系统功能,决定使用哪些模块(抽象的模块,不涉及具体器件),确定这些模块与控制器之间的关系,即控制器向模块发出什么控制信号,而模块向控制器反馈哪些信号。 1、被控部分电路模块的设计 图7.33是数字锁的详细方案框图。除了控制器,其余部分均称为被控电路。由于上一步已确定密码输入采用键盘,其中0一9等十个数字送入系统应首先经过10:4线编码器编成BCD码,并与原存储于系统中的密码相比较,故需要一个4bit的数码比较器,比较结果DeP反馈给控制器。这两个模块都是组合逻辑电路。 由于密码是串行输入,每次分别与一个预置码比较,而3个十进制预置码分别由12个输入端输入,故采用3选1的数据选择器MUX来选择,其地址码用一个计数器控制。控制器向计数器提供复位信号RESET-C和时钟信号CNP。计数器为模4计数器(0,1,2,3四个状态),每键入一个码,控制器向计数器提供一个时钟脉冲CNP,使计数器状态加1。当计数器状态为3时,说明已送入3个密码,此时计数器应向控制器反馈信号Ce3,告诉控制器应进入待启状态或预警状态。START,OPEN等信号可直接送往控制器,控制其状态的转换。但这些信号由按键产生,其产生时刻和持续时间长短是随机的,且存在开关簧片引起的电平抖动现象,因此必须在每个开关后面安排一个消抖和同步化的模块,以保证每按一次键只形成一个宽度等于系统周期的脉冲。控制器在系统每收到一个数据时向计数器发出一个时钟信号。当系统在按OPEN键以前收到第4个时钟信号时应转入预警状态,等待OPEN信号到达后报警。因此每键入一个数码,应向控制器送入一个脉冲DATA,此信号也应同步化,即形成宽度只占一个系统时钟周期的脉冲。 系统的一个输出是开门指示灯LO(绿),其工作用一个RS触发器控制。控制器向它提供置位信号SLO,在按SETUP键时向它提供复位信号RESET-L。至于驱动开门继电器的电路,此处不再讨论。 系统的另一个输出是报警信号。因为使用单频信号鸣叫和用红灯LA显示,因此也只要一个RS触发器控制LA的辉亮,并连接500Hz振荡器与扬声器的开关。控制器向RS触发器提供置位信号SLA和复位信号RESET-L。 2、控制器的算法设计 图7.34(a)表示控制器的算法状态流程图(ASM图),它清楚地表明了数字锁控制器的流程,或者说确定了控制器的算法。算法中应包含如下状态: 待锁状态 系统处于开门、报警或上电后的状态。此时数字锁尚未锁好,还未进入正常运行,因此系统将不接收SETUP(或ISET)外的任何输入信号。当键入SETUP后,系统将进入安锁状态,且将开门标志灯LO或报警灯LA熄灭,警报器声音切断,因而需要输出RESET-L信号。待锁状态的行为可以用图7.34(a)中最上面由矩形、菱形、平行四边形三框组成的算法状态单元表示。其中矩形框代表该算法状态;菱形框代表分支条件-SETUP=1时进入第2状态,SETUP=0则维持原状态;平行四边形框代表条件输出,即当SETUP=1时,输出RESET-L信号。至于EN信号,是用来控制DATA,OPEN信号输入的,在本状态皆应无效且与条件SETUP无关,是一种无条件输出,因而标在算法状态框旁边,并用箭头表示无效。 安锁状态 系统的第2状态是在按下SETUP键以后数字锁已锁好,系统正常运行,等待执行开锁程序,故称为安锁状态。当START信号到来时,将转入第3状态,开锁程序开始执行,此时应将计数器复零,故在第2算法状态单元中有一条件输出框,输出计数器清零信号RESET-C。拨号状态 第3状态是送入密码的状态。进入此状态时EN信号有效,允许密码信号OPEN信号键入,故在状态框旁边标有EN。该状态每收到一个信号应先判断是DATA信号还是OPEN信号。如是OPEN信号,则不符合开锁程序,应立刻报警,即发出SLA信号,并使状态转入报警状态;若是DATA信号,则应向计数器发出计数信号CNP,令计数器加1,选出对应的预置密码与输入数据码比较,然后根据比较器输出DeP来判断:若DeP=0,意味着号码不对,应转入预警状态,否则检查计数器状态是否已达3,若Ce3有效,表示已接收到3个正确数码,可转入下一状态(待启状态),否则返回本状态,继续接收其他数码。在转移到状态5或4以前,如果收到START信号,控制器发出RESET-C信号,使计数器清零,则前面收到的密码无效,重新进行拨号操作。 待启状态 第4状态是待启状态。若有信号键入,应先判断它是数据信号还是OPEN信号。若是OPEN,则发出SLO信号,点亮绿灯LO,启动开门继电器;若是数据信号,则进入报警状态。在接受信号以前如果按START键,则系统将发出RESET-C信号,并回到拨号状态。 预警状态 第5状态是预警状态,此时若按START键,系统发出RESET-C信号后回到状态3。输入其他数据,状态不变化。若输入OPEN信号,则发出报警信号进入状态6。 报警状态 此状态红灯LA亮;警报器鸣叫,须按ISET键方回到安锁状态。 图7.34(a)与图7.33配合,清楚地描述了系统的功能。初步方案中作出的描述时间关系的波形图,进一步扩展为图7.34(b)所示的详细波形图。 7.7.3具体电路设计下面的任务是设计具体电路。对于被控部分的模块,由于需要实现的功能已经明确,只需寻找合适的器件来实现,而控制电路,则要专门设计。1.被控部分电路设计 图7.35示出受控部分模块的具体电路设计,它们基于Lattice系统宏的设计。 输入电路 SETUP,START,ISET,OPEN输入各需一个同步化电路。每个同步化电路采用两个二输入或门(NOR2)、两个D触发器(FD21)和一个二输入与门(AND2)组成,见图7.35(a)所示。 0一9十个按键送入的是数据信号而不是控制信号,只需要消抖而不需要同步化,因此每个输入只需两个NOR2就够了。 编码比较电路 编码器应是10:4线的BCD编码器,这里采用PREN10E。比较器则采用等值比较器CMP4,只需要比较二数是否相等,不需要知道谁大谁小。其电路见图7.35(a)所示。 计数选择电路 数据选择器采用MUX44(四个4选1MUX),其地址码受计数器控制。计数器则选用CBU12,其时钟和清零信号取自控制器的输出CNP和RESET-C。这部分电路见图7.35(c)所示。 输出报警电路 标志灯LO或LA皆使用RS触发器,故选用LSR1,控制器提供的置数和复位信号都是低电平有效。两个触发器的输出控制驱动电路,驱动两个标志灯。 报警装置是一只扬声器,受500Hz振荡信号驱动,振荡信号用555定时器产生。其复位输入端受触发器输出SLA控制:当SLA为0时,555定时器不振荡;当SLA为1时,555定时器振荡,驱动扬声器发声,见图7.35(d)所示。 2、控制器电路设计 控制器是系统的最核心部分,它在系统中只有一个。对控制器的设计常常不是考虑如何使电路最简,而是考虑使逻辑关系清楚,便于修改。 控制器是一个时序逻辑电路,设计的依据是图7.34(a)所示的ASM图。 ASM图的判别框(菱形)用分支条件表达。待锁状态根据SETUP的值有两个分支,即用SETUP和SETUP表示分支的条件。 如果在一个单元内有多个判别框的情况下,对分支条件应按下面规则处理: 当从一个状态转向另一个状态时,若经过的判别框串联,则将这些框在这个方向上的条件相乘;而若经过的判别框并联,则将这个方向的判别条件相加。 无条件输出标注于状态旁边,箭头上表示进入本状态有效,箭头下表示进入本状态无效,箭头上下表示只在本状态有效。 对条件输出,也应当标注在状态旁边,其格式是 输出名(有效性)s=状态条件 根据图7.34所示的ASM图,可进行硬联线控制器的设计。这是一个时序机的设计问题。现采用一对一的方式,即每个状态对应一个触发器,可用六个触发器QA,QB,QC,QD,QE,QF分别表示六个状态,则六个触发器的激励方程分别为: QA=SETUPQA+DATASTARTOD+QAQBQCQDQEQF QA=SETUPQA+STARTQB+ISETQF QB=SETUP(QB+QC+QD+QE)+OPEN(DATA+DePCe3+START)QC QD=OPENSTARTDATADePCe3QC+DATASTARTOPENQD QE=OPENSTARTDATADePQC+DATAQD+STARTOPENQE QF=OPENQC+STARTOPENQE+ISETQF 各输出控制信号为: EN=QC+QD RESET-L=QASETUP+

温馨提示

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

评论

0/150

提交评论