毕业设计(论文)-电子密码锁的EDA设计与实现.doc

上传人:yyf 文档编号:3950170 上传时间:2019-10-11 格式:DOC 页数:30 大小:2.57MB
返回 下载 相关 举报
毕业设计(论文)-电子密码锁的EDA设计与实现.doc_第1页
第1页 / 共30页
毕业设计(论文)-电子密码锁的EDA设计与实现.doc_第2页
第2页 / 共30页
毕业设计(论文)-电子密码锁的EDA设计与实现.doc_第3页
第3页 / 共30页
毕业设计(论文)-电子密码锁的EDA设计与实现.doc_第4页
第4页 / 共30页
毕业设计(论文)-电子密码锁的EDA设计与实现.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《毕业设计(论文)-电子密码锁的EDA设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-电子密码锁的EDA设计与实现.doc(30页珍藏版)》请在三一文库上搜索。

1、 本科毕业论文 论文题目:电子密码锁的 EDA 设计与实现 学生姓名: xxxx 学号: xxxxxxxxxxxxxxx 专业: xxxxxxxxxxxxxxxxxxx 指导教师: xxxxxxxxxxxxxxxx 学 院: xxxxxxxxxxxxxxxx 2010 年 5 月 10 日 毕业论文(设计)内容介绍 论文(设计) 题 目 电子密码锁的 EDA 设计与实现 选题时间 完成时 间 论文(设 计) 字数 关 键 词电子密码锁 VHDL FPGA Quartus 论文(设计)题目的来源、理论和实践意义: 锁自古以来就是守护门户的铁将军,人们对它的要求很高,既要安全可靠又得使 用方便。由

2、于机械密码锁的局限性已经无法满足当今社会管理和防盗要求,电子密码 锁是集计算机技术、电子技术、密码学技术为一体的高科技产品,具有使用方便安全 性高的优点,因而越来越得到大家的认可。随着电子技术越来越走向成熟,电子密码 锁替代机械密码所已是一种必然的趋势。本次课程设计利用 EDA 技术,以现场可编程 逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDL)为主要表达方式,以 Quartus 软件为设计工具设计电子密码锁。本次设计让同学们联系实际问题,提高理 论联系实际的能力,锻炼大家的动手能力和科研能力以及相关工具的使用能力等。 论文(设计)的主要内容及创新点: 论文主要阐述了基于 EDA 技

3、术设计电子密码锁的原理和方法,此密码锁以现场可 编程逻辑器件(FPGA)为主要载体,具有体积小、集成化的优点并且可以拥有很好的 灵活性、保密性、可靠性。此密码锁设计密码为 4 位,能够实现密码输入、数码清除、 密码更改、密码上锁、密码解除等功能。 目前绝大部分密码锁都是采用单片机技术来设计的,结构比较复杂,性能不够灵 活稳定且设计成本较高。本文则采用先进的 EDA 技术,利用 Quartus 工作平台和 VHDL 语言设计新型的电子密码锁。此密码锁相对基于单片机技术设计的密码锁具有 体积小、功耗低、价格便宜、安全可靠等优越性。 附:论文(设计)本人签名: 年 月 日 目录 摘要1 一、电子密码

4、锁的相关理论知识.2 (一)EDA 技术.2 (二)VHDL 语言4 (三)FPGA 硬件.5 (四)Quartus 软件 7 二、 电子密码锁的简介 .9 (一)电子密码锁的现状9 (二)电子密码锁的优势9 三、电子密码锁的具体设计10 (一)电子密码锁的总体结构10 (二)电子密码锁的各模块设计11 1.输入模块的设计11 2.控制模块的设计13 3.显示模块的设计16 4.密码锁的整体组装设计17 四、 设计仿真18 (一)键盘输入去抖电路的仿真18 (二)密码锁输入电路的仿真18 (三)密码锁控制电路的仿真18 (四)密码锁显示电路的仿真19 五、总结.20 六、参考文献21 1 电子

