还剩4页未读,继续阅读
文本内容:
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等十个数字送入系统应首先经过104线编码器编成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.34a中最上面由矩形、菱形、平行四边形三框组成的算法状态单元表示其中矩形框代表该算法状态;菱形框代表分支条件--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就够了编码比较电路编码器应是104线的BCD编码器,这里采用PREN10E比较器则采用等值比较器CMP4,只需要比较二数是否相等,不需要知道谁大谁小其电路见图
7.35(a)所示计数选择电路数据选择器采用MUX44(四个4选1MUX),其地址码受计数器控制计数器则选用CBU12,其时钟和清零信号取自控制器的输出CNP和RESET-C这部分电路见图
7.35c所示输出报警电路标志灯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=~SETUP·QA+DATA·START·OD+QA·QB·QC·QD·QE·QFQA=SETUP·QA+START·QB+ISET·QFQB=SETUP·(QB+QC+QD+QE)+OPEN·(DATA+DeP·Ce3+START)·QCQD=OPEN·START·DATA·DeP·Ce3·QC+DATA·START·OPEN·QDQE=OPEN·START·DATA·DeP·QC+DATA·QD+START·OPEN·QEQF=OPEN·QC+START·OPEN·QE+ISET·QF各输出控制信号为EN=QC+QDRESET-L=QA·SETUP+QF·ISETRESET-C=(QB+QC+QD+QE)·STARTCP=QC·DATASLO=QD·OPENSLA=QC·OPEN+QE·OPEN至此,一个保险箱密码锁便设计完毕为了便于系统检查,可以进一步画出系统的详细工作波形图,以便与系统工作时的实际波形图相对照,发现和判断系统调试中的故障本课题适合于用微程序方法设计图
7.36画出了微程序流程图,共使用12条微指令,其中将ASM流程图中的条件输出框改为一条微指令,从而使设计思路更为明晰图上已标明微指令的二进制码地址,采用E2PROM即可实现HYPERLINKhttp://
61.
178.
172.6/szdl_web/wlkc/
005080000.htmINCLUDEPICTUREhttp://
61.
178.
172.6/szdl_web/wlkc/Leave.gif\*MERGEFORMAT HYPERLINKhttp://
61.
178.
172.6/szdl_web/wlkc/
005080700.htm\ltop#topINCLUDEPICTUREhttp://
61.
178.
172.6/szdl_web/wlkc/Top.gif\*MERGEFORMAT。