FPGA基于verilogHDL的密码锁说明书.docx

上传人:h**** 文档编号:130820 上传时间:2018-07-09 格式:DOCX 页数:82 大小:709KB
下载 相关 举报
FPGA基于verilogHDL的密码锁说明书.docx_第1页
第1页 / 共82页
FPGA基于verilogHDL的密码锁说明书.docx_第2页
第2页 / 共82页
FPGA基于verilogHDL的密码锁说明书.docx_第3页
第3页 / 共82页
FPGA基于verilogHDL的密码锁说明书.docx_第4页
第4页 / 共82页
FPGA基于verilogHDL的密码锁说明书.docx_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、 EDA 课程设计 哈尔滨工业大学(威海) 信电学院电子信息工程 2014.6 课设名称: 密码锁 课设日期: 2014.6.23 7.5 姓 名: 陈飞 学 号: 110250101 一 . 所用软件与硬件介绍 1.1 所用 软件介绍 QuartusII是 Altera公司的综合性 PLD/FPGA开发软件,支持原理图、 VHDL、VerilogHDL 以及 AHDL( Altera Hardware Description Language)等多种设计输入形式,内嵌的综合器以及仿真器,可以完成从设计输入到硬件配置的完整 PLD设计流程。 QuartusII 可以在 XP、 Linux 以及

2、 Unix 上使用,除了可以使用 TCL 脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 QuartusII 支持 Altera 的 IP 核,包含了 LPM/MegaFunction 宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方 EDA 工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方 EDA 工具。 此外, QuartusII 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Altera 的片上可编

