欢迎来到天天文库
浏览记录
ID:8485022
大小:181.00 KB
页数:18页
时间:2018-03-29
《基于fpga 的数字系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《基于FPGA的数字系统设计》项目设计项目名称:电子密码锁姓名:蒋流洲院系:应用技术学院专业:09电子信息工程(应电应本)学号:7指导教师:徐正坤完成时间:2011年6月30日目录1项目名称、内容与要求…………………………………………1页1.1设计内容………………………………………………………1页1.2具体要求………………………………………………………1页2系统整体架构(ArchitectureDescription)…………………1页2.1设计思路………………………………………………………1页2.2系统原理(包含:框图等阐述)与设计说明等内容…
2、………2页2.3创新点与原创性内容…………………………………………3页3系统设计(含HDL或原理图输入设计)………………………3页注:此部分包含主要逻辑单元、模块、源代码等内容3.1HDL代码………………………………………………………3页3.2系统整体电路图(或RTL级电路图)………………………11页4系统仿真(SimulationWaveform)……………………………12页5FPGA实现(FPGAImplementation)…………………………12页注:此处应包含硬件验证、操作过程、结果等说明6总结(Closing)………………………………
3、………………15页参考书目(Reference):…………………………………………16页1项目名称、内容与要求1.1设计内容实验板上有10个按键k1~k10,其中k1~k10作为密码输入按键,k10作为复位按键,一便重新开始输入的密码。当然,这个电子密码锁与实际的电子密码锁的设计有一些不一样,也许实际的电子密码锁并不设置复位按键,而是当密码输入错误后,延长很长一段时间才接受新密码的输入。假设电子密码锁的密码为四位数3216。利用实验板上的一个数码管显示输入密码次数,当输入密码正确时,在数码管上显示字符“H”;当输入密码不正确时,在数码管上显示字符
4、“E”。1.2具体要求1﹞.具有密码输入功能。2﹞.设置复位按键,以便重新输入新的密码。3﹞.在数码管上显示输入密码次数。4﹞.拒绝接受超过规定次数的密码输入信号。5﹞.当密码输入正确时,在数码管上显示字符“H”;当密码输入不正确时,在数码管上显示字符“E”;2系统整体架构2.1设计思路电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图
5、的分析。2.2系统原理(包含:框图等阐述)与设计说明等内容用VHDL编写程序实现电子密码锁,其原理框图如图所示,程序中的时终信号clk为石英(32768Hz)分频后的8Hz标准信号,作为产生0.5s信号的输入信号。七中k1k9为按键输入信号,k10作为复位按键。当没有按键按下时连接到CPLD或FPGA的信号k1k10都为高电平信号;当有按键按下时,k1~k10的一个信号为低电平。电子密码锁采用状态机和对按键输入次数相结合的方法,保证只有输入正确的密码,状态机才能转换到最后正确的状态,显示开锁字符。程序由7个进程组成,进程P1和P2将8Hz标准信号
6、分频后,产生0.5s脉冲信号(carry),与按键输入信号配合,消除按键输入的抖动,并作为状态转换进程P4的时终输入信号。进程P3锁存按键输入信号,为状态机提供一个稳定的按键输入信号。进程P4将下一个状态(next_state)转换为当前状态(state)。进程P5产生次态信号(next_state),只有当有按键输入和状态转移控制信号en为逻辑“1”时才能够产生次态信号。进程P4和进程P5是电子密码锁的核心,密码的设置也是编写状态机时确定的。进程P6对按键输入次数计数,并且为显示按键输入次数的7段译码器BCD码数据。进程P7判断按键输入次数是否
7、已经输入3次,如果输入密码的次数小于等于3,状态转移控制信号en为逻辑“1”,否则为逻辑“0”。当仍然有密码输入时,禁止状态发生变化,因此如果输入密码过程中,只要输入一个错误密码,就不可能转换到最后正确的状态。BCD码-7段译码器显示按键输入次数和输入密码正确或者错误2.3创新点与原创性内容新增显示正确与错误功能3系统设计(含HDL或原理图输入设计)3.1HDL代码Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_arith.all;Useieee.std_logic_unsigne
8、d.all;EntityelockisPort(clk,k1,k2,k3,k4,k5:instd_logic;k6,k7,k8,k9,k
此文档下载收益归作者所有