摘要
VHDL非常适用于可编程逻辑器件的应用设计。尤其在大容量CPLD和FPGA的应用设计中,若采用以往的布尔方程或门级描述方式,很难快速有效地完成。VHDL能提供高级语言结构,方便地描述大型电路,快速地完成设计。它是一种标准语言,它的设计描述可被不同的工具所支持,可用不同器件来实现。文中以基于FPGA的电子密码锁的设计为实例,从方案的确定,各阶层的划分,VHDL的应用,采用了VHDL自顶向下的设计方法。它是一种 高效率设计出它体积小、功耗低、价格便宜、安全可靠、维护和升级都十分方便的电子密码锁电路。 关键词:VHDL;自顶向下的设计方法;数字密码锁; EDA;数字系统
ABSTRACT
VHDL is very suitable to the design of programmable logic devices. It is difficult to design large ca-pacity CPLD and FPGA with the description method of Boolean equations or of gates. VHDL can provide highlevel language structure, describe large scale circuit conveniently and complete design rapidly. It is a standard language. It sdesign description can be supported by different tools and implemented by different devices. This paper intro-duces the VHDL top-down design method including scheme determination, hierarchy division, and In order to FPGA-based electronic password-lock design as an example. It is a highly efficient design of its small size, low power consumption, cheap, safe and reliable, maintenance and upgrades are very convenient electronic password lock circuit.
Key words: VHDL; top-down design method; digital code lock; EDA; digital system
目录
摘要?????????????????????? ABSTRACT???????????????????? 第一章总体设计
1.1 设计任务和要求???????????????????????? 1.2 设计方案的比较论证??????????????????????? 1.3 基于FPGA电子密码锁总体设计框图???????????????? 第二章 电子密码锁单元电路设计
2.1 可编程逻辑器件???????????????????????? 2.1.1 FPGA器件的特点?????????????????????? 2.1.2 设计器件的选择?????????????????????? 2.1.3 设计方法采用自顶向下的设计???????????????? 2.2 功能电路的设计???????????????????????? 2.2.1 键盘扫描电路设计?????????????????????? 2.2.2 时序产生电路设计?????????????????????? 2.2.3 键盘消抖电路设计?????????????????????? 2.2.4 键盘译码电路设计?????????????????????? 2.2.5 按键存储电路设计?????????????????????? 第三章 电子密码锁控制电路设计
3.1 数字按键输入部分???????????????????????? 3.2 功能键输入部分????????????????????????? 3.3 三种工作模式?????????????????????????? 3.4 系统各功能模块设计?????????????????????? 第四章 电子密码锁显示电路设计
4.1数据选择电路?????????????????????????? 4.1.1电路原理?????????????????????????
4.2 BCD对七段显示器译码电路???????????????????? 4.2.1 74LS48引脚图??????????????????????4.2.2 74LS48内部引脚功能?????????????????? 4.2.3 BCD对七段显示器译码电路原理?????????????? 4.3七段显示器扫描电路???????????????????????? 第五章 程序调试、波形仿真、结论分析
5.1 EDA工具简介??????????????????????????? 5.2 FPGA的器件的配置与下载???????????????????? 5.2.1 配置方式????????????????????????5.2.2 基于差分的下载电缆???????????????????? 5.3 程序调试、波形仿真???????????????????????? 5.3.1 键盘扫描电路程序波形仿真???????????????? 5.3.2 时序产生电路程序波形仿真???????????????? 5.3.3 键盘消抖电路程序波形仿真???????????????? 5.3.4 键盘译码电路程序波形仿真???????????????? 5.3.5 按键存储电路程序波形仿真???????????????? 第六章结语?????????????????????????? 致 谢???????????????????????????? 参考文献???????????????????????????? 附程序??????????????????????????????
第一章电子密码锁总体设计
随着电子技术的发展,电子密码锁是现代社会用的比较广泛的一种智能工具,具有防盗报警、语音提示等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。目前大 部分密码锁采用单片机进行设计,电路较复杂,性能不够灵活。本文采用先进的EDA(电子设计自动化)技术,利用MAXPUS‖工作平台和VHDL(超高速集成电路硬件描述语言),设计了一种新型的电子密码锁。它能实现数码输入、数码清除、密码变更、激活电锁、解除电锁、显示器开关和万用密码等功能。用FPGA(现场可编程门阵列)芯片和实现。由于充分利用了FPGA芯片密度大、功耗低、可重复编程和具有嵌入式阵列块的结构特点,,因而该密码锁体积小、功耗低、价格低、安全可靠、具有智能语音提示、维护和升级方便。根据设计的器件、价格成本、可靠性的考虑,可以有不同的设计方案,在设计之前就对几种方案进行论证,首先介绍一下本次设计的电子密码锁的任务和设计要求。
1.1 设计任务和要求
设计一个基于FPGA的电子密码锁,通过基于可编程逻辑器件FPGA的方法实现。要求实现从键盘输入四位密码数字,能在数码管上显示其数字。其中输入的密码数字是可清除、改变的。
1.2 设计方案的比较论证
设计电子密码锁的方案很多,现在讨论常见的三种设计.
方案一:分立元件设计的电子密码锁,全部设计均采用硬件来完成其功能,这种设计需要的元件多,在组 装和焊接过程中易出错。而且调试不方便,使用
寿命较短。
方案二:设计采用基于单片机设计,利用51系列单片机为核心。目前,单片机的功能已比较强大,集成度日益增高且其设计和控制比较容易。但是由于在传统的单片机设计系统中必须使用许多分立元件组成单片机的外围电路,因此整个系统显得十分复杂。
方案三:利用FPGA来完成设计。如下图1—1所示整个系统由四部分组成:键盘模块、FPGA控制模块、显示模块、时钟脉冲器
图1—1系统框图
FPGA编程灵活,可减少硬件的使用,查错,改错容易,整个系统设计只有三部分组成——4×4矩阵键盘接口电路、密码锁的控制电路设计、输出七段显示电路的设计。用VHDL硬件编程语言编程,简单灵活,实现效率高,使用方便可靠。
综上所述,选择方案三来完成设计更方便更合理更简洁。
1.3 基于FPGA电子密码锁总体设计框图
键盘扫描电路 时序产生电路 时钟发生器