收藏 分销(赏)

数字系统设计课题选编.doc

上传人:仙人****88 文档编号:8712725 上传时间:2025-02-27 格式:DOC 页数:19 大小:812.50KB
下载 相关 举报
数字系统设计课题选编.doc_第1页
第1页 / 共19页
数字系统设计课题选编.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述
6.12 数字系统设计课题选编 本节将选遍8个数字系统设计课题,供读者根据该流程进行练习,或用于数字逻辑课程的课程设计题目。 6.12.1数字系统设计课题一:运算器设计 1 设计任务 设计一个能实现两种算术运算和两种逻辑运算的8位运算器。参加运算的8位二进制代码分别存放在4个寄存器R1、R2、R3、R4中,要求在选择变量控制下完成如下4种基本运算: 1)实现A加B,显示运算结果并将结果送寄存器R1; 2)实现A减B,显示运算结果并将结果送寄存器R2; 3)实现A与C,显示运算结果并将结果送寄存器R3; 4)实现A异或D,显示运算结果并将结果送寄存器R4; 2 功能说明 根据设计任务,为了区分4种不同的运算,需设置2个运算控制变量。设运算控制变量为S1和S0,可列出运算器的功能,如表6-16所示。 表6-16 运算器的功能 S1S0 功能 说明 00 01 10 11 A+B—>A A-B—>A A·B—>A A⊕B—>A A加B,结果送至R1 A减B,结果送至R2 A与C,结果送至R3 A异或D,结果送至R4 根据功能描述可得出运算器的原理框图,如图6-119所示。整个电路可由传输控制电路、运算电路、显示电路组成。 图6-119运算器的原理框图 3 设计指导 运算器也称为算术运算逻辑单元,它可将若干位加法器、并行进位链、传输控制逻辑集成于一块芯片上。 1)运算电路 运算电路的功能是实现指定的两种算术运算和两种逻辑运算。选择4位并行加法器实现加、减运算,用2片74283和8个异或门(异或门用于求补码)可构成相应加法减法电路。两种逻辑运算可由8个与门和8个异或门实现,输出寄存器由4片8位寄存器742734组成。也可利用VHDL语言设计8位并行加法器和减法器,8输入与门和8位数据异或的元件。 2)传输控制电路 传输控制电路的功能是根据运算控制变量的取值,从运算电路输出的4种不同运算结果中选出一种结果,一方面送至输出端显示,另一方面送至目的寄存器保存。 (1)运算结果的选择可采用4路数据选择器LPM_MUX实现,用运算控制变量S1和S0作为数据选择器LPM_MUX的选择变量,即可实现对4种不同运算结果的选择Y[7..0]。 (2)假定4个寄存器R1、R2、R3、R4均采用8D寄存器74273,则传输控制电路应实现对寄存器工作脉冲的控制,即在运算控制变量S1和S0的不同取值下,令相应目的寄存器的工作脉冲(R1CP、R2CP、R3CP、R4CP)有效。此外,还需形成加、减运算的控制信号Y11N(Y11N=1时作加法,Y11N=0时作减法)。为了区分4个不同的目的寄存器,可用2-4线二进制译码器74139对控制变量S1和S0进行译码后形成相应的传送控制信号。传输控制电路的原理电路如图6-120所示。 图6-120传输控制电路的原理电路 3)运算结果显示电路 假定采用LED数码管显示运算结果,则显示电路可由3片7段译码器7448。其中1片7448用于显示运算电路的功能选择(0:加法;1:减法;2:逻辑与;3:异或逻辑)。 6.12.2数字系统设计课题二:时序发生器设计 1 设计要求 计算机的工作是按照时序分步执行的,能产生周期节拍、时标脉冲等时序信号的部件称之为时序发生器,因此时序信号是使计算机能够准确、迅速、有条不紊地工作的时间基准。计算机每取出并执行一条指令所需要的时间通常叫做一个指令周期,一个指令周期一般由若干个CPU周期(通常定义为从内存中读取一个指令字的最短时间,又称为机器周期)组成。时序信号的最简单体制是节拍电位一节拍脉冲二级体制。一个节拍电位表示一个CPU周期的时间,在一个节拍电位中又包含若干个节拍脉冲,节拍脉冲表示较小的时间单位。时序信号发生器的功能就是产生一系列的节拍电位和节拍脉冲,它一般由时钟脉冲源、时序信号产生电路、启停控制电路等部分组成。 请设计一个用于实验系统的时序信号发生器,具体功能如下: (1)由时钟脉冲源提供频率稳定的方波信号作为系统的主频信号(即时序发生器的输入信号),要求系统的主频信号可以在2MHz、1MHz、250kHz等4种不同频率之间进行选择。 (2)为了保证系统可靠地启动和停止,必须对时序信号进行有效的控制。此外,由于启动信号和停止信号都是随机产生的,考虑到节拍脉冲的完整性,所以要求时序信号发生器启动时从第一个节拍脉冲的前沿开始工作,停止时在第四个节拍脉冲的后沿关闭。 2 功能描述 根据设计要求可知,时序信号发生器由时钟脉冲源、时序信号产生电路、启停控制电路3个模块组成,其结构框图如图6-121所示。 图6-121时序发生器结构框图 假定节拍脉冲信号用T1、T2、T3、T4表示,设该时序信号发生器产生的波形,如图6-122所示。 图6-122时序信号发生器产生的输出波形 3 设计指导 1)时钟电路(时钟源) 由于要求时序发生器的输入信号能在2MHz、1MHz、500kHz、250kHz这4种不同频率的方波信号之间进行选择,所以时钟电路应由信号源和分频电路两部分组成。为保证频率的稳定度和精度,信号源可选用石英晶体震荡器,而分频电路可用计数器实现。假定信号源用特定频率为4MHz的石英晶体(参见第6章6.2节),分频电路采用4位二进制同步计数器74161,可设计出时钟电路,用信号源产生的4MHz的方波信号作为计数器74161的时钟脉冲,计数器输出Q0、Q1、Q2、Q3可分别提供2MHz(二分频)、1MHz(四分频)、500kHz(八分频)、250kHz(十六分频)这4种不同频率的方波信号。 2)时序信号产生电路 时序信号产生电路可由一个环形计数器构成,在实际应用中,环形计数器实际上就是一个最简单的移位寄存器,它把最后一个触发器的输出值移位到第一个触发器中和一个译码器逻辑电路组成。其作用是产生一组间隔和宽度相等或不相等的脉冲序列;辅以译码逻辑电路对环形计数器的输出信号进行译码,可产生所需要的节拍脉冲。假定采用4个D触发器构成循环移位寄存器,一个满足设计要求的时序信号产生电路如图6-127所示: 3)启停控制电路 系统接通电源并发出总清信号(RST1)后,时序信号产生电路会自动产生节拍脉冲信号Q1~ Q4。但是,仅在启动系统运行的情况下,才允许时序发生器发出系统工作所需的节拍脉冲T1~ T4。为此,需要由启停控制信号star_stop控制Q1~ Q4。启停控制电路的核心是一个运行标志触发器A,当运行标志触发器为“1”时,允许节拍脉冲Q1~ Q4发出,当运行标志触发器为“0”时,节拍脉冲Q1~ Q4被封锁。根据设计要求增加了启停控制电路的时序发生器原理图,如图6-123所示。 由于启动和停止信号都是随机发生的,因此,为了保证输出节拍脉冲信号的完整性,采用了“维持—阻塞型”电路。图6-123中,在运行标志触发器的下方加上一个R-S触发器, 并且用环形计数器的Q4作为运行标志触发器A的时钟信号,从而保证了时序信号发生器启动时从第一个节拍脉冲的前沿开始工作,停止时在第四个节拍脉冲的后沿终止工作。 图6-123时序发生器原理图 6.12.3数字系统设计课题三:设计一个具有三种信号灯的交通灯控制系统 1设计要求: 假设某个十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许行驶中车辆有时间停靠到禁止线以外。用传感器检测车辆是否到来。其具体要求如下: (1) 主干道处于常允许通行状态,次干道有车来时才允许通行。 (2) 主次干道均有车时,两者交替允许通行,考虑到主次干道车辆数目的不同,主干道每次放行时间较长,次干道每次放行时间较短,当绿灯换成红灯时,黄灯需要亮一小段时间作为信号过度,以便车辆有时间停靠到禁止线以外。 (3) 要求主干道每次放行时间为45秒,次干道每次放行时间为25秒, (4) 每次主干道或次干道绿灯变红灯时,黄灯先亮5秒钟。 2 原理描述 根据设计要求和层次化设计思想,整个系统可分为定时模块、控制模块和信号灯译码模块。控制模块接受系统时钟信号clk和主次干道传感器信号A、B,定时模块向控制模块发出45秒(T45)、25秒(T25)、5秒(T5)定时信号,信号灯译码模块在控制模块的控制下,改变信号灯状态。其系统框图如图6-124所示: 用T45,T25,T5表示45S,25S,4S定时信号,R1、Y1、G1分别表示主干道红、黄、绿三色灯,R2、Y2、G2分别表示次干道红、黄、绿三色灯,定时模块产生3个时间间隔后,向控制电路发出时间已到的信号,控制电路根据定时模块及传感器信号A、B,决定是否进行状态转移,如果肯定,控制电路将给出状态转移使能控制信号到定时模块,定时模块开始计时。 图6-124交通灯控制系统框图 3 设计指导 1)定时模块 定时模块中,时钟脉冲CP采用1HZ的信号作为基频,利用同步置数法(参见本书第3章3.3节),用74160分别构成45分频、25分频、5分频的计数器模块conut45_160、conut25_160、conut5_160,就可以完成定时功能,产生45S,25S,5S的定时信号,并且每个计数器受状态定时控制电路所控制(高电平有效)。 其顶层电路原理图如图6-125所示: 图6-125定时模块原理框图 2)控制模块 该模块是交通灯控制系统的核心电路,其输入信号为主次干道车辆检测传感器信号A、B;45S、25S、4S定时信号T45、T25、T5;及同步系统时钟CP。输出信号为状态编码信号S(Q2Q1),状态转移使能控制信号E45、E25、E5,其状态转换表如表6-17所示: 表6-17交通灯控制系统状态转换表 状态S 主干道 次干道 时间(秒) 00(状态s0) 主干道为通行状态,此时绿灯亮, 次干道红灯亮, 禁止通行 45 01(状态s1) 主干道为过渡状态,此时黄灯亮 次干道红灯亮, 禁止通行 5 11(状态s2) 主干道红灯亮, 禁止通行 次干道为通行状态,此时绿灯亮 25 10(状态s3) 主干道红灯亮, 禁止通行 次干道为过渡状态,此时黄灯亮 5 控制模块的原理图如图6-126所示,对逻辑变量的赋值定义为: A=0,主干道无车,A=1,主干道有车;B=0,次干道无车,B=1,次干道有车;T45=0,45秒定时未到,T45=1,45秒定时已到;T25=0,25秒定时未到,T25=1,25秒定时已到;T5=0,5秒定时未到,T5=1,5秒定时已到;状态S按格雷码编码,如表6-17所示,选用JKFF可以实现这4个状态转换,并得赋值后的状态转换表6-18,每个计数器的计数应随着控制状态的变化,而相应的改变计数器的计数状态。 根据JKFF的状态方程Q(n+1)=J•/Q+/K•Q和表6-18,可得两个触发器的驱动方程为: J1=NQ2•B(+C),K1=Q2•(+) (6-24) J2=Q1•E, K2=NQ1•E (6-25) 3)信号灯译码模块 译码电路是实现实现交通灯开关控制,根据控制模块所产生的不同状态S,来完成主干道和次干道的黄灯,红灯,绿灯之间的切换功能。根据交通灯状态转换的规律,可得信号灯的译码模块的原理图如图6-127所示 。“1”表示灯亮,“0”表示灯灭。 表6-18交通灯控制模块状态转换真值表 A B T45 T25 T5 Qn2Qn1(现态) Q2(n+1)Q1(n+1)(次态) EN45 EN25 EN5 说明 d 0 d d d 0 0 0 0 1 0 0 维持s0 1 1 0 d d 0 0 0 0 1 0 0 0 1 d d d 0 0 0 1 0 0 1 S0às1 1 1 1 d d 0 0 0 1 0 0 1 d d d d 0 0 1 0 1 0 0 1 维持s1 d d d d 1 0 1 1 1 0 1 0 S1às2 1 1 d 0 d 1 1 1 1 0 1 0 维持s2 0 1 d d d 1 1 1 1 0 1 0 d 0 d d d 1 1 1 0 0 0 1 S2às3 1 1 d 1 d 1 1 1 0 0 0 1 d d d d 0 1 0 1 0 0 0 1 维持s3 d d d d 1 1 0 0 0 1 0 0 S3às0 图6-126交通灯控制系统控制模块的原理图 图6-127信号灯的译码模块的原理图 6.12.4数字系统设计课题四:设计一个基于CPLD芯片的弹道计时器 1 设计要求 利用Alter公司的CPLD芯片,设计一个测量手枪子弹等发射物速度的便携式计时器,这种计时器可用来测定子弹或其他发射物的速度。 竞赛射手通常用这种设备来测定装备的性能。基本操作要求是:射手在两个分别产生起始测量脉冲和终止测量脉冲的光敏传感器上方射出一个发射物,两个光传感器(本例中假定为阴影传感器)分开放置,两者之间的距离已知。发射物在两个传感器之间飞行时间直接与发射物的速度成正比。当子弹等发射物从上方经过起始传感器时产生ST信号,经过终止传感器时产生SP信号。传感器之间的距离S是固定的。通过测量子弹等发射物经过传感器之间的时间T即可计算出子弹的速度V,V=S/T。 2 原理说明 由题意可知,弹道计时器的主要功能是测量出子弹等发射物穿过起始传感器和终止传感器之间的距离所需要的时间,并将该时间显示出来。因此,该计时器需要由方波信号发生器、控制电路、2位十进制计数器和译码显示等几个部分组成。控制电路收到起始传感器产生的信号ST后,在一定频率脉冲作用下启动计数器开始计数,收到终止传感器产生的信号SP后令计数器停止计数。这样,计数器统计的脉冲数便直接对应子弹等发射物穿过起始传感器和终止传感器之间的距离所需要的时间。由此可得弹道计时器的系统框图,如图6-128所示。 弹道计时器的工作原理是:由方波信号发生器产生稳定的高频脉冲信号,作为计时基准;控制电路接收方波信号发生器产生的脉冲信号以及来自传感器的起始信号ST和终止信号SP,输出计数、锁存、译码等控制信号;最后将计数器统计的脉冲数送显示器显示。 图6-128弹道计时器系统框图 3 设计指导 1)方波信号发生器设计 由于子弹等发射物的速度很快,因此,要求方波信号发生器能提供稳定的高频脉冲信号作为计数脉冲。为了保证频率的稳定度和精度,可参见本章6.2节的石英晶体振器电路。可选择4MHz晶振,它经触发器4分频后产生频率为1MHz方波信号作为计数脉冲,即为计数器提供周期为1us的计数脉冲。 2)控制电路设计 控制电路的功能是接收方波信号发生器产生的脉冲信号以及来自传感器的起始信号ST和终止信号SP,输出计数、锁存、译码电路所需要的控制信号。假定计数、锁存、译码电路输入的复位信号为CRST、计数使能信号CEN、计数器锁存信号CLTCH。 根据设计要求可设,在t0时刻起始传感器将产生信号ST,该信号在t1时刻消失;在t2时刻终止传感器将产生信号SP,该信号在t3时刻消失。因此,设计控制电路时可考虑在收到起始传感器发生的信号ST时,控制电路发出计数器复位信号CRST;在起始信号ST消失时,控制电路发出计数器使能信号CEN,该使能信号CEN一直维持到终止传感器产生的信号SP消失为止;当终止传感器产生的信号SP在t3时刻消失时,在停止计数的同时,发出计数器锁存信号CLTCH。此时,计数器统计的脉冲数便直接对应子弹等发射物穿过起始传感器和终止传感器之间的距离S所需要的时间。根据上述分析,假定采用J-K触发器作为控制电路的存储元件,可得出控制器的状态转换真值如表6-19所示: 表6-19控制电路的状态转换真值表 现 态 输 入 次 态 激励函数 输出函数 Q2 Q1 ST SP Q2 Q1 J2K2J1K1 CRST CEN CLTCH 0 0 0 0 0 0 0 d 0 d 0 0 0 1 0 0 1 0 d 1 d 1 0 0 0 1 1 0 0 1 0 d d 0 1 0 0 0 0 1 1 1 d d 0 0 1 0 1 1 0 0 1 1 d 0 d 0 0 1 0 0 1 1 0 d 0 d 1 0 1 0 1 0 0 1 1 0 d 0 0 d 0 1 0 0 0 0 0 d 1 0 d 0 0 1 根据表6-19,可得到JK触发器的激励函数和输出函数的最简表达式如下: J1=ST ,K1=SP (6-26) J2=•Q1 ,K2= • (6-27) CRST=ST,CEN=(•Q1+SP•Q2),CLITCH=Q2• • ,CENP=CNE•CP (6-28) 弹道计时控制器原理图如图6-130所示。 图6-129弹道计时控制器原理图 3)计数、锁存、译码显示电路2位十进制计数器设计 计数电路为2位十进制计数器,可由2个十进制计数器74160级联而成,该模块的输入端的1MHz的计数信号由控制电路所产生的使能信号CEN控制。锁存电路由8位数据寄存器74374构成,译码显示电路由7段BCD码译码器7448构成,具体电路参见第5章5.3.1节的例5-5。该模块的复位信号clr接CRST,计数使能信号cnt_en接CLTCH,计数输入clk由控制电路所产生的锁存信号CENP控制。 6.12.5数字系统设计课题五:设计一个基于CPLD芯片的汽车尾灯控制器 1 设计要求 利用Alter公司的CPLD芯片,设计一个汽车尾灯控制器,实现对汽车尾灯显示状态的控制。在汽车尾部左右两侧各有3个指示灯(假定采用发光二极管模拟),根据汽车运行情况,指示灯具有4种不同的显示模式:(1)汽车正向行驶时,左右两侧的指示灯全部处于熄灭状态;(2)汽车右转弯行驶时,右侧的3个指示灯按右循环顺序点亮;(3)汽车左转弯行驶时,左侧3个指示灯按左循环顺序电亮;(4)汽车临时刹车时,左右两侧的指示灯同时处于闪烁状态。 2 原理说明 (1)汽车尾灯显示状态与汽车运行状态的关系 为了区分汽车尾灯的4种不同的显示模式,设置2个状态控制变量。假定用开关K1和K0进行显示模式控制,可列出汽车尾灯显示状态与汽车运行状态的关系,如表6-20所示。 (2)汽车尾灯控制器功能描述 在汽车左、右转弯行驶时,由于3个指示灯被循环顺序点亮,所以可用一个三进制计数器的状态控制译码器电路顺序输出高电平,按要求顺序点亮3个指示灯。设三进制计数器的状态用Q1和Q0表示,可得出描述指示灯DL3、DL2、DL1、DR3、DR2、DR1与开关控制变量K1、K0,计数器的状态Q1、Q0以及时钟脉冲CP之间关系的功能真值表,表6-21所示(表中指示灯的状态“1”表示点亮,“0”表示熄灭)。 表6-20汽车尾灯显示状态与汽车运行状态的关系 控制变量 K0 K1 汽车运行状态 左侧3个指示灯 DL1 DL2 DL3 右侧3个指示灯 DR1 DR2 DR3 0 0 正向行驶 熄灭状态 熄灭状态 0 1 右转弯行驶 熄灭状态 按DR1 DR2 DR3顺序循环点亮 1 0 左转弯行驶 按DL1 DL2 D33顺序循环点亮 熄灭状态 1 1 临时刹车 左右两侧的指示灯在时钟脉冲CP作用下同时闪烁 表6-21汽车尾灯控制器功能真值表 控制变量 K0 K1 计数器状态 Q1 Q0 左侧3个指示灯 DL1 DL2 DL3 右侧3个指示灯 DR1 DR2 DR3 0 0 d d 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 d d CP CP CP CP CP CP 3设计指导 根据以上设计分析,可得出汽车尾灯控制器的结构框图,如图6-130所示,整个电路可由模式控制电路、三进制计数器、译码与显示驱动电路、尾灯状态显示4部分组成。 图6-130汽车尾灯控制器的结构框图 (1)模式控制电路设计 该电路为组合电路,可利用原理图输入法设计,设译码与显示驱动电路的使能控制信号为G和F,G与译码器74138的使能输入端G1相连接,F与显示驱动电路中与非门的一个输入端相连接。G和F与开关控制变量K1、K0,以及时钟脉冲CP之间的关系如表6-22所示: 表6-22模式控制电路输入输出状态真值表 K0 K1 CP G F 电路工作状态 0 0 d 0 1 汽车正向行驶 0 1 d 1 1 汽车右转弯行驶 1 0 d 1 1 汽车左转弯行驶 1 1 CP 0 CP 汽车临时刹车 根据表6-21所示关系,可求出使能控制信号G和F的逻辑表达式为(原理图略): G=K1K0 (6-29) F=+CP (6-30) (2)三进制计数器 假定采用74161设计三进制计数器,用同步“反馈置数法”,由状态SN-1的二进制代码SN-1=S2=0010得归零逻辑设计出逻辑电路(原理图略)。 (3)译码与显示驱动电路 译码与显示驱动电路的功能是:在模式控制电路输出和三进制计数器状态的作用下,提供6个尾灯控制信号,当译码驱动电路输出的控制信号为低电平时,相应指示灯点亮。因此,译码与显示驱动电路可用3-8线译码器74138、6个与非门和6个反向器构成(原理图略),译码器74138的输入端A2、A1、A0。分别接K1、Q1、Q0。当G=F=1、K1=0时,对应计数器状态Q1Q0为00、01、10,译码器输出Y0 Y1 Y2依次为0,使得与指示灯DR1 DR2 DR3对应的反向器输出依次为低电平,从而使指示灯DR1—>DR2—>DR3依次顺序点亮,示意汽车右转弯;当G=F=1、K1=1时,对应计数器状态Q1Q0为00、01、10,译码器输出Y4 Y5 Y6依次为0,使得与指示灯DL1 DL2 DL3对应的反向器输出依次为低电平,从而使指示灯DL3—>DR2—>DL1依次顺序点亮,示意汽车左转弯;当G=0,F=1时,译码器输出为全1,使所有指示灯对应的反向器输出全部为高电平,指示灯全部熄灭;当图中G=0,F=CP时,所有指示灯随CP的频率闪烁。实现了4种不同模式下的尾灯状态显示。 (4) 尾灯状态显示电路 实际设计中尾灯状态显示电路可由6个发光二极管6个电阻组成,当6个反向器的输出为低电平时,相应发光二极管被点亮,该电路在EDA平台上可直接利用发光二极管实现。 6.12.6数字系统设计课题六:数字锁设计 1 设计要求 设计一个8位串行数字密码锁,并通过EDA平台验证其操作。具体要求为: 1)开锁代码为8位二进制数,当输入代码之位数和位值与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并用开锁指示灯LT点亮来表示;否则,系统进入一个“错误error”状态,并发出报警信号; 2)开锁程序由设计者确定,并要求锁内给定的密码是可调的,且预置方便,保密性好。 3)串行数字密码锁的报警方式是用指示灯LF点亮并且喇叭鸣叫来报警,直到按下复位开关,报警才停止。然后数字锁又自动进入等待下一次开锁的状态。 2 原理说明 数字密码锁亦称电子密码锁,其锁内有若干位密码,所用密码可由用户自己选定。数字锁有两类:一类并行接受数据,称为并行锁;另一类串行接受数据,称为串行锁,本设计为串行锁。如果输入代码与锁内密码一致时,锁被打开;否则,应封闭开锁电路,并发出告警信号。 设锁内给定的8位二进制数密码用二进制数D[7..0]表示,开锁时串行输入数据由开关K产生,可以为高电平1和低电平0,为了使系统能逐位地依次读取由开关K产生的位数据,可设置一个按钮开关READ,首先用开关K设置1位数码,然后按下开关READ,这样就将开关K产生的当前数码读入系统。为了标识串行数码的开始和结束,特设置RESET和TRY按钮开关,RESET信号使系统进入初始状态,准备进入接受新的串行密码,当8位串行密码与开锁密码一致时,按下TRY开关产生开锁信号,系统便输出OPEN信号打开锁,否则系统进入一个“ERROR”状态,并发出报警信号ERROR,直到按下复位开关RESE,报警才停止。 根据系统EDA层次化设计思路,数字密码锁可划分为控制器和处理器两个模块,其原理框图如图6-132所示: 图6-132数字密码锁原理框图 3设计指导 1)控制器电路设计 根据图6-135,该控制器共产生6个状态,我们分别设其为S0、S1、S2、S3、S4、S5。其中S0为初始状态,S1为接受密码数据状态,S2为准备开锁状态,S3为正确接受一位密码数据的状态,S4为开锁状态,S5为错误状态。其工作过程如下: 异步复位信号RESET,使得控制器进入初始状态S0,并发出CLR命令使模8计数器清零;下一个时钟CP到来时,系统无条件转到状态S1,在接受密码数据状态S1,若开锁信号TRY为1,则控制器转入错误状态S5,TRY为0,则控制器等待接受密码BIT;READ为1时,读取密码,若本次输入的密码BIT与开锁密码相应位的数值不等,密码比较器的输出B为0,控制器进入错误状态S5,若两者数值相等,B为1,然后判断位数比较器输出M的结果,M为0时控制器进入状态S3;在S3状态,控制器发出CNT命令使模8计数器加1,然后转到接受密码数据状态S1,直到正确接受8位串行码后,输入位数比较器将输出高电平M,使系统转入状态S2;在S2状态下再读数数时(此时READ=1)控制器转入错误状态S5,否则等待开锁信号TRY,TRY为1时,控制器由S2转入状态S4,并输出开锁命令OPEN。 可用6个DFF分别表示6个状态S0、S1、S2、S3、S4、S5,开锁过程中的每一时刻,只能有一个状态为1,其余为0,而且任何一次输入的密码与开锁密码不一致,或者READ开关和TRY开关使用的顺序与规定不符,都将使控制器进入错误状态S5,并输出错误信号ERROR。据此工作过程可得控制器状态转换表表6-23。 表6-23控制器状态转换表 现 态Qi 激励函数 输出次态Qi S0 1 S1 S1 NOT(TRY)· NOT(READ) S1 S3 1 S1 S1 NOT(TRY)· READ·B·NOT(M) S2 S2 NOT(TRY)· NOT(READ) S2 S1 NOT(TRY)· READ·B·NOT(M) S3 S2 TRY· NOT(READ) S4 S4 1 S4 S1 TRY S5 S1 NOT(TRY)· READ·NOT(B) S5 S2 READ S5 S5 1 S5 根据表6-23可得6个触发器的输入激励函数如下: DFF0:D0(S0)=0(其异步置1端S接RESET,当RESET=0时,S0=1,CLR=NOT(S0)) DFF1:D1(S1)=S0+S1• NOT(TRY)• NOT(READ)+S3 DFF2:D2(S2)=S1• NOT(TRY)• READ•B•M+S2• NOT(TRY)• NOT(READ) DFF3:D3(S3)=S1• NOT(TRY)• READ•B•NOT(M);CNT=S3 DFF4:D4(S4)=S2• NOT(READ)• TRY+S4;OPEN=S4 DFF5:D5(S5)=S1• TRY+S1• NOT(TRY)• READ•NOT(B)+S2•READ+S5;ERROR=S5 2)处理器电路设计 处理器电路可由中规模集成电路设计,共由4部分组成。密码比较器部分接受BIT输入的密码,并将其与系统设置的密码位Y相比较(利用异或门实现,B=BITY),比较结果B作为状态信息送到控制器,该部分电路可用一片8选1数据选择器74151加异或门XOR实现,两者相同时B=1,控制器输出CLR命令后,数据选择器被选择的数据从密码的最低位开始,在控制器的CNT信号下,从低位到高位逐位被选择出来,控制器根据电路反馈回来的B状态信息,获得各次比较的结果。为累计输入密码的位数,需要一个模8计数器,该计数器可用74161实现,控制器发出清零信号CLR使计数器清零,并使密码的比较从低位开始,同时计数器根据控制器的CNT信号,累计输入输入密码的位数,并通过7485数值比较器与密码位数8相比较,两者相等,则输出控制信号M(此时M=1)到控制器,模8计数器的3位输出Q[2..0] 数据选择器的选择输入端S[2..0]。 6.12.7数字系统设计课题七:电梯控制器设计 1 设计要求: 设计一个4层楼的电梯控制器,该控制器满足以下要求: 1) 每层电梯入口设有上下请求开关,电梯内设有乘客到达层次的停站请求开关; 2) 设有电梯所处位置指示装置及电梯运行模式(上升或下降)指示装置; 3) 电梯每秒升(降)一层楼; 4) 电梯到达有停站请求的楼层后,经过1秒钟电梯门打开,开门指示灯亮,开门4秒钟后,电梯门关闭(开门指示灯灭),电梯继续运行,直至执行完最后一个请求信号后停在当前层; 5) 能记忆电梯内外的所有请求信号,并按照电梯运行规则按顺序响应,每个请求信号保留执行后消除; 6) 电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕,如更高层有下楼请求,则直接升到有下楼请求的最高楼层接客,然后便进入下降模式。当电梯处于下降模式时则与上升模式相反; 7) 电梯初始状态为一层开门;到达各层时有音乐提示;有故障报警。 2 功能说明 根据设计要求可得电梯控制器系统组成框图如图6-132所示: 图6-132电梯控制器系统组成框图 该控制器可控制电梯完成4层楼的载客服务而且遵循方向优先原则,并能响应提前关门延时关门,并具有超载报警和故障报警;同时指示电梯运行情况和电梯内外请求信息。 方向优先控制是指电梯运行到某一楼层时先考虑这一楼层是否有请求:有,则停止; 无,则继续前进。停下后再启动时的控制流程为:①考虑前方(上方或下方)是否有请求;有,则继续前进;无,则停止;②检测后方是否有请求, 有请求则转向运行, 无请求则维持停止状态。这种运作方式下,电梯对用户的请求响应率为100%,且响应的时间较短。 本系统的输出信号有两种: 一种是电机的升降控制信号(两位)和开门/关门控制信号;另一种是面向用户的提示信号(含楼层显示、方向显示、已接受请求显示等)。 电机的控制信号一般需要两位,本系统中电机有3种工作状态: 正转、反转和停转状态。 两位控制信号作为一个三路开关的选通信号。系统的显示输出包括数码管楼层显示、数码管请求信号显示和表征运动方向的箭头形指示灯的开关信号。 3设计指导 控制器采用FPGA作为系统控制的核心,系统时钟频率是20MHz,完全可以满足实时采集数据的要求。由于电路中毛刺现象的存在,信号的纯净度降低,单个的毛刺往往被误作为系统状态转换的触发信号,严重影响电梯的正常工作。可以采用多次检测的方法解决这个问题,对一个信号进行多次采样以保证信号的可信度。外部请求信号的输入形式为按键输入,到达楼层信号来自光敏传感器,关门中断信号及超载信号则产生于压力传感器。 电梯控制器的请求输入信号有12个(电梯外有4个上升请求和4个下降请求的用户输入断口,电梯内有4个请求用户输入断口),由于系统对内、外请求没有设置优先级,各楼层的内、外请求信号被采集后可先进行运算,再存到存储器内。 电梯运行过程中,由于用户的请求信号的输入是离散的,而且系统对请求的响应也是离散的,因此请求信号的存储要求新的请求信号不能覆盖原来的请求信号,只有响应动作完成后才能清除存储器内对应的请求信号位。 电梯控制器模块是系统的核心,通过对存储的数据(含请求、到达楼层等信号)进行比较、判断以驱动系统状态的流转。电梯工作过程中共有9种状态:等待、上升、下降、开门、关门、停止、休眠、超载报警以及故障报警状态。一般情况下,电梯工作起始点是第一层,起始状态是等待状态,启动条件是收到上升请求。 超载状态时电梯关门动作取消,同时发出警报,直到警报被清除; 故障时电梯不执行关门动作,同时发出警报,直到警报被清除(看门狗信号有效的条件是一层楼连续发生关门中断情况超过3次)。本系统由请求信号启动,运行中每检测到一个到达楼层信号,就将信号存储器的请求信号和楼层状态信号进行比较,再参考原方向信号来决定是否停止,转向等动作。 其VHDL参考源程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity DIANTI_4 is port ( clk : in std_logic; --时钟信号(频率为1Hz) full,deng,quick,clr : in std_logic; --超载、关门中断、提前
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服