3、程系统( SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为 Altera 的上一代 PLD 设计软件,由于其出色的易用性而得到了广泛的应用。目前 Altera 已经停止了对 MaxplusII 的更新支持, QuartusII 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。 Altera 在 QuartusII 中包含了许多诸如 SignalTapII、 Chip Editor 和 RTL Viewer 的设计辅助工具,集成了 SOPC 和 HardCopy 设计流程,并且继承了 MaxplusII 友好的图形界面及

4、简便的使用方法。 1.2 所用 硬件介绍 硬件的总体设计: 故由上图,将整个硬件电路部分主要分成五个部分,即: FPGA 电路设计,数码管显示驱动电路设计,温度传感器电路设计,报警电路设计,键盘矩阵FPGA 外部时钟 键盘矩阵控制 温度传感器 数码管显示 声音报警 控制电路设计 。 I.FPGA 芯片的介绍 在本次课程设计中选用 Altera 公司 Cyclone II 系列 FPGA 器件。 Altera 公司 2004 年推出了新款 Cyclone II 系列 FPGA 器件。 Cyclone II FPGA的成本比第一代 Cyclone 器件低 30%,逻辑容量大了三倍多,可满足低成本大

5、批量应用需求。 随着低复杂度 FPGA 器件成本的不断下降,具有灵活性和及时面市优势的FPGA 与 ASIC 相比更有竞争性,在数字消费市场上的应用也急剧增加。第一代Cyclone 系列迄今发售了 3 百多万片,在全球拥有 3,000 多位客户,对大批量低成本数字消费市场有着巨大的影响,该市场消纳了三分之一的器件。 同时, Cyclone II 器件系列也在电信、计算机外设、工业和汽车市场上获得了巨大的进步。 Cyclone II 器件包含了许多新的 特性,如嵌入存储器、嵌入乘法器、 PLL 和低成本的封装,这些都为诸如视频显示、数字电视 (DTV)、机顶盒 (STB)、DVD 播放器、 DS

6、L 调制解调器、家用网关和中低端路由器等批量应用进行了优化。 Cyclone II 器件采用 TSMC90nm 低 K 绝缘材料工艺技术,这种技术结合Altera 低成本的设计方式,使之能够在更低的成本下制造出更大容量的器件。这种新的器件比第一代 Cyclone 产品具有两倍多的 I/O 引脚,且对可编程逻辑,存储块和其它特性进行了最优的组合,具有许多新的增强特性 低成本的配置器件编辑 Altera 为 配置 Cyclone II FPGA 提供了低成本的串行配置器件。这些串行配置器件定价为批量应用,成本是相应 Cyclone II FPGA 的10%。四个串行配置器件 (1Mbit, 4Mb

7、it, 16Mbit 和 64Mbit)提供了节省空间的8 脚和 16 脚 SOIC 封装。器件中任何不用于配置的存储器可用于一般存储,进一步增强其价值。 IP 编辑 Altera 也为 Cylcone II 器件客户提供了 40 多个可定制 IP 核, Altera和 Altera Megafunction 伙伴计划 (AMPPSM)合作者提供的不同的 IP 核是专为Cyclone II 架构优化的,包括: Nios II 嵌入式处理器; DDR SDRAM 控制器;FFT/IFFT; PCI 编译器; FIR 编译器; NCO 编译器; POS-PHY 编译器; Reed Solomon

8、编译器; Viterbi 编译器等等。 II.数码管显示器 液晶显示器按其功能可分为三类,笔段式液晶显示器,字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可以显示数字,字符,符号等。而图形点阵式液晶显示器还可以显示汉子和任意图形,达到图文并茂的鲜果。 在本课程设计中,受到试验箱的限制,在这里使用的是基本的数码管显示。 当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。 如:显示一个“ 2”字,那么应当是 a 亮 b 亮 g 亮 e 亮 d 亮 f 不亮 c 不亮 dp不亮。 LED 数码管有一般亮和超亮等不同之分,也有 0.5 寸、 1 寸等不同的尺寸。小尺寸数

9、码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为 1.8V 左右,电流不超过 30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用 LED数码管显示的数字和字符是 0、 1、 2、 3、 4、 5、 6、 7、 8、 9、 A、 B、 C、 D、 E、F。 二 系统设计 2.1 设计 思想 2.1.1 课题 背景 众所周知 , 随着科 学 技 术 的发展 , 以及 数字电路的各种产品广泛应用,传统意义 上 的机械锁 应用 领域有限,且方便性不高。

10、由于其构造 简单 , 多数采用物理性结构且多数有常识的人对其构造了如指掌 ,安全性不高 。相对机械锁 , 电子密码锁其保密性高,使用灵活性好,安全系数高, 可 实时改变其密码, 使用 极其方便,在当今社会得到了极其广泛的应用,也将是 未来 发展的趋势 。本设计使用 EDA 设计 ,使设计过程得 到高度自动化 ,其 具有强大的设计 、测试、仿真分析、管理等功能。使用 EDA 环境完成电路的系统综合设计和仿真。 在 数字信息技术高速发展的今天,越来越多的地方需要电子密码锁来进行信息的加密与保密,而这种功能是传统机械锁无法实现的,因此,电子密码锁的设计越来越重要。其设计直接关系到其使用的安全性,灵活

11、性,实用性,以及用户体验。 所以,在这个背景下,学会和掌握密码锁的设计是尤其重要的,而且要在这个基础上,不断提高其灵活,实用,及用户体验性。 2.1.2 设计 目的 1. 以往 机械锁使用繁琐,安全性低,灵活性差,应用领域有限 。 而 密码锁 可以应用于各个领域, 如 电子产品的保密,系统程序的保密 等 各种数字信息产品的加密保密 。 还 可 通过外接物理系统,取代传统机械锁,应用于日常生活的方方面面,例如最基本的门锁。可以说 电子 密码锁功能强大,安全性高,灵活性强,必将是未来发展的趋势 。 本设计基于 Verilog HDL 语言来设计密码锁 , 可以 快速、灵活地设计出符合各种要求的密码

12、锁。 2.掌握 FPGA 的 设计 方法与应用。 2.2 工作 原理及系统框图 1、 四个 键,确认键, 开始 复位键, 解密 键,更改密码键。 2、 密码长度为 5 位 , 设置一个初始密码 88888。 3、 在系统上电时 , 输入 88888(数码管 同步显示) , 按下 确认键 即可开锁 (密码 正确, LED 灯亮)。 4、开锁 状态下, 按下 更改 密码 键 即可通过 4*4 矩阵 键盘 输入 新密码 。 5、 新密码数据格式为 0F 6、 按确认键,新密码生效 。 7、 按下 解密 键 , 输入 新密码,按下确认键可解锁 。 8、 重复上述 步骤,输入新密码,即可开锁,且 密码

13、正确情况下 LED 灯 亮 若 密码 不正确,则 LED 灯 不亮 ,锁闭,可继续输入密码,当三次输入密码错误时 蜂鸣器响予以警告。 9、 以上为整个系统的工作原理及状态。 10、实验参考框 图。 11、总体 框图如下 总体 框图 调用部分 顶层模块 报警部分 蜂鸣器 密码设置 4*4矩阵 键盘 显示部分 七段数码管 LED 灯指示 LED 灯提示电路 蜂鸣器报警电路 输入按扭开关 输入锁存电路 密码存储电路 开锁控制电路 数码管显示电路 控制模块 总原理图: 2.3.子模块输入输出 和 功能 密码锁分为六个 个模块:顶层模块、数码显示模块、蜂鸣器模块、控制模块、 LED 灯 指示模块 、 密

14、码 输入模块 。其中由顶层模块调其他分模块来实现密码锁功能。 1. 顶层 及控制模块 实现 几个模块的配合工作,它能实现对密码的设置和显示,同时P IN _ 1 3 2V C Cc lk IN P U TP IN _ 8 7P IN _ 8 9P IN _ 9 2P IN _ 9 5V C Cinro w 3. . 0 IN P U TP IN _ 7 2V C CGM IN P U TP IN _ 7 5V C CQR IN P U TP IN _ 8 4V C Ck ey _R ST IN P U TP IN _ 6 7V C Crs t IN P U TP IN _ 6 9V C CJM

15、 IN P U TP IN _ 9 7P IN _ 1 0 1P IN _ 1 0 3P IN _ 1 0 4out c ol 3. . 0O U T P U TP IN _ 1 5 2P IN _ 1 4 3P IN _ 1 4 5P IN _ 1 6 0P IN _ 1 6 2P IN _ 1 5 0P IN _ 1 4 7P IN _ 1 7 1s egD at a 7. . 0O U T P U TP IN _ 1 7 0P IN _ 1 6 8P IN _ 1 7 9P IN _ 1 6 4P IN _ 1 7 5s egC t l 4. . 0O U T P U TP IN _ 5

16、 6c outO U T P U TP IN _ 1 8 7pas s _ledO U T P U TP IN _ 1 9 8pin_na m eO U T P U TP IN _ 2 0 8pin_na m e3O U T P U TP IN _ 1 9 9pin_na m e4O U T P U TP IN _ 1 8 2pin_na m e5O U T P U TP IN _ 1 9 5pin_na m e6O U T P U TP IN _ 2 0 6pin _n am e7O U T P U TP IN _ 2 0 1pin _n am e8O U T P U TP IN _ 2 0

17、 5pin _n am e9O U T P U TP IN _ 2 0 3pin _n am e1 0O U T P U TP IN _ 1 9 2pin _n am e1 1O U T P U TP IN _ 1 8 0pin _n am e1 2O U T P U TP IN _ 1 7 6pin _n am e1 3O U T P U TP IN _ 1 8 9pin _n am e1 4O U T P U TP IN _ 2 0 0pin _n am e1 5O U T P U TP IN _ 2 0 7pin _n am e1 7O U T P U TC LKs eg D at a_

18、 1 3. . 0s eg D at a_ 2 3. . 0s eg D at a_ 3 3. . 0s eg D at a_ 4 3. . 0s eg D at a_ 5 3. . 0s eg D at a 7. . 0s eg C t l 4. . 0s ho wins tEN AC LK2C OU Ts peak erins t 3DD 000 U n s i g n e d B i n a r yRS 001 U n s i g n e d B i n a r yJM 010 U n s i g n e d B i n a r yGM 011 U n s i g n e d B i n

19、 a r yQR 100 U n s i g n e d B i n a r yP a r a m e t e r V a l u e T y p ec lkk ey _G Mk ey _Q Rk ey _J Mk ey _R STk ey _re ad yk ey _v alu e 4. . 0M 1 3. . 0M 2 3. . 0M 3 3. . 0M 4 3. . 0M 5 3. . 0f iled _a larmpa s s _le ddin gc en gins t 2c lkrs tinrow 3. . 0out c ol 3. . 0k ey _v alue 4. . 0k e

20、y _f lagk ey boardins t 4P a r a m e t e r .V a lu e .T y p .c lkk ey _GMk ey _QRk ey _J Mk ey _R STk ey _rea dyk ey _v alue 4. . 0M 1 3. . 0M 2 3. . 0M 3 3. . 0M 4 3. . 0M 5 3. . 0f iled _ala rmpas s _ledding c engins t 2在密码正确 时 LED 灯亮, 错误三次 时 通过 蜂鸣器 发出警报。 2. 数码 管 显示模块 数码管常用于电子产品的显示部分,原理简单易于实现, 这里为

21、 5个 密码,需要 5个 数码管 来 显示。 6个 输入 , 其中 CLK为 时钟 信号, segData1-5 为 每个 密码 。 两 个 输出 ,segCtl7.0 对数码管 片选, segData7.0为译码 后的段控制信号。 3、 蜂鸣器 模块 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用各类电子产品中作发声器件。如图为其原理图: 图 1.1 蜂鸣器原理图结构 C LKs egD at a_1 3. . 0s egD at a_2 3. . 0s egD at a_3 3. . 0s egD at a_4 3. . 0s egD at a_5 3. . 0s egD

22、at a 7. . 0s egC t l 4. . 0s howins tEN AC LK2C OU Ts peak erins t3蜂鸣器功能实现 : 程序共有两个输入信号分别为 ENA, clk,输出为 COUT,密码输入错误三次, ENA 置 1, COUT 置 1,蜂鸣器响,需要注意的是,蜂鸣器模块时钟频率不能过快。 5.LED 灯指示模块 为了显示明显,用了所有 LED,给同一 pass_LED 信号,低电平有效。 6.键盘 输入模块 P IN _ 1 8 7pas s _l edO U T P U TP IN _ 1 9 8pi n_na m eO U T P U TP IN _

23、2 0 8pi n_na m e3O U T P U TP IN _ 1 9 9pi n_na m e4O U T P U TP IN _ 1 8 2pi n_na m e5O U T P U TP IN _ 1 9 5pi n_na m e6O U T P U TP IN _ 2 0 6pi n_na m e7O U T P U TP IN _ 2 0 1pi n_na m e8O U T P U TP IN _ 2 0 5pin_nam e9O U T P U TP IN _ 2 0 3pi n_na m e10O U T P U TP IN _ 1 9 2pin_nam e11O U T

24、 P U TP IN _ 1 8 0pi n_na m e12O U T P U TP IN _ 1 7 6pin_nam e13O U T P U TP IN _ 1 8 9pi n_na m e14O U T P U TP IN _ 2 0 0pin_nam e15O U T P U TP IN _ 2 0 7pi n_na m e17O U T P U Tc lkrs tin ro w 3 . . 0 o u t c o l 3 . . 0 k e y _ v a lu e 4 . . 0 k e y _ f la gk e y b o a rdin s t 4实时动态扫描,输出按键有效值 key_value4.0,及按键标志位key_flag。 三 软件 设计 3.1 程序 流程图和状态机 程序 流程图: 开 始R S T = 0 ?否D D 状 态R S 复 位状 态是J M = 0 ?J M 状 态是G M = 0 且J M _ f l a g = 1 ?G M 状 态是Q R = 0 ?Q R = 0 且G M _ f l a g = 1 ?Q R 状 态结 束是是否状态机 : DDQRJMGMRSIf(GM=0 input clk; input key_GM,key_QR,key_JM,key_RST,key_ready;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。