位串行数字锁电路实验报告DOC_第1页
位串行数字锁电路实验报告DOC_第2页
位串行数字锁电路实验报告DOC_第3页
位串行数字锁电路实验报告DOC_第4页
位串行数字锁电路实验报告DOC_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、大连理工大学城市学院数字电路与系统课程设计设计题目:设计8位串行数字锁电路学院:电子与自动化学院专 业:自动化学 生:文U楠楠同组人: 董静文、石姗 指导教师:于海霞完成日期:2014年4月27日目录第一章设计任务1.1项目名称31.2项目设计说明31.2.1设计任务和要求31.2.2进度安排3第二章需求分析42.1设计原理42.2分解设计5第三章系统功能模块设计53.1系统流程图53.2 输入输出信号定义 63.3模块功能63.31 模块一63.32 模块二63.33模块三7第四章整体功能实现74.1整体原理图设计 84.2程序编译与仿真9第五章调试并分析结果9第六章结论11附录13第一章设

2、计任务1.1项目名称:设计8位串行数字锁电路本项目的主要内容是设计并实现 8位串行数字锁电路。该电路将 所学的数字电路与系统大部分知识和 VHDL语言结合。1.2项目设计说明:本项目用来实现设计8位串行数字锁电路1.2.1设计任务和要求开锁代码为8位二进制数,当输入代码的位数和位值与锁内 给定的密码一致,且按规定程序开锁时,方可开锁,并点亮开所指示 灯LT。否则,系统进入“错误”状态,并发出报警信号。开锁程序由设计者确定,并要求锁内给定的密码是可调的, 且预置方便,保密性好。串行数字锁的报警方式是点亮指示灯 LF,并使喇叭名叫来报 警,直到按下复位开关,报警才停止。此时,数字锁又自动进入等待

3、下一次开锁的状态。1.2.2进度安排第一次课:预答辩,制定计划分组第二次课:详细设计第三次课:设计,编程,调试第四次课:程序测试机,硬件连续调试第五次课:普通题检查第六、七次课:提高题设计第八次课:答辩第二章需求分析2.1设计原理数字密码锁原理框图如图1所示。由时钟脉冲发生器、按键、 指示灯和控制部分等组成。开关的消抖动电路放在控制部分考虑, 时 钟输入CLK由外部时钟脉冲发生器的输出提供。设计中的指示灯就是 发光二极管,共计10个,用来指示系统的工作状态。其中 8个为一 组,用来显示已经输入密码的个数,剩余两个,一个为开锁绿色指示 灯LT;另一个为报警红色指示灯LF。控制部分是VHDL语言设