5、密码锁的电子密码锁的 EDAEDA 设计与实现设计与实现 摘要摘要:随着社会财富的日益增长,安全防盗已经成为全社会关注的问题。人们 在日常生活中对锁的要求越来越高,为增加其安全性,用密码代替钥匙的密码锁应运 而生。本文以 EDA 技术为基础,利用 VHDL 语言采用自上而下的设计方法在 Quartus 软件平台下,采用 FPGA 为主要元器件设计了一款电子密码锁。基于 EDA 技术设计 的密码锁因其价格便宜、安全可靠受到了人们的普遍欢迎。该密码锁能够实现密码输 入,数码清除,密码更改,密码上锁和密码解除等功能,并且具有体积小、安全性高、 成本低、功耗小、易操作的优点。 关键词:密码锁;关键词:

6、密码锁;VHDL;FPGA; 中图分类号:B03 A Electronic Password-Lock Designed By EDA Abstract: With the continuous development of social wealth, people have pay close attention to security. People in the daily lives have much more request of lock, in order to meet the requirements of the use of locks to increase the

7、ir security, with a password instead of the password key lock came into being. This paper designed a new type password-lock with EDA technology and VHDL language, using of top-down design. The electronic password-lock designed by EDA was very popular for its low price and safety. This electronic pas

8、sword-lock has a lot function like digital input, digital clearance, password changes, the activation power locks and power lifting lock, at the same time it has a lot advantages such as small volume, security yand, low price, low power consumption, easy to operate. Keywords: Password-lock; VHDL; FP

9、GA 2 一、电子密码锁的相关理论知识一、电子密码锁的相关理论知识 (一)EDA 技术 20 世纪末,电子技术得到了飞速的发展,现代电子产品几乎渗透到了社会的各 个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电 子产品性能进一步提高,产品更新换代的节奏也越来越快。1 EDA 是电子设计自动化(Electronic Design Automation)的英语缩写,是随着集 成电路和计算机技术飞速发展应运而生的一种快速、有效、高级的电子设计自动化工 具。也就是说,EDA 就是立足于计算机工作平台而开发出来的一整套先进的电子设计 软件工具。现代 EDA 技术的基本特征是采用

10、高级语言描述,具有系统仿真和综合能力, 具有开放式的设计环境,具有丰富的元器件模型库等。 传统手工设计方法对于复杂电路的设计调试十分困难;对设计过程中出现的错 误,查找和修改十分不便;设计过程中产生大量文档,不宜管理;只有在设计完成后 或生产出芯片后才能进行实测等等。EDA 技术进行电子系统的设计有着很大的优势: 1. 采用硬件描述语言,便于复杂系统的设计。 2. 具有强大的系统建模和电路仿真功能。 3. 具有自主的知识产权。 4. 开发技术标准化和规范化。 5. 全方位的利用计算机的自动设计、仿真和测试技术。 6. 对设计者的硬件知识和硬件经验要求低。 随着科学技术的发展和市场需求的不断增长

11、,作者认为 EDA 技术将呈现以下发 展趋势: 7. EDA 开发工具将得到进一步发展,EDA 开发工具将朝着功能强大、简 单易学、使用方便的方向发展。 8. EDA 技术将促使 ASIC 和 FPGA 逐步走向融合,随着系统开发对 EDA 技 术的目标器件各种性能指标要求的提高,ASIC 和 FPGA 将更大程度 的融合。 9. EDA 技术朝着 ESDA 和 CE 的方向发展。 (ESDA 电子系统设计自动化、 CE 并行工程) 10. EDA 技术的应用领域将越来越广泛。EDA 技术将会广泛应用于高校电 3 子技术实验教学、科研和新产品的开发、传统机电设备的升级换代和 技术改造、信息通信

12、领域等。 近 10 年来,电子系统的设计方法发生了很大的变化。传统的电路设计方法都是 自底向上进行设计的,而 EDA 技术采用一种新的自顶向下的设计方法。 “自顶向下” 法是一种概念驱动的设计方法,要求在整个设计过程中尽量运用概念去描述和分析设 计对象,而不要过早地考虑实现该设计的具体电路、元器件和工艺,以便抓住主要矛 盾避免纠缠在具体细节上,减少设计的复杂性。简言之,就是设计者首先从整体上规 划整个系统的功能和性能,然后对系统进行划分,分解为规模较小、功能较为简单的 局部模块,并确立它们之间的相互关系,这种划分过程可以不断地进行下去,直到划 分得到的单元可以映射到物理实现。 图 1-1 所示

