您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > EDA课设简易14位密码锁
1目录一、设计要求..................................................................................二、设计内容..................................................................................三、14位密码锁控制电路原理图................................................四、Modelsim模拟仿真..............................................................五、课设心得................................................................................2题目:简易14位密码锁控制电路数字密码锁的基本原理是,通过寄存器存储预置密码,输入密码后将数据寄存在另外的寄存器中。然后分别将预置密码与输入密码通过比较器比较,如果相同,锁被打开,否则,不能打开。本方案的以以上原理为基础,通过门电路与触发器的辅助,实现了预置密码,验证密码,修改密码的功能。3一、设计要求1、输入按键开关设计为7个,密码位数要14位。14位数字密码分成高7位(DH6….DH0)和低7位(DL6….DL0)两次输入,用数字逻辑按键开关预置,2、开锁输出信号out为1表示开锁,否则不开锁。3、输出报警信号均为1有效,分为声报警Soundthealarm(扬声器)和lightalarm(发光管),4、14位数字密码分时操作,先预置高7位,然后再置入低7位,(顶层电路可参考图1)。5、要求电路工作可靠,保密性强,开锁出错立即报警,(用声光两种形式同时报警)。6、利用QuartusⅡ软件,混合设计方法进行设计、编译、并在FPGA芯片上实现。7、14位密码自己设定。比如:“10010010011100”。本次设计采用本人学号后三位分别用BCD码+两位班号,其中一班是01,二班是10,三班是11四班是00作为设计密码。4二、设计内容1.设计简易14位数字密码模块ic9a模块,框图见图2,模块ic9ad的设计采用VHDL实现。2.设计一个报警信号电路(输入频率:100khz,输出频率1HZ,占空比为0.5方波)连接到CP端为报警,设计方法不限。3.在ic9a模块基础上设计14位数字密码锁的顶层电路(参考图2)。图1.ic9a5三、14位密码锁控制电路原理图1、顶层电路组成图2.Clok为时钟控制信号,clk为ic9a始终控制信号,clk2为开锁控制信号,out1A为声报警输出信号,out1B为光报警输出信号,out2A为开锁输出信号,out2B为ic9a输出端。输入密码时,先置clr为1清零,然后置入密码高7位,接着clk置1,把高7位锁存进锁存器,clk回0,再置低7位,此时out2B输出为1,然后再把clk2置1,out2A为1.因为输入密码是对的,所以,out1A,out1B不响不亮。2、声光报警Ic9a器件6Ic9a分为锁存器和译码器锁存器VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSCQISPORT(CLK,CLR:INSTD_LOGIC;D:INSTD_LOGIC_VECTOR(6DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDSCQ;ARCHITECTUREARTOFSCQISBEGINPROCESS(CLK,CLR)BEGINIF(CLR='1')THEN7Q=0000000;ELSIF(CLK'EVENTANDCLK='1')THENQ(6)=D(6);Q(5)=D(5);Q(4)=D(4);Q(3)=D(3);Q(2)=D(2);Q(1)=D(1);Q(0)=D(0);ENDIF;ENDPROCESS;ENDART;译码器VHDL源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYYMISPORT(OUTPUT:OUTSTD_LOGIC;A:INSTD_LOGIC_VECTOR(6DOWNTO0);B:INSTD_LOGIC_VECTOR(6DOWNTO0));ENDYM;ARCHITECTUREARTOFYMIS8BEGINPROCESS(A,B)BEGINIF(A=1100110ANDB=0011000)THENOUTPUT='1';ELSEOUTPUT='0';ENDIF;ENDPROCESS;ENDART;锁存器与译码器可以通过元件例化生成ic9a元件例化VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityic9aisport(clr1,clk1:instd_logic;d1:instd_logic_vector(6downto0);out2:outstd_logic);endic9a;9architectureart1ofic9aissignala1:std_logic_vector(6downto0);componentSCQisport(CLK,CLR:instd_logic;D:instd_logic_vector(6downto0);Q:outstd_logic_vector(6downto0));endcomponent;componentYMisport(A,B:instd_logic_vector(6downto0);OUTPUT:OUTSTD_LOGIC);endcomponent;beginu1:SCQportmap(clk1,clr1,d1,a1);u2:YMportmap(a1,d1,out2);endart1;3、报警电路(分频)分频元器件fp10k10Fp10kVHDL源程序(20分频)Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;Entityfp10kisPort(clk:instd_logic;Q:outstd_logic);Endfp10k;Architectureartoffp10kissignali:std_logic_vector(17downto0):=(others='0');BeginProcess(clk)Beginifclk'eventandclk='1'thenIf(i=20)theni=(others='0');elsei=i+1;endif;endif;Endprocess;Q='1'wheni10else'0';Endart;11四、Modelsim模拟仿真4.1ic9a密码输对仿真4.2ic9a密码输错仿真4.3、20分频仿真4.4、总体密码输对仿真124.5、总体密码输错仿真13五、课设心得通过一周的EDA技术课程设计,我们按照指导书做了一个14二进制建议密码锁控制电路,我们一周课设的成果不仅仅是一个控制电路,重要的是通过一周课设加深了我对EDA技术的理解与运用,,使我更加熟悉和了解了Modelsim6.5的用法。在学习任何一种东西时都要保持一种谦虚谨慎的态度,在实践中发现自己的不足再不断的学习中进步,学会如何处理团队协作精神,每人都要表明自己的观点,尽管可能不正确,甚至看起来是很荒谬的,大家在一起相互学习,不断发现自己的不足之处,每一个软件都有许多好的用法,必须多多练习才能灵活运用,许多知识只靠看书是不行的,尽管书上说的很完善,但是不经过自己的实际操作是远远不够的,在课设过程中遇到了很多问题,通过自己不断的总结和摸索,一步步找到了问题症结所在,在大家的帮助下共同攻克了种种难题。通过本次课程设计,既加深了对高频电路内容的了解,也培养了我们的实践技能。通过完成课题的理论设计和实验调试任务,进一步提高了我们分析问题解决问题的能力,为以后从事科研工作打下坚实基础。
本文标题:EDA课设简易14位密码锁
链接地址:https://www.777doc.com/doc-6239147 .html