4、计的核 心部分,主要由方波生成模块 FEN消抖同步模块XIAOPR(和密码锁 逻辑控制模块CORNA这4个模块构成,可以完成密码的修改、设定 及非法入侵报警、驱动外围电路等功能。图 12.2分解设计本设计主要包括方波生成模块,消抖同步模块和密码锁逻辑控 制模块方波生成模块FEN分频占空比为1: 5000000的方波,用于 消除抖动。消抖同步模块实现了消除抖动并且同步的功能。密码锁逻辑控制模块是整个设计的核心,它实现密码锁的逻 辑功能。第三章系统功能模块设计3.1系统流程图阿S 23.2输入输出信号定义表1数字密码锁控制器输入输出信号定义信号输入输出定义CLR输入复位信号CLK输入时钟输入信号l

5、oad输入密码设置开关K1 K0输入代表1和0的按键开关LT输出开锁指示灯LF输出报警指示灯lamp输出密码输入显示灯arm输出报警输出信号3.3模块功能3.31模块一:方波生成模块方波生成模块FEN分频占空比为1: 5000000的方波,用于消 除抖动。分频电路的输入时钟CLK是由外部时钟提供的,外部时钟周 期取200ns(程序见附录)3.32模块二:消抖同步模块对于K1和K0信号,它们分别代表1和0的按键开关,可以直 接送入密码锁逻辑控制模块CORNAA旦由于它们是由按键产生的,其 产生时刻和持续时间长短是随机的, 并且存在因开关簧片反弹引起的 电平抖动现象.因此,必须在每个开关后面安排一

6、个消抖和同步化电 路模块XIAOPRO目的是保证系统能捕捉到输入脉冲,同时,保证每 按一次健只形成一个宽度固定的脉冲。在XIAOPROI块中,因为变量 的赋值是直接的,立即生效的,它在某一时刻仅包含一个值,而信号 的赋值是有一个值,而信号的赋值是有一定附加时延的,故当时钟脉 冲下降沿到来时,变量temp2和temp3在赋值语句执行后立即分别得 到新值:tmpl的值和tmp2的非值,而输入信号a经过一定时延赋值 给信号tmpl,实现了消除抖动并且同步的功能。(程序见附录)3.32模块三:密码锁逻辑控制模块模块CORNA是整个设计的核心,它实现密码锁的逻辑功能。开锁代码为8位二进制数,当输入代码的

7、位数和位值与锁内给定的密 码一致,且按规定程序开锁时,方可开锁,并点亮开锁指示灯LT。否 则,系统进入“错误”状态,并发出报警信号。串行数字锁的报警方 式是点亮指示灯LF,并使喇叭鸣叫,直到按下复位开关,报警才停止。 此时,数字锁又自动进入等待下一次开锁的状态。该8位串行电子密码锁设置8位二进制密码,要求锁内给定的密码是可调的,且设置方 便,保密性好。其具体操作分为输入密码和修改密码两部分。(1)输入密码密码输入值的比较主要有两部分,密码位数和内容,任何一个条件不满足,都不能打开锁。若锁内密码为“00001111”,K1和K0置低电平,分别表示输入“ 1”和“ 0”。输入密码前先进行复 位操作

8、,再按着从密码最低位到最高位的顺序依次正确输入 00001111。若采用共阴极LED接法,当输入第0位“0”后,八个二 极管中相对应的二极管点亮(此时二极管指示灯lamp=“ 10000000, 输入密码信号shift= “ 10000000),接着输入第1位“ 0”(此时 lamp= “ 11000000, shift= “01000000”)依照顺序,将 8 位 二进制密码全部正确输入完毕后 (此时lamp= “ 11111111”,shift=“00001111”),经检验,输入的密码shift等于锁内预先设置的密 码lock,密码开锁信号LT置高电平,锁开启。同时,密码修改控制信号LA

9、置咼电平。若在输入密码的过程中,8位二进制密码出现一位或多位输 入错误,那么锁不能开启,同时 ALMS高电平,指示灯LF亮,发出 报警信号,通知管理员。直到按下复位开关,报警才停止。此时,数 字锁又自动进入等待下一次开锁的状态。(2)修改密码为防止非管理员任意进行密码修改,必须在正确输入密码后, 才能重新设置密码。输入正确密码后,锁打开,同时,密码修改控制 信号LA置高电平,就可直接进行修改密码的操作。修改密码实质就 是用输入的新密码去取代原来的旧密码, 存储新密码时,输入一位密 码,密码位数加1。若采用共阴极LED接法,与输出引脚lamp相接的 发光二极管由亮变暗。当输入 8位密码后,8只发

10、光二极管全变暗。 此时给CLK一个低电平,新密码产生。(程序见附录)第四章整体功能实现4.1整体原理图设计显示密码主砸4.2程序编译与仿真当各个模块分别编译成功后,则创建一个个元件符号。再用图形 编辑器将各元件模块组装起来,如图444* IWflKI第五章调试并分析结果编译成功后进行仿真。建立波形文件。仿真波形如图5图6所示。、开始时,先给系统清零,即使clr为0 (按下KEY3),若设 置密码则SW17开关拨下使load为低电平,此时通过按去抖开关 KEY0,KEY1进行密码设置0和1,每输入一位密码则数目管显示的 数字加1直到输入第8位设置密码:仿真图如下如所示。设置密码时将SW17拨下使

11、load 为低电平并且clr为高电平此时可以设置密码,由图可以看出设置的 密码为00000111每设置一位密码数码管 HEX5的七个引脚都随着y106的变化而变化,进而显示出当前的位数kOclklloadyl 2yl 31巩yl 5yl 6yi Q yii设置密码仿真图当输入密码时,开关拨上使load为高电平输入密码开始,此时 通过按去抖开关KEY0,KEY1进行密码设置0和1,每输入一位密 码则数目管显示的数字加1直到输入第8位。系统自动将输入的密码 与预设的密码进行比较如果相同则开锁。开锁成功仿真图如下如所 示,此时设置的密码为00001111输入的密码为00001111,由图可以 看每设

12、置一位密码数码管 HEX5的七个引脚都随着y106的变化而 变化,进而显示出当前的位数。此时 clr为高电平load为低电平当 密码输入完毕后将load变为高电平进行密码输入输入方法与设置密 码相同没设置一位密码数码管 HEX7的七个引脚都随着y006的变 化而变化,进而显示出当前的位数。当输完八位密码后系统将其与预先设置的密码进行对比,由于设置与输入的密码相同所以 lt为高电 平开锁,lf、alm为低电平没有反应。A 6密码正确开锁成功仿真图仿真结束后,就可以将设计文件编程下载到芯片中去。连接硬件系统后,选择“ Max+ plus U”f“ programmer”菜单,调出编程器 (prog

13、rammer )窗口。一切就绪后,按下编程器窗口中的“ program” 按钮,设计的内容就下载到FPGA芯片EP1K30TC144-3中去了。经实 际电路测试验正达到了设计的要求。第六章结论在这个实验中,我们最终实现了 8位串行数字锁电路,输入代码 与锁内密码一致,锁被打开;否则,封闭开锁电路,发出报警信号并 且密码可调的功能与要求。通过这一课程设计使我们将课堂上的理论知识有了进步的了解, 并增强了对VHD语言的兴趣。VHDL有着类似C语言的风格易于学习 和掌握,与传统的原理图输入设计方法相比较,VHDL更适用于规模日 益增大的数字系统,了解了更多的分析调试和解决问题的能力,但同 时也暴露出

14、我在知识上掌握不足等缺点: 在实验中经常是一步做完不 知道下一步改做些什么,在设计过程中也遇到了一些问题,但在我和 同学共同努力下,查找相关资料,通过各种书籍和网上的知识,将问 题一 一解决。开始时我们在研究几个模块的程序时便遇到了一些问题,定义不 清晰,读程序困难等,但通过查阅关于 VHD语言的相关知识书,对这 些已经有了初步的掌握,对分频消抖等一些模块的定义更清晰。但是 在最后下载到芯片时我们仍然遇到了问题,代表显示译码管的灯始终 不亮,最后我们调节的分频的时间,对程序又做了更深一步的研究, 才成功完成此次试验。我们在增长知识的同时增强解决问题和动手的 能力。在此次实验中,更离不开老师和其

15、他同学的帮助,我们收获的不 仅是知识上的果实。c=l R c= 1XIAOPRObu 1附录:程序一:方波模块library ieee;use ieee.stdo gic_1164.all;entity fen is port(clk:in std_logic;clk1:out std_logic);end fen;architecture fen _arc of fen is beginprocess(clk) variable cn t: in teger range 0 to499999; beginif clkeve nt and clk=1the nif cnt=499999 the

16、ncn t:=0; clk1=1; elsecn t:=c nt+1; clk1=0; end if; end if;end process;end fen _arc;模块二:消抖同步模块。library ieee;use ieee.stdo gic_1164.all;en tity xiaopro isport(a,clk1:i n std_logic; b:out stdo gic);end xiaopro;architecture xiao_arc of xiaopro is sig nal tmp1:std_logic;begin process(clk1,a) variable tm

17、p3,tmp2:std_logic; beginif clk1event and clk1=0then tmp1=a; tmp2:=tmp1; tmp3:=not tmp2;end if; b=tmp1 and tmp3 and clk1;end process;end xiao_arc;模块三:该模块是整个程序的核心,它实现密码锁的逻辑功能。library ieee;use ieee.std_logic_1164.all;CORhlQ 料elk1 tkl1帀戸t 7 B O kBIFo 1 mm 1 m1 omTen tity cornaa isport(clk,k1,kO,clr,load

18、:in std_logic;lt:i nout std_logic;lamp:out std_logic_vector(7 dow nto 0); lf,alm:out std_logic);end corn aa;architecture corn_arc of cornaa issig nal shift,lock:std_logic_vector(7 dow nto 0); sig nal lam:std_logic_vector(7 dow nto 0);sig nal la:std_logic;beginprocess(clk,clr)beginif clr=0the nla=0;elsif clkeve nt and clk=1the nif load=0the nla=1;end if

温馨提示

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

评论

0/150

提交评论