13、的是自顶向下与自底向上的设计比较。 自顶向下(Top-down) 自底向上(Bottom-up) 用系统级行为描述表达一个包含 输入输出的顶层模块,同时完成整 个系统的模拟与性能分析 由基本门组成各个组合与时序 逻辑单元 由逻辑单元组成各个独立的功能模块 由各个功能模块连成一个完整系统 进行整个系统的测试与性能分析 将系统划分为各个功能模块,每个 模块由更细化的行为描述表达 由 EDA 综合工具完成到工艺的映射 图 1-1 自顶向下与自底向上的设计比较 自底向上的设计方法就是首先确定构成系统的最底层的电路模块或原件的结构和 功能,然后根据主系统的结构和要求,将他们组合成更大的功能块,使它们的结

14、构和 功能满足高层系统的要求。以此流程逐步向上递推,直至完成整个目标系统的设计。 它的特点是必须首先关注并致力于解决系统最底层硬件的可获得性,以及它们的功能 特性方面的诸多细节问题;在整个逐级设计和测试过程中,始终必须顾及具体目标器 件的技术环节。在设计过程的任一时刻,可能会出现目标器件的更换、某些技术指标 不满足要求、需要提高运行速度等问题,这些问题都有可能造成设计前功尽弃。因此, 这种传统的自底向上的设计方法是一种低效、低可靠性、且成本高昂的设计方法。 相比之下,自顶而下的设计方法使系统被分成各个模块的集合,可以对设计的每 个独立模块指派不同的工作小组,这些小组分别设计不同的模块,最后将不

15、同的模块 4 集合成为最终的系统模型,并对其进行综合测试和评价。这样一来系统性能参数将得 到进一步的细化与确认,并随时可以根据需要加以调整,从而可保证设计结果的正确 性,缩短设计周期,设计规模越大,这种设计方法的优势越明显。现在,自顶向下的 设计方法已经是 EDA 技术的首选设计方法,是 ASIC 或 FPGA 开发的主要设计手段。 (二)VHDL 语言 VHDL 的英文全名为 VHSICHDL(Very-High Speed Integrated Circuit Hardware Description Language) ,其诞生于 1983 年,由美国国防部(DOD)发起创建。自 IEE

16、E 公布了 VHDL 的标准版本,IEEE-1076(简称 87 版)之后,各 EDA 公司相继推出 了自己的 VHDL 设计环境,或宣布自己的设计工具可以和 VHDL 接口。此后 VHDL 在电 子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内 容,公布了新版本的 VHDL,即 IEEE 标准的 1076-1993 版本,(简称 93 版)。现在, VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,又得到众多 EDA 公司的支持, 在电子工程领域,已成

17、为事实上的通用硬件描述语言。有专家认为,在新的世纪中, VHDL 于 Verilog 语言将承担起大部分的数字系统设计任务。 VHDL 主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有 硬件特征的语句外,VHDL 的语言形式和描述风格与句法十分类似于一般的计算机高 级语言。应用 VHDL 进行工程设计的优点是多方面的,具体如下: 1. VHDL 具有更强的行为描述能力,从而决定了它是系统设计领域最佳的硬件 描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大 规模电子系统的重要保证。 2. VHDL 最初是作为一种仿真标准格式出现的,因此 VHDL 即是一种

18、硬件电 路描述和设计语言,也是一种标准的网表格式,还是一种仿真语言而且它有丰富的仿 真语句和库函数。 3. VHDL 的行为描述能力和程序结构决定了它具有支持大规模设计和分解已有 设计的再利用功能,满足了大规模系统设计要由多人甚至多个开发组共同并行工作来 实现的市场需求。VHDL 中设计实体的概念、程序包的概念、设计库的概念为设计的 分解和并行工作提供了有力的支持。 5 4. 对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合和 优化,并自动地将 VHDL 描述转变成门级网表,生成一个更高效、更高速的电路系 统。 5. VHDL 对设计的描述具有相对独立性,设计者可以不

19、懂硬件的结构,也不必 管最终设计实现的目标期间是什么,而进行独立的设计。 6. 由于 VHDL 具有类属描述语句和子程序调用等功能,对于已完成的设计, 在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规 模和结构。 (三)FPGA 硬件 1FPGA 简介 FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵列,它是在可 编程阵列逻辑 PAL(Programmable Array Logic)、门阵列逻辑 GAL(Gate Array Logic)、 可编程逻辑器件 PLD(Programmable Logic Devic

20、e)等可编程器件的基础上进一步发展 的产物。现场可编程门阵列(FPGA)是美国 Xilinx 公司在 20 世纪 80 年代中期率先推 出的一种高密度可编程逻辑器件,它综合了低密度 PLD 的优点,由掩膜门阵列 (GA)演变而来。它是作为专用集成电路 ASIC(Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原 有可编程器件门电路数有限的缺点。FPGA 能完成任何数字器件的功能,上至高性能 CPU,下至简单的 74 系列电路,都可以用 FPGA 来实现。通过软件仿真,我们可以事先 验证设计的正确性。

21、在 PCB 完成以后,还可以利用 FPGA 的在线修改能力,随时修改 设计而不必改动硬件电路。使用 FPGA 来开发数字电路,可以大大缩短设计时间,减 少 PCB 面积,提高系统的可行性。PLD 的这些优点使得 PLD 技术在 90 年代以后得到 飞速的发展,同时也大大推动了电子设计自动化 EDA(Electronic Design Automatic) 软件和硬件描述语言 VHDL(Very-High-Speed Integrated Circuit Hardware Description)的 进步。 2.FPGA 结构及特点 目前 FPGA 主要产品可以分为两大类,即基于 SRAM 编程

22、的 FPGA 和基于反 熔丝编程的 FPGA。简化的 FPGA 由 6 部分组成,分别为可编程输入/输出单元、基本 可编程逻辑单元、嵌入式块 RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用 6 硬核等。 图 1-2 所示的是 FPGA 的基本结构。 图 1-2 FPGA 基本结构 FPGA 采用了逻辑单元阵列 LCA(Logic Cell Array)这样一个新概念,内部包 括可配置逻辑模块 CLB(Configurable Logic Block) 、输出输入模块 IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA 的基本特点主要有:

23、(1)是采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的芯片。 (2)是 FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。 (3)是 FPGA 内部有丰富的触发器和 IO 引脚。 (4)是 FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一。 (5)是 FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、TTL 电平兼容。 3.FPGA 与 ASIC、CPLD (1)FPGA 和 ASIC 的比较 ASIC 是英文的 Application Specific Integrated Circuits 缩写,即专用集成电路,

24、是指应 特定用户要求和特定电子系统的需要而设计、制造的集成电路。目前用 CPLD(复杂 可编程逻辑器件)和 FPGA(现场可编程逻辑阵列)来进行 ASIC 设计是最为流行的 方式之一,它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者 7 在集成度、速度以及编程方式上具有各自的特点。ASIC 的特点是面向特定用户的需 求,品种多、批量少,要求设计和生产周期短,它作为集成电路技术与特定用户的整 机或系统技术紧密结合的产物,与通用集成电路相比具有体积更小、重量更轻、功耗 更低、性能更稳定、成本降低等优点。2 (2)FPGA 与 CPLD 的比较 FPGA 和 CPLD 都是可编程 A

25、SIC 器件,有很多共同特点,但由于 CPLD 和 FPGA 结构上的 差异,具有各自的特点。CPLD 更适合完成各种算法和组合逻辑,FPGA 更适合于完成时 序 FPGA 逻辑。也就是说,FPGA 更适合于触发器丰富的结构,而 CPLD 更适合于触发 器有限而乘积项丰富的结构;CPLD 的规模小更适合于简单电路的设计而 FPGA 的规 模大,逻辑复杂度高,故用于复杂电路的设计;时延方面 CPLD 的 Pin-to-Pin 延时是 固定的,FPGA 的 Pin-to-Pin 延时是不可预测的,因此,对于 FPGA 而言,时序结束 和仿真非常重要;布线方面,CPLD 采用集总式互联结构,相对布线

26、资源有限, CPLD 的连续式布线结构决定了它的时序延迟是均匀的和可预测的,FPGA 采用分布 式互联结构,具有丰富的布线资源,布线比较灵活;在在编程灵活性方面,FPGA 比 CPLD 具有更大的灵活性;在功耗方面一般情况下 CPLD 的功耗要比 FPGA 大,且集 成度越高越明显;在使用方便程度上,CPLD 比 FPGA 使用起来更方便;在保密性方 面,CPLD 保密性好,FPGA 保密性较差;在成本与价格方面,CPLD 成本与价格低, 更适合低成本设计,FPGA 成本高,价格高,适合于高速、高密度的高端数字逻辑设 计领域。 (四)Quartus 软件 Quartus 是 Altera 的

27、CPLD/FPGA 集成开发软件,具有完善的可视化设计环境, 并具有标准的 EDA 工具接口,能运行于各种操作平台。基于 Quartus 进行 EDA 设 计开发主要由设计输入、编译、仿真、编程与验证几步组成。在设计过程中,如果出 现错误,则需要重新回到设计输入阶段,改正错误或调整电路后重复上述过程。3 Quartus 软件提供完整的多平台设计环境,可以容易地满足特定的设计需要, 而且它允许用户在设计流程的每个阶段使用 Quartus 软件图形用户界面、EDA 工具 界面或命令行形式。Quartus 具有以下特点: 8 1. 支持多时钟定时分析、基于块的设计、SOPC(单芯片可 编程系统),内

28、嵌 SignalTap 逻辑分析器、功能估计器等 高级工具; 2.易于管脚分配和时序约束; 3.强大的 HDL 综合能力; 4.包含 MAX+plus 的用户界面,且易于由 MAX+plus 开发的工程平稳的过渡到 Quartus 开发环境; 5.支持的器件种类众多; 6.支持 Windows、Solaris、Hpux 和 Linux 等多种操作系统; 在本例中,建立文件夹 D:Designs 作为工作库,以便将设计过程中的相关文件 存储于此,具体设计过程为编辑文件、创建工程、编译、仿真几个步骤。在编译前, 设计者要注意各种不同的设置方法以便指导编译器使用各种不同的综合和适配技术 (如时序驱动

29、技术等) ,这样可以提高设计项目的工作速度,优化器件的资源利用率, 而且在编译过程中及编译完成后,可以从编译报告窗获得所有相关的详细编译结果, 以利于设计者及时调整设计方案。仿真时要确保设计项目的功能和时序特性符合设计 要求,保证最后硬件的功能与原设计相吻合。 9 二、二、 电子密码锁的简介电子密码锁的简介 (一)电子密码锁的现状 随着科学技术的发展和社会信息化程度的提高,信息对人们来说越来越重要。 个人信息和商业机密等等都需要更好的保护起来,电子密码锁的研究就有着非常现实 的意义。电子密码锁与普通机械锁相比,具有许多独特的优点:保密性好,防盗性强, 可以不用钥匙,记住密码就可以开锁。目前实用

30、的电子密码锁大部分是基于单片机技 术,以单片机为主要器件,其编码器与解码器的生成为软件方式。在实际应用中,由 于程序容易跑飞,系统的可靠性较差并且采用单片机设计的密码锁硬件复杂,设计周 期长,容易出错。因此本文介绍一种基于现场可编程门阵列 FPGA 器件的电子密码锁 的设计方法。用 FPGA 器件构造系统,所有算法完全由硬件电路来实现,使得系统的 工作可靠性大为提高。电子密码锁系统主要由电子锁体、电子密匙等部分组成,一把 电子密匙里能存放多组开锁密码,用户在使用过程中能够随时修改开锁密码,更新或 配制钥匙里开锁密码。一把电子锁可配制多把钥匙。电子密码锁的体积小、保密性能 好、使用方便,是用在保

31、险箱、电话或是房门上不可少的部分。 (二)电子密码锁的优势 本文介绍的基于 EDA 技术的电子密码锁的设计,采用 FPGA 器件构造系统,算 法完全由硬件电路来实现,使系统工作可靠性很高。由于 FPGA 具有 ISP 功能,当设 计需要更改时,只需更改 FPGA 中的控制和接口电路,利用 EDA 工具将更新后的设 计下载到 FPGA 中即可,无需更改外部电路的数字系统,大大提高了设计的效率。因 此,采用 FPGA 开发的数字系统,不仅具有更高的工作效率,其升级和改进也及其方 便。基于 FPGA 的电子密码锁已经广泛地应用在办公室、仓库、宾馆等人员经常变动 的场所。同时硬件描述语言 VHDL 完

32、成的设计文件,自动地完成逻辑编译、化简、分 割、综合及优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编 程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述, 在 EDA 工具的帮助下和应用相应的 FPGA/CPLD 器件,就可以得到最后的设计结果。 10 三、电子密码锁的具体设计三、电子密码锁的具体设计 (一)电子密码锁的总体结构 电子密码锁整体结构包括密码锁输入模块、控制模块、显示模块。电子密码锁的总 体电路结构图为: 图 3-1 所示为电子密码锁的电路结构 设计一个具有较高安全性和较低成本的通用电子密码锁,它的具体功能要求如下: 1数码输入:按下一个数

33、字键,其相应的数字就会显示在最右边的数码管上, 同时将先前输入的所有数字向左移动一位。设计密码为 4 位,系统只显示前 4 位输 入的数码。 2. 数码清除:当按下清除键时,清除前面输入的所有值,并显示为“0000” 。 3. 密码解除:当按下此键时,可以将电子密码锁的旧密码解除。 4密码更改:将旧密码解除后,可以进行密码更改。输入任意四位数字,再按# 号就可以将输入的数码当作新的密码。 5. 密码上锁:输入新的密码之后按下此键可以将密码锁上锁。 6. 密码解锁:按下此键后再输入密码,如果输入与系统存储密码一致,密码锁 就能开锁,否则不能解锁。 11 (二)电子密码锁的各模块设计 1.输入模块

34、的设计 密码锁的输入模块由时序产生电路、键盘扫描电路、弹跳消除电路、键盘 译码电路和按键存储电路组成。输入模块的电路框图如下: 图 3-2 输入模块各部分电路功能如下: (1) 时序产生电路 本时序产生电路用于产生电路中三种不同频率的工 作脉冲波形,包括系统时钟信号、弹跳消除取样信号和键盘扫描信 号。其中系统时钟脉冲是系统内部所有时钟脉冲的源头且频率最高。 (2) 键盘扫描电路 键盘电路可以提供扫描信号。该信号由 ky3ky0 进入键盘,其变化顺序为 1110-1101-1011-0111依次周而复始。 扫描信号 0111 代表扫描的为*、0、#这一排按键,当*按键被按下 时读出的值为 011

35、.按键数码关系如下表所列。 表 3-3 12 (3) 弹跳消除电路 该电路可避免误操作发生。由于设计中采用的矩阵 式键盘是机械开关结构,因此,在开关切换的瞬间,会在接触点出 现信号来回弹跳的现象。为使电子密码锁可靠工作,必须加上弹跳 消除电路。弹跳消除电路实现的原理如图 3-4 所示: 图 3-4 弹跳消除电路的内部实现原理图 其中 D 触发器的 VHDL 语言描述为: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY DCFQ IS PORT(CLK, CLRN, PRN, D: IN STD_LOGIC; 定义实体 DCFQ Q: OUT

36、STD_LOGIC); END ENTITY DCFQ ; ARCHITECTURE ART OF DCFQ IS; 定义结构体 BEGIN PROCESS (CLK, CLRN, PRN) BEGIN IF CLRN=0 AND PRN=1 THEN Q=0; ELSIF CLRN=1 AND PRN=0 THEN Q=1; ELSIF CLKEVENT AND CLK=1 THEN PRN CLRN DQ PRN CLRN DQ DFF VCC 13 D_IN CLK D0 DFF 1011 D1 8 NOT NOT 9 7 AND2 6 AND2 D_OUT S R Q Q 13 Q =

37、D; END IF ; END PROCESS ; END ARCHITECTURE ART; 弹跳消除电路是先将键盘的输入信号 D_IN 做为电路的输入信号,CLK 是电路的 时钟脉冲信号,也就是取样信号,D_IN 经过两级 D 触发器延时后再使用 RS 触发器 处理。RS 触发器组态如下表: 表 3-5 (4) 键盘译码电路 上述键盘中的按键可分为数字按键和文字按键,每 一个按键可能负责不同的功能,例如清除数码、退位、激活电锁、 开锁等,详细功能参见表 3-6。 (5) 按键存储电路 键盘存储电路可将每次扫描产生的新按键数据存储 下来,因此新数据可能会覆盖前面的数据,所以需要一个按键存储

38、电路,以将整个键盘扫面完毕的结果记录下来。按键存储电路可以 由移位寄存器构成。 表 3-6 2.控制模块的设计 14 密码控制电路是整个电路的控制中心,主要完成对数字键输入和功能键输入的 响应和控制。数字键输入的响应控制过程如下: (1) 按下数字键,第一个数字会在显示器最右端显示,随后每按下一个 新数字,显示器上已经存在的数字整体会向左移一位,并将新的数 字显示出来。 (2) 若要更改输入数字,则可按*键清除所有输入的数字,在重新输入 数字。 (3) 此密码锁密码为 4 位,如果输入超过 4 位电路将不予理会且不显示。 功能按键的输入响应控制功能如下: (1) 清除功能:按下*键可清除所有输

39、入数字并显示为“-” 。 (2) 更改密码:按下此键,输入旧密码再按#键即可解除旧密码。接着输入 4 位数字,在按下#键,就可以将该 4 位数字作为新密码。 (3) 密码上锁:输入新密码后按下此键就可以将密码锁上锁。 (4) 密码解锁:按下此键后可输入密码,如输入“1234”然后按下#键,系 统将比较键盘输入的数码和寄存器中的数码,如果一致就会给出一个开 锁信号,密码锁开锁;否则密码输入无效。 控制电路由 VHDL 语言实现,部分源程序如下: (1)端口定义: ENTITY CTRL IS PORT (DATA_N: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -数字输入

40、 DATA_F: IN STD_LOGIC_VECTOR(3 DOWNTO 0);-功能输入 FLAG_N: IN STD_LOGIC;-数字输入标志 FLAG_F: IN STD_LOGIC;-功能输入标志 CLK: IN STD_LOGIC;-时钟 ENLOCK: OUT STD_LOGIC; -上锁键 1: LOCK, 0: UNLOCK 15 DATA_BCD: OUT STD_LOGIC_VECTOR (15 DOWNTO 0);- 数据的 16 位 BCD 码显示 END ENTITY CTRL ; 该段程序主要定义了设计中的各输入输出端口,其中输入端口有 DATA_N、DATA_

41、F、FLAG_N、FLAG_F;输出端口有 ENLOCK、DATA_BCD;CLK 为时钟信号。 (2)按键输入数据的存储、清零进程为: KEYIN_PROCESS : BLOCK IS SIGNAL RST, D0, D1: STD_LOGIC ; SIGNAL RR2 : STD_LOGIC; SIGNAL NC: STD_LOGIC_VECTOR (2 DOWNTO 0); BEGIN RST = RR2; PROCESS(FLAG_N, RST) IS BEGIN IF RST = 1 THEN ACC = “0000000000000000“ ; -清除按键输入数据 NC = “00

42、0“ ; ELSE IF FLAG_NEVENT AND FLAG_N = 1 THEN IF NC 4 THEN ACC = ACC(11 DOWNTO 0) -存储按键输入数据 NC = NC + 1 ; END IF; END IF ; END IF ; 16 END PROCESS ; END BLOCK KEYIN_PROCESS ; 程序段主要完成了输入模块数字输入后数据的存储和清零功能。按下数字键后, 数字会在显示器上显示出来,此后每按一位数字显示器上的数字左移一格并将新的数 字显示出来,当输入数字超过四位时电路不予理会;按下复位键时显示器清零,这样 可以更改输入的数字。 (3)

43、上锁/开锁控制进程为: LOCK_PROCESS : BLOCK IS BEGIN PROCESS(CLK, DATA_F) IS BEGIN IF (CLKEVENT AND CLK = 1) THEN IF NC = 4 THEN IF DATA_F(2) = 1 THEN -上锁控制信号有效 REG = ACC ; -密码存储 QA = 1 ; QB = 0; ELSIF DATA_F(0) = 1 THEN -开锁控制信号有效 IF REG = ACC THEN -密码核对 QA= 0; QB = 1 ; END IF ; ELSIF ACC = “1000100010001000“

44、THEN -设置“8888”为万用密码 QA = 0 ; QB= 1; END IF ; END IF; END IF ; 17 END PROCESS ; END BLOCK LOCK_PROCESS ; 3.显示模块的设计 本电子密码锁显示模块比较简单,主要作用是将控制模块的 BCD 码输出转化成 7 段显示编码,再驱动数码管显示。如下图: 图 3-7 当输入 qin 是“0000“时,输出 qout 显示 0; 当输入 qin 是“0001“时,输出 qout 显示 1; 当输入 qin 是“0010“时,输出 qout 显示 2; 当输入 qin 是“0011“时,输出 qout 显示

45、 3; 当输入 qin 是“0100“时,输出 qout 显示 4; 当输入 qin 是“0101“时,输出 qout 显示 5; 当输入 qin 是“0110“时,输出 qout 显示 6; 当输入 qin 是“0111“时,输出 qout 显示 7; 当输入 qin 是“1000“时,输出 qout 显示 8; 当输入 qin 是“1001“时,输出 qout 显示 9。 4.密码锁的整体组装设计 要完成电子密码锁的设计,还必须将上述三个模块进行整合。其整合电路图如 2-1 所示。设计时要对电子密码锁的整体设计中的输入输出作引脚锁定,然后重新编 译和下载,最后进行电子密码锁的硬件验证。实验

46、表明:本设计能够实现电子密码锁 的全部功能。 18 四、四、 设计仿真设计仿真 (一)键盘输入去抖电路的仿真 弹跳消除电路采用软件延时的方法消除抖动,仿真波形如图 4-1 所示。从仿真图 中可以看出,若采样信号连续两次检测到高电平信号,说明按键状态发生了变化,此 时电路输出一个时钟周期的按键信号;否则当作抖动处理而不予理会,以此消除抖动。 图 4-1 (二)密码锁输入电路的仿真 图 4-2 为密码锁输入电路的仿真结果图,仿真图中各个管脚的名字为: :CLK_1K 系统原始时钟脉冲(1 kHz),KEY_IN 按键输入,LK_SCAN( 仿真时用)键盘扫 描序列, DATA_N 数字输出, DA

47、TA_F 功能输出,FLAG_N 数字输出标志,FLAG_F 功能 输出标志,LK_CTR 控制电路工作时钟信号。 19 图 4-2 密码锁输入电路仿真结果图 (三)密码锁控制电路的仿真 图 4-3 所示的是密码锁控制电路的仿真结果图。图中各个管脚的名称为 DATA_N 数字输入,DATA_F 功能输入,FLAG_N 数字输入标志,F LAG_F 功能输入标志,CLK 为时钟信号,ENLOCK 上锁键,DATA_BCD 数据的 BCD 码显示。 图 4-3 密码锁控制电路的仿真结果图 (四)密码锁显示电路的仿真 显示模块作用是将控制模块的 BCD 码输出转化为 7 段显示编码,然后驱动数码 管

48、,其仿真波形如图 4-4 所示。 图 4-4 显示模块仿真波形 20 五、总结五、总结 本次设计电路原理简单易行,程序简洁高效,设计的密码锁克服了基于单片机的 密码锁的可靠性较差的缺点,设计出的密码锁具有使用灵活、性能可靠、安全性强等 优点,将有十分好的应用前景。设计过程中对数字电子技术有了更进一步的熟悉,实 际操作与课本知识有很大联系,动手把他设计出来比较困难。通过本次电路的设计, 要求我们把课本上所学到的知识和实际联系起来,这样不但巩固了所学知识,也使我 们把理论与实践从真正意义上结合起来,增强了学习的兴趣,考验了我们借助互联网 络搜集、查阅相关文献资料和组织材料的综合能力。 21 六、参

49、考文献六、参考文献 1 潘松,黄继业,EDA 技术实用教程M,科学出版社,2006. 2 徐志军,王金明,尹廷辉等,EDA 技术与 VHDL 设计M,北京.电子工业出版社, 2009. 3 邹彦,庄严,邹宁,EDA 技术与数字系统设计M,北京.电子工业出版社,2007. 4 江国强,EDA 技术与应用M,北京.电子工业出版社,2007. 5 杨晓慧,许红梅,杨会玲,电子技术 EDA 实践教程M,国防工业出版社,2005. 6 高有堂,乔建良,徐源,田思等,EDA 技术及应用实践M,北京.清华大学出版 社,2006. 7 谭会生,张昌凡,EDA 技术及应用M,西安电子科技大学出版社,2004. 8 林敏,方颖立,VHDL 数字系统设计与高层次综合M,电子工业出版社,2002. 9 潘松

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1